Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры по инфе 2.docx
Скачиваний:
3
Добавлен:
02.08.2019
Размер:
85.32 Кб
Скачать
  1. Оператор цикла write.

Оператор цикла while.

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

Общий вид оператора следующий:

while <логическое_выражение> do <оператор>; где <оператор> - простой или составной оператор, а <логическое_условие> - выражение булевского типа.

Оператор цикла while действует следующим образом. Предварительно проверяется значение логического выражения. Пока оно истинно, выполняется оператор циклической части (после do). Как только значение логического выражения становится ложным, происходит выход из цикла.Если с самого начала значение логического выражения ложно, то оператор циклической части не выполняется ни разу. Если логическое выражение никогда не принимает значение False (ложно), то цикл будет выполняться бесконечно долго.В ряде случаев цикл изначально предполагается как бесконечный. Тогда в условии записывается константа True или очевидный факт, который в любой ситуации возвращает значение True.

while True do write('Бесконечный цикл');

while 5 = 5 do write('Бесконечный цикл');

{Очевидно, что результат 5 = 5 всегда равен True}

Оператор while, как и другие операторы организации циклов, может быть вложенным.

  1. Оператор цикла repeat.

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

Общий вид оператора следующий:

repeat

<оператор_1>;

<оператор_2>

...........

<оператор_n>

until <логическое_выражение>;

<Логическое_выражение> (условие) - выражение булевского типа. Операторы, заключенные между словами repeat и until, являются телом цикла. Оператор цикла repeat действует следующим образом:

1) Выполняются операторы циклической части, проверяется значение логического выражения: если оно ложно, то вновь выполняются операторы циклической части; если же оно истинно, то цикл заканчивается.

2) Если значение логического выражения истинно с самого начала, то операторы циклической части выполняются один раз. Если же логическое выражение никогда не принимает значение "истинно", то операторы циклической части выполняются бесконечное число раз, т.е. происходит "зацикливание".

3) Нижняя граница операторов циклической части четко обозначена словом until, поэтому нет необходимости заключать эти операторы в операторные скобки begin - end. В то же время дополнительное наличие операторных скобок не является ошибкой.

  1. Процедуры. Рекурсия.

Процедура – независимая поименованная часть программы, которую можно вызвать по имени для выполнения определенных действий. Структура процедуры полностью повторяет структуру программы и ее можно вызывать несколько раз. Обычно в процедуру или функцию передаются какие-то фактические параметры, которые замещают формальные. В процедуру может ничего не передаваться:

ПР не требует никаких данных

ПР использует глобальные значения данных

Рекурсивной считается процедура, если в ней есть обращение к самой себе.

S=1+1/2+1/3+1/4…. Работа программы

program procedur;

var sum:real; n:integer;

begin

if n=1 then sum:=1

else

begin {egs(sum,n=1);}

sum:=sum+1/n;

end;

End.

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

2 способа передачи данных между форм и факт:1. По значению, 2. По адресу