Практическая работа 22



Практическая работа № 22

Тема: TurboPascal. Типовые циклические алгоритмы

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

1)ЦИКЛ С ПРЕДУСЛОВИЕМ или цикл «ПОКА».

Сначала проверяется условие и тело цикла выполняется ПОКА УСЛОВИЕ ИСТИННО, если условие становится ЛОЖНЫМ, то происходит выход из цикла.

Реализуется этот цикл инструкцией:

WHILE<условие>DO<тело цикла>

while — (вайл) — пока, do — (ду) – делать (выполнять).

В тело цикла входит только один оператор! Если нужно объединить в тело цикла несколько операторов, то применяются операторные скобки begin-end.

Условие может быть простым или сложным, если применить слова: NOT, AND, OR.

Пример. Вывести на экранчисла от 1 до 20.

Program Ch; Uses crt;

Var i,h,n: integer;

Begin

Clrscr;

i:=1; h:=1; n:=20;

whilei<=n do

begin

write(i,’ ‘);

i:=i+h;

end;

readln;

End.

2)ЦИКЛ С ПОСТУСЛОВИЕМ или ЦИКЛ «ДО«

Сначала выполняется тело цикла, затем проверяется условие. Выход из циклаосуществляется, когда УСЛОВИЕ СТАНЕТ ИСТИННЫМ, если условие ЛОЖНО, тоцикл повторяется.

REPEATrepeat — (рипид) — повторять

тело циклаuntil — (антил) — ДО тех пор пока

UNTIL условие;

Проверка условия производится после выполнения тела цикла, что делаетприменение цикла «ПОКА» более предпочтительным, когда требуется пропуститьцикл вообще.

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

Program Func; Uses crt;

Var x,y: real;

Begin

repeat

ClrScr;

write(‘X=’); readln(x);

until (x<>0);

y:=1/x;

writeln(‘x=’,x,’ y=’,y);

readln;

End.

3)ЦИКЛ С ЗАДАННЫМ ПАРАМЕТРОМ (ДЛЯ)

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

FOR <параметр цикла> := <выражение1> TO <выражение2> DO <оператор>

[ DOWNTO ]

for — (фо) — для; to — (ту) — до; { шаг=1 };

downto — (даунту) — вниз до; { шаг=-1 }; do — (ду) — выполнить;

параметр цикла — переменная любого скалярного типа, кроме вещественного

(управляющая переменная);

выражение1 — начальное значение параметра цикла (скалярное выражение);

выражение2 — конечное значение параметра цикла (скалярное выражение);

оператор–телоцикла;

Пример.

Program Chisla; Uses crt;

Var i:integer;{ управляющая (параметр) цикла }

Begin

clrscr;

for i:=1 to 20 do write(i,’ ‘);{ 1 –начальноезначениепараметра }

readln;

End.{ 20 -конечное значение параметра }

{ write(i,’ ‘) –телоцикла }

После каждого выполнения тела цикла параметр i увеличивается на 1.

Задание 1.

Рассмотреть схему ”Этапы выбора эффективного цикла” и вписать вместо знаков ”?” названия соответствующих циклов:

Этапы выбора эффективного цикла

Нет

Необходимо использовать цикл

с предусловием

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

Известно ли к моменту обработки 1-го действия сколько действий всего?

Нет

Да

Тело цикла гарантировано выполняется 1 раз?

Да

Необходимо использовать цикл

С заданным параметром

Необходимо использовать цикл

С постусловием

Задание 2.

Составить программу для одной задачи из ниже приведенного списка (номер задания получить у преподавателя). Программу набрать и отладить с помощью системы программирования TurboPascal. Исходный текст программы сохранить в своей папке.

Задания для программирования:

Вывести 20 одинаковых символов на экран.

Вывести на экран числа от 20 до 1.

Найти сумму ряда: 1, 2, ...20.

Вывести на экран таблицу функции Y=sin(х), где х изменяется от 10 до 90 с шагом 5 градусов.

Получить таблицу функции y=cos(5∙х), где х изменяется от 1 до 10 с шагом 0.5

Найти произведение чисел от 6.7 до 7.9 с шагом 0.4

Ход работы:

Вывести 20 одинаковых символов на экран.

Вывести 20 одинаковых символов на экран

Вывести 20 одинаковых символов на экран

Вывод: Я научилась применять при решении задач определенный тип циклической конструкции.




map