Циклы в программировании конспект

Обновлено: 07.07.2024

Тип урока: Изучение нового материала.

  • Познакомить с новыми понятиями “цикл”, “ переменные цикла”, “тело цикла” и подвести учащихся к понятию о существовании различных видов циклических структур в программировании.
  • Cоздать условия для развития познавательного интереса и логического мышления учащихся через анализ условия задач, возникающих на практике.
  • развивать личностное отношение к учебным предметам;
  • создавать условия для развития умения высказывать своё мнение, аргументировать его,
  • повышать самооценку учеников.
  • активизировать деятельность учащихся по повторению изученного ранее материала,
  • определить и объяснить понятие цикла, показать построение алгоритма с использованием циклических структур,
  • организовать практическую работу учащихся на компьютере.
  • организовать на уроке атмосферу сотрудничества и свободу высказываний,
  • повышение мотивации учащихся путем использования игрового изложения материала,
  • интерес к предмету через применение компьютерных технологий.
  • организовать исследовательскую деятельность учащихся в рамках урока,
  • провести интеграцию информатики с предметами естественно-географического цикла,
  • развить логическое мышление, воображение, умение анализировать, выделять главное, обобщать и делать выводы.

Оборудование урока: презентация, учебники, тетради по информатике.

Участники: учащиеся 9 класса, учитель.

1. Актуализация деятельности учащихся.

Ребята, сегодняшний урок я хочу начать с эпиграфа

Проблемы никогда нельзя разрешить с тем же образом мыслей, который их породил.
А. Эйнштейн.

Я думаю, сегодня нам все удастся и мы узнаем много нового и интересного.

  1. С какими алгоритмическими структурами мы знакомы?
  2. Что такое линейный алгоритм?
  3. Что такое ветвление?
  4. Какие ветвления бывают?
  5. Как выглядит структура ветвления?

2. Активизация умственной деятельности

Я задумаю целое число от 1 до 100, а вы постараетесь его отгадать. Например: мною загадано число 17. Кто-либо из вас называет число. После первого ответа, если число не отгадано, возникает неопределенность действий. Возникает проблема - что же делать дальше? - Нужно вернуться назад и назвать новое число. И так продолжать несколько раз до того, пока не отгадаем число.

3. Исследовательская работа учащихся.

Учитель обозначает проблему: какие задачи мы можем решить, организуя неоднократный повтор действий. (Здесь могут появиться самые разные ответы. В ходе диспута принимаются возможные варианты. Это могут быть различные задачи, где несколько раз производятся вычисления по одной формуле и многое другое).

  1. Назовите явления природы, в которых происходит повтор действий?
  2. Как происходит смена времен года?
  3. Как происходит смена дня и ночи?
  4. Как происходит фотосинтез?
  5. Как происходит круговорот воды в природе?
  6. Как происходит жизнь растений?
  7. Какой повтор действий происходит в вашей жизни?
  8. Расскажите о режиме дня.

— Какие образы, впечатления, ассоциации у вас вызывает слово "цикл"? (Высказывания учеников).

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

— Цикл, дословно с греческого – круг. Какие действия можно назвать циклом? (Высказывания учеников).

— Итак, цикл – повторяющееся действие. А может действие повторяться бесконечно? (Высказывания учеников).

— Итак, цикл – повторяющееся действие + условие.

Можно вспомнить сказки – дед тянул репку, позвал бабку, позвал внучку, позвал Жучку и т.д. Какое действие? Тянул. Какое условие? Пока не вытянул. Другие примеры циклов.

— А теперь вспомните "семь раз отмерь – один раз отрежь". Какое условие? (Высказывания учеников).

— Да, здесь считаем. Для счёта надо задать начало и конец – от .. и до .. (Высказывания учеников).

— Начинать можно с "0", с "1", да и вообще с чего угодно! Как Робинзон Крузо считал дни? (Ставил зарубки).

А начал он с какого числа? (С того, когда попал на остров).

4. Изучение нового материала

Алгоритм циклической структуры – это алгоритм, в котором предусмотрено неоднократное выполнение одной и той же последовательности действий.

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

Многократное повторение последовательности действий называется циклом, а многократно повторяющиеся действия – телом цикла.

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

Существует три формы циклов: цикл с параметром, цикл с предусловием, цикл с постусловием. Каждая форма имеет стандартное описание на языке схем, а также соответствующий оператор алгоритмического языка.

Определение 1. Цикл с параметром – это цикл, в котором тело цикла выполняется заранее известное количество раз, т.е. известен диапазон изменения параметра. Параметр – это переменная целого типа, которая либо увеличивается, либо уменьшается на единицу.

Цикл реализуется следующим образом:

1) параметру присваивается начальное значение;

2) если значение входит в заданный диапазон, то выполняется тело цикла, параметр изменяется на единицу и выполняется пункт 2;

3) если значение не входит в заданный диапазон, то выполнение цикла прекращается и управление передаётся команде, следующей сразу за циклом.

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

Общий вид команды:

for параметр:= начальное значение to конечное значение do тело цикла; ( цикл с шагом +1).

Непустой диапазон будет в том случае, если начальное значение конечного значения

Определение 2. Цикл с предусловием – это цикл, в котором тело цикла выполняется только в случае выполнения условия. Если условие становится неверным, то работа цикла прекращается и управление передаётся команде, следующей сразу за циклом.

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

Общий вид команды: while условие do тело цикла;

Определение 3. Цикл с постусловием – это цикл, в котором тело цикла выполняется до тех пор, пока условие, заданное после тела цикла не станет верным. Если условие становится верным, то работа цикла прекращается и управление передаётся команде, следующей сразу за циклом.

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

Общий вид команды: repeat тело цикла until условие ;

Правила оформления циклов в программе Паскаль

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

Правило 2. Циклы ”while” и ”repeat” применяются для записи любой задачи, в которой есть повторяющиеся действия.

Правило 3. Запись команды повторения, в которой параметр увеличивается на единицу:

а) for i : = iнач to iкон do команда;

б) for i : = iнач to iкон do begin команды end;

в) i := iнач ; while i iкон;

Правило 4. Запись команды повторения, в которой параметр уменьшается на единицу:

  • Для учеников 1-11 классов и дошкольников
  • Бесплатные сертификаты учителям и участникам

Тема. Программирование циклов.

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

Образовательные: формировать у учащихся представления о видах цикла ;

Развивающая: развитие логического и аналитического мышления ; развитие у учащихся навыков самостоятельной работы;

Воспитательная: формирование у учащихся познавательного интереса; воспитание дисциплинированности.

Тип урока: изучение нового материала.

Организационный этап

Приветствие, проверка присутствующих и готовности учащихся к уроку.

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

Ответы на вопросы из §

Постановка целей урока

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

количество повторений известно до выполнения тела цикла;

до выполнения тела цикла количество повторений неизвестно;

тело цикла должно выполниться хотя бы один раз.

Для разных ситуаций существуют различные циклические конструкции. В языке программирования Паскаль их три, в соответствии с пунктами, описанными выше. Самой универсальной и поэтому чаще других используемой конструкцией цикла является второй вариант (цикл while ).

Объяснение материала

1. Цикл while является циклом с предусловием (цикл-пока).

while do

hello_html_m7f080606.jpg

В заголовке цикла находится логическое выражение. Если оно истинно, то тело цикла выполняется, если ложно - то нет. Если тело цикла было выполнено, то ход программы снова возвращается в заголовок цикла. Условие выполнения тела снова проверяется (находится значение логического выражения). Тело цикла выполнится столько раз, сколько раз логическое выражение вернет true . Поэтому очень важно в теле цикла предусмотреть изменение переменной, фигурирующей в заголовке цикла, таким образом, чтобы когда-нибудь обязательно наступала ситуация false . Иначе произойдет так называемое зацикливание. Например, нужно распечатать п звездочек.

Задание . Выведите на экран строку из звездочек.

Program m1;

Var i, n: integer ;

write( 'Количество знаков: ' );

while i do

begin write( '(*)' );

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

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

repeat повторяй операторы

until ; до тех пор, пока условие не будет верным

Есть небольшое отличие в организации цикла repeat по сравнению с while : для выполнения в цикле repeat нескольких операторов не следует помещать эти операторы в операторные скобки begin . end . Зарезервированные слова repeat и until действуют как операторные скобки.

Конструкция repeat . until работает аналогично циклу while . Различие заключается в том, что цикл while проверяет условие до выполнения действий, в то время как repeat проверяет условие после выполнения действий, это гарантирует хотя бы одно выполнение действий до завершения цикла. Например:

Задание . Выведите на экран строку из звездочек.

Var i , n : integer ;

write( 'Количество знаков:' ); readln(n);

Циклы со счетчиком составляют такой класс, в котором выполнение исполнительной части должно повторяться заранее определенное число раз. Циклы со счетчиком используются довольно часто, и поэтому в языке Паскаль для этих целей имеется специальная конструкция. Можно, конечно, циклы со счетчиком моделировать при помощи операторов while и repeat , но структура цикла со счетчиком проще.

Общая форма записи цикла со счетчиком:

for i := A downto В do

hello_html_61a85695.jpg

Здесь i — управляющая переменная или переменная цикла, А — начальное значение переменной цикла, В - конечное значение переменной цикла.

В языке программирования Паскаль отсчет идет всегда с шагом, равным 1 (для for . to ), или уменьшается на 1 (для for . downto ). Легко понять, что количество повторений цикла определяется разностью между вторым и первым значением плюс единица. Тело цикла не должно содержать выражений, изменяющих счетчик, и тип управляющей переменной не должен быть real . Управляющая переменная должна описываться, как и любая другая переменная. Обычно переменная цикла имеет тип integer .

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

Задание . Выведите на экран строку из звездочек.

Var i, n: integer ;

write( 'Количество знаков: ' ); readln(n);

for i:= 1 to n do write ( '(*)' );

Практическое задание

Дано N кубиков, на которых написаны разные буквы. Сколько различных N -буквенных слов можно составить из этих кубиков (слова необязательно должны иметь смысл).

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

Как программируется цикл с предусловием на языке Паскаль?

Как программируется цикл с постусловием на языке Паскаль? Для каких целей лучше его использовать?

Как программируется цикл со счетчиком на языке Паскаль? Для каких целей лучше его использовать?

Нажмите, чтобы узнать подробности

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

Тема урока: Программирование циклов.

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

Развивающие: развивать познавательный интерес, творческую активность учащихся; развивать логическое мышление.

Воспитательные: воспитывать интерес к предмету, аккуратность, внимательность, дисциплинированность.

Тип урока: изучение нового материала

Форма урока: синтетическая.

Место урока в учебной теме: первичный

Методы и методические приемы:

1 Информационно - рецептивный:
а) словесный: рассказ - объяснение, описание, беседа,

б) наглядный: иллюстрации, демонстрация, ТСО.
Приемы обучения: изложение информации, объяснение, активизация внимания и мышления, получение из текста и иллюстраций новых знаний, работа с раздаточным материалом.
2. Репродуктивный.
Приемы обучения: подача материала в готовом виде, конкретизация и закрепление уже приобретенных знаний.
3. Визуальный: составление логических цепочек.
4. Суггестивный: применение различных видов искусства.

5. Перцептивный (восприятие и связь с жизнью):
6. Релаксопедический: психологическая разгрузка.
Межпредметные связи: математика, экономика

Материалы и оборудование: флипчарт, проектор, ноутбук

Основные понятия и термины: циклы

Организационный момент

Здравствуйте, ребята! Я надеюсь, что вы настроились на урок и готовы к сотрудничеству со мной.

Актуализация опорных знаний

Пройдет совсем немного времени, вы закончите школу, поступите в ВУЗы, кто-то в столичные города и перед вами встанет множество проблем, от этого никто не застрахован. Одна из них, несомненно, переезд.

Давайте представим себе ситуацию, собираясь на учебу, вы набрали с собой кучу чемоданов с вещами (к примеру 10), из дома вас проводили родители, а как же быть в городе? Самим все таскать наверх? Конечно же, нет, мы наймем грузчика.

Давайте составим для него такой алгоритм работы, чтобы он все понял и выполнил. Итак, с чего мы начнем?

Называют возможные действия грузчика

А можно ли как-то сократить затрачиваемое нами время?

Да, если мы будем использовать цикл

Итак, что же мы будем сегодня изучать?

Циклические конструкции

Изучение нового материала

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

Итак, для начала давайте запишем определения:

Цикл - это специальная конструкция языка, позволяющая запрограммировать многократное выполнение определённого блока команд.

Сам блок команд называется телом цикла.

(Записывают определение)

Циклы позволяют многократно выполнять отдельный оператор или последовательность операторов, причем при этом нет необходимости записывать в тексте программы одинаковые операторы несколько раз.

Для организации циклов в Паскале используются следующие операторы:

оператор цикла с параметром;

For переменная := выражение1 to выражение2 do оператор;

For переменная := выражение1 downto выражение2 do оператор;

оператор цикла с постусловием;

repeat оператор until логическое выражение (условие);

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

while логическое выражение (условие) do оператор.

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

For переменная := выражение1 to выражение2 do оператор;

Зарезервированные слова begin и end служат операторными скобками.

Теперь давайте рассмотрим, как же строятся блок-схемы с использованием операторов цикла.

На слайде приведен подробный вариант блок схемы.

А теперь, давайте попробуем применить этот оператор на примере нашей задачи.

FOR а := 1 TO 10 DO

Подойти к машине;

Поднять чемодан на нужный этаж;

Применим это к нашей проблеме:

После того, как он закончил переносить чемоданы, вы с ужасом понимаете, что ошиблись подъездом, а это значит, что чемоданы нужно обратно спустить:

FOR а := 10 DOWNTO 1 DO

Спустить чемодан вниз;

Погрузить чемодан в машину;

Вот и все! Мы заставили грузчика работать, не разгибая спины, а в результате все вернулось на свои места.

Что ж, молодцы, теперь давайте решим еще одну задачу.

Необходимо просуммировать числа от 1 до 50 (включительно) и вывести на экран полученный результат.

Сначала составим математическую модель:

Отлично, теперь составим блок-схему.

Ну а теперь можно написать программу:

For i:=1 to 50 do

Writeln (‘Сумма чисел от 1 до 50 равна ’,S);

Молодцы, хорошо справились.

Систематизация полученных знаний

Ну а теперь можно порешать задачи. Усаживайтесь за компьютеры.

Скажите, есть ли среди вас люди, кому ближе гуманитарные науки? Для вас у меня творческое задание. (Пословицы)


В данном видеоуроке учащиеся начнут знакомиться с реализацией циклических алгоритмов на языкеPascal, а также с операторами языка, которые для этого предусмотрены. Будут рассмотрены операторы циклов с предусловием и постусловием, а также их применение при решении задач.


В данный момент вы не можете посмотреть или раздать видеоурок ученикам

Чтобы получить доступ к этому и другим видеоурокам комплекта, вам нужно добавить его в личный кабинет, приобретя в каталоге.

Получите невероятные возможности




Конспект урока "Программирование циклов: циклы с заданным условием продолжения и окончания работы"

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

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

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

Цикл с предусловием работает так, что в начале проверяется условие продолжения работы цикла, если оно выполняется, то выполняется тело цикла, затем снова проверяется условие цикла. Так продолжается до тех пор, пока выполняется условие цикла. Как только условие цикла перестаёт выполнятся, цикл завершает свою работу и начинают выполнятся команды, следующие после него. Если же условие цикла не выполняется изначально, то тело цикла не выполняется вообще.


Блок-схема цикла с предусловием

Описание цикла с предусловием

Задача: Написать программу, которая определяет, есть ли среди цифр натурального числа n цифра k. n и k вводятся с клавиатуры. 1 ≤ n ≤ 2 000 000 000.

Для решения задачи мы будем проверять правую цифру числа n, в случае если она не равна k мы будем убирать эту цифру. Так будет продолжаться до тех пор, пока мы не найдём цифру равную k или пока цифр не останется.

Напишем программу для решения задачи. Назовём её цифра. Для работы программы нам потребуются переменные n и k. Т. к. 1 ≤ n ≤ 2 000 000 000, зададим n принадлежащим к типу integer. Так как переменная k будет хранить всего одну цифру, то есть будет принимать значения в диапазоне от 0 до 9, для её хранения нам будет достаточно типа byte.

program cifra;

writeln ('Программа, определяющая присутствие цифры k в натуральном числе n.');

while (n>0) and (n mod 10<>k) do

n:=n div 10;

then write ('k присутствует в n.')

else write ('k отсутствует в n.');

Программа для решения задачи

Запустим программу на выполнение. Зададим n = 7085 и k = 8. Цифра 8 действительно присутствует в числе 7085.


Снова запустим программу на выполнение и зададим n = 123, а k = 4. В числе 123 действительно нет такой цифры.


Программа работает правильно. Задача решена.

Второй тип циклов, который мы сегодня рассмотрим, это циклы с постусловием. Этот цикл работает так, что в начале выполняется тело цикла, а затем проверяется его условие. Если условие цикла не выполняется, то вновь будет выполнено тело цикла, а затем снова будет проверено его условие. Так будет продолжаться до тех пор, пока не выполнится условие цикла. Как только условие цикла выполнится, он завершит свою работу и начнут выполняться команды, следующие после него. Отличительная особенность цикла с постусловием состоит в том, что тело цикла в любом случае выполнится хотя бы один раз, в отличии от цикла с предусловием.


Блок-схема цикла с постусловием

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

Описание цикла с постусловием

Задача: Написать программу, которая выводит количество шагов необходимых для подтверждения гипотезы Коллатца, для заданного натурального числа n. Число n вводится с клавиатуры и находится на промежутке от 2 до 10 000. Для заданного промежутка чисел эта гипотеза уже подтверждена.

Рассмотрим гипотезу Коллатца. Она названа по имени математика, который её выдвинул. Возьмём любое натуральное число. Если оно чётное – разделим его на 2. Если же число нечётное – умножим его на 3 и прибавим 1. Повторим эти же действия над результатом и так далее… Гипотеза Коллатца заключается в том, что какое бы натуральное число мы не взяли изначально, через некоторое количество шагов в результате мы получим 1.

Составим блок-схему алгоритма решения задачи. В начале программы мы считаем число n, введённое пользователем. После этого переменной которая считает количество шагов – назовём её step – присвоим значение 0, так как ни одного шага ещё не было сделано. Запишем условный оператор, который будет проверять является ли число n чётным. Для того чтобы это проверить нужно вычислить остаток от его деления на 2. Если он равен нулю, то число является чётным, следовательно, мы должны разделить его на 2, то есть присвоить переменной n её собственное значение, делённое на 2. В противном случае, если остаток от деления n на 2 не равен нулю, то число является нечётным, и мы умножим его на 3 и прибавим к нему 1. После мы должны увеличить значение счётчика шагов – step на 1. Теперь запишем блок ветвления с условием подтверждения гипотезы, то есть n = 1. Если это условие не выполняется, нам необходимо выполнить ещё один шаг вычислений, то есть мы вернёмся к выполнению предыдущего блока ветвления. Если же n равно единице, то гипотеза подтверждена и цикл завершит свою работу. После завершения работы цикла, мы должны вывести на экран количество шагов – значение переменной step. На этом наш алгоритм завершит свою работу.


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

Напишем программу по составленной блок-схеме. Назовём её collatz. Для работы программы нам потребуется 2 переменные: n и step, так как это натуральные числа и n находится на промежутке от 2 до 10 000 – они будут принадлежать к целочисленному типу integer.

program collatz;

writeln ('Программа расчёта количества шагов для подтверждения гипотезы Коллатца для натурального числа n.');

if n mod 2=0

then n:=n div 2

write ('Для подтверждения гипотезы Коллатца для заданного n потребовалось ', step, ' шагов.');

Программа для решения задачи

Запустим программу на выполнение и введём n=19. Гипотеза для числа 19 действительно подтверждается через 20 шагов.


Снова запустим программу на выполнение и введём n=3. Для числа 3 гипотеза действительно подтверждается через 7 шагов.


Программа работает правильно задача решена.

Важно запомнить:

· Цикл с предусловием на языке Pascal записывается так:

· Тело цикла с предусловием выполняется, после проверки его условия, и повторяется до тех пор, пока выполняется условие цикла.

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

· Цикл с постусловием на языке Pascal записывается так:

· Тело этого цикла начинает выполняться до проверки его условия и повторяется до тех пор, пока не выполняется условие цикла.

Читайте также: