Шпаргалка: алгоритмический язык
Компактный справочник по школьному алгоритмическому языку (КуМир): команды, типы, условия, циклы, массивы и подпрограммы. Подробные объяснения — в разделах документации.
Структура программы
| Элемент | Запись |
|---|---|
| Заголовок алгоритма | алг имя |
| Начало тела | нач |
| Конец тела | кон |
| Комментарий | | текст до конца строки |
| Вызов алгоритма | имя(аргументы) |
kumir
алг привет
нач
вывод "Привет, мир!"
конТипы и переменные
| Тип | Запись | Примеры |
|---|---|---|
| Целое | цел |
5, -12, 0 |
| Вещественное | вещ |
3.14, -0.5 |
| Логическое | лог |
да, нет |
| Строка | лит |
"привет" |
| Таблица | таб |
таб цел A[1:10] |
| Операция | Синтаксис |
|---|---|
| Объявление | цел i, j |
| Присваивание | x := 10 |
| Ввод | ввод x |
| Вывод | вывод "x = ", x |
| Вывод с новой строки | вывод нс, "текст" |
Операции
| Операция | Запись |
|---|---|
| Сложение, вычитание | +, - |
| Умножение, деление | *, / |
| Остаток, целое деление | mod, div |
| Сравнение | =, <>, <, >, <=, >= |
| Логические | и, или, не |
| Степень | x ** 2 |
Ветвление
kumir
если x > 0 то
вывод "положительное"
иначе
вывод "не положительное"
всеkumir
если a > b то
max := a
иначе
max := b
все| Конструкция | Запись |
|---|---|
| Полное условие | если … то … иначе … все |
| Неполное условие | если … то … все |
| Выбор | выбор … при … иначе … все |
Циклы
| Цикл | Синтаксис |
|---|---|
| С предусловием | нц пока i <= n … кц |
| С параметром | нц для i от 1 до n … кц |
| С шагом | нц для i от n до 1 шаг -1 … кц |
| Выход из цикла | выход |
| Следующая итерация | продолжить |
kumir
нц для i от 1 до 10
вывод i, " "
кцkumir
i := 1
нц пока i <= 5
вывод i * i
i := i + 1
кцМассивы (таблицы)
| Операция | Запись |
|---|---|
| Объявление | таб цел A[1:10] |
| Доступ к элементу | A[i] |
| Заполнение | A[i] := i * 2 |
| Сумма элементов | цикл с накоплением |
| Длина | A[1:10] — верхняя граница 10 |
kumir
таб цел A[1:5]
нц для i от 1 до 5
A[i] := i * i
кц
сумма := 0
нц для i от 1 до 5
сумма := сумма + A[i]
кц
вывод "Сумма: ", суммаПодпрограммы
| Элемент | Запись |
|---|---|
| Алгоритм-функция | алг цел квадрат(цел x) |
| Возврат значения | знач := x * x |
| Аргументы | арг x |
| Результат | рез знач |
| Вызов | y := квадрат(5) |
kumir
алг цел квадрат(цел x)
нач
знач := x * x
кон
алг главный
нач
вывод квадрат(7)
конТипичные ошибки
- Забыли
кониливсе— программа не запускается. - Сравнение пишется
=, а присваивание —:=. Не путайте. - Индексы таблицы начинаются с объявленной нижней границы, в примерах — с 1.
- В цикле
нц поканужно менять условие внутри тела, иначе цикл бесконечный. - Вещественное число нельзя вывести как целое без округления: используйте
цел(x + 0.5)или форматирование.
Проверить синтаксис на практике можно в компиляторе C# — алгоритмы легко переписать на C# и сравнить результат.