Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
delphi_p1.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
571.39 Кб
Скачать

1.3 Операторы Оператор присваивания

Оператор присваивания обозначается символом := . Действие его заключается в том, что вычисляется значение выражения, стоящего справа от знака присваивания , и это значение присваивается переменной, стоящей слева от знака присваивания.

Пусть, например, переменной x присвоено значение 13, а переменной y – значение 25. Чтобы x и y поменялись значениями, можно, используя вспомогательную (буферную) переменную t, записать следующую последовательность операторов присваивания:

x:=13; y:=25; t:=x; x:=y; y:=t;

В результате получим x=25 y=13.

Составной оператор

Составным оператором называется группа операторов, заключённая в операторные скобки begin … end. Составной оператор используется в тех случаях, когда по правилам языка Object Pascal разрешается использовать один оператор, а программисту для решения задачи необходимо выполнить группу операторов. Для разделения операторов предназначена точка с запятой.

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

Оператор if предназначен для реализации разветвляющегося вычислительного процесса. В общем виде условный оператор записывается следующим образом:

if <логическое выражение> then <оператор1> else <оператор2>;

Вначале оператор if вычисляет значение логического выражения. Если значение логического выражения равно true, то выполняется оператор1, в противном случае – оператор2. В качестве оператора1 и оператора2 может быть использован составной оператор (группа операторов, заключённых в операторные скобки begin end) или другой условный оператор (вложенный условный оператор).

Оператор if может быть записан в сокращённой форме:

if <логическое выражение> then <оператор> ;

Пример 8. Даны два различных вещественных числа. Вывести на экран большее из них.

var x, y : real;

begin

readln(x, y);

if x>y then writeln(x:7:2) else writeln(y:7:2);

readln

end.

Пример 9. Даны два действительных числа x, y. Если x и y отрицательны, то каждое из чисел заменить его квадратом; если отрицательно только одно из них, то каждое из чисел увеличить в 10 раз; если оба числа неотрицательны, то каждое из них заменить корнем квадратным.

var x, y : real;

begin

readln(x, y);

if (x<0) and (y<0) then begin x:=sqr(x); y:=sqr(y) end

else

if (x<0) xor (y<0) then begin x:=x*10; y:=y*10 end

else begin x:=sqrt(x); y:=sqrt(y) end;

writeln('x=', x:6:2,' y=', y:6:2); readln

end.

да

нет

x10x y10y

да

нет

Пример 10. Даны три различных вещественных числа a, b, c. Найти максимальное из этих чисел.

var a, b, c, max : real;

begin

readln(a, b, c);

if (a>b) and (a>c) then max:=a

else

if b>c then max:=b

else max:=c;

writeln('max= ', max:7:2); readln

end.

да

нет

да

нет

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