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

Виды условных инструкций

Существует две основные формы условной инструкции, встречающиеся в реальных языках программирования: условный оператор (оператор if) и оператор многозначного выбора (переключатель, case, switch).

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

Условный оператор реализует выполнение определённых команд при условии, что некоторое логическое выражение (условие) принимает значение «истина» true. В большинстве языков программирования условный оператор начинается с ключевого слова if.

Встречаются следующие формы условного оператора:

Условный оператор с одной ветвью

if условие then команды end

При выполнении такого оператора вычисляется условие, и если оно истинно, то выполняются команды до ключевого слова end, в противном случае выполнение программы продолжается со следующей за условным оператором команды. В языках низкого уровня (ассемблерах) это — единственная доступная форма условного оператора. В некоторых языках для условного оператора с одной ветвью используется специальное ключевое слово (обычно это when).

Условный оператор с двумя ветвями

if условие then команды1 else команды2 end

Здесь при истинности условия выполняются команды1 при ложности — команды2. При необходимости проверить последовательно несколько условий возможно каскадирование условных операторов:

if условие1

then команды1

else if условие2 then команды2

else if условие3 then команды3

...

else if условиеN-1 then командыN-1

else командыN end;

В этом случае условия будут проверяться последовательно, и как только встретится истинное, будет выполнен соответствующий набор команд и исполнение перейдёт к команде, следующей за условным оператором. Если ни одно из условий не окажется истинным, выполняются командыN из ветви else.

Условный оператор с несколькими условиями

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

if условие1 then команды1

elsif условие2 then команды2

elsif условие3 then команды3

...

else командыN end;

порядок выполнения этого оператора в точности соответствует вышеприведённому каскаду простых операторов if-then-else, а отличие чисто формальное: вместо вложенных нескольких условных операторов эта конструкция является единым целым и содержит дополнительное ключевое слово elsif, требующее после себя очередное условие.

Программы которые мы выполняли на лабораторных занятиях :

program z1;

var

x:real;

y:real;

begin

write('vvedite x');

readln(x);

if (x>=0) then y:=sqrt(x)

else y:=sqrt(abs(x));

writeln(y);

writeln(x);

end.

program z2;

var

x:real;

y:real;

begin

write('vvedite x');

readln(x);

if (x<=0) then y:=1

else if(x>0) and (x<1)

then y:= -x+1 else y:=0;

writeln(y);

writeln(x);

end.

program z3;

var

x:real;

y:real;

begin

write('vvedite x');

readln(x);

if (x>=0) then y:=exp(sqr(x))

else y:=sqr(x)+3*x;

writeln(y);

writeln(x);

end.

program z4;

var

x:real;

y:real;

begin

write('vvedite x');

readln(x);

if (x>=-1) and (x<=0) then y:=x+1 else if ((x>=0) and (x<=1)) then y:=-x+1 else if (x<-1) then y:=0 else if (x>1)then y:=0;

writeln(y);

end.

program z5;

var

x:real;

y:real;

begin

write('vvedite x');

readln(x);

if (x>=-2) and (x<=0) then y:=-x-1 else if ((x>=0) and (x<=2)) then y:=x-1 else if (x<-2) then y:=1 else if (x>2) then y:=1;

writeln(y);

end.

program z6;

var

x:real;

y:real;

begin

write('vvedite x');

readln(x);

if (x<-1) then y:=1 else if ((x>=-1) and (x<=0)) then y:=-x else if (x>0) then y:=0.5*x;

writeln(y);

end.

program z7;

var

x:real;

y:real;

begin

write('vvedite x');

readln(x);

if (x<-1) then y:=1 else if ((x>=-1) and (x<=0)) then y:=-x else if (x>0) then y:=0.5*x;

writeln(y);

end.