Как называются основные слова алгоритмического языка
Основными понятиями в алгоритмических языках являются следующие.
Имена (идентификаторы) — последовательность символов для обозначения объектов программы (переменных, массивов, функций и дp.).
Операции . Существуют следующие типы операций:
— арифметические операции : сложение, обозначается символом “+”; вычитание, обозначается символом “-”; умножение, обозначается символом “*”; деление, обозначается символом “/” и дp. ;
— логические операции : операции “логическое и”, “логическое или”, “логическое не” и др.;
— операции отношения : меньше, обозначается символом “”; меньше или равно, обозначается символами “=”; равно, обозначается символом “=”; не равно, обозначается символами “<>”.
— операция конкатенации символьных значений дpуг с другом, изображается знаком «+».
Ключевые слова – это слова языка, имеющие строго определенное назначение, которые не могут использоваться в качестве идентификаторов.
Данные — величины, обрабатываемые программой. Имеется тpи основных вида данных: константы , переменные и массивы .
Константы — это данные, которые зафиксированы в тексте программы и не изменяются в процессе ее выполнения.
числовые : 7.5, 12;
логические : true(истина), false(ложь);
строковые : «abcde», «информатика».
Переменные – это данные, которые могут изменять свои значения в ходе выполнения программы. Они обозначаются именами. Переменные бывают целые , вещественные , логические , символьные и строковые .
Массивы — последовательности однотипных элементов, число которых фиксировано и которым присвоено одно имя. Положение элемента в массиве однозначно определяется его индексами — одним в случае одномерного массива, или несколькими, если массив многомерный.
Выражения – элементы языка, которые предназначаются для выполнения необходимых вычислений, состоят из констант, переменных, указателей функций, объединенных знаками операций. Выражения записываются в виде линейных последовательностей символов (без подстрочных и надстрочных символов, «многоэтажных» дробей и т. д.), что позволяет вводить их в компьютер, последовательно нажимая на соответствующие клавиши клавиатуры.
Различают выражения арифметические , логические и строковые .
Арифметические выражения служат для определения одного числового значения. Арифметические выражения записываются по следующим правилам:
1. Нельзя опускать знак умножения между сомножителями и ставить рядом два знака операций.
2. Индексы элементов массивов записываются в скобках.
3. Операции выполняются в порядке старшинства: сначала вычисление функций, затем возведение в степень, потом умножение и деление и в последнюю очередь — сложение и вычитание.
4. Операции одного старшинства выполняются слева направо.
Логические выражения описывают некоторые условия, которые могут удовлетворяться или не удовлетворяться. Таким образом, логическое выражение может принимать только два значения — «истина» или «ложь» (да или нет).
В записи логических выражений помимо арифметических операций сложения, вычитания, умножения, деления и возведения в степень используются операции отношения и логические операции.
Значения строковых выражений — тексты. В них могут входить строковые константы, строковые переменные и строковые функции, разделенные знаком операции конкатенации.
Оператор – это элемент языка, который задает полное описание некоторого действия, которое необходимо выполнить. Оператор — это наиболее крупное и содержательное понятие языка: каждый оператор представляет собой законченную фразу языка программирования и определяет некоторый вполне законченный этап обработки данных. В состав операторов входят ключевые слова; данные; выражения и т.д.
Стандартная функция – подпрограмма, заранее встроенная в транслятор языка для вычисления часто употребляемых функций. В качестве аргументов функций можно использовать константы, переменные и выражения.
Программа — это последовательность инструкций, предназначенных для выполнения компьютером. В настоящее время программы оформляются в виде текста, который записывается в файлы.
Программирование – это теоретическая и практическая деятельность решения задачи средствами конкретного языка программирования и оформления полученных результатов в виде программы.
На стадии программирования возникает этап отладки программы – процесс обнаружения и устранения ошибок в программе, производимой по результатам ее тестирования на компьютере.
После окончательной отладки программа документируется, т.е. к ней прилагается описание назначения программы и инструкция по эксплуатации. Только после этого программа становится законченным программным продуктом, подготовленным к реализации как любой иной вид промышленной продукции.
Языки высокого уровня работают через трансляционные программы — трансляторы , которые преобразуют исходный код в последовательность команд машинного языка. Существует два основных вида трансляторов: интерпретаторы , которые сканируют и проверяют исходный код в один шаг, и компиляторы , которые сканируют исходный код для создания текста программы на машинном языке, которая затем выполняется отдельно.
В общем случае программа может иметь модульную структуру , т.е. состоять из нескольких программных единиц, связанных между собой командами передачи управления. Такой принцип построения программ называется модульным . Программная единица, с первой команды которой начинается выполнение программы, называется головной программой. Остальные программные единицы, входящие в единую программу, называются подпрограммами .
Подпрограмма — это последовательность операторов, которые определены и записаны только в одном месте программы, однако их можно вызвать для выполнения из одной или нескольких точек программы.
Функция — это программная единица, которая может быть употреблена в выражении. Функция прямо возвращает величину, которая используется при вычислении этого выражения, и, кроме того, может возвращать величины через параметры.
Процесс разработки многомодульных программ эффективнее, особенно если разрабатывается программа большого размера, когда над реализацией проекта может работать несколько программистов, каждый из которых имеет возможность модифицировать фрагменты программы, не мешая работе остальных.
Подпрограммы и функции позволяют создавать большие структурированные программы, которые можно делить на части. Это дает преимущества в следующих ситуациях:
1. Если программа большая, разделение ее на части облегчает создание, тестирование и ее сборку.
2. Если программа большая и повторная компиляция всего исходного текста занимает много времени, разделение ее на части экономит время компиляции.
3. Если процедуру надо использовать в разных случаях разным образом, можно записать ее в отдельный файл и скомпилировать отдельно.
АЛГОРИТМИЧЕСКИЙ ЯЗЫК
Различают проблемно-ориентированные А. я. (А. я. высокого уровня), предназначенные для записи алгоритмов безотносительно к к.-л. определенным вычислительным машинам, и машинно-ориентированные А. я. (А. я. низкого уровня), уже учитывающие особенности той или иной вычислительной машины (список команд, характеристики запоминающего устройства и т. д.). Обычно под термином «А. я.» понимают проблемно-ориентированный язык, противопоставляя его машинному языку, т. е. средству записи, воспринимаемой машиной непосредственно. Над законченными текстами ( программами).в А. я. определен универсальный алгоритм их однозначного выполнения, что отличает А. я. от не алгоритмических языков программирования, в к-рых процесс выполнения текста сугубо неоднозначен или текст служит только материалом для синтеза алгоритма решения задачи. Подобно естественным языкам, А. я. строится над алфлвитом основных символов (вк-ром записывается программа) в виде иерархич. системы своих грамматич. элементов с заданными на них отношениями (подобно словам, словосочетаниям и предложениям в естественном языке, связанным синтаксич. правилами). Элементы низшего уровня, образованные цепочками основных символов, наз. лексемами. Для вхождений лексем в прогамму пределена их принадлежность к нек-рому классу и к области действия- к.-л. однозначно выделяемой части программы, к к-рой относятся все входящие в нее экземпляры лексемы. Среди всех вхождений лексемы выделяется одно, к-рое наз. определяющим; остальные вхождения лексемы в область действия наз. использующим и. Следующие уровни элементов А. я. образуются понятиями. Между понятиями А. я. задается отношение быть (прямой) конституентой (т. е. непосредственной составной частью), а между конституентами данного понятия — отношение конкатенации (текстуального следования). Транзитивное замыкание конституентного отношения однозначно сопоставляет понятию нек-рое подслово текста программы, наз. порождением этого понятия. Существует одно начальное понятие, порождением к-рого является весь текст программы. Среди понятий выделяются позиции и субституенты. Субституента занимает нек-рую позицию, являясь ее прямой конституентой. Дерево, корень к-рого — начальное понятие, концевые вершины — лексемы и основные символы, внутренние вершины — понятия, а дуги — конституентные отношения, наз. деревом разбора программы. Построение этого дерева наз. синтаксическим анализом программы.
Понятия и лексемы обладают атрибутами, т. е. нек-рыми фиксированными описанием А. я. множествами, элементы к-рых сопоставляются элементам А. я. в качестве их характеристик. Нахождение атрибутов элементов А. я., входящих в программу, наз. ее с е-мантическим анализом. Нахождение атрибутов лексем начинается с анализа их определяющих вхождений, к-рые обычно содержат информацию об атрибутах в явном виде. Затем атрибутивная информация в пределах соответствующей области действия переносится на все использующие вхождения лексемы (идентификация). Атрибуты нек-рого понятия находятся индукцией по дереву разбора как функции атрибутов его конституент. Существенной частью се-мантич. анализа, имеющей большое значение для контроля правильности программы, является проверка на совместимость атрибутов позиции и ее субституенты (приведение). Почти во всех А. я. действуют те или иные правила умолчания, т. е. приписывание не специфицированному явно атрибуту нек-рого значения как функции контекста данного понятия. Таким контекстом могут быть: позиция, область действия, вся программа и, наконец, само описание А. я.
Правила синтаксич. анализа задаются либо порождающей грамматикой А. я. (см. Грамматика порождающая), либо анализирующим автоматом (точнее, его различными обобщениями), преобразующим текст программы в дерево разбора. Правила семантич. анализа описываются обычно неформально, однако предпринимались попытки формализовать определение атрибутивной информации и учет контекста с помощью механизма двухступенчатых грамматик (см. Алгол-68).
Алгоритм выполнения программ А. я. задается сопоставлением вершинам дерева разбора различных исполнительных процедур (называемых также трансдукторами, семантическими процедурами). Каждая процедура выполняет нек-рые действия как функцию атрибутов и того или иного контекста данного понятия (или лексемы), а затем определяет последующую процедуру. Действия процедуры либо непосредственно задают вычислительный процесс в терминах нек-рой абстрактной машины (семантика интерпретирующего типа), либо трансформируют порождение данного понятия во фрагмент программы в нек-ром языке низшего уровня (семантика трансляционного типа).
В конкретных А. я. алфавит основных символов обычно состоит из букв латинского (иногда с добавлением русского) алфавита, цифр, парных ограничителей (скобок), разделителей (знаков препинания) и нек-рых знаков операций. В связи с ограниченностью алфавита существуют правила кодирования основных символов комбинациями знаков, воспринимаемых входными устройствами машины. Основные классы лексем — нумералы для изображения чисел, литералы для изображения текстов, идентификаторы для обозначения различных объектов программы, определяемых в ней самой. Основными объектами являются переменные величины, м е т к и (наименования различных частей программы) и процедуры (функциональные обозначения). Смысл и назначение нек-рых идентификаторов фиксируется описанием А. я. (закрепленные слова).
Среди понятий А. я. выделяются базовые конструкции — описания, выражения и операторы. Описания являются источником атрибутивной информации, приписываемой определяющему вхождению лексемы. В основном атрибуты характеризуют тип (вид) значений, вычисляемых при выполнении программы, их представление и режим хранения в памяти ЭВМ. Для составных значений (векторов, матриц, структурных величин) указывается также способ доступа к их элементарным компонентам. Выражения являются источником значений; операторы — единицами законченных действий в программе; базовые операторы- это оператор присваивания значения выражения переменной величине, оператор п е-редачи управления (безусловной или по условию), оператор вызова процедуры, оператор цикла.
Циклы и процедуры являются наиболее характерными средствами А. я. для сокращенной записи сколь угодно длинных вычислений. Оператор цикла организует повторное выполнение нек-рой части программы (т е-л а цикла), управляемое заданным условием на число повторений. Описание процедуры вводит сокращенное параметризованное функциональное обозначение для нек-рои части программы (тело процедуры). Выполнение тела процедуры впоследствии может трактоваться как элементарное действие, инициируемое вызовом процедуры, вносящим одновременно в тело процедуры фактич. значения параметров.
Важное свойство А. я. — возможность регуляризации структуры программы, облегчающей ее написание, изучение и проверку правильности. Основными средствами регуляризации являются ограничения на структуру областей действия, тел процедур и циклов, а также регламентация употребления операторов передачи управления, ограничивающая ветвимость цепочек выполнения базовых операторов параллельно-последовательной структурой.
Программирование с использованием А. я. для вычислительной машины требует включения в ее программное обеспечение специальных программирующих процессоров- посредников между программами на А. я. и машиной. Процессор в своем развернутом составе выполняет следующие функции: ввод программы, лексический (выделение и классификация лексем), синтаксический п семантич. анализы с сигнализацией о формальных ошибках, синтез промежуточной формы (представление программы на внутреннем языке нек-рой абстрактной вычислительной машины, удобное для последующей обработки или выполнения программы), оптимизация (систематич. преобразование промежуточной формы, улучшающее такие характеристики программы, как ее размер, скорость и объем расходуемой памяти), генерация (построение машинной программы), выполнение программы. В процессорах транслирующего типа (трансляторы, компиляторы, программирующие программы) выполнение программы происходит после полного построения машинной программы. В процессорах интерпретирующего типа (шаговые, диалоговые, отладочные трансляторы) программа выполняется с помощью нек-рого механизма интерпретацип ее либо промежуточной формы, либо дерева разбора, либо даже исходного текста.
Различают одно-, двух- и многофазные схемы трансляции программ. В однофазной схеме все функции транслятора объединены в один просмотр текста программы. Оптимизация и промежуточная форма отсутствуют, а выделяемые вершины дерева разбора тут же порождают машинные команды программы. В двухфазных трансляторах обычно на первом просмотре программы строится дерево разбора, а на втором просмотре семантич. анализ объединяется с генерацией. Многофазные схемы с использованием промежуточной формы применяются в оптимизирующих трансляторах или в системах со сменной генерацией для различных типов машин, а для нек-рых А. я. требуются в силу сложности синтаксич. и семантич. анализов.
Количество разнообразных А. я., созданных для работы на вычислительных машинах, весьма велико (больше тысячи), однако только нек-рые из них получили широкое распространение. К ним относятся языки алгол, алгол-68, кобол, лисп, ПЛИ, симула, фортран, а в СССР также алгамс, альфа, рефал.
Лит.:[1] Ингерман П., Синтаксически ориентированный транслятор, пер. с англ., М., 1969; [2] Языки программирования, пер. с англ., М., 1972; [3] Xопгуд Ф., Методы компиляции, пер. с англ., М., (972; [4] Xигман Б., Сравнительное изучение языков программирования, пер. с англ., М., 1974. А.
Математическая энциклопедия. — М.: Советская энциклопедия . И. М. Виноградов . 1977—1985 .
- АЛГОРИТМИЧЕСКАЯ ТЕОРИЯ МНОЖЕСТВ
- АЛГОРИТМОВ СОЧЕТАНИЯ
Как называются основные слова алгоритмического языка
Алгоритмический язык программирования — формальный язык, используемый для записи, реализации и изучения алгоритмов. В отличие от большинства языков программирования, алгоритмический язык не привязан к архитектуре компьютера, не содержит деталей, связанных с устройством машины.
Для изучения основ алгоритмизации применяется так называемый Русский алгоритмический язык (школьный алгоритмический язык), использующий понятные школьнику слова на русском языке.
Алголо-подобный алгоритмический язык с русским синтаксисом был введён в употребление академиком А. П. Ершовым в середине 1980-х годов, в качестве основы для «безмашинного» курса информатики.
Основные служебные слова алгоритмического языка
Логические функции и значения для составления выражений
Общий вид алгоритма
Часть алгоритма от слова алг до слова нач называется заголовком , а часть, заключенная между словами нач и кон — телом алгоритма .
В предложении алг после названия алгоритма в круглых скобках указываются характеристики (арг, рез) и тип значения (цел, вещ, сим, лит или лог) всех входных (аргументы) и выходных (результаты) переменных. При описании массивов (таблиц) используется служебное слово таб, дополненное граничными парами по каждому индексу элементов массива.
В записи алгоритма ключевые слова обычно подчёркиваются либо выделяются полужирным шрифтом. Для выделения логических блоков применяются отступы, а парные слова начала и конца блока соединяются вертикальной чертой.
Основные алгоритмические структуры
Подробное описание основных алгоритмических структур приведено в этой статье. Ниже приводятся шаблоны составления этих структур на алгоритмическом языке.
Неполная развилка
Основные служебные слова алгоритмического языка
Часть алгоритма от слова алг до слова нач называется заголовком, а часть, заключенная между словами нач и кон — телом алгоритма.
В предложении алг после названия алгоритма в круглых скобках указываются характеристики (арг, рез) и тип значений (цел, вещ, сим, лит, лог) для всех входных (аргументы) и выходных (результаты) переменных.
При описании массивов (таблиц) используется служебное слово таб, дополненное граничными парами по каждому индексу элементов массива.
Примеры предложений алг:
алг Объем и площадь цилиндра (арг вещ R, H, рез вещ V, S)
алг Корни КвУр(арг вещ а, b, c, рез вещ x1, x2, рез лит t)
алг Исключить элемент(арг цел N, арг рез вещ таб А[1:N])
алг Диагональ(арг цел N, арг цел таб A[1:N,1:N], рез лит Otvet)
Предложениясо словамидано и надо не обязательны. В них рекомендуется записывать утверждения, описывающие состояние среды исполнителя алгоритма, например:
алг Замена (арг лит Str1, Str2, арг рез лит Text)дано | длины подстрок Str1 и Str2 совпадаютнадо | всюду в строке Text подстрока Str1 заменена на Str2
алг Число максимумов (арг цел N, арг вещ таб A[1:N], рез цел 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кон
Как называются основные слова алгоритмического языка
Основными понятиями в алгоритмических языках являются следующие.
Имена (идентификаторы) — последовательность символов для обозначения объектов программы (переменных, массивов, функций и дp.).
Операции . Существуют следующие типы операций:
— арифметические операции : сложение, обозначается символом “+”; вычитание, обозначается символом “-”; умножение, обозначается символом “*”; деление, обозначается символом “/” и дp. ;
— логические операции : операции “логическое и”, “логическое или”, “логическое не” и др.;
— операции отношения : меньше, обозначается символом “”; меньше или равно, обозначается символами “=”; равно, обозначается символом “=”; не равно, обозначается символами “<>”.
— операция конкатенации символьных значений дpуг с другом, изображается знаком «+».
Ключевые слова – это слова языка, имеющие строго определенное назначение, которые не могут использоваться в качестве идентификаторов.
Данные — величины, обрабатываемые программой. Имеется тpи основных вида данных: константы , переменные и массивы .
Константы — это данные, которые зафиксированы в тексте программы и не изменяются в процессе ее выполнения.
числовые : 7.5, 12;
логические : true(истина), false(ложь);
строковые : «abcde», «информатика».
Переменные – это данные, которые могут изменять свои значения в ходе выполнения программы. Они обозначаются именами. Переменные бывают целые , вещественные , логические , символьные и строковые .
Массивы — последовательности однотипных элементов, число которых фиксировано и которым присвоено одно имя. Положение элемента в массиве однозначно определяется его индексами — одним в случае одномерного массива, или несколькими, если массив многомерный.
Выражения – элементы языка, которые предназначаются для выполнения необходимых вычислений, состоят из констант, переменных, указателей функций, объединенных знаками операций. Выражения записываются в виде линейных последовательностей символов (без подстрочных и надстрочных символов, «многоэтажных» дробей и т. д.), что позволяет вводить их в компьютер, последовательно нажимая на соответствующие клавиши клавиатуры.
Различают выражения арифметические , логические и строковые .
Арифметические выражения служат для определения одного числового значения. Арифметические выражения записываются по следующим правилам:
1. Нельзя опускать знак умножения между сомножителями и ставить рядом два знака операций.
2. Индексы элементов массивов записываются в скобках.
3. Операции выполняются в порядке старшинства: сначала вычисление функций, затем возведение в степень, потом умножение и деление и в последнюю очередь — сложение и вычитание.
4. Операции одного старшинства выполняются слева направо.
Логические выражения описывают некоторые условия, которые могут удовлетворяться или не удовлетворяться. Таким образом, логическое выражение может принимать только два значения — «истина» или «ложь» (да или нет).
В записи логических выражений помимо арифметических операций сложения, вычитания, умножения, деления и возведения в степень используются операции отношения и логические операции.
Значения строковых выражений — тексты. В них могут входить строковые константы, строковые переменные и строковые функции, разделенные знаком операции конкатенации.
Оператор – это элемент языка, который задает полное описание некоторого действия, которое необходимо выполнить. Оператор — это наиболее крупное и содержательное понятие языка: каждый оператор представляет собой законченную фразу языка программирования и определяет некоторый вполне законченный этап обработки данных. В состав операторов входят ключевые слова; данные; выражения и т.д.
Стандартная функция – подпрограмма, заранее встроенная в транслятор языка для вычисления часто употребляемых функций. В качестве аргументов функций можно использовать константы, переменные и выражения.
Программа — это последовательность инструкций, предназначенных для выполнения компьютером. В настоящее время программы оформляются в виде текста, который записывается в файлы.
Программирование – это теоретическая и практическая деятельность решения задачи средствами конкретного языка программирования и оформления полученных результатов в виде программы.
На стадии программирования возникает этап отладки программы – процесс обнаружения и устранения ошибок в программе, производимой по результатам ее тестирования на компьютере.
После окончательной отладки программа документируется, т.е. к ней прилагается описание назначения программы и инструкция по эксплуатации. Только после этого программа становится законченным программным продуктом, подготовленным к реализации как любой иной вид промышленной продукции.
Языки высокого уровня работают через трансляционные программы — трансляторы , которые преобразуют исходный код в последовательность команд машинного языка. Существует два основных вида трансляторов: интерпретаторы , которые сканируют и проверяют исходный код в один шаг, и компиляторы , которые сканируют исходный код для создания текста программы на машинном языке, которая затем выполняется отдельно.
В общем случае программа может иметь модульную структуру , т.е. состоять из нескольких программных единиц, связанных между собой командами передачи управления. Такой принцип построения программ называется модульным . Программная единица, с первой команды которой начинается выполнение программы, называется головной программой. Остальные программные единицы, входящие в единую программу, называются подпрограммами .
Подпрограмма — это последовательность операторов, которые определены и записаны только в одном месте программы, однако их можно вызвать для выполнения из одной или нескольких точек программы.
Функция — это программная единица, которая может быть употреблена в выражении. Функция прямо возвращает величину, которая используется при вычислении этого выражения, и, кроме того, может возвращать величины через параметры.
Процесс разработки многомодульных программ эффективнее, особенно если разрабатывается программа большого размера, когда над реализацией проекта может работать несколько программистов, каждый из которых имеет возможность модифицировать фрагменты программы, не мешая работе остальных.
Подпрограммы и функции позволяют создавать большие структурированные программы, которые можно делить на части. Это дает преимущества в следующих ситуациях:
1. Если программа большая, разделение ее на части облегчает создание, тестирование и ее сборку.
2. Если программа большая и повторная компиляция всего исходного текста занимает много времени, разделение ее на части экономит время компиляции.
3. Если процедуру надо использовать в разных случаях разным образом, можно записать ее в отдельный файл и скомпилировать отдельно.
Как называются основные слова алгоритмического языка
Алгоритмический язык
Алгоритм — заранее заданное точное предписание возможному исполнителю совершить определённую последовательность действий для получения решения задачи за конечное число шагов.
4.1. Способы задания алгоритма.
На практике наиболее распространены следующие способы задания алгоритмов:
— словесная (запись на естественном языке);
— графическая (изображения из графических символов);
— псевдокоды (полуформализованные описания алгоритмов на условном алгоритмическом языке, включающие в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др.);
— программная (тексты на языках программирования). Словесный способ записи алгоритмов представляет собой описание последовательных этапов обработки данных.
Словесный способ
Словесный способ записи алгоритмов представляет собой описание последовательных этапов обработки данных. Алгоритм задаётся в произвольном изложении на естественном языке.
Пример. Записать алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных чисел (алгоритм Евклида).
Алгоритм может быть следующим:
1) Задать два числа.
2) Если числа равны, то взять любое из них в качестве ответа и остановиться, в противном случае продолжить выполнение алгоритма.
3) Определить большее из чисел.
4) Заменить большее из чисел разностью большего и меньшего из чисел.
5) Повторить алгоритм с шага 2.
Описанный алгоритм применим к любым натуральным числам и должен приводить к решению поставленной задачи.
Графический способ
При графическом представлении алгоритм изображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий. Такое графическое представление называется схемой алгоритма, или блок-схемой. В блок-схеме каждому типу действий соответствует геометрическая фигура, представленная в виде блочного символа. В таблице приведены наиболее часто употребляемые символы.
Начало, конец алгоритма, вход и выход в подпрограмму
Вычислительное действие или последовательность действий
Вычисления по подпрограмме
Ввод-вывод в общем виде
Блок «процесс» применяется для обозначения действия или последовательности действий, изменяющих значение, форму представления или размещения данных. Для улучшения наглядности схемы несколько отдельных блоков обработки можно объединять в один блок. Представление отдельных операций достаточно свободно.
Блок «решение» используется для обозначения переходов управления по условию. В каждом блоке «решение» должны быть указаны вопрос, условие или сравнение, которые он определяет.
Блок «модификация» используется для организации циклических конструкций. Внутри блока записывается параметр цикла, для которого указываются его начальное значение, граничное условие и шаг изменения значения параметра для каждого повторения.
Блок «предопределённый процесс» используется для указания обращении к вспомогательным алгоритмам, существующим автономно в виде некоторых самостоятельных модулей, и для обращений к библиотечным подпрограммам.
Псевдокод представляет собой систему обозначений и правил, предназначенную для единообразной записи алгоритмов.
В псевдокоде не приняты строгие синтаксические правила для записи команд, присущие формальным языкам, что облегчает запись алгоритма на стадии его проектирования. Однако в псевдокоде обычно имеются некоторые конструкции, присущие формальным языкам. В псевдокоде, так же, как и в формальных языках, есть служебные слова, смысл которых однозначно определён. Например, алгоритмы на алгоритмическом языке записываются с помощью служебных слов, представленных в таблице 1.7.
Похожие публикации:
- Как картинку растянуть на весь экран css
- Как можно подключить один css файл в другой css файл
- Какая часть css правила является селектором в следующем примере
- Какое css свойство позволяет показать лапку при наведении указателя мыши на элемент
Алгоритмический язык программирования
Алгоритмический язык программирования — формальный язык, используемый для записи, реализации и изучения алгоритмов. В отличие от большинства языков программирования, алгоритмический язык не привязан к архитектуре компьютера, не содержит деталей, связанных с устройством машины.
Для изучения основ алгоритмизации применяется так называемый Русский алгоритмический язык (школьный алгоритмический язык), использующий понятные школьнику слова на русском языке.
Алголо-подобный алгоритмический язык с русским синтаксисом был введён в употребление академиком А. П. Ершовым в середине 1980-х годов, в качестве основы для «безмашинного» курса информатики.
Основные служебные слова алгоритмического языка
Логические функции и значения для составления выражений
Общий вид алгоритма
алг название алгоритма (аргументы и результаты)
| дано условия применимости алгоритма
| надо цель выполнения алгоритма
нач описание промежуточных величин
| последовательность команд (тело алгоритма)
кон
Часть алгоритма от слова алг до слова нач называется заголовком , а часть, заключенная между словами нач и кон — телом алгоритма .
В предложении алг после названия алгоритма в круглых скобках указываются характеристики (арг, рез) и тип значения (цел, вещ, сим, лит или лог) всех входных (аргументы) и выходных (результаты) переменных. При описании массивов (таблиц) используется служебное слово таб, дополненное граничными парами по каждому индексу элементов массива.
В записи алгоритма ключевые слова обычно подчёркиваются либо выделяются полужирным шрифтом. Для выделения логических блоков применяются отступы, а парные слова начала и конца блока соединяются вертикальной чертой.
Основные алгоритмические структуры
Подробное описание основных алгоритмических структур приведено в этой статье. Ниже приводятся шаблоны составления этих структур на алгоритмическом языке.
Неполная развилка