Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodichka_po_informatike.pdf
Скачиваний:
163
Добавлен:
13.02.2015
Размер:
1.67 Mб
Скачать
(a + b)2 + c ,

27. Даны три целых положительных числа: a, b, c. Найти остаток K от деления на 3 величины M; вычислить значение функции:

ì

ïeM +C ,

Y = ïíLn(ab ,)

ï

ï

î

K = 0;

K =1;

K = 2.

28. Даны значения a,b,c. Если ни одно из значений не равно нулю, то вычислить d=1/a+1/b+1/c, и если d>0 и a>0, вычислить y = d , в противном случае y=2. Если хотя бы одно значение a,b,c равно нулю, то печать сообщения “НЕТ РЕШЕНИЯ”

29. Даны два произвольных числаa, b. Если оба значения принадлежат отрезку [c, d], то вычислить R=a×Cos(b); если одно из значений принадлежит этому отрезку, то вычислить R=Sin(a)×Cos(b); в противном случае печатать сообщение “Нет решения”.

30. Даны три числа: a, b, c. Составить программу вычисления экспоненты числа (a,b или c), значение которого ближе всего к значению функции

Y = tgpb + cosa . ln(c + 2)

Тема 5. Программирование циклических процессов

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

5.1. Общие сведения

Процесс называется циклическим, если вычисления в нём многократно повторяются по одним и тем же формулам, при раз-

53

ных значениях входящих в них переменных. Различают циклы со списком (или со счётчиком) и итерационные. Для первой схемы число выполненных циклов заранее известно или подсчитывается

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

спредусловием, с использованием блока модификации(цикл с параметром) и на основе схемы с постусловием.

Условные циклы предназначены для организации итерационных вычислительных процессов. Они подразделяются на циклы с предусловием и циклы с постусловием.

5.2.Цикл с параметром

Вцикле с параметром задаётся переменная, выполняющая роль параметра цикла, её начальное и конечное значения, приращение (шаг изменения значения параметра цикла).

Блок-схема алгоритма цикла с параметром представлена на рис. 5.1.

Рис.5.1. Блок-схема алгоритма цикла с параметром

54

Для реализации цикла с параметром вPascal используется оператор For. Синтаксис оператора For выглядит следующим образом:

For i:=n To k Do <Оператор>;

где i - параметр цикла;

n - начальное значение параметра цикла; k - конечное значение параметра цикла;

<Оператор> - оператор, являющийся телом цикла; For, To, Do - служебные слова.

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

Например: For i:=1 To 20 Do <Оператор>;

При выполнении данного цикла, параметр i (целочисленный) будет при каждом повторении принимать последовательно значения 1, 2, …,20. Приращение (шаг изменения значения) параметра для такого цикла всегда равен1. В данном случае начальное значение параметра всегда должно быть меньше конечного.

Возможна и другая конструкция цикла For.

For i:=n DownTo k Do <Оператор>;

Отличие заключается в том, что приращение параметра для такого цикла всегда равно –1 и начальное значение всегда должно быть больше конечного.

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

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

Например:

For i:=n DownTo k Do Begin

<Оператор 1>;

55

<Оператор 2>;

<Оператор N>; End;

Пример 1. Определение суммы квадратов чисел от 1 до 9.

Program Example_1;

Uses Crt;

{Подключаем модуль очистки

экрана}

 

Var

Num,Sqnum,Sum:Integer; {Описываем пе-

ременные}

 

 

Begin

{Начало программы}

ClrScr;

{Очистка экрана}

Sum:=0;

{Начальная сумма равна нулю}

For Num:=1 To 9 Do

{Задаем цикл по

Num}

 

 

Begin

{Используем

операторные

скобки}

 

 

Sqnum:=Sqr(Num);

 

суммы}

Sum:=Sum+Sqnum;

{Накопление

 

 

End;

{Закрываем операторные скоб

 

ки}

 

WriteLn ('Сумма = ',Sum);

{Выводим

результат}

 

End.

{Конец программы}

5.3.Цикл с предусловием

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

56

не выполнены ни одного раза. На рис.5.2 (а) представлена блоксхема алгоритма цикла с предусловием.

Рис.5.2. Блок-схемы циклов с предусловием и с постусловием

Оператор While предназначен для реализации цикла с предусловием. Синтаксис его выглядит следующим образом:

While <Условие> Do <Оператор>;

где While, Do - служебные слова;

<Условие> - логическое выражение, операция сравнения или переменная логического типа Boolean;

<Оператор> - оператор, входящий в тело цикла.

Перед началом выполнения тела цикла осуществляется проверка значения условия. Тело цикла с предусловием выполняется, пока <Условие> имеет истинное значение(True). Как только значение условия станет ложным(False), цикл прекращает работу и управление передаётся на оператор, следующий за циклом. Таким образом, если при первом вхождении в цикл значение условия ложно, то тело цикла не выполнится ни одного раза. Следует отметить, что в теле цикла необходимо предусмотреть операторы, выполнение которых может повлиять на изменение значения условия, иначе цикл будет выполняться бесконечно. Цикл While используется, как правило, в тех случаях, когда заранее неизвестно количество повторений тела цикла.

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

57

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