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

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

Слайд 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.

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






Цикл с предусловием Если число повторений заранее неизвестно, а задано лишь условием, и действие, которое необходимо выполнить только после проверки условия используют цикл в предусловием. В качестве условия используется логическое выражение, тело цикла – простой или составной оператор. Перед каждым выполнением тела цикла происходит проверка условия, если результат «истина», то тело цикла выполняется еще раз, если «ложь», то происходит выход из цикла. На блок - схемеВ 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

Исполнитель РОБОТ Циклический алгоритм
Презентация к уроку информатики. 9 класс Тема: Управление и алгоритмы

Слайд 2

FOR i:=1 TO N DO BEGIN действие1; действие2; END;
FOR i:=1 TO N DO действие1; действие2;
1

Слайд 3

2
WHILE (УСЛОВИЕ ИСТИННО) DO BEGIN действие1; действие2; END;
WHILE (УСЛОВИЕ ИСТИННО) DO действие1; действие2;

Слайд 4

3
17 клеточек
12 клеточек

Слайд 5

4
Program N1; var i:integer; Begin For i:=1 to 12 do RobotForw; RobotLeft; For i:=1 to 17 do RobotForw; RobotLeft; For i:=1 to 12 do RobotForw; RobotLeft; For i:=1 to 17 do RobotForw; RobotLeft; end.
Движемся вниз
Движемся вправо
Движемся вверх
Движемся влево
Эта и следующая команды поворачивают в углу робота налево

Слайд 6

5
Если поставить стену, робот в нее врежется и программа остановится

Слайд 7

6
Program N2; var i:integer; Begin While FreeForw do RobotForw; RobotLeft; While FreeForw do RobotForw; RobotLeft; While FreeForw do RobotForw; RobotLeft; While FreeForw do RobotForw; RobotLeft; end.
Пока впереди свободно, выполнить робот вперед.

Слайд 8

Слайд 9

8
Program N3; var i:integer; Begin for i:=1 to 4 do begin While FreeForw do RobotForw; RobotLeft; end; end.
Четыре раза выполнить движение вперед, пока нет препятствия и поворот налево

Слайд 10

9
Четыре раза выполнить движение вперед, пока нет препятствия, и поворот налево

Слайд 11

10
Задания для самостоятельной работы
Задание 1. У левой стены обстановки в произвольном месте ставится препятствие. Робот должен доехать до точки 1 и вернуться в исходное состояние. Примечание: использовать три последовательно соединенных цикла ПОКА
1
1

Слайд 12

11
Задание 2. У левой стены обстановки в произвольном месте ставится груз. Робот должен доехать до груза, взять его перевезти на склад и вернуться в исходное состояние. Примечание: использовать два последовательно соединенных цикла ПОКА

Слайд 13

12
Задание 3. У левой стены обстановки в произвольном месте ставятся пять грузов. Робот должен все грузы перевезти на склад. Примечание: использовать два последовательно соединенных цикла ПОКА, вложенных в цикл с параметром.

Слайд 14

13
Пример 1 Робот находится перед входом в коридор. Необходимо отметить все клетки внутри коридора, и вернуться обратно

Слайд 15

14
Program N7; Begin RobotForw; While not FreeLeft do begin Select; RobotForw; end; RobotBack; While not FreeLeft do RobotBack; end.
Делаем шаг вперед для входа в туннель
Пока слева есть стена, отмечаем клетку и делаем шаг вперед
Возвращаемся обратно в туннель
Пока с лева стена, движемся на шаг назад

Слайд 16

15
Пример 2 Имеются две стены поставленные углом. Длины стен произвольные. Робот находится в углу между стенами (см. рисунок). Необходимо составить программу в которой робот отмечает все клетки на внутренней части стены. Конечное положение робота произвольно.

Слайд 17

16
Program N8; Begin While not FreeRight do begin Select; RobotForw; end; While FreeBack do RobotBack; RobotLeft; While not FreeLeft do begin Select; RobotForw; end; end.
Пока справа не свободно, отмечаем клеточку и делаем шаг вперед.
Возвращаем робота назад
Поворачиваем налево
Пока слева не свободно, отмечаем клеточку и делаем шаг вперед.

Слайд 18

Слайд 19

18
Пример 3 Обстановку перекрывает стена, делящая обстановку на две части. В стене есть проход размером в клетку в произвольном месте. Необходимо составить программу в которой робот находит этот проход и переходит на другую часть обстановки.

Слайд 20

19
Program N9; Begin RobotLeft; While FreeForw do RobotForw; RobotRight; While not FreeLeft do RobotForw; RobotLeft; RobotForw; RobotForw; end.
Поворачиваем робота по направлению к стене.
Движемся вперед пока не упремся в стену
Поворачиваем робота вдоль стены
Движемся вперед пока стена не кончится
Поворачиваем робота в сторону прохода
Делаем два шага вперед, проходим на другую половину обстановки

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

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