- •Кафедра прикладной математики лекция № 15. Тема: «управляющие операторы языка»
- •1. Операторы ветвления.
- •С труктурная схема условного оператора
- •Пример 2.
- •Структурная схема оператора выбора
- •2. Операторы повтора.
- •С труктурные схемы операторов цикла
- •2.1. Оператор цикла с предварительным условием (while).
- •Вопросы
- •2.2. Оператор цикла с последующим условием (repeat).
- •Вопросы
- •2.3. Оператор цикла с параметром (for).
- •Пример 8.
- •Вопросы
- •3. Вложенные операторы цикла.
- •4. Процедуры передачи управления.
- •5. Правила пунктуации.
- •Контрольные вопросы
- •Задания для самостоятельной работы
- •Лекция № 15 по курсу «информатика»
5. Правила пунктуации.
При записи операторов необходимо соблюдать следующие правила пунктуации:
Точка с запятой не ставится в разделах описаний после зарезервированных слов unit, uses, label, type, const, var и ставится после завершения каждого описания.
Точка с запятой не ставится после begin и перед end, так как эти слова являются операторными скобками, а не операторами.
Точка с запятой является разграничителем операторов, ее отсутствие между операторами вызывает ошибку компиляции.
В операторах цикла точка с запятой не ставится после while, repeat, do и перед unit.
В условных операторах точка с запятой не ставится после then и перед else.
Часто встречающимися ошибками при программировании циклов являются использование в теле цикла переменных, которым не были присвоены начальные значения, а также неверная запись условия продолжения цикла. Нужно помнить и о том, что в операторе while истинным должно являться условие повторения вычислений, а в операторе repeat – условие их окончания.
Чтобы избежать ошибок, рекомендуется:
не забывать о том, что если в теле циклов while и for требуется выполнить более одного оператора, нужно заключать их в блоке;
убедиться, что всем переменным, встречающимся в правой части операторов присваивания в теле цикла, до этого присвоены значения, а также проверить возможно ли выполнение других операторов;
проверить, изменяется ли в теле цикла хотя бы одна переменная, входящая в условие продолжения цикла;
предусматривать аварийный выход из итерационного цикла по достижению некоторого предельно допустимого количества итераций.
Контрольные вопросы
Оператор безусловного перехода, его назначение и особенности применения.
Назначение, формы записи и порядок выполнения оператора условия if.
Особенности использования вложенных условных операторов.
Каковы отличия оператора выбора case от оператора условия if?
Какие правила должны выполняться при использовании оператора выбора case?
Найти ошибки в программе:
program tn1;
const L=18;
label 18,8;
var x,y:integer;
begin
y:=0;
8: read(x);
if x<0 then goto L;
y:=y+x;
goto 18;
L: writeln(y)
end.
Найти ошибки в следующих операторах:
а) if 1<x<2 then x:=x+1; y:=0; б) if 1<x and x<2 then
else x:=0; y:=y+1; begin
x:=x+1; y:=0
end;
else begin
x:=0; y:=y+1
end
Какие из приведенных ниже операторов являются неправильными и почему?
а) if a<b then a:=a*a else b:=b*b; б) if x and y then s:=s+1; else s:=s-1;
в) if k<>m then k:=m; г) if 5 then s:=s+5;
д) 12: if (a<b) or c then c:=false; е) if (a=b) and p then p:=p+10.5;
ж) 34: if 0<x<2 then if y<1 then 34 з) begin
else goto 15 77: if |x|<1 then goto 5
else 15: y:=sqr(y) begin x:=x/2; goto 77; y:=sin(x) end
end;
Если n=3, то какое значение будет иметь переменная f после выполнения следующего составного оператора?
begin
f:=1; i:=2;
1: if i>n then goto 9;
f:=f*i; i:=i+1; goto 1;
9: end
Найти ошибки в следующих операторах:
begin b) 34: if 0<x<2
77: if |x|<1 then goto 5 then if y<1 then goto 34 else goto 15
begin x:=x/2; goto 77; else 15: y:=sqr(y)
5: y:=sin(x)
end
end;
Какое значение будет иметь переменная z после выполнения операторов
z:=0;
if x>0 then if y>0 then z:=1 else z:=2
при следующих значениях переменных x и y: a) x=y=1; b) x=1, y= -1; c) x= -1, y=1.
Какие значения имеют переменные А и В в результате выполнения условного оператора:
IF A<B THEN A:=B ELSE B:=A, если перед его выполнением А=0.5, В= -1.7?
Какая задача решается при выполнении оператора:
IF X<Y THEN MAX:=Y ELSE MAX:=X?
Каково назначение операторов повтора (цикла)?
Какие требования предъявляются к выражениям, управляющим повторениями?
В чем отличия операторов цикла while и repeat?
В каких случаях предпочтительнее использовать для организации циклов оператор цикла for? Что записывается в заголовке этого оператора?
Каким образом в операторе цикла for описывается направление изменения значения параметра цикла?
Какие ограничения налагаются на использование управляющей переменной (параметра цикла) в цикле for?
Что такое вложенные циклы? Какие дополнительные условия необходимо соблюдать при организации вложенных циклов?