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

36.Разветвляющиеся программы с использованием оператора if(пример)

Условный оператор включает в себя операторы, которые выполняются или не выполняются в зависимости от записанного в операторе условия. Оператор имеет вид: IF "условие" Then "оператор1" Else "оператор2";где "условие" - выражение логического типа; "оператор1" выполняется, если условие верно ( True ), "оператор2" выполняется, если условие не верно ( False).

Напишите программу, определяющую наименьшее значение из двух чисел, введенных с клавиатуры.

PROGRAM Minimum;

VAR a, b, min : real;

BEGIN

WRITELN('Введите два числа');

READLN(a, b);

IF a<b Then min:=a ELSE min:=b;

WRITELN(min);

END.

PROGRAM Rar;

VAR a, b, p : real;

BEGIN

WRITE('Введите b=');

READLN( b);

a:=sin(b/2);

IF a<0.3 Then p:=exp(a)+exp(1/3*ln(a+1))

ELSE p:=sin(a/2)/cos(a/2);

WRITELN(‘p=’ , p:9:6);

END.

37.Разветвляющиеся программы с использованием оператора case(пример)

Если количество разветвлений программы больше двух, то используется оператор вариантов Case, который является более общим случаем условного оператора. Оператор Case выполняет один из нескольких операторов в зависимости от значения селектора. Если селектор не совпадает ни с одним из значений, то выполняется оператор после else или следующий после case, если else отсутствует. Селектор может быть целого, символьного, перечислимого, интервального типа или выражением. Например, определим время года по введенному номеру месяца.

Program case1; { множественный выбор}

Var c: integer; z:real;

begin

write (‘Введите c=’);

readln (c);

case c of

-32768..1: z:=c/(2+c);

2..5: z:=sin(c);

6..32767: z:=2c

end;

writelnz(‘c=’, c,’ z=’,z:8:5);

end .

38.Циклические программы,содержащие циклы с предусловием (пример)

Цикл с предусловием реализуется на языке Pascal с помощью оператора while…do. Количество повторений такого цикла заранее не определено и зависит от входных данных задачи. В данной циклической конструкции перед выполнением следующего повторения цикла проверяется значение логического выражения. Формат записи:while <условие> do <оператор>;где while, do – служебные слова (пока [выполняется условие] делать);· <условие> – выражение логического типа (например, b <= 5);· <оператор> – произвольный оператор языка Pascal, называемый телом цикла. Оператор может быть простым, составным или структурированным.

Принцип действия оператора while…do:1 Вычисляется значение логического выражения (проверяется условие). 2 Если результатом вычисления значения логического выражения (проверки условия) является ответ true (истина), то выполняется оператор, составляющий тело цикла, и стоящий после служебного слова do. Происходит возврат к пункту 1.;3 Если результатом вычисления значения логического выражения (проверки условия) является ответ false (ложь), то оператор while…do заканчивает свою работу и управление передается на следующий оператор.Исходя из описанного алгоритма, повторение действий 1, 2 продолжается, пока результатом вычисления значения логического выражения (проверки условия) не станет ответ false (ложь). Вообще говоря, оператор цикла while…do может не выполниться ни разу (если значением логического выражения сразу является false).Примечание − Тело цикла обязательно должно содержать оператор, действие которого влияет на значение логического выражения (изменяет значения входящих в него операндов). Иначе неизбежна ситуация «зацикливания» − бесконечного повторения операторов тела цикла, приводящая зачастую к зависанию среды программирования.

Пример 1. Составить программу для вычисления и вывода на экран значений функции при х, изменяющемся в диапазоне от -3 до 6 с шагом 0,3, используя оператор с предусловием.Решение.

Program prim_w;

var x, y: real;

begin

x:=-3; {левая граница диапазона изменения переменной}

while x<=6 do

{условием выхода из цикла ставится достижение переменной x правой границы диапазона}

begin

y:=cos(exp(x*ln(5))/abs(x+2));

writeln('x=',x:4:2,' y=',y:7:3);

x:=x+0.3

{увеличение значения переменной x на величину шага}

end;

end.

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