Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Билеты.Паскаль.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
70.59 Кб
Скачать
  1. Формат и правила выполнения оператора присваивания.

Оператор присваивания - основной оператор любого языка программирования. Общая форма записи оператора:

 имя величины := выражение

Например, V:=A; или V:=A+1;

При помощи оператора присваивания переменной могут присваиваться константы и выражения, значения переменных любого типа.

Как только в программе встречается переменная, для неё в памяти отводится место. Оператор присваивания помещает значение выражения в место, отведённое переменной.

Если в процессе выполнения программы встречается переприсваивание (т.е. та же самая переменная принимает другое значение), то старое значение переменной стирается, на свободное место записывается новое значение. Команда присваивания позволяет лучше понять смысл слова переменная (т.е. меняющая своё значение по ходу программы).

Выражение может быть арифметическим, логическим или литерным. Важно, чтобы тип величины был согласован с видом выражения.

  1. Понятие и применение составного оператора.

Если при некотором условии надо выполнить определенную последовательность операторов, то их объединяют в один составной оператор. Составной оператор начинается ключевым словом begin и заканчивается словом end. Между этими словами помещаются составляющие операторы, которые выполняются в порядке их следования. После end ставится точка с запятой, а после begin – только пробелы (либо комментарий).

Пример.

begin i := 2;

k := i / 5

end;

Слова begin и end играют роль операторных скобок. Тело самой программы также имеет вид составного оператора. После последнего end программы ставится точка. Нельзя извне составного оператора передавать управление внутрь его.

VAR

BEGIN

if

then

begin

end

else

begin

end;

END.

  1. Формат и правила выполнения условного оператора if.

IF условие THEN оператор ELSE оператор

Вначале вычисляется значение условия, стоящего под знаком этого оператора. Результатом этого действия является значение логического типа. Этот тип значений называется еще булевским. Булевские выражения могут иметь только два значения: true (истина) и false (ложь). В первом случае, если значение выражения есть True (истина), то выполняется <оператор1>, указанный в рассатриваемой конструкции после слова then (или «то» по-русски). Если же результат вычисления выражения (условия) есть False (ложь), то выполняется <оператор2>.

оператор

любой оператор Паскаля

условие

пока под условием будем понимать два арифметических выражения, соединенных знаком сравнения, или условие равенства или неравенства строк, как это показано на примере в Error: Reference source not found

выражение

знак сравнения

знаков сравнения шесть:

> больше >= больше или равно = равно

< меньше <= меньше или равно <> не равно

Пример: if 5*a+4 <= a*b then WriteLn (b) else a:=b+5

Здесь^

WriteLn (b) - один оператор,

a:=b+5 - другой оператор,

5*a+4 <= a*b - условие,

5*a+4 - одно выражение,

a*b - другое выражение,

<= - знак сравнения.

Вспомним правило расстановки точек с запятыми. Они применяются для того, чтобы отделять друг от друга операторы, выполняющиеся друг за другом. Поэтому и после оператора if мы тоже ставили точку с запятой, если после него шел какой-нибудь оператор. Распространенная привычка начинающих программистов - автоматически ставить точку с запятой после любого оператора, независимо от того, что после него стоит - другой оператор или же служебное слово, например else или end. Так вот, перед end точку с запятой ставить не возбраняется, а

перед ELSE точку с запятой ставить запрещено.

IF условие THEN оператор

В этом случае, если результат выражения true, то выполняется < оператор >. В противном случае выполняется  оператор  программы, следующий за  оператором  if.

Полезное замечание: Вычисляя выражения, стоящие в условии оператора if, Паскаль не записывает их значения в память. Например, после выполнения фрагмента - b:=6; if b+1>0 then s:=20 - в ячейке b будет храниться 6, а не 7. То же относится и к выражениям из оператора WriteLn. Например: b:=6; WriteLn (b+1) . И здесь тоже в ячейке b останется храниться 6, а не 7. И вообще, информация в ячейках памяти не меняется при вычислении выражений.

a:=10; if a>2 then WriteLn ('!!!') else WriteLn ('!')

!!!

a:=4; if a>5 then a:=a+10 else a:=a-1; WriteLn (a)

3

s:=6; if s-8<0 then s:=s+10; WriteLn (s)

16

В  Паскале  разрешвется использование вложенных условных  операторов . Например, такого оператора как: if условие1 then if условие2 then <оператор1> else <оператор2> При этом возникает вопрос: к какому из двух операторов if: к первому или ко второму относить служебное слово else? Эта неясность (или двусмысленность) в понимании снимается, если принять, что служебное слово else всегда относится (или вернее связывается) с ближайшим по тексту еще не связанным с else служебным словом if.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]