Работа с циклами в с конспект

Обновлено: 05.07.2024

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

Циклы, их виды

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

Каждое повторение действий в алгоритмах – итерация.

Выделяют 3 основных вида повторяющихся структур:

  • с условием выполнения цикла (предусловием);
  • с критерием завершения (постусловием);
  • с указанным числом повторений цикла.

Описывать подобные процессы удобно схематично или при помощи команд.

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

Описание цикла с условием двумя способами:

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


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


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

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

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




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

· Организация цикла с заданным числом повторений.

· Цикл с заданным числом повторений в программе.

Рассмотрим алгоритм чтения книги, в которой 100 страниц:

· прочесть 2 страницы,

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

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


Блок-схема цикла с параметром.

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

for := to/downto do

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

Задача: Написать программу, которая возводит число k в целую положительную степень n.

Составим блок-схему алгоритма решения задачи. В начале пользователь вводит значения k и n. Обозначим результат выполнения программы r и присвоим ему в начале значение k 0 , то есть 1. В дальнейшем мы будем умножать его на k необходимое количество n раз. Напишем для этого цикл с параметром. Назовём параметр i, начальным значением параметра будет 1, а конечным – n. Так как шаг будет равен 1, указывать его не требуется. В цикле будет следовать всего один блок, в котором переменной r присваивается его значение, умноженное на n. Таким образом с помощью цикла мы умножим r на k n раз. После цикла нам достаточно вывести на экран значение r. На этом наша программа завершит работу.


Напишем программу по составленной блок-схеме. Назовём её stepen. В разделе описания переменных объявим переменные n и i. n целое по условию задачи, а i – параметр цикла, значит обе они будут целочисленного типа byte. Дальше укажем переменные k и r, так как в условии задачи не сказано, что k целое, они будут принадлежать к вещественному типу real.

program stepen;

writeln ('Программа вычисления значения k^n.');

for i:=1 to n do

Исходный код программы

Запустим программу на выполнение. Введём k = 2, а n = 10.


Снова запустим программу и введём k = 0.5, а n = 2.


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

Циклы также, как и ветвления, могут содержать другие циклы. Такие циклы называются вложенными.

Задача: Вычислить значение суммы 1 1 + 2 2 + 3 3 + … + n n . Значение n пользователь вводит с клавиатуры. 2 ≤ n ≤ 10.

Запишем блок-схему алгоритма решения задачи. В начале пользователь вводит с клавиатуры значение n. Обозначим результат выражения s, и сразу учтём в нём первое слагаемое. Так, как 1 1 = 1, присвоим s значение 1. Далее будет следовать цикл для i от 2 до n. В нём нам нужно расcчитать значение очередного слагаемого, то есть i i и добавить его к результату выражения. Обозначим очередное слагаемое p, и присвоим ему значение i 0 , то есть 1. Дальше будет следовать вложенный цикл для j от 1 до i. Это будет цикл для расчёта значения i i . В нём будет всего один блок, присваивания переменной p её значения умноженного на i. После внутреннего цикла нам достаточно присвоить s её значение, увеличенное на p. После внешнего цикла нужно вывести на экран значение переменной s. На этом наша программа завершит свою работу.


Напишем программу по составленной блок-схеме. Назовём её summa. В программе на понадобится 5 переменных. Переменные s и p будут хранить значение итоговой суммы и отдельных слагаемых, они будут принадлежать к целочисленному типу integer. Так как n по условию задачи не превышает 9, а i и j изменяются в диапазоне от 1 до n, для их хранения нам будет достаточно типа byte.

program summa;

s, p, i, j, n: integer;

for i:=2 to n do

for j:=1 to i do

Исходный код программы

Запустим программу на выполнение. Введём n = 5.


1 1 + 2 2 + 3 3 + 4 4 + 5 5 = 3413. Программа работает правильно. Задача решена.

Задача: Написать программу для перевода целых положительных чисел из двоичной системы счисления в десятичную.

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

10102 = 0 × 2 0 + 1 × 2 1 + 0 × 2 2 + 1 × 2 3

Составим блок-схему алгоритма решения задачи. Число в двоичной системе счисления будем хранить в виде строки, назовём её s. В начале пользователь вводит её значение с клавиатуры. Обозначим число в десятичной системе счисления d. Так как мы ещё не рассчитали его значение, присвоим ему значение 0. Так же нам понадобится множитель слагаемых суммы, обозначим его m, присвоим ему начальное значение 2 0 , то есть 1. Мы будем рассчитывать сумму начиная с цифры, младшей по разряду. Запишем цикл для i от значения равного длине s до 1. Он будет начинаться с преобразования i-того символа строки s, в число равное соответствующей цифре двоичного числа, назовём её c. Дальше присвоим d:=d+c*m. После этого присвоим m его значение, умноженное на основание системы счисления, то есть 2. После завершения работы цикла выведем на экран значение переменной d. На этом наша программа завершит свою работу.


program BinToDec;

d, i, m, c, e: integer;

writeln ('Программа перевода чисел из двоичной системы счисления в десятичную. Введите двоичное число.');

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

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

Для повторения некоторого множества команд несколько раз можно использовать оператор do. while.

Главной особенностью оператора do. while является тот факт, что тело цикла, заключенное между do и while выполняется хотя бы один раз, т.е. вначале выполняется тело цикла, а затем идет анализ условия.

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

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

В данном примере инициализирована переменная A:=0;. Это сделано потому, что вначале идет анализ равна она 9 или нет. Если не равна, то выполняется тело цикла. Смысл рассматриваемого оператора заключается в следующем:

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

for (A = 1; A означает A=A+1 */

В этом примере A хранит состояние счетчика цикла. Первоначально A содержит 1. Выполняется оператор printf("Zifra %d\n",A). Далее значение A увеличивается на единицу. Идет анализ A

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

for (A = 5; A >= 1; A--) /* A-- означает A=A-1 */

Существует множество модификаций оператора for. например:

- пустой оператор - для временной задержки:

- использование различного шага:

Рассмотрим пример, в котором инициализируются две переменные и каждая из которых, изменяется после итерации цикла:

for (y = 1,t=f; y означает t=t+n*/

printf(" %3d %7d\n",y,t);

Далее рассмотрим операторы перехода из одной части программы в другую).

Оператор goto позволяет передавать управление на любую строку программы. Для этой цели используется метка. Пример.

label_1:/* метка */ printf("? \n");

if (A != 'y') goto label_1; >

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

Для прерывания цикла по некоторому условию можно использовать оператор break. Пример .

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

if (A == 'y') continue;

printf(" Работает %c\n",A);

Для прерывания программы также используются операторы return() и exit().

Краткое описание документа:

Язык C++ – это язык программирования общего назначения, цель которого – сделать работу серьёзных программистов более приятным занятием. За исключением несущественных деталей, язык C++является надмножеством языка С. Помимо возможностей, предоставляемых языком С, язык C++ обеспечивает гибкие и эффективные средства определения новых типов.

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

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

  • Познакомить с новыми понятиями “цикл”, “ переменные цикла”, “тело цикла” и подвести учащихся к понятию о существовании различных видов циклических структур в программировании.
  • 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. Запись команды повторения, в которой параметр уменьшается на единицу:

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