Алгоритмический язык ершова реферат

Обновлено: 02.07.2024

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

Содержание

Примеры

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

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

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

Критика

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

Ссылки

Wikimedia Foundation . 2010 .

Полезное

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

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

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

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

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

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

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

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

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

EduMandriva — Edumandriva … Википедия

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

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

Обычные величины/значения:
цел – целые числа из диапазона от -32768 до 32767 (2 байта)
вещ – вещественные числа от -1038 до 1038 (4 байта) Например: 3.14; 0.314е1; 27e-2 = 0.27
лог – логические переменные (да, нет) (1 байт) (да>нет)
сим – символьные переменные (‘a’, ‘5’, ‘.’, ‘,’ …) (1 байт)
лит – литерные (строковые) переменные (‘’, ‘мама мыла раму’) (256 байт)
Виды величин
аргументы (арг) – описываются в заголовке алгоритма,
результаты (рез) – описываются в заголовке алгоритма,
значения функций (знач) – описываются указанием типа перед именем алгоритма –
функции,
локальные – описываются в теле алгоритма, между нач и кон,
общие – описываются после строки исп исполнителя, до первой строки алг.

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

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

Решение задач
а) определить, является ли треугольник с заданными
сторонами a, b, c равнобедренным;
Решение:
алг Треугольник(арг вещ a,b,c, рез лог Otvet)
дано | a>0, b>0, c>0, a+b>c, a+c>b, b+c>a
надо | Otvet = да, если треугольник равнобедренный
| Otvet = нет, если треугольник не равноведренный
нач
если (a=b) или (a=c) или (b=c)
то Otvet:= да
иначе Otvet:= нет
все
кон

Упражнения
А) Запишите по правилам алгоритмического языка выражения:
Б) Определите значение переменной S после выполнения операторов:
i:=0; s:00
Нц пока i

Нажмите, чтобы узнать подробности

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

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ

Кафедра информатики и вычислительной техники

ОБЩИЕ КОНСТРУКЦИИ АЛГОРИТМИЧЕСКИХ ЯЗЫКОВ: АЛФАВИТ, ВЕЛИЧИНА (ТИП, ИМЯ И ЗНАЧЕНИЕ). ВЫРАЖЕНИЕ. ТИП ВЫРАЖЕНИЯ. АРИФМЕТИЧЕСКОЕ ВЫРАЖЕНИЕ. СИМВОЛЬНОЕ ВЫРАЖЕНИЕ. ЛОГИЧЕСКОЕ ВЫРАЖЕНИЕ. СТАНДАРТНЫЕ ФУНКЦИИ. СТРУКТУРА ПРОГРАММЫ.

студентка 5 курса группы МДФ-117 ________________________ А. Н. Родькина

Направление подготовки 44.03.05 Педагогическое образование.

Профиль Физика. Информатика

канд. физ.-мат. наук, доцент__________________________ Т. В. Кормилицына

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

Для изучения основ алгоритмизации применяется так называемый Русский алгоритмический язык (школьный алгоритмический язык), использующий понятные школьнику слова на русском языке.

Алфавит языка

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

Синтаксис – это правила построения фраз, позволяющие определить, правильно или неправильно написана та или иная фраза.

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

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

Алфавит языка включает:

• буквы латинского алфавита от A до Z (строчные и прописные)

• арабские цифры: 0 1 2 … 9

• знаки арифметических операций: + – * / ^ \

• круглые скобки ( ) кавычки “ ” апостроф ’ , подчеркивание _

• буквы русского алфавита используются только для записи текстовых констант и комментариев к программе.

Величина (тип, имя, значение)

Термин величина, который используется в алгоритмическом языке, ввел Андрей Петрович Ершов, заимствовав его из математики и физики, считая, что так школьникам будет проще для понимания. В производственных языках программирования обычно используется термин переменная, который все чаще вытесняется термином объект. При этом в объектно-ориентированном программировании говорят про объект и состояние объекта.

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

Во время выполнения алгоритма в каждый конкретный момент времени величина может иметь какое-то значение(например, 3 или -502,78) либо ее значение может быть не определено(к данному моменту не вычислено). С точки зрения ЭВМ: значение величины – это содержимое соответствующей ей ячейки памяти.

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

Для того чтобы ЭВМ могла работать с величиной, ей необходимо ее описание. Описать величину - значит указать ее тип и имя (например, цел n).

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

Алг график (арг вещ a,b, цел n)
нач цел k, m, l, вещ x,y

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

В алгоритмическом языке не существует специальных правил именования переменных. Однако их названия не должны совпадать со служебными словами алгоритмического языка. Во многих языках программирования для имен можно использовать только латинские буквы, цифры, знак подчеркивания. Имена обязательно должны начинаться с буквы, при этом строчные и прописные буквы в именах не различаются. В одном алгоритме не могут существовать разные объекты с одинаковыми именами. Все имена являются уникальными. Имена переменных и констант стараются выбирать так, чтобы они напоминали их смысл. Например, имена переменных и констант: S, p12, result, итог.

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

Величина — переменная, с которой связывается определенное множество значений. Этой величине присваивается имя (в языках программирования его называют идентификатор).

Различают выражения арифметические, логические и строковые.

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

1. Нельзя опускать знак умножения между сомножителями и ставить рядом два знака операций.

2. Индексы элементов массивов записываются в скобках.

3. Операции выполняются в порядке старшинства: сначала вычисление функций, затем возведение в степень, потом умножение и деление и в последнюю очередь - сложение и вычитание.

4. Операции одного старшинства выполняются слева направо.

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

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

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

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

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

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

1. Если программа большая, разделение ее на части облегчает создание, тестирование и ее сборку.

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

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

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

Содержание

Введение……………………………………………………………. ……………3
1. Определение и свойства алгоритма………………………………….………..4
2. Методы изображение алгоритмов……………………………………..…….10
2.1 Словесное описание алгоритма……………………………………….…….10
2.2 Блок-схема алгоритма…………………………………………………. …..11
2.3 Псевдокод……………………………………………………………….……14
2.4 Программное представление алгоритма………………………………..….16
3. Порядок разработки иерархической схемы реализации алгоритмов…. …17
4. Автоматизация деятельности человека на основе алгоритмизации.………20
5. Значение алгоритмов при решении повседневных задач………..…………24
6. Стадии создания алгоритма………………………………………….……….27
7. Основные алгоритмические структуры: следование, ветвление, цикл; изображение на блок-схемах. Разбиение задачи на подзадачи. Вспомогательные алгоритмы……………………………………………..…….30
7.1 Линейный алгоритм……………..…………………………………………..30
7.2 Циклический алгоритм………………………………………………. ……31
7.3 Разветвляющийся алгоритм…………………………………………………33
7.4 Вспомогательный алгоритм…………………………………………. ……34
7.5 Метод последовательной детализации……………………………………..34
8. Величины: константы, переменные, типы величин. Присваивание, ввод и вывод величин. Линейные алгоритмы работы с величинами……………. …37
9. Логические величины, операции, выражения. Логические выражения в качестве условий в ветвящихся и циклических алгоритмах……………….…43
Заключение……………………………………………………………….………48
Список литературы…………………

Работа состоит из 1 файл

Алгоритмические языки.doc

    • Механические алгоритмы, или иначе детерминированные, жесткие (например алгоритм работы машины, двигателя и т.п.);
    • Гибкие алгоритмы, например стохастические, т.е. вероятностные и эвристические.

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

      • Вероятностный (стохастический) алгоритм дает программу решения задачи несколькими путями или способами, приводящими к вероятному достижению результата.
      • Эвристический алгоритм (от греческого слова “эврика”) – это такой алгоритм, в котором достижение конечного результата программы действий однозначно не предопределено, так же как не обозначена вся последовательность действий, не выявлены все действия исполнителя. К эвристическим алгоритмам относят, например, инструкции и предписания. В этих алгоритмах используются универсальные логические процедуры и способы принятия решений, основанные на аналогиях, ассоцияциях и прошлом опыте решения схожих задач.
      • Линейный алгоритм – набор команд (указаний), выполняемых последовательно во времени друг за другом.
      • Разветвляющийся алгоритм – алгоритм, содержащий хотя бы одно условие, в результате проверки которого ЭВМ обеспечивает переход на один из двух возможных шагов.
      • Циклический алгоритм – алгоритм, предусматривающий многократное повторение одного и того же действия (одних и тех же операций) над новыми исходными данными. К циклическим алгоритмам сводится большинство методов вычислений, перебора вариантов.

      Цикл программы – последовательность команд (серия, тело цикла), которая может выполняться многократно (для новых исходных данных) до удовлетворения некоторого условия.

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

        2. Методы изображение алгоритмов

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

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

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

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

          Рассмотрим пример на алгоритме нахождение максимального из двух значений:

          Определим форматы переменных X, Y, M, где X и Y – значения для сравнения, M – переменная для хранения максимального значения;

          получим два значения чисел X и Y для сравнения;

          если X меньше Y, значит большее число Y.

          Поместим в переменную M значение Y.

          Если X не меньше (больше) Y, значит большее число X.

          Поместим в переменную M значение X.

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

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

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

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

          2.2 Блок-схема алгоритма

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

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

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

          Можно встретить даже такое утверждение: «Внешне алгоритм представляет собой схему – набор прямоугольников и других символов, внутри которых записывается, что вычисляется, что вводится в машину и что выдается на печать и другие средства отображения информации «. Здесь форма представления алгоритма смешивается с самим алгоритмом.

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

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

          Название символа Обозначение и пример заполнения Пояснение
          Процесс Вычислительное действие или последовательность действий
          Решение Проверка условий
          Модификация Начало цикла
          Предопределенный процесс Вычисления по подпрограмме, стандартной подпрограмме
          Ввод-вывод Ввод-вывод в общем виде
          Пуск-останов Начало, конец алгоритма, вход и выход в подпрограмму
          Документ Вывод результатов на печать

          В таблице 2 приведены стандартные графические объекты блок-схемы:

          Вид стандартного графического объекта Назначение
          Начало алгоритма
          Конец алгоритма
          Выполняемое действие записывается внутри прямоугольника
          Условие выполнения действий записывается внутри ромба
          Счетчик кол-во повторов
          Последовательность выполнения действий

          2.3 Псевдокод

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

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

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

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

          алг Сумма квадратов (арг цел n, рез цел S)

          надо | S = 1*1 + 2*2 + 3*3 + . + n*n

          нц для i от 1 до n

          вывод "S center"> 2.4 Программное представление алгоритма

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

          Читайте также: