Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Разр.
Гадюллин
190623. ПР. 06. ПЗ
Лист
Пров.
Кузнецов
Изм.
Лист
N докум.
Подпись
Дата
Практическая работа № 10
Тема: 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)ЦИКЛ С ПОСТУСЛОВИЕМ или ЦИКЛ "ДО"
Сначала выполняется тело цикла, затем проверяется условие. Выход из циклаосуществляется, когда УСЛОВИЕ СТАНЕТ ИСТИННЫМ, если условие ЛОЖНО, тоцикл повторяется.
REPEAT repeat - (рипид) - повторять
тело цикла 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. Исходный текст программы сохранить в своей папке.
Задания для программирования:
Ход работы:
Задание 1: Найти произведение от 6.7 до7.9 с шагом 0.4
Рисунок 1: копия окна «Z:\tp60\TURBO.EXE»
Рисунок 2: копия окна «Z:\tp60\TURBO.EXE»
Вывод: научился применять при решении задач определенный тип циклической конструкции.