- Школьный алгоритмический язык. Урок 1. Структура программы: обзор
- Школьный алгоритмический язык.
- Комментарии
- Пример алгоритма
- Алгоритмический язык программирования
- Основные служебные слова алгоритмического языка
- Общий вид алгоритма
- Основные алгоритмические структуры
- Алгоритмический язык программирования
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
Школьный алгоритмический язык. Урок 1. Структура программы: обзор
При изучении информатики в школах для изучения основ алгоритмизации применяется т. н. Русский алгоритмический язык (школьный алгоритмический язык), использующий понятные школьнику слова на русском языке. Алголо-подобный алгоритмический язык с русским синтаксисом был введён в употребление академиком А. П. Ершовым в середине 1980-х годов в качестве основы для «безмашинного» курса информатики. Впервые был опубликован в учебнике «Основы информатики и вычислительной техники» в 1985 г. Язык также применялся для записи алгоритмов в учебнике А. Г. Кушниренко, Г. В. Лебедева и Р. А. Свореня «Основы информатики и вычислительной техники» для 9-10 классов (1990 г. и последующие переиздания; общий тираж составил 7 млн экземпляров).
Школьный алгоритмический язык.
Для записи алгоритмов на школьном алгоритмическом языке используется некоторое ограниченное число слов, смысл и способ употребления которых заданы раз и навсегда. Это так называемые служебные слова: алг (алгоритм), дано, надо, нач (начало), кон (конец),арг (аргумент), рез (результат) и др. При записи алгоритмов в книгах служебные слова выделяются жирным шрифтом, в тетради и на доске — подчёркиванием.
В общем виде программу на школьном алгоритмическом языке можно представить так:
алг (аргумент и результат) дано условия применимости алгоритма надо цель выполнения алгоритма нач описание промежуточных величин | последовательность команд (тело алгоритма) кон
В первой строке после команды алг вы указываете название вашей программы (алгоритма). Далее для нашего удобства мы можем описать данные задачи и что необходимо получить после выполнения нашего алгоритма. Строка 4 указывает на начало алгоритма, после команды нач и до команды кон необходимо описать алгоритм (записать команды для исполнителя, которые будут выполняться последовательно.
Комментарии
Комментарии — это участки кода, игнорируемые исполнителем и используемые для пояснения текста программы.
В Школьном алгоритмическом языке имеется только один способ указать комментарий — это прямая черта после которой все что будет описано в строке исполнителем учитываться в алгоритме не будет. (например строка 5, смотри выше)
В настоящий момент язык переживает своё второе рождение, в связи с разработкой пакета «КуМир» для Windows и Linux. В системе используется несколько исполнителей; основные — это классические «Робот» и «Чертёжник». Пакет включен в дистрибутив ALT Linux Школьный.
Система «КуМир» разработана в НИИСИ РАН по заказу Российской академии наук и распространяется свободно на условиях лицензии GNU GPL 2.0.
В последние несколько лет школьный алгоритмический язык включается как один из предлагаемых в текстах задач ЕГЭ по информатике.
Пример алгоритма
алг Сумма квадратов (арг цел 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 vertical-align: top;">кон
Алгоритмический язык программирования
Алгоритмический язык программирования — формальный язык, используемый для записи, реализации и изучения алгоритмов. В отличие от большинства языков программирования, алгоритмический язык не привязан к архитектуре компьютера, не содержит деталей, связанных с устройством машины.
Для изучения основ алгоритмизации применяется так называемый Русский алгоритмический язык (школьный алгоритмический язык), использующий понятные школьнику слова на русском языке.
Алголо-подобный алгоритмический язык с русским синтаксисом был введён в употребление академиком А. П. Ершовым в середине 1980-х годов, в качестве основы для «безмашинного» курса информатики.
Основные служебные слова алгоритмического языка
Логические функции и значения для составления выражений
Общий вид алгоритма
алг название алгоритма (аргументы и результаты)
| дано условия применимости алгоритма
| надо цель выполнения алгоритма
нач описание промежуточных величин
| последовательность команд (тело алгоритма)
кон
Часть алгоритма от слова алг до слова нач называется заголовком , а часть, заключенная между словами нач и кон — телом алгоритма .
В предложении алг после названия алгоритма в круглых скобках указываются характеристики (арг, рез) и тип значения (цел, вещ, сим, лит или лог) всех входных (аргументы) и выходных (результаты) переменных. При описании массивов (таблиц) используется служебное слово таб, дополненное граничными парами по каждому индексу элементов массива.
В записи алгоритма ключевые слова обычно подчёркиваются либо выделяются полужирным шрифтом. Для выделения логических блоков применяются отступы, а парные слова начала и конца блока соединяются вертикальной чертой.
Основные алгоритмические структуры
Подробное описание основных алгоритмических структур приведено в этой статье. Ниже приводятся шаблоны составления этих структур на алгоритмическом языке.
Неполная развилка
Алгоритмический язык программирования
Повторение
Алгоритм –
это четко определенный план решения задачи для исполнителя.
Свойства алгоритма:
• дискретность: состоит из отдельных шагов (команд)
• понятность: должен включать только команды, известные
исполнителю
• конечность: позволяет получить решение задачи за конечное
число шагов
• определенность: при одинаковых исходных данных всегда
выдает один и тот же результат
• массовость: может применяться при различных исходных
данных
Переменная –
это величина, имеющая имя, тип и значение. Значение
переменной можно изменять во время работы программы.
3.
Повторение
Мама дала Маше
30 рублей для
покупки хлеба.
Хлеб стоит 22
рубля. Постройте
алгоритм покупки
хлеба Машей не
учитывая её поход
в магазин и
обратно.
Замечание! Для
постройки
алгоритма можно
использовать блоксхемы.
начало
блок «начало»
ввод a, b
блок «ввод»
c := a + b
блок «процесс»
вывод c
блок «вывод»
конец
блок «конец»
4.
5.
Историческая минутка
Правила выполнения арифметических действий над целыми
числами и простыми дробями в десятичной системе счисления впервые
были сформулированы выдающимся средневековым ученым по имени
Мухаммед ибн Муса ал-Хорезми, сокращенно Ал-Хорезми.
Ал-Хорезми жил и творил в IX веке. Арабский оригинал его
арифметического труда утерян, но имеется латинский перевод XII века,
по которому Западная Европа ознакомилась с десятичной позиционной
системой счисления и правилами выполнения в ней арифметических
действий.
В латинском переводе книги Ал-Хорезми правила начинались
словами «Алгоризми сказал». С течением времени люди забыли, что
«Алгоризми» —это автор правил, и стали сами эти правила называть
алгоритмами. Постепенно «Алгоризми сказал» преобразовалось в
«алгоритм гласит».
Слово «алгоритм» происходит от имени ученого Ал-Хорезми. Как
научный термин первоначально оно обозначало лишь правила
выполнения действий в десятичной системе счисления. С течением
времени это слово приобрело более широкий смысл и стало обозначать
любые точные правила действий. В настоящее время слово «алгоритм»
является одним из важнейших понятий науки информатики.
6.
Историческая минутка
Fortran (1954-57) — первый язык программирования высокого уровня,
имеющий транслятор. Обеспечивал представление формул в
естественной для математиков форме. Название Fortran является
сокращением от FORmula TRANslator (переводчик формул).
Algol (1958-1960) — структурное программирование (для выражения
алгоритмов и структур данных).
Pascal (1970) — Algol для учебных целей. Автор — Никлаус Вирт.
Небольшой и эффективный язык, способствующий хорошему стилю
программирования, использующему структурное программирование и
структурированные данные.
C (1969-73) — системное программирование на языке высокого
уровня. Разработан в 1969-73 годах сотрудниками Bell Labs Кеном
Томпсоном и Деннисом Ритчи. Первоначально был разработан для
реализации операционной системы UNIX, но, впоследствии, был
перенесён на множество других платформ. Этот язык получил широкое
применение при создании системного программного обеспечения и
прикладного программного обеспечения для решения широкого круга
задач. Язык программирования C оказал существенное влияние на
развитие индустрии программного обеспечения, а его синтаксис стал
основой для таких языков программирования как C++, C#, Java и D.
7.
8.
Основные понятия
• Язык программированияэто формальная знаковая система,
предназначенная для записи компьютерных программ.
Язык программирования определяет набор правил,
задающих внешний вид программы и действия,
которые выполнит компьютер под её управлением.
• Программа- это совокупность инструкций и алгоритмов,
описывающих порядок определенных действий.
9.
Синтаксис алгоритмического языка
программирования
Алгоритмический
Комментарий
|строка текста
Структура программы
алг
нач
объяв перем
тело прогр
кон
описание функц
10.
Объявление переменных различных типов данных
целое
цел перем
вещ
вещ перем
символ
сим перем
строка
лит перем
логическое
лог перем
11.
Арифметические операции
сложение
+
вычитание
—
умножение
*
возведение в степень
**
деление
/
целочисленное деление
div(делимое,делитель)
определение остатка от деления
mod(делимое,делитель)
Операция присваивания
:=
12.
Операции сравнения
равно
=
не равно
<>
больше
>
меньше
больше или равно
>=
меньше или равно
Логические операции
не
не
и
и
или
или
13.
Ввод и вывод
ввод перем (через пробел)
ввод перем,перем
ввод перем (через Enter)
ввод перем
ввод перем
вывод с переводом строки
вывод нс, перем,перем
вывод без перевода строки
вывод перем,перем
вывод пустой строки
вывод нс
14.
Работа со строками
сравнение строк
=,<>
копирование одной строки на
место другой
строка1:=строка2
взятие символа из строки
строка[поз_сим]
выбор подстроки
строка[поз_сим:поз_сим]
слияние строк
строка1+строка2
длина строки
длин(строка)
15.
Задание для самостоятельного
решения
1. Напишите программу сложения двух целых чисел, используя
алгоритмический язык программирования.
Алг
Нач
цел: х, у, S |объявление переменных
ввод x, y
|ввод значений, которые будут присвоены
переменным
S:=(x+y)
|присваиваем переменной сумму двух чисел
Вывод “Сумма=” S
Кон
16.
Задание для самостоятельного
решения
1. Напишите программу умножения двух целых чисел, используя
алгоритмический язык программирования.
Алг
Нач
цел: х, у, P
ввод x, y
P:=(x*y)
Вывод “Произведение=” P
Кон
17.
Задание для самостоятельного
решения
1. Напишите программу вычитания двух целых чисел, используя
алгоритмический язык программирования.
Алг
Нач
цел: х, у, R
ввод x, y
R:=(x-y)
Вывод “Разность=” R
Кон
18.
Домашнее задание (по желанию)
1. Напишите программу сложения двух вещественных чисел,
используя алгоритмический язык программирования.
2. Посчитайте длину строки, используя алгоритмический язык
программирования.
3. Соедините две строки , используя алгоритмический язык
программирования.
19.
20.
Операторы ветвления
если
если условие
то
операторы
иначе
операторы
все
выбор
выбор
при условие: оператор
при условие: оператор
иначе оператор
все
21.
Операторы цикла
цикл «для»
нц для от до шаг
тело цикла
кц
цикл «пока»
нц пока условие
тело цикла
кц
цикл «до тех пор»
нц
тело цикла
кц при условие
Описание и объявление функции
определение
алг тип имя_функц (тип
имена_аргументов)
нач
тело функц
кон