Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Lab_rab_Pascal_OZO / Lab_06_Операторы_цикла

.doc
Скачиваний:
20
Добавлен:
21.03.2015
Размер:
58.37 Кб
Скачать

Лабораторная работа № 6.

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

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

Оборудование и программное обеспечение: компьютер, Turbo Pascal 7.0.

Место проведения:

Время:

Теоретические сведения:

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

Оператор цикла с предусловием организует выполнение одного (возможно составного) оператора неизвестное число раз. Структура оператора:

while <условие> do <оператор>;

где <условие> - логическое выражение;

<оператор> - простой или составной операторы.

Пример 1:Вычислить сумму S = 1 + 1/2 + 1/3 + ... + 1/50.

Program ex1;

Var s: real;

n: integer;

Begin

s:=0; n:=1;

while n <= 50 do { пока значение n не превзойдёт 50 }

begin { тело цикла }

s:=s + 1/n;

n:=n + 1

end;

Writeln('Сумма равна: ',s)

End.

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

repeat

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

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

. . .

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

until <условие>;

где <условие> - логическое выражение;

<оператор> - простой или составной операторы.

Пример 2: Вычисление суммы S = 1 + 1/2 + 1/3 + ... + 1/50.

Program EX2;

Var n: integer;

s: real;

Begin

s := 0; n := 1;

repeat

s := s + 1/n;

n := n + 1;

until n > 50;

Writeln('Результат суммирования ... ', s);

End.

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

Вариант первый: for i:=start to finish do <оператор>

Вариант второй: for i:=start downto finish to <оператор>

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

start - начальное значение параметра;

finish - конечное значение параметра;

<оператор> - простой или составной операторы.

Пример 3: Вычислить сумму S = 1 + 1/2 + 1/3 + ... + 1/50.

Program EX3;

Var i:integer;

s:real;

Begin

s:=0;

for i:=1 to 50 do s:=s + 1/i;

Writeln('Cумма равна: ',s);

End.

Порядок выполнения работы:

Задание:

1. С использованием оператора цикла For составить и отладить программу для решения следующей задачи: Дано действительное число x. Вычислить сумму зависящего от x ряда (см. Приложение).

2. Провести вычисления для x=1, x=1.5, x=2.

3. Решить поставленную в пункте 1 задачу с использованием цикла While и с использованием Repeat. Провести численные вычисления и сравнить полученные результаты с результатами пункта 2.

Содержание отчета по каждому заданию:

  • исходные данные (условие задачи);

  • алгоритм (блок-схема) решения задачи;

  • текст программы (или основной фрагмент программы);

  • результаты выполнения программы

  • тестовый вариант в форме с фиксированной точкой.

Контрольные вопросы:

  1. Что называется циклом, телом цикла?

  2. Какие операторы цикла языка Pascal Вы знаете?

  3. Приведите известные Вам форматы оператора For.

  4. С каким шагом может изменяться параметр оператора For?

  5. Как можно рассчитать число шагов в операторе For?

  6. Поясните отличия в операторах цикла с предпроверкой и постпроверкой условий.

  7. Какой формат имеет оператор While?

  8. Приведите пример, когда тело цикла в операторе While не выполняется ни одного раза.

  9. Приведите формат оператора Repeat.

  10. Поясните, в каком случае прекращаются повторения в операторе Repeat.

Приложение: (ваш номер по журналу соответствует номеру варианта)