Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции Паскаль ИНФОРМАТИКА.doc
Скачиваний:
221
Добавлен:
09.04.2015
Размер:
4.57 Mб
Скачать

Оператор ‘if-then-else’

Оператор IF-THEN-ELSE(“Если-То-Иначе”) предусматривает двойное ветвление, форма записи имеет вид:

If (условие) Then

Begin

Оператор1;

End

Else

Begin

Оператор2;

End;

Поставленная после первого Endточка с запятой ‘;’ (разделитель операторов) приведет к ошибке, тогда будет означать конец оператора. ПослеELSEточку с запятой не ставить.

Пример1.Найти максимум из двух целых чисел aиb, введенных с клавиатуры.

Фрагмент программы:

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

Тройное ветвление

Выбор идет из трех возможных вариантов.

Пример 1Ввести xи вычислитьy:

Program TI_1;

Uses crt;

Var x,y:real;

Begin

Write(‘x=’); readln(x);

If x<-1 then y:=ln(abs(x)) else

If (x>=-1) and (x<0) then y:=sin(x) else y:=cos(x);

Writeln(‘x=’,x:5:2,’ y=’,y:5:2);

Readkey;{функция будет ожидать нажатия на любую клавишу}

End.

А

a<b

a<c

min:=a

+

_

_

_

+

min:=b

+

min:=c

b<c

лгоритм поиска min и max и его программная реализация

Блок схема

Пример 1.Найти min из трех вещественных чисел.

Program Poiskmin;

Uses crt;

Var a,b,c,min:real;

Begin

Write(‘a=’); Readln(a);

Write(‘b=’); Readln(b);

Write(‘c=’); Readln(c);

If (a<b) Then If (a<c) Then min:=a Else

If (b<c) then min:=b Else min:=c;

Writeln(‘min(a,b,c)=’,min:6:2);

RepeatUntilKeyPressed;

End.

Пример 2.Найтиmaxиз трех вещественных чисел.

Фрагмент программы:

If (a>b) Then If (a>c) Then max:=a Else

If (b>c) then max:=b Else max:=c;

Более сокращенный вариант

If (a>b) Then max:=a Else max:=b;

If (c>max) Then max:=c;

Оператор варианта ‘case…of’

Сложное ветвление N-го порядка имеет один существенный недостаток: Приходится писать большое количество однотипных операторов IF-THEN-ELSE. Такую структуру может заменить компактный оператор варианта CASE-OF. Синтаксис этого оператора представлен ниже:

CASE имя_переменной OF

<Вариант1> : [Оператор_1];

………………….

<ВариантN> : [Оператор_N];

ELSE [Оператор_N+1];

END;

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

Пример:

Program ZACHET;

Uses crt;

Label metka;

Var examination:char;

Begin

metka: write(‘зачет (Y/N)?-’);

readln(examination);

Case examination of

‘Y’: write(‘зачет’);

‘N’:write(‘не зачет’);

‘I’:write(‘не явка’);

Else Goto metka;

End;

Repeat Until KeyPressed;

End.

На экране

зачет (Y/N)?-Да нужно повторить ввод, т.к. набрано на русском языке.

зачет (Y/N)?-Y

зачет

Лекция 7 Циклические структуры. Вложенные циклы. Рекурсивные функции. Операторы прерывания.

Циклическим (циклом) называется такой алгоритм, в котором некоторая группа действий повторяется неоднократно. Группа действий, повторяемая в цикле, называется телом цикл. Однократное выполнение тела цикла называется шагом. Для того чтобы алгоритм не зацикливался (не стал бесконечным), циклом надо управлять. Для это используется специальная величина – параметр цикла. Параметр (переменная) цикла – это величина, которая изменяется от шага к шагу и по значению которой определяются, продолжать исполнение цикла или закончить его. Если количество повторений известно заранее, то это определенный цикл, если определяется в процессе работ цикла, то это неопределенный цикл.

Циклы по числу повторений делятся на циклы с заданным числом повторений и итерационные.

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

- Вложенные циклы – это, когда определённый цикл повторяется многократно в другом цикле охватывающем данный.