Презентация на тему: » Циклические алгоритмы Виды циклов и циклические команды на Паскале.» — Транскрипт:
1 Циклические алгоритмы Виды циклов и циклические команды на Паскале
2 Цикл — это многократное повторение последовательности действий Виды циклов С заданным числом повторений С условием Условие выполнения цикла Условие выхода из цикла Повторяющаяся часть алгоритма называется ТЕЛОМ ЦИКЛА
4 Цикл с предусловием Если число повторений заранее неизвестно, а задано лишь условием, и действие, которое необходимо выполнить только после проверки условия используют цикл в предусловием. В качестве условия используется логическое выражение, тело цикла – простой или составной оператор. Перед каждым выполнением тела цикла происходит проверка условия, если результат «истина», то тело цикла выполняется еще раз, если «ложь», то происходит выход из цикла. На блок — схемеВ Pascal begin end; Условие Тело цикла Нет Практика Начало цикла Конец цикла ДА While do
5 Цикл с постусловием Если число повторений заранее неизвестно, а задано лишь условием, и действие, которое необходимо выполнить до проверки условия используют цикл с постусловием. В качестве условия используется логическое выражение, тело цикла – простой или составной оператор. После каждого выполнением тела цикла происходит проверка условия, если результат «ложь», то тело цикла выполняется еще раз, если «истина», то происходит выход из цикла. На блок — схемеВ Pascal Repeat Условие Тело цикла Да Нет Практика Until ;
Паскаль для новичков 12 — блок-схемы: циклы и процедуры
6 Цикл с параметром В случаях, когда число повторений заранее известно применяется цикл в параметром. Переменная, задающая число повторений, называется параметром цикла, либо управляющей переменной. После каждого выполнения тела цикла управляющая переменная увеличивается либо уменьшается, цикл выполняется до тех пора пока она не превысит либо станет меньше ограничения. На блок — схемеВ Pascal Х – управляющая переменная (параметр цикла) А – начальное значение Х, В – конечное Х С – шаг изменения Х В качестве шага можно использовать только: «to» = 1; «downto» = -1 X:=A,В,C Тело цикла Практика For X:=A to B do Begin End;
7 Пример задачи с использованием цикла с предусловием Возвести число 3 в заданную степень ЗАДАЧА: Словесный алгоритм: Умножать число Х изначально равное 1 заданное число раз (Н) на 3. начало Н BHBH X:=1 X:=X*3 конец Х Ввод заданной степени Начальные значения «В» счетчик степени В=В+1 Умножение на 3 Увеличение счетчика Вывод получившегося значения Programm Stepen; Var H,B,X:integer; Begin Writeln(Степень?); Readln(H); X:=1; B:=1; While B
8 Пример задачи с использованием цикла с постусловием Возвести число 3 в заданную степень ЗАДАЧА: Словесный алгоритм: Умножать число Х изначально равное 1 заданное число раз (Н) на 3. начало Н B>=H X:=1 X:=X*3 конец Х Ввод заданной степени Начальные значения «В» счетчик степени В=В+1 Умножение на 3 Увеличение счетчика Вывод получившегося значения Programm Stepen; Var H,B,X:integer; Begin Writeln(Степень?); Readln(H); X:=1; B:=0; Repeat X:=X*3; B:=B+1; Until B>=H; Writeln (Результат,X); End. Нет Да Теория Pascal Блок-Схема Пояснения B:=0
Паскаль для новичков 6 — блок-схемы flowchart
9 Пример задачи с использованием цикла с параметром Возвести число 3 в заданную степень ЗАДАЧА: Словесный алгоритм: Умножать число Х изначально равное 1 заданное число раз (Н) на 3. начало Н X:=1 X:=X*3 конец Х Ввод заданной степени Начальное значение Х=1 Параметры от 1 до Н Умножение на 3 Вывод получившегося значения Programm Stepen; Var H,B,X:integer; Begin Writeln(Степень?); Readln(H); X:=1; For B:=1 to H do Begin X:=X*3; End; Writeln (Результат,X); End. B:=1,H,1 Теория Pascal Блок-Схема Пояснения
10 Выбор цикла зависит от особенностей условия задачи. Только практика подскажет Вам оптимальное решение.
11 Задача: Начав тренировки, спортсмен в первый день пробежал 10 км. Каждый день он увеличивал дневную норму на 10% нормы предыдущего дня. Какой суммарный путь пробежит спортсмен за 7 дней. Входные переменные: Выходные переменные: S – общий путь d – количество дней Sd – расстояние за текущий день
12 Блок — схема к решению начало конец S:=10 d:=1 d:=d+1 Sd:=Sd*1.1 D=7 s да нет S:=S+Sd Sd:=10
13 Программа на Паскале Program beg; Var S,Sd: real; d:byte; Begin S:=10; Sd:=10; For d:=2 to 7 do begin Sd:=1.1*Sd; S:=S+Sd; end; Writeln(S=,S); End. Program beg; Var S,Sd: real; d:byte; Begin S:=10; Sd:=10; While d
14 Конец Вопросы для контроля: 1.Каким оператором в Pascal задается цикл с предусловием 2.Как в цикле в параметром указывать шаг «1» и «-1» 3.По какой ветке происходит выход из цикла с постусловием 4.Есть ли в цикле с параметром условия 5.Что может быть телом цикла 6.Когда используется цикл с параметрами
Источник: www.myshared.ru
Лабораторная работа №3
Цель работы: освоение методов составления алгоритмов циклических вычислительных процессов и организации циклических программ сложной структуры.
1. Теоретическая часть
1.1. Циклические алгоритмы.
Цикл – это последовательность действий, которая может выполняться более одного раза.
Циклический алгоритм – это алгоритм, содержащий один или несколько циклов.
Имеется 3 вида циклов:
- цикл с предусловием;
- цикл с постусловием;
- цикл со счетчиком (счетный цикл).
Если выполнение цикла связано с каким-либо логическим условием, то используются циклы с предусловием или с постусловием.
Циклы со счетчиком представляют такой класс, в котором выполнение тела цикла должно повторяться заранее определенное число раз.
Блок-схемы циклических алгоритмов выглядят следующим образом:
1. Цикл со счетчиком.
2. Цикл с предусловием. 3. Цикл с постусловием.
1.2 Операторы цикла в языке программирования Pascal.
В Pascal для каждого вида цикла имеется соответствующий оператор:
- цикл типа while (с предусловием);
- цикл типа repeat…until (с постусловием);
- цикл типа for (счетный).
1.Оператор цикла типа while
while do оператор;
где: – логическое выражение;
оператор – выполняемый в цикле оператор или тело цикла.
Если тело цикла представляет собой некоторую последовательность действий (составной оператор), то их надо заключить в операторные скобки begin. end:
Схема работы такого цикла: пока условие является истинным (true), выполняется тело цикла и снова проверяется условие и т.д. Когда условие станет ложным (false) цикл завершает работу.
2. Оператор цикла типа repeat…until
Схема работы такого цикла: сначала выполняется оператор, потом проверяется условие, если условие является ложным, выполняется оператор и снова проверяется условие и т.д. Когда условие станет истинным, цикл завершает работу.
3. Оператор цикла типа for
for i:=A to B do оператор;
for i:=A downto B do оператор;
Здесь переменная i — переменная цикла, или счетчик;
А — начальное значение переменной цикла;
В — конечное значение переменной цикла.
При переходе к обработке оператора цикла for переменной цикла присваивается заданное начальное значение. Затем в цикле выполняется оператор (простой или составной). Если тело цикла представляет собой составной оператор, то его надо заключить в операторные скобки begin. end. Каждый раз при выполнении тела цикла переменная цикла увеличивается на 1 (для for. to) или уменьшается на 1 (для for. downto). Цикл завершается при достижении переменной цикла своего конечного значения.
1.3 Пример составления алгоритма и программы на языке Pascal для циклического вычислительного процесса.
Вычислить значение выражения:
b – исходная величина, ее значение вводятся с клавиатуры и не изменяется;
a – изменяется в диапазоне [0;10] с шагом 1;
y – результат, его значения выводятся на экран.
Исходя из условия задания переменная a является целочисленной, поэтому может быть использована в качестве счетчика в счетном цикле.
1.3.1 Блок-схема алгоритма решения данной задачи с использованием счетного цикла выглядит следующим образом:
Текст программы на языке Pascal, соответствующей данному алгоритму, выглядит следующим образом:
Источник: studfile.net
Циклические алгоритмы. Виды циклов и циклические команды на Паскале
Цикл — это многократное
повторение последовательности
действий
Повторяющаяся часть алгоритма
называется ТЕЛОМ ЦИКЛА
Виды циклов
С заданным числом
повторений
Условие выполнения
цикла
С условием
Условие выхода из
цикла
3.
4. Цикл с предусловием
Практика
Если число повторений заранее неизвестно, а задано лишь
условием, и действие, которое необходимо выполнить только
после проверки условия используют цикл в предусловием.
В качестве условия используется логическое выражение, тело
цикла – простой или составной оператор.
Перед каждым выполнением тела цикла происходит проверка
условия, если результат «истина», то тело цикла выполняется
еще раз, если «ложь», то происходит выход из цикла.
На блок — схеме
Начало цикла
Нет
Условие
ДА
Тело цикла
Конец цикла
В Pascal
While do
begin
end;
5. Цикл с постусловием
Практика
Если число повторений заранее неизвестно, а задано лишь
условием, и действие, которое необходимо выполнить до
проверки условия используют цикл с постусловием.
В качестве условия используется логическое выражение, тело
цикла – простой или составной оператор.
После каждого выполнением тела цикла происходит проверка
условия, если результат «ложь», то тело цикла выполняется
еще раз, если «истина», то происходит выход из цикла.
На блок — схеме
В Pascal
Repeat
Тело цикла
Да
Нет
Условие
Until ;
6. Цикл с параметром
Практика
Цикл с параметром
В случаях, когда число повторений заранее известно
применяется цикл в параметром.
Переменная, задающая число повторений, называется
параметром цикла, либо управляющей переменной.
После каждого выполнения тела цикла управляющая
переменная увеличивается либо уменьшается, цикл
выполняется до тех пора пока она не превысит либо
станет меньше ограничения.
На блок — схеме
В Pascal
For X:=A to B do
X:=A,В,C
Тело цикла
Х – управляющая переменная (параметр цикла)
А – начальное значение Х, В – конечное Х
С – шаг изменения Х
Begin
End;
В качестве шага можно использовать
только:
«to» = 1;
«downto» = -1
7.
Пример задачи с использованием цикла с предусловием
Теория
ЗАДАЧА: Возвести число 3 в заданную степень
Словесный алгоритм:
Умножать число Х изначально равное 1
заданное число раз (Н) на 3.
начало
Programm Stepen;
Var
H,B,X:integer;
Begin
Writeln(‘Степень?’);
Readln(H);
X:=1;
B:=1;
While B Begin
X:=X*3;
B:=B+1;
End;
Writeln (‘Результат’,X);
End.
Pascal
Н
Ввод заданной степени
X:=1
Начальные значения
B:=1
Нет
«В» счетчик степени
B≤H
да
X:=X*3
Умножение на 3
В=В+1
Увеличение счетчика
Х
Вывод получившегося
значения
конец
Блок-Схема
Пояснения
8.
Пример задачи с использованием цикла с постусловием
Теория
ЗАДАЧА: Возвести число 3 в заданную степень
Словесный алгоритм:
Умножать число Х изначально равное 1 заданное число раз (Н) на 3.
Programm Stepen;
Var
H,B,X:integer;
Begin
Writeln(‘Степень?’);
Readln(H);
X:=1;
B:=0;
Repeat
X:=X*3;
B:=B+1;
Нет
Until B>=H;
Writeln (‘Результат’,X);
End.
начало
Н
Ввод заданной степени
X:=1
Начальные значения
B:=0
Умножение на 3
X:=X*3
Увеличение счетчика
В=В+1
Да
B>=H
«В» счетчик степени
Х
Вывод получившегося
значения
конец
Pascal
Блок-Схема
Пояснения
9.
Пример задачи с использованием цикла с параметром
Теория
ЗАДАЧА: Возвести число 3 в заданную степень
Словесный алгоритм:
Умножать число Х изначально равное 1 заданное число раз (Н) на 3.
Programm Stepen;
Var
H,B,X:integer;
Begin
Writeln(‘Степень?’);
Readln(H);
X:=1;
For B:=1 to H do
Begin
X:=X*3;
End;
Writeln (‘Результат’,X);
End.
Pascal
начало
Н
X:=1
B:=1,H,1
X:=X*3
Х
конец
Блок-Схема
Ввод заданной степени
Начальное значение Х=1
Параметры от 1 до Н
Умножение на 3
Вывод получившегося
значения
Пояснения
10. Выбор цикла зависит от особенностей условия задачи. Только практика подскажет Вам оптимальное решение.
11.
Задача: Начав тренировки, спортсмен в первый день
пробежал 10 км. Каждый день он увеличивал дневную
норму на 10% нормы предыдущего дня.
Какой суммарный путь пробежит спортсмен за 7 дней.
Входные переменные:
d – количество дней
Sd – расстояние за текущий день
Выходные переменные:
S – общий путь
12. Блок — схема к решению
начало
S:=10
Sd:=10
d:=1
d:=d+1
Sd:=Sd*1.1
S:=S+Sd
нет
D=7
да
s
конец
13. Программа на Паскале
Цикл «Для»
Цикл «Пока»
Цикл «До»
Program beg;
Program beg;
Program beg;
Var
Var
Var
S,Sd: real;
S,Sd: real;
S,Sd: real;
d:byte;
d:byte;
d:byte;
Begin
Begin
Begin
S:=10;
S:=10;
S:=10;
Sd:=10;
Sd:=10;
Sd:=10;
For d:=2 to 7 do
begin
While d begin
Repeat
d:=d+1;
Sd:=1.1*Sd;
d:=d+1;
Sd:=1.1*Sd;
S:=S+Sd;
Sd:=1.1*Sd;
S:=S+Sd;
end;
S:=S+Sd;
until (d=7);
Writeln(‘S=‘,S);
end;
Writeln(‘S=‘,S);
End.
Writeln(‘S=‘,S);
End.
End.
14.
Вопросы для контроля:
1. Каким оператором в Pascal задается цикл с
предусловием
2. Как в цикле в параметром указывать шаг «1» и «-1»
3. По какой ветке происходит выход из цикла с
постусловием
4. Есть ли в цикле с параметром условия
5. Что может быть телом цикла
6. Когда используется цикл с параметрами
Конец
Источник: ppt-online.org