Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_na_ekzamen_po_informatike.doc
Скачиваний:
16
Добавлен:
02.04.2015
Размер:
3.42 Mб
Скачать

3.1. Оператор присваивания

Присваивание является наиболее часто употребляемым оператором языка. Он предназначен для вычисления нового значения некоторой переменной, а также для определения значения, возвращаемого функцией.

Структура (внешний вид, строение) оператора присваивания:

Переменная := Выражение;

:=’ – символ присваивания, принятый в языке PASCAL.

Выполнение оператора: сначала вычис­ляется Выражение, после чего Переменной присваивается вычис­ленное значение.

Используя оператор присваивания, необходимо следить за тем, чтобы переменная и результат вычисления выражения были одного ти­па. Из этого правила есть исключения, например, разрешено присваивать переменной вещественного типа целое значение; переменной же цело­го типа присваивание вещественного значения запрещено.

Пример 3.1. Правильная запись операторов присваивания:

а := 1.38;

maximum := c;

y1 := sin (x+1);

z := a * 2 – exp (y + 2.5);

gamma := 'a';

tt := p and r or q;

Между символом операции присваивания ’:=’ и обычным матема­тическим знаком равенства есть существенное отличие. Знак ’=’ в математике используется в смысле «равно». Поэтому матема­тическая запись x = x+1 означает неверное равенство, в то время как запись оператора x:=x+1 является правильной и означает: к текущему значению пере­менной x прибавить 1 и результат записать опять в переменную x. Таким образом, после выполнения этого оператора значение переменной x будет уве­личено на единицу.

Условные и составные операторы

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

Для организации ветвлений в программах используют операторы передачи управления (операторы перехода).

Допускается запись условного оператора в двух формах - пол­ной и краткой.

Полная форма условного оператора if предназначена для программирования разветвлений и имеет вид:

If Логическое выражение then оператор 1 else оператор 2;

где опера­тор1, оператор2 – простые (в том числе и условные) или составные операторы. Здесь используются ключевые слова: if – если; then [зен] – тогда (то); else [элз] – иначе.

В дальнейшем для удобства изложения оператор 1 будем называть then-ветвью, а оператор 2 - else-ветвью. Подчеркнем, что в каждой из ветвей может находиться только один оператор. Перед else символ ’;не ставится никогда.

Оператор if выполняется так:

1) вычисляется значение логического выражения, результат вычислений анализи­руется;

2) если результатом является true, выполняется опера­тор 1, если falseоператор 2.

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

Пример 3.8. Составить программу нахождения максимального из двух чисел.

Var a, b, max: real;

begin

write ('введите числа a,b'); readln(a, b);

if a > b then max:=a else max:=b;

writeln ( max:10:2 )

end.

Если a > b, то выполняется оператор max:=a (ветвь then), в против­ном случае – оператор max:=b (ветвь else). После выполнения любой ветви следующим будет выполнен оператор вывода.

Если в одной или в обеих ветвях оператора if необходимо раз­местить не один, а несколько операторов, то каждую такую группу следует представить в виде одного составного оператора.

Составной оператор используется в тех случаях, когда в соответствии с правилами построения конструкций языка можно использовать один оператор, а выполнить нужно несколько действий.

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

begin

c:=a; a:=b; b:=c

end

Пример 3.9. Решить уравнение ax2 + bx + c = 0 ( a 0 )

var

a, b, c, x1, x2, d : real;

begin

write ('введите a,b,c '); readln (a,b,c);

d := sqr(b) – 4*a*c;

if (d < 0) then write ('корни комплексные ')

else

begin

d := sqrt (d); a:=2*a;

x1:= ( - b + d ) / a; x2 := ( - b – d ) / a;

writeln (x1:10:2, x2:10:2)

end

end.

Если условие d < 0 истинно, выводится сообщение «корни комп­лексные», после чего работа программы заканчивается. В противном случае выполняется else-ветвь, содержащая составной оператор (че­тыре оператора присваивания и оператор вывода).

Краткая форма условного оператора if. Эта форма используется при программировании ответвлений и имеет вид:

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