Презентация на тему "программирование циклических алгоритмов на языке паскаль". Презентация по информатике на тему "Алгоритмы циклической структуры. Программирование циклов на Pascal" Циклический алгоритм икт паскаль пример






Цикл с предусловием Если число повторений заранее неизвестно, а задано лишь условием, и действие, которое необходимо выполнить только после проверки условия используют цикл в предусловием. В качестве условия используется логическое выражение, тело цикла – простой или составной оператор. Перед каждым выполнением тела цикла происходит проверка условия, если результат «истина», то тело цикла выполняется еще раз, если «ложь», то происходит выход из цикла. На блок - схемеВ Pascal begin end; Условие Тело цикла Нет Практика Начало цикла Конец цикла ДА While do


Цикл с постусловием Если число повторений заранее неизвестно, а задано лишь условием, и действие, которое необходимо выполнить до проверки условия используют цикл с постусловием. В качестве условия используется логическое выражение, тело цикла – простой или составной оператор. После каждого выполнением тела цикла происходит проверка условия, если результат «ложь», то тело цикла выполняется еще раз, если «истина», то происходит выход из цикла. На блок - схемеВ Pascal Repeat Условие Тело цикла Да Нет Практика Until ;


Цикл с параметром В случаях, когда число повторений заранее известно применяется цикл в параметром. Переменная, задающая число повторений, называется параметром цикла, либо управляющей переменной. После каждого выполнения тела цикла управляющая переменная увеличивается либо уменьшается, цикл выполняется до тех пора пока она не превысит либо станет меньше ограничения. На блок - схемеВ Pascal Х – управляющая переменная (параметр цикла) А – начальное значение Х, В – конечное Х С – шаг изменения Х В качестве шага можно использовать только: «to» = 1; «downto» = -1 X:=A,В,C Тело цикла Практика For X:=A to B do Begin End;


Пример задачи с использованием цикла с предусловием Возвести число 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


H X:=1 X:=X*3 конец Х Ввод заданной степени Начальные зн" title="Пример задачи с использованием цикла с постусловием Возвести число 3 в заданную степень ЗАДАЧА: Словесный алгоритм: Умножать число Х изначально равное 1 заданное число раз (Н) на 3. начало Н B>=H X:=1 X:=X*3 конец Х Ввод заданной степени Начальные зн" class="link_thumb"> 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 =H X:=1 X:=X*3 конец Х Ввод заданной степени Начальные зн"> =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"> =H X:=1 X:=X*3 конец Х Ввод заданной степени Начальные зн" title="Пример задачи с использованием цикла с постусловием Возвести число 3 в заданную степень ЗАДАЧА: Словесный алгоритм: Умножать число Х изначально равное 1 заданное число раз (Н) на 3. начало Н B>=H X:=1 X:=X*3 конец Х Ввод заданной степени Начальные зн"> title="Пример задачи с использованием цикла с постусловием Возвести число 3 в заданную степень ЗАДАЧА: Словесный алгоритм: Умножать число Х изначально равное 1 заданное число раз (Н) на 3. начало Н B>=H X:=1 X:=X*3 конец Х Ввод заданной степени Начальные зн">


Пример задачи с использованием цикла с параметром Возвести число 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 км. Каждый день он увеличивал дневную норму на 10% нормы предыдущего дня. Какой суммарный путь пробежит спортсмен за 7 дней. Входные переменные: Выходные переменные: S – общий путь d – количество дней Sd – расстояние за текущий день


Конец Вопросы для контроля: 1.Каким оператором в Pascal задается цикл с предусловием 2.Как в цикле в параметром указывать шаг «1» и «-1» 3.По какой ветке происходит выход из цикла с постусловием 4.Есть ли в цикле с параметром условия 5.Что может быть телом цикла 6.Когда используется цикл с параметрами

Описание презентации по отдельным слайдам:

1 слайд

Описание слайда:

Тема занятия: «Алгоритмы циклической структуры. Программирование циклов на Pascal» Дисциплина «Информатика»

2 слайд

Описание слайда:

Основные понятия темы На данном занятии изучаются следующие понятия: понятие цикла; разновидности циклических алгоритмов (цикл с предусловием, цикл с постусловием, цикл с параметром); блок-схемы циклических алгоритмов; представление операторов циклов на языке программирования Pascal; применение циклов при решении задач.

3 слайд

Описание слайда:

Понятие цикла При решении многих задач одна и та же последовательность действий выполняется несколько раз. Например, при поступлении в учебное заведение учащийся сдает экзамены, при этом подсчитываются набранные им баллы (переменная S; ее начальное значение S:=0;). За каждый сданный экзамен он получает оценку N. Если оценка больше «2», то S:= S + N; иначе - прекратить вычисления (выход из цикла).

4 слайд

Описание слайда:

Понятие цикла Цикл - это последовательность операторов, которая может выполняться более одного раза. Циклическим алгоритмом называется алгоритм, предусматривающий многократное повторение одного и того же действия над новыми данными Существует три типа операторов цикла: циклы с предусловием; циклы с постусловием; циклы со счетчиком.

5 слайд

Описание слайда:

Цикл с предусловием. Цикл типа ПОКА WHILE Предписывает выполнять тело цикла до тех пор, пока выполняется условие, записанное после слова пока Блок-схема цикла с предусловием

6 слайд

Описание слайда:

Цикл с предусловием. Цикл типа ПОКА WHILE Цикл с предусловием используется тогда, когда число повторения тела цикла заранее неизвестно, а зависит от выполнения условия. Если условие истинно, то тело цикла выполняется, затем вновь проверка условия и так до тех пор пока условие не станет ложным.

7 слайд

Описание слайда:

Оператор цикл с предусловием (цикл типа ПОКА - WHILE) Этот наиболее часто используемый оператор повторения имеет общий вид на Pascal (формат): WHILE <условие> DO <оператор>; здесь WHILE, DO - резервированные слова (от английских: while -пока, do - делать); <условие> - выражение логического типа; <оператор> - произвольный (возможно составной) оператор.

8 слайд

Описание слайда:

Цикл с постусловием. Цикл типа ДО Порядок выполнения оператора цикла с постусловием Выполнение операторов 1-N повторяется, пока условие не станет верным. В этом цикле условие проверяется только после выполнения тела цикла. Отсюда следует, что тело всегда выполняется хотя бы один раз Блок-схема цикла с постусловием

9 слайд

Описание слайда:

Цикл с постусловием. Цикл типа ДО ВАЖНО! Цикл с постусловием выполняется хотя бы один раз независимо от выполнения условия. Несомненным удобством цикла с постусловием является то, что внутри него можно записать несколько операторов без использования составного оператора. Проверка условия находится после тела цикла. Служебное слово UNTIL

10 слайд

Описание слайда:

Оператор цикл с постусловием (цикл типа ДО - UNTIL) Общий вид (формат) оператора цикла с постусловием на Pascal следующий: Repeat <Оператор 1>; <Оператор 2>; … <Оператор N>; Until <условие>;

11 слайд

Описание слайда:

Пример применения оператора цикла с постусловием Для вывода на экран попарно значения переменной n=1, 2, 3, 4, 5 ,6, 7, 8, 9 и переменной а=10, 20, 30, 40, 50, 60, 70, 80, 90 этот оператор будет иметь вид: n:= 0; repeat n:=n+1; a:=10*n; writeln(n:2,’ ‘,a:3); until n>=9;

12 слайд

Описание слайда:

Цикл с параметром. Цикл типа FOR Цикл с параметром используется в том случае, когда требуется выполнить заданное количество шагов цикла. Необходимо отметить, что цикл FOR на Pascal не слишком гибок (в отличие, например, от этого типа цикла на языке С). Потому что, на Pascal параметр цикла (или счетчик) изменяется на величину, равную единице. Таким образом, когда требуется выполнить дробный шаг необходимо использовать цикл типа WHILE. Существует две разновидности цикла FOR: с увеличением и с уменьшением значений счетчика (или параметра). Блок-схема цикла с параметром (цикл FOR)

13 слайд

Описание слайда:

14 слайд

Описание слайда:

Оператор цикла с параметром. Цикл типа FOR Общий вид (формат) оператора цикла с параметром for <счетчик> := <начальное значение> to <конечное значение> do begin <Операторы> end; for <счетчик> := <начальное значение> downto <начальное значение> do begin <Операторы> end; с увеличением значений счетчика (параметра) с уменьшением значений счетчика (параметра)

15 слайд

Описание слайда:

Оператор цикла с параметром. Цикл типа FOR Оператор, реализующий цикл ДЛЯ – FOR используется, если необходимо, чтобы фрагмент программы повторился заданное число раз FOR <переменная цикла>: = <начальное значение> ТО <конечное значение> DO <оператор>; Здесь: FOR, TO, DO - зарезервированные слова (англ.: для, до, выполнить); <счетчик (параметр) цикла> - переменная типа INTEGER, которая изменяется на отрезке от <начального значения>, увеличиваясь на единицу в конце каждого шага цикла; <оператор> - любой (чаще составной) оператор.

16 слайд

Описание слайда:

Оператор цикла с параметром. Цикл типа FOR Оператор FOR состоит из заголовка и тела цикла. Составной оператор, находящийся в теле цикла, должен быть заключен в операторные скобки begin и end. ·В качестве идентификатора счетчика обычно используется "i". · Переменная счетчика должна быть порядкового типа. Например, целочисленного типа: byte, integer. · Начальное и конечное значения параметра цикла нельзя изменять во время выполнения цикла. · Оператор FOR используется для организации циклов с фиксированным, заранее известным или определяемым во время выполнения программы числом повторений.

17 слайд

Описание слайда:

Применение циклов при решении задач Каждый из описанных выше циклов может быть использован для программирования на Pascal одних и тех же задач с циклическим алгоритмом.

18 слайд

Описание слайда:

Задание № 1 Открыть программу PascalABC.NET (интегрированная среда разработки программ на языке программирования Pascal) Сохранить программу в папке с Вашим именем в системной рабочей папке PABCWork.NET \ Ваше_имя\Cikl_1.pas Сохранить как...

19 слайд

Описание слайда:

Задание № 1 Используя цикл ПОКА (с предусловием) составить и отладить программу, которая вычисляет сумму квадратов всех натуральных чисел от 1 до 100. ИСХОДНЫЕ ДАННЫЕ: A: integer; РЕЗУЛЬТАТ - сумма: S: Longint; Program Ex1; Var A: Integer; S: Longint; { Длинное целое} Begin A:=1; S:=0; { переменная S для накапливания суммы } While A<=100 Do { Начало цикла – проверка условия } Begin S:=S+A*A; A:=A+1 End; Writeln(‘Вывод результата S= ’ ,S) End. Сохранить программу в папке с Вашим именем в системной рабочей папке PABCWork.NET \ Ваше_имя\Cikl_1.pas

20 слайд

Описание слайда:

ЗАДАНИЕ 2. Отладить программу циклической структуры на языке Pascal в среде PascalABC.NET Program abc; var x, у: integer; begin x:=2; while x <= 10 do begin Y:=x*x; writeln(‘вывод х: ’, x, ‘вывод у: ’, y); x:= x+2; end; end. Применить оператор цикла с предусловием для вычисления значения функции y=x2, при значениях x 2, 4, 6, 8, 10. Сохранить программу в папке с Вашим именем в системной рабочей папке PABCWork.NET \ Ваше_имя\Cikl_2.pas

Циклические алгоритмы06.04.2017
Циклические алгоритмы
Виды циклов и циклические
команды на Паскале

Цикл - это многократное
повторение последовательности
действий
Повторяющаяся часть алгоритма
называется ТЕЛОМ ЦИКЛА
Виды циклов
С заданным числом
повторений
Условие выполнения
цикла
С условием
Условие выхода из
цикла

Виды циклов (содержание)
Цикл с предусловием
Практика
Цикл с постусловием
Практика
Цикл с параметрами
Практика
Решение сложных задач

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

Практика

условием, и действие, которое необходимо выполнить только
после проверки условия используют цикл в предусловием.


Перед каждым выполнением тела цикла происходит проверка
условия, если результат «истина», то тело цикла выполняется
еще раз, если «ложь», то происходит выход из цикла.
На блок - схеме
Начало цикла
Нет
Условие
ДА
Тело цикла
Конец цикла
В Pascal
While <условие> do
begin
<тело цикла>
end;

Цикл с постусловием

Практика
Если число повторений заранее неизвестно, а задано лишь
условием, и действие, которое необходимо выполнить до
проверки условия используют цикл с постусловием.
В качестве условия используется логическое выражение, тело
цикла – простой или составной оператор.
После каждого выполнением тела цикла происходит проверка
условия, если результат «ложь», то тело цикла выполняется
еще раз, если «истина», то происходит выход из цикла.
На блок - схеме
В Pascal
Repeat
Тело цикла
<тело цикла>
Да
Нет
Условие
Until <условие>;

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

Практика
Цикл с параметром
В случаях, когда число повторений заранее известно
применяется цикл в параметром.
Переменная, задающая число повторений, называется
параметром цикла, либо управляющей переменной.
После каждого выполнения тела цикла управляющая
переменная увеличивается либо уменьшается, цикл
выполняется до тех пора пока она не превысит либо
станет меньше ограничения.
На блок - схеме
В Pascal
For X:=A to B do
X:=A,В,C
Тело цикла
Х – управляющая переменная (параметр цикла)
А – начальное значение Х, В – конечное Х
С – шаг изменения Х
Begin
<тело цикла>
End;
В качестве шага можно использовать
только:
«to» = 1;
«downto» = -1

Пример задачи с использованием цикла с предусловием
Теория

Словесный алгоритм:
Умножать число Х изначально равное 1
заданное число раз (Н) на 3.
начало
Programm Stepen;
Var
H,B,X:integer;
Begin
Writeln(‘Степень?’);
Readln(H);
X:=1;
B:=1;
While B<=H do
Begin
X:=X*3;
B:=B+1;
End;
Writeln (‘Результат’,X);
End.
Pascal
Н
Ввод заданной степени
X:=1
Начальные значения
B:=1
Нет
«В» счетчик степени
B≤H
да
X:=X*3
Умножение на 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
Блок-Схема
Пояснения

Пример задачи с использованием цикла с параметром
Теория
ЗАДАЧА: Возвести число 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 км. Каждый день он увеличивал дневную
норму на 10% нормы предыдущего дня.
Какой суммарный путь пробежит спортсмен за 7 дней.
Входные переменные:
d – количество дней
Sd – расстояние за текущий день
Выходные переменные:
S – общий путь

Блок - схема к решению

начало
S:=10
Sd:=10
d:=1
d:=d+1
Sd:=Sd*1.1
S:=S+Sd
нет
D=7
да
s
конец

Программа на Паскале

Цикл «Для»
Цикл «Пока»
Цикл «До»
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<7 do
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.

Вопросы для контроля:
1. Каким оператором в Pascal задается цикл с
предусловием
2. Как в цикле в параметром указывать шаг «1» и «-1»
3. По какой ветке происходит выход из цикла с
постусловием
4. Есть ли в цикле с параметром условия
5. Что может быть телом цикла
6. Когда используется цикл с параметрами
Конец

Слайд 2

План

Понятие цикла Оператор цикла For Цикл While Цикл Repeat Литература

Слайд 3

Литература

Касторнов А.Ф., Евстратова Г.А. Язык программирования Паскаль: учебное пособие для вузов. - Череповец: ГОУ ВПО ЧГУ, 2010. - 117 c. - Библиогр.: С.114. Электронный учебник по языку программирования Паскаль /http://pascal.guti.ru План

Слайд 4

Понятие цикла

Алгоритмы решения многих задач являются циклическими, в которых для достижения результата определенная последовательность действий выполняется несколько раз. Например, программа контроля знаний выводит вопрос, принимает ответ, добавляет отметку за ответ к сумме баллов, затем повторяет эти действия до тех пор, пока испытуемый не ответит на все вопросы. Или, например, для поиска нужной фамилии в списке следует проверить первую фамилию списка на совпадение с искомой, затем вторую, третью и т.д. до тех пор, пока не будет найдена нужная фамилия или не будет достигнут конец списка.

Слайд 5

Алгоритм, в котором есть группа операторов, выполняемая несколько раз, называется циклическим. Группа повторяемых операторов называется телом цикла. В Паскале циклы могут быть реализованы при помощи операторов циклов For, While и Repeat. План

Слайд 6

Оператор цикла For

Оператор цикла For используется в том случае, если тело цикла надо выполнить несколько раз, причем число повторов заранее известно.

Слайд 7

1-я форма записи оператора цикла For

1-я форма записи оператора For в общем виде выглядит следующим образом: ForСчетчик:=Начальное_значениеtoКонечное_значениеdoОператор; Где For, to, do – служебные слова. Счетчик – это переменная порядкового типа (обычно типа Integer), которая определяет число повторов цикла. Число повторов считается по формуле: Конечное_значение–Начальное_значение+1. Конечное_значение должно быть больше или равно Начальному_значению.

Слайд 8

Если тело цикла состоит из нескольких операторов, то 1-я форма записи оператора For выглядит так: ForСчетчик:=Начальное_значениеtoКонечное_значениеdo Begin {Тело цикла} End;

Слайд 9

Рассмотрим алгоритм работы цикла For в первой форме записи. Счетчику присваивается Начальное_ значение. Проверяется условие: Значение счетчика больше Конечного_значения? Если условие истинно (Да), выполнение цикла заканчивается. Если условие ложно (Нет), то выполняется тело цикла, затем значение счетчика увеличивается на единицу и снова выполняется проверка условия, т.е. п.2.

Слайд 10

2-я форма записи оператора цикла For

2-я форма записи оператора For в общем виде выглядит следующим образом: For Счетчик:=Начальное_значениеdowntoКонечное_значениеdoОператор; Где: For, downto, do – служебные слова. Счетчик– это переменная порядкового типа (обычно типа Integer), которая определяет число повторов цикла. Число повторов считается по формуле: Начальное_значение–Конечное_значение+1. Начальное_значениедолжно быть больше или равноКонечному_значению.

Слайд 11

Если тело цикла состоит из нескольких операторов, то 2-я форма записи оператора For выглядит так: ForСчетчик:=Начальное_значениеdowntoКонечное_значениеdo Begin //Тело цикла End;

Слайд 12

Рассмотрим алгоритм работы цикла For во второй форме записи: Счетчику присваивается Начальное_ значение. Проверяется условие: Значение счетчика меньше Конечного_значения? Если условие истинно (Да), выполнение цикла заканчивается. Если условие ложно (Нет), то выполняется тело цикла, затем значение счетчика уменьшается на единицу и снова выполняется проверка условия, т.е. п.2.

Слайд 13

Оператор цикла For

programEx1; var i, n:integer; {i – счетчик, n – необходимое количество звездочек} s:string;{s – формируемая строка звездочек} begin Writeln("Введите количество звездочек"); {запрашивается количество звездочек} Readln(n); {пользователь вводит количество звездочек n} s:=""; {формирование строки звездочек начинается с пустой строки} {Строка формируется по циклу For. Начальное_значениесчетчика – 1, Конечное_значение– необходимое количество звездочек n.} fori:= 1 to n do s:=s+"*"; {на каждом шаге цикла к строке приклеивается одна звездочка} Writeln(s);{выводится строка} Readln; end. План Пример:Программа формирует строку звездочек. Количество звездочек в строке определяется пользователем.

Слайд 14

Цикл While

Цикл While используется в том случае, если число повторений тела цикла во время разработки программы неизвестно и может быть определено только во время ее работы. В общем виде оператор While записывается следующим образом: While Условие doОператор; Где While, do – служебные слова. Условие – выражение логического типа, определяющее продолжение цикла.

Слайд 15

Если тело цикла состоит из нескольких операторов, то цикл While записывается следующим образом: WhileУсловие do Begin //Тело цикла End;

Слайд 16

Рассмотрим алгоритм работы цикла While: Проверяется условие. Если условие истинно, то выполняется тело цикла. После чего снова проверяется условие. Если условие ложно, то цикл завершается.

Слайд 17

Таким образом, While – цикл с предусловием или цикл «Пока» (тело цикла выполняется пока истинно условие). Если при первом проходе цикла условие окажется ложным, то тело цикла не будет выполнено ни разу. Если условие никогда не станет ложным, то цикл будет повторяться бесконечно, т.е. произойдет зацикливание.

Слайд 18

Program Ex2; varAccount: Real; {размер счета} Month: Integer; {количество месяцев, прошедших с момента открытия счета} begin Account:=1000; {на счет положили 1000 рублей} Month:=0; {счет только что открыт} whileAccount

Слайд 19

Цикл Repeat

Цикл Repeat, как и цикл While, используется в программе в том случае, если необходимо выполнить тело цикла несколько раз, но число повторений заранее неизвестно. В общем виде цикл Repeat записывается следующим образом: Repeat //Тело цикла Until Условие; Где Repeat, Until – служебные слова. Условие – выражение логического типа, определяющее окончание цикла.

Слайд 20

Рассмотрим алгоритм работы цикла Repeat: Выполняется находящееся между зарезервированными словами Repeat и Until тело цикла. Проверяется условие. Если условие истинно, цикл завершается. Если условие ложно, снова выполняется тело цикла.

Слайд 21

Таким образом, Repet – цикл с постусловием или цикл «До» (тело цикла выполняется до истинности условия). Следовательно, тело цикла выполняется хотя бы один раз. Если условие никогда не станет истинным, то цикл станет бесконечным.

Слайд 22

Program Ex3; var Time:integer; {время деления} Cells: integer;{количество клеток} begin Time:=0;{клетка еще не начала деление} Cells:=1;{клетка одна} Repeat Time:=Time+3;{через следующие три часа} Cells:=Cells*2;{количество клеток увеличилось в 2 раза} Until Cells>24; {до истинности условия «количество клеток больше 24»} Writeln(Time);{вывод результата} Readln; end. План Пример: Одноклеточная амёба каждые 3 часа делится на 2 клетки. Определите, через какое количество часов число клеток превысит 24.

Посмотреть все слайды























Назад Вперёд

Внимание! Предварительный просмотр слайдов используется исключительно в ознакомительных целях и может не давать представления о всех возможностях презентации. Если вас заинтересовала данная работа, пожалуйста, загрузите полную версию.

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

Ход урока

I. Актуализация знаний

  • Повторить понятие алгоритма, основные конструкции алгоритмического языка.
  • Уметь разрабатывать математическую модель, алгоритм и блок схему решения задачи.
  • Иметь понятие о языках программирования и их назначении.
  • Уметь работать в среде программирования.
  • Знать структуры программы.
  • Уметь записывать выражения, содержащие числовые и символьные величины.
  • Знать структуры операторов и особенности их работы.
  • Уметь применять операторы при написании программ с линейными и ветвящимися структурами.
  • Уметь на компьютере создавать и запускать программы на отладку.

II. Теоретический материал урока

Большинство практических задач требует многократного повторения одних и тех же действий, т. е. повторного использования одного или нескольких операторов. (Презентация)

Пусть требуется ввести и обработать последовательность чисел. Если чисел всего пять, можно составить линейный алгоритм. Если их тысяча, записать линейный алгоритм можно, но очень утомительно и нерационально. Если количество чисел к моменту разработки алгоритма неизвестно, то линейный алгоритм принципиально невозможен.

Другой пример. Чтобы найти фамилию человека в списке, надо проверить первую фамилию списка, затем вторую, третью и т.д. до тех пор, пока не будет найдена нужная или не будет достигнут конец списка. Преодолеть подобные трудности можно с помощью циклов.

Циклом называется многократно исполняемый участок алгоритма (программы). Соответственно циклический алгоритм - это алгоритм, содержащий циклы.

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

Существует 3 типа циклических структур:

  • Цикл с предусловием;
  • Цикл с послеусловием;
  • Цикл с параметром;

Иначе данные структуры называют циклами типа «Пока», «До», «Для».

Графическая форма записи данных алгоритмических структур:

Цикл с предусловием (иначе цикл пока ) имеет вид:

условие – выражение логического типа.

Цикл может не выполняться ни разу, если значение логического выражения сразу же оказывается ложь.

Серия команд, находящихся между begin и end, выполняются до тех пор, пока условие истинно .

Для того чтобы цикл завершился , необходимо, чтобы последовательность инструкций между BEGIN и END изменяла значение переменных, входящих в условие.

Цикл с постусловием (иначе цикл до ) имеет вид:

условие – выражение логического типа.

Обратите внимание:

Последовательность инструкций между repeat и until всегда будет выполнено хотя бы один раз ;

Для того чтобы цикл завершился, необходимо, чтобы последовательность операторов между repeat и until изменяла значения переменных, входящих в выражение условие.

Инструкция repeat, как и инструкция while, используется в программе, если надо провести некоторые повторяющиеся вычисления (цикл), однако число повторов заранее не известно и определяется самим ходом вычисления.

Цикл с параметром (иначе цикл для) имеет вид:

i – параметр цикла;
a – начальное значение цикла;
b – конечное значение цикла;
h – шаг изменения параметра.

Структура данного цикла иначе называют циклом i раз .

Эта команда выполняется таким образом: параметру i присваивается начальное значение а, сравнивается с конечным значением b и, если оно меньше или равно конечному значению b, выполняется серия команд. Параметру присваивается значение предыдущего, увеличенного на величину h – шага изменения параметра и вновь сравнивается с конечным значением b.

На языке программирования Паскаль шаг изменения параметра может быть равным одному или минус одному.

Если между begin и end находится только один оператор, то операторные скобки можно не писать. Это правило работает для цикла типа «Пока» и «Для».

Рассмотрим пример решения задач с использованием данных структур

Пример.

Вычислить произведение чисел от 1 до 5 используя различные варианты цикла

Математическая модель:

Р= 1· 2· 3· 4· 5=120

Составим алгоритм в виде блок-схемы.

Для проверки правильности алгоритма заполним трассировочную таблицу.

Шаг Операция Р i Проверка условия
1 P:=1 1
2 i:=1; 1 1
3 i<=5
P:=P*I
i:=i+1
1 1 1<=5, да (истина)
4 i<=5
P:=P*I
i:=i+1
2 2 2<=5, да (истина)
5 i<=5
P:=P*I
i:=i+1
6 3 3<=5, да (истина)
6 i<=5
P:=P*I
i:=i+1
24 4 4<=5, да (истина)
7 i<=5
P:=P*I
i:=i+1
120 5 5<=5, да (истина)
8 i<=5
P:=P*I
i:=i+1
6<=5, нет (ложь)

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

Шаг первый : Р присваивается значение один.

Шаг второй : i присваивается значение один.

Шаг третий : при i равном единице проверяем условие один меньше или равен пяти, да, условие истинно, значит Р присваивается значение один умноженное на один, будет два. Для i: один плюс один, будет два.

Шаг четвертый: при i равном двум проверяем условие два меньше или равен пяти, да, условие истинно, значит Р присваивается значение 2 умноженное на один, будет 2. Для i: два плюс один, будет три.

Шаг пятый: при i равном трем проверяем условие три меньше или равен пяти, да, условие истинно, значит Р присваивается значение два умноженное на три, будет шесть. Для i: три плюс один, будет четыре.

Шаг шестой: при i равном четырем проверяем условие четыре меньше или равен пяти, да, условие истинно, значит Р присваивается значение шесть умноженное на четыре, будет двадцать четыре. Для i: четыре плюс один, будет пять.

Шаг седьмой: при i равном пяти проверяем условие пять меньше или равен пяти, да,условие истинно, значит Р присваивается значение двадцать четыре умноженное на пять, будет сто двадцать. Для i: пять плюс один, будет шесть.

Шаг восьмой: при i равном шести проверяем условие шесть меньше или равен пяти, нет, условие ложно, тогда мы выходим из цикла, а в результате получаем последнее значение равное сто двадцати.

Program Pr1;
Var i: integer;
Begin
P:=1;
i:=1;
While i<=5 do
begin
P:=P*i;
i:=i+1;
end;
Write (‘P=’, P);
end.

Для цикла с постусловием построим блок-схему и трассировочную таблицу. (слайд16)

В результате получаем последнее значение равное сто двадцати на седьмом шаге

И для Цикла с параметром построим блок-схему и трассировочную таблицу. (слайд17)

В результате получаем последнее значение равное сто двадцати на шестом шаге

Задача:

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

  1. прямом порядке;
  2. обратном порядке.

Математическая модель:

  1. 1 2 3 4 5;
  2. 5 4 3 2 1.

Блок-схема и программа решения задачи представлена для чисел в прямом порядке и обратном порядке.

(слайд 21)

Запишем рассмотренные алгоритмы на языке программирования Паскаль.

(слайд 22)

III. Подведение итогов урока

И так мы рассмотрели следующие вопросы:

  1. Алгоритмическая структура цикл;
  2. Виды алгоритмических структур:
    1. Цикл с предусловием;
    2. Цикл с послеусловием;
    3. Цикл с параметром;
  3. Рассмотрели способы записи данных структур;
  4. Разобрали примеры решения задач с помощью этих структур.
Эмуляторы