#8.2 Начальные сведения о форматировании кода. Отступы в теле программы. Паскаль
Primary tabs
В этом уроке рассмотрим самый простой случай форматирования - форматирование кода на первом уровне вложенности в теле программы.
В предыдущих урока мы уже писали код, например:
var a, b, c: string; // объявляем списком три переменные строкового типа begin a := 'abc'; // строковый литерал из 3 символов b := a; // теперь b равно 'abc' (хранит в себе строку 'abc') с := b; // теперь c равно 'abc' end.
-- почему в этой программе перед, например, begin
нет пробела, а перед строкой a := 'abc';
сразу два?
Разберем этот вопрос ниже ;)
Блоки и базовый отступ
Форматирование нужно, чтобы показать к какому блоку относится код, пока что из блоков мы знаем только один - это тело программы.
Все строки кода внутри тела программы должны иметь какой-то отступ, его мы называем базовым (в дальнейших уроках именно на его основе мы будем вычислять вложенные отступы в более сложных ситуациях).
Для единообразия будем использовать базовый отступ равный двум пробелам, например:
var a:integer; begin // нулевой отступ (ноль пробелов слева) a := 2; // одинарные отступ (два пробела слева) a := 3 + 5; // одинарные отступ (два пробела слева) end;
-- помимо величины отступа важно также, что:
- end пишется ровно под соответствующим ему begin-ом
- перед операторными скобками тела программы отступы не делаются
Разбор практических примеров
Пример №1 -- неправильное форматирование
var a:integer; begin a := 2; readln(); end;
-- здесь отступ перед второй строкой тела программы readln();
больше, чем перед первой строкой a := 2;
, что неправильно - отступы для элементов на одном уровне вложенности должны быть одинаковыми, правильно будет:
var a:integer; begin a := 2; readln() end;
Самостоятельная работа (необязательный раздел)
-
Сдавать/выладывать решение не обязательно:
Есть код:var a: integer; begin writeln('vvedite celoe chislo'); readln(a); readln(); end.
Если он отфроматирован неправильно - исправьте это, и объясните для себя почему нужно исправить именно так.
-
Сдавать/выладывать решение не обязательно:
Есть код:var a,b : integer; begin a:=2; b:=3; readln(); end.
Если он отфроматирован неправильно - исправьте это, и объясните для себя почему нужно исправить именно так.
- Log in to post comments
- 1953 reads