Величины и типы: цел, вещ, лог, сим, лит. Ввод и вывод
Разбираем пять базовых типов величин КуМира и учимся вводить и выводить данные.
Величина (переменная) в КуМире — это именованная ячейка определённого типа. Тип задаёт, что в ячейке может храниться: число, символ, строка или логическое значение.
Пять базовых типов
| Тип | Что хранит | Пример значения |
цел | целое число | 0, -15, 2024 |
вещ | вещественное (дробное) число | 3.14, -0.5, 2.0 |
лог | логическое значение | да, нет |
сим | один символ | "A", "7", "+" |
лит | литера = строка (текст) | "Привет" |
Заметьте две детали, важные для тех, кто знает другие языки. Во-первых, логические значения называются да и нет (а не true/false). Во-вторых, дробные числа пишутся через точку: 3.14, а не 3,14. И ещё: 2.0 — это вещ, а 2 — это цел; тип важен.
Объявление переменных
Переменные объявляются в начале тела алгоритма. Несколько переменных одного типа можно перечислить через запятую:
цел год, месяц, день
вещ цена, скидка
лит имя
лог найдено
Команда ввода
Команда ввод читает значения с клавиатуры и кладёт их в переменные:
цел a, b
ввод a, b | пользователь вводит два числа
Если ввести «10 20», то a станет 10, b станет 20. КуМир сам понимает тип: для переменной цел он ждёт целое число, для лит — строку.
Команда вывода
Команда вывод печатает значения и текст. Можно перечислять что угодно через запятую — числа, строки в кавычках, переменные и служебное нс:
цел a
a := 25
вывод "Возраст: ", a, " лет", нс
вывод "Конец", нс
Вывод:
Возраст: 25 лет Конец
Без нс весь вывод печатался бы в одну строку. нс ставят там, где нужен перенос — обычно в конце команды вывод.
Полный пример: периметр прямоугольника
алг
нач
цел a, b, p
ввод a, b
p := 2 * (a + b)
вывод "Периметр = ", p, нс
кон
Та же программа на Python (запускаемая; значения зашиты, чтобы не требовать ввода):
a = 4
b = 6
p = 2 * (a + b)
print("Периметр =", p)
Вывод:
Периметр = 20
Логические величины
Переменная типа лог хранит да или нет. Её удобно использовать как «флажок»:
лог чётное
цел n
n := 8
чётное := mod(n, 2) = 0
вывод чётное, нс
Здесь mod(n, 2) — остаток от деления (о функциях — в следующем уроке), а = 0 даёт логический результат да или нет. На экране для да печатается слово «да».
Символы и строки
Тип сим хранит ровно один символ, лит — целую строку. И символы, и строки записываются в двойных кавычках:
сим буква
лит слово
буква := "К"
слово := "КуМир"
вывод буква, " — первая буква слова ", слово, нс
Вывод:
К — первая буква слова КуМир
Табличные величины
Когда значений много, используют таблицы (массивы). Объявляются они как тип таб с указанием границ индексов:
целтаб a[1:5] | таблица из 5 целых, индексы от 1 до 5
Доступ к элементу — по индексу: a[1], a[2]. Таблицы пригодятся для более сложных задач; на 15.1 ОГЭ они обычно не нужны, поэтому мы вернёмся к ним позже по необходимости.
Попробуй сам
Напишите алгоритм, который вводит вещественное число r (радиус) и выводит длину окружности 2 * 3.14 * r с поясняющим текстом. Подумайте, какого типа должна быть переменная для результата.
Частые ошибки
- Дробь через запятую:
3,14— ошибка, нужна точка3.14. - Присвоить целой переменной дробь:
цел x; x := 2.5— несовпадение типов. - Забыть кавычки у строки или символа.
- Использовать
true/falseвместода/нет.
Итог
- Пять типов:
цел,вещ,лог,сим,лит; плюс табличныецелтаби др. - Логические значения —
даинет; дроби — через точку. вводчитает с клавиатуры,выводпечатает;нспереводит строку.- Строки и символы пишутся в двойных кавычках.