Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по Паскалю.doc
Скачиваний:
33
Добавлен:
04.06.2015
Размер:
7.33 Mб
Скачать

Var k : Word;

X, y, s : Real;

Begin

ClrScr;

Write(‘Значение аргумента = ‘);

ReadLn(x);

k :=0;

y := 1.0; обязательно указать дробную часть!

s :=y;

Repeat

k := k + 1;

y := y * x / k;

s := s + y

Until (Abs(y)<=eps_0);

WriteLn;

WriteLn(‘Сумма равна ’,s:5:2);

ReadLn;

End.

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

Пример: по введенному месяцу года определить количество дней в нем.

Программа: Схема фильтра (month– номер месяца)

Program Mesjac;

Uses Crt;

Var Month: 1..12;

Begin

ClrScr;

Repeat

Write(‘Введите номер месяца:’);

ReadLn(Month);

Until (Month>=1) And (Month<=12);

Case (Month) Of

4,6,9,11: WriteLn(’30 дней’);

1,3,5,7,8,10,12: WriteLn(’31 день’);

2: WriteLn(’28 дней’);

End; здесь можно обойтись без ветви Else

ReadLn;

End.

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

Часто встречающиеся ошибки программирования:

1.Использование в качествеусловия выражения не логического типа:

Repeat

. . .

Until (n + m);

2.Отсутствие условия после словаUntil:

Repeat

. . .

Until;

  1. Использование после слова Repeat двоеточия или точки с запятой:

Repeat;

. . .

Until (n >= 10);

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

Управление работой циклов с параметромосуществляется неусловием, а значением специальной переменной –параметра цикла(счетчика).

Схему цикла с параметром можно представить в следующем виде:

где i – параметр цикла– любая переменнаяпорядковоготипа (целого, символьного, интервального, перечисляемого),

i_нач– егоначальноезначение,

i_кон– егоконечноезначение.

Действия цикла:

  1. параметру цикла iприсваивается его начальное значениеi_нач,

  2. если оно не превосходит конечного (i_нач ≤ i_кон), то выполняется тело цикла,

  3. параметр цикла автоматически увеличивается на единицу, и цикл повторяется до тех пор, пока параметр цикла не достигнет своего конечного значения,

  4. если начальное значение параметра цикла больше его конечного значения (i_нач > i_кон), то цикл не выполняется ни разу.

В Паскале циклы с параметром реализуются оператором цикла:

For i := iнач To iкон Do это заголовок цикла

оператор;

или

For i := iнач To iкон Do

Begin

оператор;

оператор;

оператор;

End;

Если в заголовке цикла используется служебное слово To (к), то шаг изменения параметра цикла равен+1.

Если в заголовке цикла используется служебное слово DownTo(уменьшаядо), то шаг изменения параметра цикла равен-1.

Внимание!После словаDo точка с запятой никогда не ставится!

Пример: определить суммуs натуральных чисел от1до100.

Схема алгоритма: Программа:

Program Gauss;

Uses CRT;