Алгоритмический язык против Паскаля: ключевые отличия
Если вы уже знаете Паскаль (часть 1 этого учебника) — этот урок переведёт ваши знания на язык КуМира за полчаса.
Алгоритмический язык КуМира и Паскаль очень близки по идеям, но различаются словами: где в Паскале
begin/end, там в КуМиренач/кон.
Зачем сравнивать
В первой части учебника мы разобрали Паскаль. КуМир построен на тех же базовых конструкциях: переменные, присваивание, ветвление, цикл. Поэтому самый быстрый способ освоить КуМир для «паскалиста» — увидеть таблицу соответствий и запомнить, что меняются только слова, а не суть.
Главная таблица соответствий
| Паскаль | КуМир |
begin … end | нач … кон |
:= | := (одинаково!) |
if … then … else | если … то … иначе … всё |
while … do | нц пока … кц |
for i := a to b do | нц для i от a до b … кц |
repeat … until | нц … кц при (аналог) |
div, mod (инфиксные) | div(a,b), mod(a,b) (функции) |
integer, real, boolean | цел, вещ, лог |
char, string | сим, лит |
true / false | да / нет |
and / or / not | и / или / не |
writeln / readln | вывод … нс / ввод |
var x: integer; | цел x (в начале тела) |
Отличие 1: всё по-русски
Самое заметное: ключевые слова русские. Это снижает порог входа для младших школьников, но требует точности — всё пишется с буквой «ё», а иначе — слитно.
Отличие 2: цикл — это «нц … кц»
В Паскале блок цикла — begin … end. В КуМире у цикла своя рамка: нц (начало цикла) и кц (конец цикла). Вид цикла указывается рядом с нц:
нц для i от 1 до 5
вывод i, " "
кц
Сравните с Паскалем:
for i := 1 to 5 do
write(i, ' ');
Идея одна, оформление разное.
Отличие 3: ветвление закрывается словом «всё»
В Паскале конструкция if не имеет явного «закрывающего» слова (используются begin/end при нескольких командах). В КуМире ветвление обязательно закрывается словом всё:
если a > 0
то вывод "положительное", нс
иначе вывод "неположительное", нс
всё
Это удобно: всё чётко показывает, где заканчивается «если». Никаких «висячих else».
Отличие 4: div и mod — функции
В Паскале пишут 17 div 5 и 17 mod 5 (между числами). В КуМире это обычные функции со скобками: div(17, 5) и mod(17, 5). Частая ошибка «паскалистов» — написать инфиксно.
Отличие 5: исполнители
У Паскаля нет встроенных Робота и Черепахи — это уникальная черта КуМира. Благодаря им алгоритмы становятся наглядными, а задание 15.1 ОГЭ вообще существует только в мире КуМира.
Один и тот же алгоритм на двух языках
«Вывести квадраты чисел от 1 до 5». КуМир:
алг
нач
цел i
нц для i от 1 до 5
вывод i, " в квадрате = ", i * i, нс
кц
кон
Запускаемый Python-эквивалент (та же логика):
for i in range(1, 6):
print(i, "в квадрате =", i * i)
Вывод:
1 в квадрате = 1 2 в квадрате = 4 3 в квадрате = 9 4 в квадрате = 16 5 в квадрате = 25
Попробуй сам
Возьмите любой простой алгоритм, который вы писали на Паскале в первой части учебника (например, нахождение большего из двух чисел), и перепишите его на КуМир, пользуясь таблицей соответствий. Где if then else — там если то иначе всё.
Частые ошибки при переходе
- Забыть
всёв концеесли. - Написать
div/modинфиксно, как в Паскале. - Использовать
begin/endили английские слова по привычке. - Поставить точку с запятой в конце команды — в КуМире она не нужна, команды разделяются переводом строки.
Итог
- КуМир и Паскаль — близнецы по идеям, ключевые слова в КуМире русские.
- Цикл —
нц … кц, ветвление закрывается словомвсё. divиmodв КуМире — функции со скобками.- Уникальная черта КуМира — исполнители (Робот и др.), которых нет в Паскале.