Наиболее часто инструкции составляют в виде записи на алгоритмическом языке. Он необходим для точных предписаний всех шагов и их исполнения. Между школьным алгоритмическим языком и языками программирования имеются явные отличия. Как правило, в качестве исполнителя в первом варианте выступает не только компьютер, но и другое устройство, которое способно выполнять работу. Любая программа, написанная на алгоритмическом языке, не обязательно должна совершаться техникой. Реализация всех инструкций на практике является сугубо отдельным вопросом. Ниже также будет рассмотрено описание алгоритма на алгоритмическом языке. Оно поможет разобраться с устройством данной системы.

Изучение в школе

Зачастую в школах изучается алгоритмический язык, наиболее известный как учебный. Он получил масштабное распространение благодаря тому, что в нем используются максимально понятные любому ученику слова. Подобный язык с синтаксисом на русском был введен давно, а именно в середине 1980-х годов. Его применяли для того, чтобы дать основу школьникам и преподавать им без компьютера курс информатики. Опубликован данный язык был в 1985 году в одном из учебников. Также его перепечатали несколько раз и для специальных книг, которые предназначались для обучения в 9 и 10 классах. Общий тираж издания составил 7 млн экземпляров.

Последовательность записи алгоритма

Прежде всего необходимо записать буквосочетание АЛГ. Далее следует название алгоритма. Затем после НАЧ нужно описать серию команд. Оператор КОН означает конец программы.

Описание алгоритма на алгоритмическом языке:

АЛГ Компания

НАЧ

поворот на 90 градусов влево

КОН

При написании ключевые слова необходимо подчеркивать либо выделять полужирным шрифтом. Для того чтобы указать логические блоки, следует применять отступы, а при наличии парных слов начала и конца необходимо воспользоваться вертикальной чертой, которая обозначает соединение.

Составление алгоритмов

Для того чтобы составить новые инструкции, можно использовать старые записи. Такие инструкции называются вспомогательными. Подобным алгоритмом может оказаться любой из всех описанных, составленных ранее. Также имеется вероятность того, что в этой системе будет применяться дополнительно алгоритм, который сам получил отсылку к вспомогательным системам.

Нередко при создании инструкции имеется необходимость использовать лишь один алгоритм в качестве дополнительного. Именно поэтому часто записи могут быть сложными и громоздкими. Но стоит заметить, что возможность делать отсылку является более простой, чем несколько раз переписывать одни и те же записи.

Именно поэтому на практике часто используется стандартный вспомогательный алгоритм, который находится постоянно в подчинении у пользователя. Инструкция может иметь отсылку, как самому себе, так и к любому другому. Команды алгоритмического языка предназначены для таких действий. Именно такие инструкции называют рекурсивными.

Команда связывания к самому себе находится внутри самой системы. Такая рекурсия является прямой. Косвенной же считается такая, где вызов алгоритма происходит в любой другой вспомогательной инструкции.

Алгоритмы, которые имеют определенный порядок следования команд, постоянно могут меняться в зависимости от результатов выполнения специальных частей программы. Такие системы называются разветвляющимися. Для того чтобы их создать, необходимо использовать специальную команду ветвления. Она имеет сокращенную и полную схему написания. Нередко встречаются циклические алгоритмы, которые выполняют особые команды по несколько раз.

E-практикум

Для того чтобы усовершенствовать изучение теории по грамматическому языку, профессионалы мехмата МГУ в 1985 году создали специальный компилятор. Он получил название "E-практикум". С его помощью можно было вводить, изменять и выполнять программы. На следующий год был выпущен определенный комплект исполнителей. Речь идет о «Роботе», «Чертежнике», «Двуногом», «Вездеходе». Это позволило просто и с легкостью реализовывать алгоритмы. Данный компилятор получил огромное распространение, был использован на некоторых компьютерах. Довольно долгое время этот язык программирования дорабатывался и изменялся. В 1990 году его более поздний вариант появился в учебнике.

Кумир

Сейчас школьный алгоритмический язык переживает свое второе рождение, после того как был разработан специальный пакет «Кумир» для Windows и Linux. Система функционирует с несколькими исполнителями. Классическими среди них являются «Робот», «Чертежник». Этот же пакет входит в установочный файл Linux «Школьный». Данная система разработана была специально по заказу Российской Академии наук. Она распространяется бесплатно и свободно. Последние несколько лет описываемый язык активно предлагают использовать в ЕГЭ как один из

Назначение языка

Алгоритмический язык используется для решения довольно большого круга задач. Он подходит для освоения как математических, так и упражнений по другим предметам. Нужно заметить, что он также используется для более простого изучения школьниками подобных тем.

Различия машинного и алгоритмического языков

Наиболее известным представителем машинно-зависимых языков является "Ассемблер". Во время программирования на нем человек должен ясно указать транслятору благодаря специальным операторам, какие ячейки памяти следует заполнить или перенести. Так как синтаксис "Ассемблера" максимально приближен к компьютерной форме записи, то и изучать его довольно сложно. Именно поэтому алгоритмический язык преподается в школе, а также в начале обучения программированию на первом курсе высшего учебного заведения.

Стандартные функции

Алгоритмический язык имеет специальные стандартные функции, которые получили статус «встроенных». Именно благодаря им можно с легкостью написать многие операции с числами и выражениями, не выполняя рутинных записей. Программа на алгоритмическом языке довольно проста. Штатные функции могут позволить вычислить квадратный корень, логарифмы, модуль и так далее. Наиболее популярными встроенными методами являются следующие:

  • абсолютный модуль abs(X);
  • корень квадратный sqrt(X);
  • натуральный и ln(X), lg(X);
  • минимум и максимум min (X,Y), max (X, Y);
  • тригонометрические функции sin(X), cos(X), tg(X), ctg(X).

Благодаря этому любой программист или просто человек, который обучается работе с алгоритмическим языком, сможет с легкостью написать математическую задачу, не прибегая к изобретению велосипеда. Таким образом, нужно заметить, что данный язык довольно удобный. Он прост в понимании, а также максимально легок в восприятии. Не зря его внесли в школьную программу. Школьники с удовольствием его изучают.

Алгоpитм -- точное и понятное пpедписание исполнителю совеpшить последовательность действий, направленных на решение поставленной задачи.

Название "алгоритм" произошло от латинской формы имени среднеазиатского математика аль-Хорезми -- Algorithmi. Алгоритм -- одно из основных понятий информатики и математики.

Исполнитель алгоритма -- это некоторая абстрактная или реальная (техническая, биологическая или биотехническая) система, способная выполнить действия, предписываемые алгоритмом.

Исполнителя хаpактеpизуют:

элементаpные действия;

cистема команд;

Сpеда (или обстановка) -- это "место обитания" исполнителя. Напpимеp, для исполнителя Pобота из школьного учебника сpеда -- это бесконечное клеточное поле. Стены и закpашенные клетки тоже часть сpеды. А их pасположение и положение самого Pобота задают конкpетное состояние среды.

Каждый исполнитель может выполнять команды только из некотоpого стpого заданного списка -- системы команд исполнителя. Для каждой команды должны быть заданы условия пpименимости (в каких состояниях сpеды может быть выполнена команда) и описаны pезультаты выполнения команды. Напpимеp, команда Pобота "ввеpх" может быть выполнена, если выше Pобота нет стены. Ее pезультат -- смещение Pобота на одну клетку ввеpх.

После вызова команды исполнитель совеpшает соответствующее элементаpное действие.

Отказы исполнителя возникают, если команда вызывается пpи недопустимом для нее состоянии сpеды.

Обычно исполнитель ничего не знает о цели алгоpитма. Он выполняет все полученные команды, не задавая вопросов "почему" и "зачем".

В информатике универсальным исполнителем алгоритмов является компьютер.

Основные свойства алгоритмов следующие:

Понятность для исполнителя -- т.е. исполнитель алгоритма должен знать, как его выполнять.

Дискpетность (прерывность, раздельность) -- т.е. алгоpитм должен пpедставлять пpоцесс pешения задачи как последовательное выполнение пpостых (или pанее опpеделенных) шагов (этапов).

Опpеделенность -- т.е. каждое пpавило алгоpитма должно быть четким, однозначным и не оставлять места для пpоизвола. Благодаpя этому свойству выполнение алгоpитма носит механический хаpактеp и не тpебует никаких дополнительных указаний или сведений о pешаемой задаче.

Pезультативность (или конечность). Это свойство состоит в том, что алгоpитм должен пpиводить к pешению задачи за конечное число шагов.

Массовость. Это означает, что алгоpитм pешения задачи pазpабатывается в общем виде, т.е. он должен быть пpименим для некотоpого класса задач, pазличающихся лишь исходными данными. Пpи этом исходные данные могут выбиpаться из некотоpой области, котоpая называется областью пpименимости алгоpитма.

На практике наиболее распространены следующие формы представления алгоритмов:

словесная (записи на естественном языке);

графическая (изображения из графических символов);

псевдокоды (полуформализованные описания алгоритмов на условном алгоритмическом языке, включающие в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др.);

программная (тексты на языках программирования).

Словесный способ записи алгоритмов представляет собой описание последовательных этапов обработки данных. Алгоритм задается в произвольном изложении на естественном языке.

Например. Записать алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных чисел.

Алгоритм может быть следующим:

задать два числа;

если числа равны, то взять любое из них в качестве ответа и остановиться, в противном случае продолжить выполнение алгоритма;

определить большее из чисел;

заменить большее из чисел разностью большего и меньшего из чисел;

повторить алгоритм с шага 2.

Описанный алгоритм применим к любым натуральным числам и должен приводить к решению поставленной задачи. Убедитесь в этом самостоятельно, определив с помощью этого алгоритма наибольший общий делитель чисел 125 и 75.

Словесный способ не имеет широкого распространения по следующим причинам:

такие описания строго не формализуемы;

страдают многословностью записей;

допускают неоднозначность толкования отдельных предписаний.

Графический способ представления алгоритмов является более компактным и наглядным по сравнению со словесным.

При графическом представлении алгоритм изображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий.

Такое графическое представление называется схемой алгоритма или блок-схемой.

В блок-схеме каждому типу действий (вводу исходных данных, вычислению значений выражений, проверке условий, управлению повторением действий, окончанию обработки и т.п.) соответствует геометрическая фигура, представленная в виде блочного символа. Блочные символы соединяются линиями переходов, определяющими очередность выполнения действий.

В таблице 1 приведены наиболее часто употребляемые символы.

Блок "процесс" применяется для обозначения действия или последовательности действий, изменяющих значение, форму представления или размещения данных. Для улучшения наглядности схемы несколько отдельных блоков обработки можно объединять в один блок. Представление отдельных операций достаточно свободно.

Блок "решение" используется для обозначения переходов управления по условию. В каждом блоке "решение" должны быть указаны вопрос, условие или сравнение, которые он определяет.

Блок "модификация" используется для организации циклических конструкций. (Слово модификация означает видоизменение, преобразование). Внутри блока записывается параметр цикла, для которого указываются его начальное значение, граничное условие и шаг изменения значения параметра для каждого повторения.

Блок "предопределенный процесс" используется для указания обращений к вспомогательным алгоритмам, существующим автономно в виде некоторых самостоятельных модулей, и для обращений к библиотечным подпрограммам.

Псевдокод представляет собой систему обозначений и правил, предназначенную для единообразной записи алгоритмов.

Он занимает промежуточное место между естественным и формальным языками.

С одной стороны, он близок к обычному естественному языку, поэтому алгоритмы могут на нем записываться и читаться как обычный текст. С другой стороны, в псевдокоде используются некоторые формальные конструкции и математическая символика, что приближает запись алгоритма к общепринятой математической записи.

В псевдокоде не приняты строгие синтаксические правила для записи команд, присущие формальным языкам, что облегчает запись алгоритма на стадии его проектирования и дает возможность использовать более широкий набор команд, рассчитанный на абстрактного исполнителя. Однако в псевдокоде обычно имеются некоторые конструкции, присущие формальным языкам, что облегчает переход от записи на псевдокоде к записи алгоритма на формальном языке. В частности, в псевдокоде, так же, как и в формальных языках, есть служебные слова, смысл которых определен раз и навсегда. Они выделяются в печатном тексте жирным шрифтом, а в рукописном тексте подчеркиваются. Единого или формального определения псевдокода не существует, поэтому возможны различные псевдокоды, отличающиеся набором служебных слов и основных (базовых) конструкций.

Примером псевдокода является школьный алгоритмический язык в русской нотации (школьный АЯ), описанный в учебнике А.Г. Кушниренко и др. "Основы информатики и вычислительной техники", 1991. Этот язык в дальнейшем мы будем называть просто "алгоритмический язык".

Основные служебные слова

Общий вид алгоритма:

алг название алгоритма (аргументы и результаты)

дано условия применимости алгоритма

надо цель выполнения алгоритма

нач описание промежуточных величин

| последовательность команд (тело алгоритма)

Часть алгоритма от слова алг до слова нач называется заголовком, а часть, заключенная между словами нач и кон -- телом алгоритма.

В предложении алг после названия алгоритма в круглых скобках указываются характеристики (арг, рез) и тип значения (цел, вещ, сим, лит или лог) всех входных (аргументы) и выходных (результаты) переменных. При описании массивов (таблиц) используется служебное слово таб, дополненное граничными парами по каждому индексу элементов массива.

Примеры предложений алг:

алг Объем и площадь цилиндра (арг вещ R, H, рез вещ V, S)

алг Корни КвУр(арг вещ а, b, c, рез вещ x1, x2, рез лит t)

алг Исключить элемент(арг цел N, арг рез вещ таб А)

алг Диагональ(арг цел N, арг цел таб A, рез лит Otvet)

Предложения дано и надо не обязательны. В них рекомендуется записывать утверждения, описывающие состояние среды исполнителя алгоритма, например:

алг Замена (арг лит Str1, Str2, арг рез лит Text)

дано | длины подстрок Str1 и Str2 совпадают

надо | всюду в строке Text подстрока Str1 заменена на Str2

алг Число максимумов (арг цел N, арг вещ таб A, рез цел K)

дано | N>0

надо | К - число максимальных элементов в таблице А

алг Сопротивление (арг вещ R1, R2, арг цел N, рез вещ R)

дано | N>5, R1>0, R2>0

надо | R - сопротивление схемы

Здесь в предложениях дано и надо после знака "|" записаны комментарии. Комментарии можно помещать в конце любой строки. Они не обрабатываются транслятором, но существенно облегчают понимание алгоритма.

Алгоритмы можно представлять как некоторые структуры, состоящие из отдельных базовых (т.е. основных) элементов.

Естественно, что при таком подходе к алгоритмам изучение основных принципов их конструирования должно начинаться с изучения этих базовых элементов.

Для их описания будем использовать язык схем алгоритмов и школьный алгоритмический язык.

Логическая структура любого алгоритма может быть представлена комбинацией трех базовых структур:

следование,

ветвление,

Характерной особенностью базовых структур является наличие в них одного входа и одного выхода.

АЛГОРИТМИЧЕСКИЙ Я3ЫК – искусственная система языковых средств, обладающая выразительными возможностями, достаточными для того, чтобы с ее помощью можно было задать любое принадлежащее заранее очерченному классу детерминированное общепонятное предписание, выполнение которого ведет от варьирующих в определенных пределах исходных данных к искомому результату. Такого рода предписания носят название алгоритмов , откуда и сам термин «алгоритмический язык». В систематическое употребление он был введен в 1958 Г.Боттенбрухом. Исторически понятие алгоритмического языка сформировалось в 50-х гг. 20 в. в процессе становления компьютерного программирования как самостоятельной научной дисциплины. Однако теоретические истоки этого понятия прослеживаются еще в работах 30-х гг. С.К.Клини, Э.Л.Поста, А.М.Тьюринга и А.Черча по уточнению общего математического понятия алгоритма. В настоящее время теория алгоритмических языков, а также проблематика, связанная с их разработкой и использованием, составляет один из важнейших разделов информатики.

В логико-лингвистическом и гносеологическом аспекте алгоритмические языки представляют собой одну из моделей императива (повелительного наклонения), и потому выступают, с одной стороны, как средство фиксации операционного знания, а с другой – как инструмент машинной, человеко-машинной или даже просто человеческой коммуникации. За короткий промежуток времени алгоритмические языки превратились в новое познавательное средство, органически вошедшее в научную и практическую деятельность человека. Обычно к ним предъявляется требование «универсальности», заключающееся в том, что должна иметься возможность моделирования с их помощью любых алгоритмов из числа тех, которые дают какое-либо уточнение общего понятия алгоритма (напр., машин Тьюринга). Абсолютная точность синтаксиса алгоритмического языка необходима не во всех случаях. Она обязательна в рассмотрениях содержательного характера. Но в определенных ситуациях (напр., когда тексты, записанные на каком-либо алгоритмическом языке, начинают выступать в роли средства общения с компьютером) этот алгоритмический язык должен быть оформлен в виде соответствующего формализованного языка с четко описанным синтаксисом и точно заданной семантикой его грамматических категорий. Центральное место в таких алгоритмических языках занимают тексты, называющиеся программами (собственно говоря, именно они и выражают понятие алгоритма). Понятие программы формулируется в чисто структурных терминах синтаксиса этого языка, без какого-либо обращения к смысловым категориям. Точно такой же характер носит и описание процедуры выполнения программы. Поэтому в роли исполнителя алгоритмов, записанных на формализованных алгоритмических языках, может выступать не только человек, но и наделенное соответствующими возможностями автоматическое устройство, напр., компьютер. «Теоретические» алгоритмические языки (такие, как язык машин Тьюринга или нормальных алгоритмов Маркова) лежат в основе общей теории алгоритмов.

«Практические» алгоритмические языки – т.н. языки программирования для компьютеров (в настоящее время их известно более тысячи) – используются в практике машинного решения самых разнообразных по своему характеру задач. На ранней стадии программирования употреблялись «машинно-ориентированные» алгоритмические языки (т.н. языки «низкого уровня»), учитывавшие структуру или даже характеристики конкретных вычислительных машин (систему команд, особенности и структуру памяти и т.п.). Потом им на смену пришли «проблемно-ориентированные» алгоритмические языки (языки «высокого уровня»), освободившие пользователя от необходимости ориентироваться на машины определенного типа и тем самым придавшие его усилиям гораздо большую математическую направленность. Дальнейшим развитием идеи алгоритмического языка явились языки программирования более общего, не обязательно алгоритмического характера. Как и алгоритмические языки, такие языки в конечном счете тоже нацелены на получение машинных программ, но во многих случаях их тексты допускают определенную свободу в выполнении и, как правило, дают лишь материал для синтеза искомых алгоритмов, а не сами эти алгоритмы. Все убыстряющееся проникновение вычислительных машин в научную, культурную и социальную сферы ведет к значительному повышению роли алгоритмических языков в жизни общества, и это выражается, в частности, в том, что алгоритмы и реализующие их программы (т.е., в конечном счете, тексты на некоторых алгоритмических языках) все более и более приобретают характер реальных ресурсов экономического, научного и культурного потенциала общества, что в свою очередь вызывает к жизни значительное количество серьезных методологических и гносеологических проблем. Кроме того, все расширяющееся (вплоть до обиходного) пользование алгоритмическими языками приводит к установлению особого стиля мышления, и соотношение мышления такого рода с традиционным математическим тоже представляет собой важную и мало разработанную методологическую проблему.

Литература:

1. Кнут Д. Искусство программирования для ЭВМ, т. 1–3. М., 1976;

2. Ершов А.П. Введение в теоретическое программирование: беседы о методе. М., 1977;

3. Дейкстра Э. Дисциплина программирования. М„ 1978.

Школьный алгоритмический язык

Алгоритми́ческий язык (также русский алгоритмический язык, РАЯ ) - язык программирования , используемый для записи и изучения алгоритмов . При изучении информатики в школах для изучения основ алгоритмизации применяется т. н. школьный алгоритмический язык (учебный алгоритмический язык ), использующий понятные школьнику слова на русском языке. В отличие от большинства языков программирования, алгоритмический язык не привязан к архитектуре компьютера , не содержит деталей, связанных с устройством машины.

Примеры

Алгоритм на алгоритмическом языке в общем виде записывается в форме:

алг название алгоритма (аргументы и результаты) дано условия применимости алгоритма надо цель выполнения алгоритма нач описание промежуточных величин | последовательность команд (тело алгоритма) кон

В записи алгоритма ключевые слова обычно подчёркивались либо выделялись полужирным шрифтом. Для выделения логических блоков применялись отступы, а парные слова начала и конца блока соединялись вертикальной чертой.

Пример вычисления суммы квадратов:

алг Сумма квадратов (арг цел n, рез цел S) дано | n > 0 надо | S = 1*1 + 2*2 + 3*3 + … + n*n нач цел i | ввод n; S:=0 | нц для i от 1 до n | | S:= S + i * i | кц | вывод "S = ", S кон

Е-практикум

Для подкрепления теоретического изучения программирования по алгоритмическому языку, специалистами мехмата МГУ в 1985 г. был создан редактор-компилятор «Е-практикум» («Е» - в честь Ершова), позволяющий вводить, редактировать и исполнять программы на алгоритмическом языке.

В 1986 г. для «Е-практикума» был выпущен комплект учебных миров (исполнителей): «Робот», «Чертежник»», «Двуног», «Вездеход», которые позволяют просто вводить понятия алгоритма. «Е-практикум» был реализован на компьютерах: Ямаха , Корвет , УКНЦ и получил широкое распространение.

Данный язык программирования постоянно дорабатывался и описание более позднего варианта «Е-практикума» появилось в учебнике 1990 года. Система программирования «КуМир» («Комплект Учебных Миров»), поддерживающая этот учебник, была выпущена в свет предприятием «ИнфоМир» в 1990 году. Язык этой системы также называется «КуМир».

В 1995 году «КуМир» был рекомендован Министерством образования РФ в качестве основного учебного материала по курсу «Основы информатики и вычислительной техники» на основе учебника А. Г. Кушниренко, Г.В.Лебедева и Р.А.Свореня. .

Критика

Однако, следует заметить, что алгоритмический язык при отсутствии деталей, связывающих его с архитектурой компьютера напрямую, тем не менее, относясь к Алголо -подобным языкам, неявно обучает школьников опираться на фон-неймановскую архитектуру машин. (Архитектура фон Неймана является практической реализацией более ранней идеи, имеющей название Машина Тьюринга . Кроме идеи Тьюринга существуют и другие идеи. Популярнейшая из них имеет название Лямбда-исчисление : над ней работал Алонзо Чёрч. Лисп-машина - это архитектура, которая основывается на Лямбда-исчислении.)

Ссылки

  • А. П. Ершов. Алгоритмический язык в школьном курсе основ информатики и вычислительной техники. 07.05.1985
  • Форум по русским языкам программирования и средств разработки

Wikimedia Foundation . 2010 .

Смотреть что такое "Школьный алгоритмический язык" в других словарях:

    Алгоритмический язык формальный язык, используемый для записи, реализации или изучения алгоритмов. Всякий язык программирования является алгоритмическим языком, но не всякий алгоритмический язык пригоден для использования в качестве языка… … Википедия

    У этого термина существуют и другие значения, см. Алгоритмический язык. Учебный алгоритмический язык формальный язык, используемый для записи, реализации и изучения алгоритмов. В отличие от большинства языков программирования, не привязан к … Википедия

    У этого термина существуют и другие значения, см. Дракон (значения). Пример блок схемы алгоритма на языке ДРАКОН дракон схемы ДРАКОН (Дружелюбный Русский Алгоритмический язык, Который Обеспечивает Наглядность) визуальный… … Википедия

    Учебный язык программирования язык программирования, предназначенный для обучения. В качестве таковых разрабатывались такие языки как BASIC и Паскаль. Из разработанного для обучения языка ABC вырос Python. Популярным языком,… … Википедия

    Эта статья предлагается к удалению. Пояснение причин и соответствующее обсуждение вы можете найти на странице Википедия:К удалению/28 сентября 2012. Пока процесс обсуждения не завершён, статью мож … Википедия

    Алгоритмический язык (также русский алгоритмический язык, РАЯ) язык программирования, используемый для записи и изучения алгоритмов. При изучении информатики в школах для изучения основ алгоритмизации применяется т. н. школьный алгоритмический… … Википедия

    У этого термина существуют и другие значения, см. Кумир. КуМир … Википедия

    Edumandriva … Википедия

    - (Комплект учебных Миров или Миры Кушниренко) система программирования, предназначенная для поддержки начальных курсов информатики и программирования в средней и высшей школе. Основана на методике, разработанной во второй половине 1980 х годов… … Википедия

Книги

  • Программирование на алгоритмическом языке КуМир под редакцией А Г Кушниренко , Анеликова Л., Гусева О.. Данное пособие предназначено учителям и учащимся для поддержки начальных курсов информатики и программирования в средней, старшей и высшей школе. . В нем рассматриваются основные этапы и…

Часть алгоритма от слова алг до слова нач называется заголовком, а часть, заключенная между словами нач и кон - телом алгоритма.

В предложении алг после названия алгоритма в круглых скобках указываются характеристики (арг, рез) и тип значений (цел, вещ, сим, лит, лог) для всех входных (аргументы) и выходных (результаты) переменных.

При описании массивов (таблиц) используется служебное слово таб , дополненное граничными парами по каждому индексу элементов массива.

Примеры предложений алг :

алг Объем и площадь цилиндра (арг вещ R, H, рез вещ V, S)

алг Корни КвУр(арг вещ а, b, c, рез вещ x1, x2, рез лит t)

алг Исключить элемент(арг цел N, арг рез вещ таб А)

алг Диагональ(арг цел N, арг цел таб A, рез лит Otvet)

Предложениясо словамидано и надо не обязательны. В них рекомендуется записывать утверждения, описывающие состояние среды исполнителя алгоритма, например:

Алг Замена (арг лит Str1, Str2, арг рез лит Text)дано | длины подстрок Str1 и Str2 совпадаютнадо | всюду в строке Text подстрока Str1 заменена на Str2

Алг Число максимумов (арг цел N, арг вещ таб A, рез цел K)дано | N>0надо | К - число максимальных элементов в таблице А

Алг Сопротивление (арг вещ R1, R2, арг цел N, рез вещ R)дано | N>5, R1>0, R2>0надо | R - сопротивление схемы

Здесь в предложениях дано и надо после знака "|" записаны комментарии. Комментарии можно помещать в конце любой строки. Они не обрабатываются транслятором компьютера, но существенно облегчают понимание алгоритма.

Команды школьного языка программирования АЯ

Оператор присваивания . Служит для вычисления выражений и присваивания их значений переменным. Общий вид оператора: А:= В, где знак ":=" означает операцию присвоения, т.е. команду заменить прежнее значение переменной А, стоящей в левой части, на вычисленное значение выражения В, стоящего в правой части.


Например, a:=(b+c)*sin(Pi/4);

i:=i+1 .

Для ввода и вывода данных используют команды

· ввод имена переменных

· вывод имена переменных, выражения, тексты.

Для ветвления в алгоритме применяют команды- если и выбор.

Для организации циклов - команды для ипока , описанные далее.

Пример записи алгоритма на школьном языке АЯ.

Алг Сумма квадратов (арг цел n , рез цел S )дано | n > 0надо | S = 1*1 + 2*2 + 3*3 + ... + n*nнач цел i ввод n ; S : =0 нц для i от 1 до n S : =S+i*i кц вывод "S = ", Sкон