Имена переменных
Мы привыкли переменные величины обозначать буквами (a, s, d …). Большинство языков программирования, в том числе и Паскаль, позволяет обозначать переменные не только буквами, но и целыми словами. Вот два равносильных фрагмента программы:
| Фрагмент №1 | Фрагмент №2 |
|---|---|
a:=3;b:=4-a;WriteLn(a, b+50); | Summa:=3;ROBBY:=4-Summa;WriteLn(Summa, ROBBY+50); |
В том и другом случае будут напечатаны числа 3 и 51. Очевидно, компьютеру все равно, как мы обозначаем переменные величины, в смысл имен он не вдумывается и не удивляется, что переменная Summa никакой суммой не является, а просто числом 3.
Будем называть обозначение переменной именем или идентификатором этой переменной.
Правило. Именем переменной в Паскале может служить любая последовательность цифр, латинских букв и знака подчеркивания, не начинающаяся с цифры.
Примеры правильной записи имён: a, x, velichina, zzz, polnaja_summa, tri_plus_dva, s25, k1, _k1, x_0, y0, a1b88qq, oshibka.
Примеры неправильной записи имён:
| ж | Буква не латинского алфавита. |
| polnaja summa | Содержится пробел между словами. Символ «Пробел» не является буквой, цифрой или знаком подчеркивания. |
| 2as | Начинается с цифры. |
| Domby&Son | Содержится символ «&», не являющийся буквой, цифрой или знаком подчеркивания. |
Порядок построения простейшей программы
Задача. Известны размеры спичечной коробки: высота – 12,41 см., длина - 8 см., ширина - 5 см. Вычислить площадь основания коробки и ее объем.
Порядок составления программы
- Программист должен знать решение задачи. Ведь программа - это инструкция по ее решению. Нельзя давать инструкцию, не зная, как решать. В нашем случае программист должен знать формулы для вычисления площади основания коробки и ее объема:
площадь = длина × ширина, объем = площадь × высота.
- Нужно придумать имена переменным. Имя переменной должно говорить о ее смысле. Если смыслом является длина коробки, то не ленитесь и не называйте ее а, потому что через полгода, разбираясь в своей полузабытой программе, вы будете долго тереть лоб и думать – «Что, чёрт возьми, я обозначил через а?». Называйте ее dlina (если вы не знаете английского) или, к примеру, length (если знаете). Так делают все профессиональные программисты (а они, как известно, терпеть не могут трудиться зря, значит, зачем-то им это нужно).
Остановимся на следующих именах:
dlina | - длина |
shirina | - ширина |
visota | - высота |
pl | - площадь |
V | - объём |
- Нужно определить, какого типа будут переменные. Поскольку длина и ширина - целые, то и площадь будет целой. Высота и, следовательно, объем - вещественные. Первые две строки программы будут такими:
Var dlina, shirina, pl: Integer;
visota, V: Real;
- Перед вычислениями нужно задать исходные данные решения задачи. Вот следующие две строки программы:
Begin
dlina:=8;
shirina:=5;
visota:=12.41;
- Теперь нужно задать компьютеру действия, которые нужно проделать с исходными данными, чтобы получить результат.
pl:= dlina * shirina;
V: = pl * visota;
- После получения результата его нужно вывести на экран (напечатать). Действительно, все операторы присваивания компьютер выполняет «в уме». После их выполнения в ячейках памяти pl и V будут находиться числовые результаты решения задачи. Чтобы их узнать, человек в нашем случае может использовать оператор
WriteLn, после чего программу можно заканчивать:
WriteLn('Площадь: ', pl);
Write('Объём: ', V:10:3);
End.
Обратите внимание, что поскольку переменная V имеет тип
Real, для ее вывода мы использовали следующий форматV :10:3. Первое число (10) – сколько всего символов будет занимать изображение выводимого числа, второе число (3) – это сколько цифр останется после запятой.
- Запишем программу целиком:
Var dlina, shirina, pl: Integer;
visota, V: Real;
Begin
dlina:=8;
shirina:=5;
visota:=12.41;
pl:= dlina * shirina;
V:= pl * visota;
WriteLn('Площадь: ', pl);
Write('Объём: ', V:10:3);
End.
Программа выведет на экран:
Площадь: 40
Объём: 496.400
С помощью текста всегда старайтесь пояснить, что за числа выводятся на экран в результате выполнения программы.
Эту задачу можно было бы решить и гораздо более короткой программой:
Begin WriteLn(8 * 5, ' ' , 8 * 5 * 12.41 :10:3); End.
А еще быстрее эту задачу решить в уме. Однако, соблюдение приведенного порядка составления программы облегчит вам в дальнейшем программирование реальных задач для компьютера.
Задание 1
Написать программы для решения следующих задач:
- В углу прямоугольного двора размером 50x30 стоит прямоугольный дом размером 20x10. Подсчитать площадь дома, свободную площадь двора и длину забора. Примечание: в углу, где дом, забора нет.
- Радиус окружности равен 800. Вычислить длину окружности и площадь круга. Результаты печатать с 5 знаками после десятичной точки.
- Автомобиль 3 часа ехал со скоростью 80 км/час и 2 часа со скоростью 90 км/час. Вычислить среднюю скорость автомобиля (она равна суммарному пути, деленному на суммарное время).
Турбо-Паскаль 7.0 - Самоучитель
Лукин С.Н.