Конспект лекций по информатике для специальностей 2102, 2103 Автор доц., к т. н. Каширская Е. Н
Вид материала | Конспект |
Содержание2.9. Оператор выбора варианта 2.10. Расположение операторов в программе Правила форматирования |
- Конспект лекций бурлачков в. К., д э. н., проф. Москва, 1213.67kb.
- Конспект лекций по курсу "Начертательная геометрия и инженерная графика" Кемерово 2002, 786.75kb.
- Конспект лекций по дисциплине «Маркетинг», 487.79kb.
- Конспект лекций для студентов всех специальностей дневной и заочной формы обучения, 1439.07kb.
- Конспект лекций для студентов, магистров и аспирантов всех специальностей, 373.35kb.
- Конспект лекций для студентов по специальности i-25 01 08 «Бухгалтерский учет, анализ, 2183.7kb.
- Конспект лекций организация производства и маркетинг для студентов 3 курса специальностей, 2989.73kb.
- Конспект лекций по дисциплине «психология и педагогика» омск 2005, 2020.42kb.
- Конспект лекций по курсу «Организация производства», 2034.84kb.
- Конспект лекций по курсу «Организация производства», 2032.47kb.
2.9. Оператор выбора варианта
Условный оператор позволяет при выполнении программы выбирать одно из двух возможных действий. Если же необходимо сделать много взаимоисключающих проверок, то удобнее воспользоваться оператором выбора варианта.
Пусть перед нами стоит следующая задача.
Пример. Числами от 1 до 7 пронумерованы дни недели от понедельника до воскресенья. Необходимо преобразовать числовое значение соответствующего дня недели в его название и вывести на печать.
Задача легко решается с использованием последовательности условных операторов:
If day =1 then writeln(‘понедельник’) else
If day =2 then writeln(‘вторник’) else
………….
………….
If day =7 then writeln(‘воскресенье’);
Вместе с тем в языке программирования Паскаль имеется оператор, позволяющий проще, короче, и нагляднее записать решение этой задачи. Он называется оператором выбора и дает возможность выбрать для выполнения один из произвольного числа операторов, входящих в его состав. Теперь решение будет таким:
Case day of
1: writeln(‘понедельник’);
2: writeln (‘вторник’) ;
3: ………………….
……………………..
7: writeln(‘воскр.’);
else writeln(‘ошибка….’);
end;
Если переменная day принимает значение 1, то выполняется оператор, перед которым стоит 1:. Если day равно 2, то выполняется оператор, перед которым стоит 2: и т.д. Если же переменная принимает значение вне диапазона1…7, скажем 0 или 8, то выполняется следующий оператор.
Общий вид оператора выбора варианта:
Case селектор of
метка1:оператор1;
…………………….
метка n: оператор N;
End; {of case}
Другой вид оператора выбора:
Case селектор of
Метка1:оператор1;
………………………….
Метка n: оператор N;
Else оператор M;
End; {of case}
2.10. Расположение операторов в программе
Текст любой программы можно записать многими разными способами.
Пример. Определить длину стороны треугольника по двум другим и углу между ними.
Первый вариант.
program length;
Var side1,side2,side3,angle: real;
Begin
Read(side1,side2,side3,angle);
Side3 :=sqrt(sqr(side1)+sqr(side2)-2*side1*side2*cos(angle));
Write (‘third side=’,side3)
End.
Второй вариант. Все то же записано в строчку: Var side1,side2,side3,angle: real; Begin Read(side1,side2,side3,angle); Side3 :=sqrt(sqr(side1)+sqr(side2)-2*side1*side2*cos(angle)); Write (‘third side=’,side3) End.
Большинство программистов предпочтет 1-ый вариант, поскольку он нагляднее выражает структуру программы. Такую программу легче читать и понимать. Наконец, она красивее.
С точки зрения. ЭВМ совершенно безразлично, как записана программа, важно лишь, чтобы она была правильной. Если принять эту точку зрения, то говорить о стиле программирования становится просто бессмысленно. Но программы пишутся все-таки и для людей. Да, они выполняются на вычислительной машине, но разбираться в них, использовать, модифицировать должны программисты. Поэтому писать программы необходимо так, чтобы читатель программы затрачивал наименьшие усилия на ее понимание. Поэтому важно расположение операторов в программе. Для усвоения хорошего стиля можно дать некоторые рекомендации, цель которых заключается в том, чтобы текст программы имел хорошую структуру и его легко было бы читать.
Правила форматирования
1. Составной оператор
BEGIN здесь S1, S2,…,Sn - операторы
S1;
S2;
….
Sn
End;
2. Условный оператор
if B
then S1
else S2; В- логическое выражение(условие); S1,S2- операторы
Если S1,S2 - составные операторы, то надо использовать такое расположение:
If B
Then
S1
Else
S2;
3. Операторы цикла
while B DO
begin
S1;
S2;
….
Sn;
End;
Если один из операторов S1 есть снова оператор цикла WHILE, то рекомендуется расположение:
While B DO
Begin
S1;
S2;
While B1 DO
Begin
S3;
S4;
End;
S5
End;
Оператор REPEAT располагается так:
Repeat
S1;
S2;
….
Sn;
Until B;
Оператор FOR располагается следующим образом:
For i:=A1 to A2 DO A1,A2- выражения
S1;
4. Оператор выбора
CASE C OF
A1: S1;
A2: S2;
……..
An: Sn;
End;
5. Оператор WITH
with k DO
S1; k - идентификатор поля
6. Служебные (зарезервированные) слова PROGRAM, LABEL, CONST, TYPE, VAR, PROCEDURE ,FUNCTION записываются в самой левой позиции. При использовании вложенных процедур и функций соответствующие им слова PROCEDURE, FUNCTION записываются правее. Соответственно сдвигаются вправо и тела вложенных процедур и функций. Итак, при написании программ вложенную конструкцию рекомендуется располагать правее на 3-5 позиций объемлющей ее конструкции.
Отдельные логические части программы часто выделяют пустой строкой. К отдельным логическим частям относятся все разделы программы, а также отдельные процедуры и функции. При этом обычно разделы программы отделяют друг от друга строкой пробелов, а процедуры и функции - строкой из подчеркивания.
Все сказанное о расположении операторов в программе носит рекомендательный характер. Этим рекомендациям желательно следовать, поскольку они обобщают уже довольно большой опыт не одного поколения программистов. Вместе с тем к ним не надо относиться как к догмам. Например, не будет ошибкой запись в одну строку трех операторов присваивания. И другие операторы можно записывать в строку, если это не затрудняет чтения.
Но могут быть ошибки в форматировании записи, вводящие в заблуждение.