Алгоритм в котором определенный набор инструкций повторяется многократно называется

План урока:

Понятие циклического алгоритма

Программирование циклического алгоритма

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

Решение задач с использованием операторов while, repeat, for

Понятие циклического алгоритма

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

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

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

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

Циклы разделяют на три типа в зависимости от метода организации повторений:

  • Цикл, в котором задано условие окончания работы;
  • Когда известно условие продолжения работы цикла;
  • Когда известно число повторений цикла.

1 cikly razdelyaut na tri ripa

Программирование циклического алгоритма

Выбрав среду программирования Паскаль необходимо познакомиться с операторами, с помощью которых можно разработать программу с циклом. Ими являются while, repeat, for. Оператор while был разобран ещё на прошлом уроке, однако забывать о нём нельзя.

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

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

2 cikl s predusloviem

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

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

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

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

3 cikl s postusloviem4 cikl s postusloviem drugoi variant 

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

Этот вид цикла вместо логического условия выполнения использует параметр (счетчик) – специальную переменную, которая на каждом шаге цикла получает очередное значение из определенного диапазона. Цикл повторяется до тех пор, пока не будут перебраны все элементы диапазона. Таким образом, определяя диапазон, мы определяем заранее заданное число повторений.

4 cikl s postusloviem drugoi variant

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

Для программирования циклических алгоритмов и корректного выполнения программ с их использованием, необходимо знать операторы цикла. Чаще всего, в языке Паскаль используют операторы цикла: for, repeat и while. Разберем их подробнее.

Оператор while

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

6 uslovie operatora

Если переводить его дословно, то можно сказать, что он работает по принципу «пока <условие> выполнять действие <оператор 1>», а заканчивается при переходе программы на слово end. Перед выполнением операторов внутри цикла условие обязательно проверяется и уже дальше, в зависимости от его истинности, программа либо выполняет тело цикла, либо переходит к последующим операторам.

Решение задач с использованием оператора while

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

Задача 1. На вход подаются целые числа. До тех пор, пока не будет введено число, которое больше 17, программа должна вывести сумму полученного числа и числа 8. Когда вводимое число будет больше 17, то после выполнения программы цикл завершается.

Решение.

7 kod na vhod podautsya celye chisla

Шаг 1. Для начала необходимо дать программе название.

Шаг 2. Учитывая, что на вход подаётся целое число, указать тип данных, в данном случае – integer.

Шаг 3. Запись командного блока. Нужно написать слово, обозначающее начало, begin.

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

Шаг 5. Запись цикла. Поскольку известно условие окончания работы, для этой задачи необходимо написать «пока a меньше или равно 17» и сделать переход к последующим операторам путём написания составного цикла.

Шаг 6. Первоначальный вывод программы. Необходимо написать то, что программа будет выдавать в первую очередь. В данном случае, она будет запрашивать целое число, запрос так и пишется: «Введите целое число: » .

Шаг 7. Запись необходимых операторов. Используя оператор readln программа считывает данные и переводит курсор на новую строку. Далее она производит операции над поступившими данными.

Шаг 8. Запись суммы. Исходя из условия задачи необходимо сделать так, чтобы программа выводила сумму входящего числа и числа 8. Осуществить это можно используя оператор writeln.

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

Шаг 10. Проверка правильности записи алгоритма. В конце программного блока, после слова end нельзя забывать точку, её обязательно нужно поставить.

Оператор repeat

Оператор цикла repeat until используется для создания циклического алгоритма с постусловием. Его схема выглядит так:

8 operator cikla repeat until

Дословно оператор Паскаля repeat можно перевести как «повторяй <оператор 1>, до <условие>». В зависимости от истинности условия, либо происходит переход на повторение «оператора 1», либо осуществляется выход из цикла к последующим операторам.

Оператор repeat имеет два важных отличия от оператора while:

  • в операторе repeat сначала выполняется тело, а затем проверяется условие;
  • в операторе repeat прописывается условие завершения цикла, тогда как в операторе while – условие его продолжения.

Решение задач с использованием оператора repeat

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

Решение.

9 kod pridumat algoritm i napisat programmu

Шаг 1. Название программы. В данном случае — «задача 1».

Шаг 2. Учитывая, что на вход подаются целые числа, требуется указать тип данных – integer.

Шаг 3. Командный блок. Запись начального слова begin.

Шаг 4. Вывод запроса программы. Поскольку программе необходимо целое число, нужно попросить пользователя ввести его. Осуществляется это с помощью процедуры writeln и текста «Введите целое число, которое больше 1: ».

Шаг 5. Необходимо присвоить переменной i значение 1 для того, чтобы последовательность начиналась с натурального числа.

Шаг 6. Запись цикла. Учитывая, что используется цикл с постусловием, необходимо сначала записать оператор, который будет повторяться, затем увеличить i на 1, чтобы образовывалась последовательность, и уже после этого прописать условие повторения. В данной задаче цикл перестаёт повторяться тогда, когда переменная i принимает значение больше введённого числа, которое является последним членом последовательности.

Шаг 7. Проверка программы на правильность в выводе. В результате своей работы программа должна вывести последовательность натуральных чисел от 1 до n, через пробел.

Оператор for

Используя оператор for можно задать нужное количество повторений одних и тех же действий. По-другому его называют оператором циклов с известным числом повторений. Он имеет два соединительных слова – это to и downto. Различие между ними в том, что при использовании первого к предыдущему значению переменной цикла прибавляется единица, а при написании второго – вычитается единица. Схемы оператора имеют следующий вид:

10 operator for

Дословно его можно перевести как «для переменной в значении от начального к конечному выполнять <оператор 1> ».

Решение задач с использованием оператора for

Рассмотреть пример с оператором for можно при написании короткого алгоритма для следующей задачи.

Задача 1. Напишите на одном из языков программирование алгоритм, который выводит квадраты чисел от 1 до 10.

Решение.

11 reshenie zadach s ispolzovaniem operatora for

Шаг 1. Необходимо дать программе название.

Шаг 2. Поскольку на вход числа не подаются, тип указывается в зависимости от данных, которые изначально находятся в программе. В данном случае – это целые числа. 

Шаг 3. Запись блока с командами алгоритма.

Шаг 4. Перебор последовательности чисел осуществляется в цикле for, в котором счетчик i пробегает значения от 1 до 10, а расчет и вывод квадратов осуществляется в процедуре write.

Решение задач с использованием операторов while, repeat, for

Задача 1 Разработать алгоритм программы, которая выведет таблицу умножения чисел от 1 до 10 на 9.

Решение

12 reshenie zadach algoritm programmy

13 razrabotat algoritm programmy

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

Шаг 1. Нужно назвать программу.

Шаг 2. Так как пользователь не вводит никаких данных, то их можно ввести в сам код программы. Тип используемых данных в данном случае – это integer.

Шаг 3. Написание команд. Изначально нужно сделать так, чтобы программа вывела название того, для чего она предназначена. В данной задаче это «Таблица умножения на 9».

Шаг 4. Запись цикла for. С помощью него программа будет последовательно умножать числа от 1 до 10 на 9 и составлять таблицу умножения путём вывода каждого значения по схеме «9x, i, =, p», где i – умножаемое на 9 число, p – результат произведения 9 и i.

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

Цели:

  • Образовательные: Обеспечить усвоение учащимися особенностей
    конструирования циклических алгоритмов.
  • Воспитательные: Воспитание умения свести большую задачу к
    последовательности более мелких, однотипных повторяющихся задач.
  • Развивающие: Развивать умение правильно воспринимать информацию,
    усваивать полученные знания.
  1. Организационный момент.
  2. Вступительная беседа. Постановка проблемы: изучение алгоритмизации для
    развития логического мышления.
  3. Актуализация знаний. Повторение пройденного материала
  4. Ознакомление, разбор материала.
  5. Закрепление материала. Составление блок-схем.
  6. Итог урока. Домашнее задание.
  1. Приветствие учеников.
  2. Актуализация знаний:
  • Какие алгоритмы вы уже знаете?
  • Что называется линейным алгоритмом?
  • Что называется разветвляющимся алгоритмом?
  1. Объяснение нового материала:

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

На предыдущих уроках мы познакомились с алгоритмами двух типов: линейными и
разветвляющимися. Легко заметить, что все алгоритмы, которые мы составляем,
обладают общим свойством: при их выполнении каждое действие совершается один раз
(или вообще не совершается). В жизни, однако, часто встречаются инструкции, в
которых требуется один и тот же набор действий выполнять много раз подряд: “Иди,
пока не придешь” и т.д. Используя только ветвление, такие алгоритмы записать не
удастся.

Для этого нужна новая форма организации действий – цикл. Повторение действий
в алгоритмах называется циклом.

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

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

Любой цикл состоит из нескольких этапов. Это:

  1. Подготовка цикла, в которую входят начальные присвоения;
  2. Тело цикла — команды повторения цикла;
  3. Условие — обязательная часть циклов “До” и “Пока”.

Цикл называется арифметическим, если число повторений цикла известно
заранее или может быть вычислено.

Цикл, как и любая другая алгоритмическая структура, может быть:  

  • записан на естественном языке;
  • изображен в виде блок-схемы;
  • записан на алгоритмическом языке;
  • закодирован на языке программирования.

Блок-схемы базовых структур

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

Рассмотрим алгоритм движения для трех типов циклов.

Цикл ПОКА (число шагов не известно)
Пока нет препятствия
сделать шаг вперед
Завершить цикл;

Цикл ДО (число шагов неизвестно)
Сделать шаг вперед
до встречи с препятствием
Завершить цикл.

Цикл ДЛЯ (число шагов известно)
Для количества шагов менее 100
сделать шаг вперед
Завершить цикл.

Задание № 1: Нужно исправить неверно составленный алгоритм:

На перемене школьник зашел в столовую съесть пирожков, и некто посоветовал
ему воспользоваться алгоритмом

  1. Пока не исчезнет чувство голода повторять:
  2. Купить пирожок
  3. Конец цикла
  4. Съесть пирожок.

Какие строки алгоритма надо поменять местами, чтобы школьник ушел сытым?

Цикл ПОКА

пока <условие>
выполнять
 <тело цикла>

Выполнение цикла ПОКА начинается с проверки условия его окончания. Эту
разновидность цикла называют циклом с предусловием.

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

Цикл ДО

выполнять
<тело цикла >
до <условие>

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

Цикл ДЛЯ

Повторять N  раз
 <тело цикла>

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

Вложенные циклы:

Начало цикла 1
Начало цикла 2
Конец цикла 2
Начало цикла 3
… … …
Начало цикла N
Конец цикла N
Конец цикла 3
Конец цикла 1

  1. Составление блок-схем.

Задача № 1: Ученик в первый день выучил 5 английских слов. В каждый
следующий день он выучивал на 2 слова больше, чем в предыдущий. Сколько
английских слов выучит ученик в 10-ый день занятий? Составьте словесный алгоритм
и блок-схему (тремя способами).

Словесный:

Начало

  1. а=5 (считает слова)
  2. d=1 (считает дни)
  3. если D <= 10, то
    перейти к п. 4, иначе перейти к п.6
  4. а = а + 2
  5. d = d + 1
  6. вывод а
  7. конец

Блок-схемы для циклов “до” и “для” ребята выполняют у доски.

Задача № 2. Составить блок-схемы для нахождения y=x2,
для х=2, 4, 6, 8, 10.

Задачи по теме: “Циклические алгоритмы” находятся в
Приложении1.

  1. Домашнее задание: Составить блок-схемы вычисления суммы N первых
    натуральных чисел (N=3).

Контрольные вопросы.

  1. Какие
    алгоритмы называются разветвляющимися?

  2. В
    каких двух основных формах может быть
    представлена команда ветвления?

  3. Как
    выглядят вложенные команды ветвления?

Лекция 12.

Тема:
«Циклический алгоритм. Алгоритмы
сложной структуры».

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

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

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


параметр цикла – величина, с
изменением которой связано многократное
выполнение цикла;


начальное и конечное
значения
параметров цикла;


шаг цикла – значение, на которое
изменяется параметр цикла.

Обобщенная схема циклического алгоритма

цикл
«до» цикл «пока» цикл «для»

цикл «до»
проработает Цикл «пока» может

хотя бы 1 раз ни
разу не проработать

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

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

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

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

1.
цикл «до»
2. цикл «пока»


нц нц

если
условие пока условие

то
серия то серия

иначе
кон кц

все

кц

Задача
1.

Составить
таблицу значений функции у=х2+2х-5
для аргумента ч, изменяющегося от -5 до
5 с

шагом 0,5.

1).

алг
Составление таблицы значений функции
(вещ х, у)

арг
х

рез
х, у

нач

нц
х:=-5

если

то
у:=х2+2х-5

вывести
на печать х, у

х:=х+0,5

иначе
кон

все

кц

кон

2).

алг
Составление таблицы значений функции

(вещ
х, у)

арг
х

рез
х, у

нач
х:=-5

пока

нц
у:=2х-5

вывести
на печать

х:=х+0,5

кц

кон

Задача
2.
Вычислить множество значений функции
у=х2+в для х , изменяющегося от -10
до 10 с шагом 2, при в=5.

1).алг
Вычисление множества значений функции

(цел х, у)

арг
х

рез
у

нач

в:=5;
х:=-10

нц
если

то
у:=х2

вывести на печать у

х:=х+2

иначе
кон

все

кц

кон

2)
алг Вычисление множества значений
функции

(цел
х, у)

арг
х

рез
у

нач

в:=5;
х:=-10

пока

нц

у:=х2

вывести на печать у

х:=х+2

кц

кон

Задача
3
. Вычислить сумму членов числовой
последовательности, которая задана в
виде в1, в2,….,вn,
где n – число членов
ряда.

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

Следующее
описание:

  1. Начало
    алгоритма

  2. Ввод
    количества членов послед N.

  3. Подготовка
    цикла S=0, I=1.

  4. Ввод
    очередного члена послед. Bi.

  5. Накопление
    суммы и вычисление следующего значения
    параметра цикла: S=S+Bi,
    I=I+1

  6. Если

    ,
    то перейти к шагу 4, шагу 7.

  7. Вывод
    значения суммы S.

  8. Конец
    алг.

1
способ

а
лг

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

(вещ
S)

рез
S

нач
нат i, N;
вещ Bi;

ввести
значение N

нц
если

то
ввести значение Bi


S:=S+Bi


I:=i+1

иначе
кон

все

кц

вывести
на печать значение S

кон

2
способ

алг
Вычисление суммы числовой последовательности

(вещ
S)


рез
S

нач
нат N, i,;
вещ Bi;

ввести
значение N

S:=0;
i:=1

пока

нц

ввести значение Bi

S:=S+Bi

I:=i+1

кц

вывести
на печать значение S

кон

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Слайд 1Алгоритм циклической структуры

Алгоритм циклической структуры


Слайд 2Циклическим называется алгоритм, который содержит участок, выполняющийся многократно, каждый раз с новыми

значениями переменных, изменяющихся по одним и тем же законам.

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

Циклическим называется алгоритм, который содержит участок, выполняющийся многократно, каждый раз с новыми значениями переменных, изменяющихся по одним и


Слайд 3 В рассмотрении циклического алгоритма следует выделить несколько понятий.

Тело цикла –

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

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


Слайд 4
Каждый цикл должен содержать следующие необходимые элементы:
первоначальное

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

Циклы бывают двух видов – с предусловием и с постусловием.

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


Слайд 5Цикл с предусловием (ПОКА)
В цикле с предусловием сначала проверяется условие входа в цикл,

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

 Циклический алгоритм с предусловием в общем виде

Цикл с предусловием (ПОКА)В цикле с предусловием сначала проверяется условие входа в цикл, а затем выполняется тело цикла, если


Слайд 6Цикл с постусловием ( ДО )
В цикле с постусловием сначала выполняется тело цикла,

а потом проверяется условие.

Циклический алгоритм с постусловием в общем виде

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

Цикл с постусловием ( ДО )В цикле с постусловием сначала выполняется тело цикла, а потом проверяется условие.Циклический алгоритм с


Слайд 7Пример 1
Даны числа a и b . Известно, что число

a  меняется от -10 до 10 с шагом 5,  b=7 и не изменяется. Вычислить сумму R  и разность S  чисел  a и b для всех значений a и b.
Решение
Число a меняется от -10 до 10 с шагом 5. Это означает, что число a является переменной цикла. Сначала a равно -10 – это первоначальное задание переменной цикла. Далее a будет изменяться с шагом 5, и т.д. пока не будет достигнуто значение 10 – это соответствует изменению переменной цикла. Итерации надо повторять, пока выполняется условие a<=10. Итак,  будет принимать следующие значения: -10, -5, 0, 5, 10. Число b не будет являться переменной цикла, т.к.  и не изменяется по условию задачи. Результат блок-схемы (с предусловием) представлен на рисунке.

Пример 1  Даны числа a и b . Известно, что число a  меняется от -10 до 10 с


Слайд 8Блок-схема для примера 1 (с предусловием)
Тело цикла состоит

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

Блок-схема для примера 1 (с предусловием)   Тело цикла состоит из нескольких действий: вычисление суммы, вычисление


Слайд 9 Данная задача может быть сделана и с циклом

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

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


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

если по условию задачи требуется сравнить полученные значения суммы и разности.
Дополнение к задаче 1: Вычислить сумму  S и R разность  чисел a и b. Сравнить полученные значения  S и R и указать большее из них.
В этом случае цикл можно реализовать как с предусловием, так и с постусловием, а сравнение суммы и разности добавится внутрь тела цикла, т.к. следует сравнить между собой все полученные суммы и разности. Организация самого цикла останется прежней.
Блок схема

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


Слайд 13Цикл с параметром (со СЧЕТЧИКОМ)
Параметр цикла определяет число повторений цикла. Для

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

ПЦ – подготовка цикла
ПД – подготовка данных
ПУ – проверка условий

Цикл с параметром (со СЧЕТЧИКОМ)Параметр цикла определяет число повторений цикла. Для параметра цикла указывается его начальное значение,


Слайд 14Пример
Вычислить значения функции вида y = f(x) при изменении x от

начального значения xn до конечного значения xk с постоянным шагом h.
Эта задача решается с помощью цикла с заданным количеством повторений. Число повторений определяется по формуле:
n = (xk — xn) / h + 1.
Решение

ПримерВычислить значения функции вида y = f(x) при изменении x от начального значения xn до конечного значения


Слайд 16
Задачи по теме «Цикл»

1. Даны целые числа K и

N (N > 0). Вывести N раз число K.
2. Даны два целых числа A и B (A < B). Вывести в порядке возрастания все целые числа, расположенные между A и B (включая сами числа A и B), а также количество N этих чисел.
3. Даны два целых числа A и B (A < B). Вывести в порядке убывания все целые числа, расположенные между A и B (не включая числа A и B), а также количество N этих чисел.
4. Дано вещественное число — цена 1 кг конфет. Вывести стоимость 1,2, … , 10 кг
5. Даны два целых числа A и B (A < B). Найти сумму всех целых чисел от A до B включительно.
6. Даны два целых числа A и B (A < B). Найти произведение всех целых чисел от A до B включительно.
7. Даны два целых числа A и B (A < B). Найти сумму квадратов всех целых чисел от A до B включительно.

Задачи по теме «Цикл» 1. Даны целые числа K и N (N > 0). Вывести


Слайд 17Список использованных источников
http://www.intuit.ru/studies/courses/16740/1301/lecture/25625?page=1
http://edufuture.biz/index.php

Список использованных источниковhttp://www.intuit.ru/studies/courses/16740/1301/lecture/25625?page=1http://edufuture.biz/index.php


§ 2.4. Основные алгоритмические конструкции

Информатика. 8 класса. Босова Л.Л. Оглавление


Ключевые слова:

  • следование
  • ветвление
  • повторение
  • линейные алгоритмы
  • разветвляющиеся алгоритмы
  • циклические алгоритмы

Человеку в жизни приходится решать множество различных задач. Решение каждой из них описывается своим алгоритмом, и разнообразие этих алгоритмов очень велико. Вместе с тем для записи любого алгоритма достаточно трёх основных алгоритмических конструкций (структур): следования, ветвления, повторения. Это положение выдвинул и доказал Э. Дейкстра в 70-х гг. прошлого века.

§ 2.4. Основные алгоритмические конструкции

Эдсгер Вибе Дейкстра (1930-2002) — выдающийся нидерландский учёный, идеи которого оказали огромное влияние на развитие компьютерной индустрии.


2.4.1. Следование. Основные алгоритмические конструкции

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

Графическое представление алгоритмической конструкции «следование» приведено на рис. 2.8.

§ 2.4. Основные алгоритмические конструкции

Пример 1. Линейный алгоритм приготовления отвара шиповника.

§ 2.4. Основные алгоритмические конструкции

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

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

§ 2.4. Основные алгоритмические конструкции

Пример 3. Дан фрагмент линейного алгоритма:

  • х: =2
  • у :=х*х
  • у:=у*у
  • х:=у*х
  • s:=х+у

Выясним, какое значение получит переменная s после выполнения этого фрагмента алгоритма. Для этого составим таблицу значений переменных, задействованных в алгоритме:

§ 2.4. Основные алгоритмические конструкции

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

Пример 4. Некоторый исполнитель может выполнять над целыми ЧЧ0, числами кроме операций сложения, вычитания, умножения и деления ещё две операции: с помощью операции div вычисляется целое частное, с помощью операции mod — остаток.

  • Например: 5 div 2 = 2; 5 mod 2 = 1; 2 div 5 = 0; 2 mod 5 = 2.

Покажем, как с помощью этих операций можно реализовать алгоритм работы кассира, выдающего покупателю сдачу (s) наименьшим количеством банкнот по 500 (k500), 100 (k100), 50 (k50) и 10 (k10)рублей.

  • k500:=s div 500
  • s:=s mod 500
  • k100:=s div 100
  • s:=s mod 100
  • k50:=s div 50
  • s:=s mod 50
  • k10:=s div 10

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

Ознакомьтесь с имеющимся в Единой коллекции цифровых образовательных ресурсов модулем для коллективной работы «Линейные алгоритмы» (217039). Совместно с друзьями постарайтесь составить алгоритмы для имеющихся в модуле задач. Пройдите тестирование.

2.4.2. Ветвление. Основные алгоритмические конструкции

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

Блок-схема ветвления представлена на рис. 2.9. Каждая ветвь может быть любой степени сложности (рис. 2.9, а), а может вообще не содержать предписаний (рис. 2.9, б).

§ 2.4. Основные алгоритмические конструкции

На алгоритмическом языке команда ветвления записывается так:

§ 2.4. Основные алгоритмические конструкции

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

А<В — А меньше В;
А<=В — А меньше или равно В;
А=В — А равно В;
А>В — А больше В;
А>=В — А больше или равно В;
А<>В — А не равно В.

Здесь буквы А и В можно заменять на любые переменные, числа и арифметические выражения. Приведённые операции сравнения допускаются и для символьных переменных.

Пример 7. Алгоритм вычисления функции ?(x) = |х| для произвольного числа х.

§ 2.4. Основные алгоритмические конструкции

Обратите внимание на второй блок этой блок-схемы. В нём представлены имена и типы величин (данных), обрабатываемых в алгоритме.

Условия, состоящие из одной операции сравнения, называются простыми. В качестве условий при организации ветвлений можно использовать и составные условия. Составные условия получаются из простых с помощью логических связок and (и), or (или), not (не): and означает одновременное выполнение всех условий, or — выполнение хотя бы одного условия, a not означает отрицание условия, записанного за словом not.

Пример 8. Алгоритм определения принадлежности точки х отрезку [а, b]. Если точка х принадлежит данному отрезку, то выводится ответ ДА, в противном случае — НЕТ.

§ 2.4. Основные алгоритмические конструкции

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

Пример 9. Алгоритм, в котором переменной У присваивается значение большей из трёх величин А, Б и С.

§ 2.4. Основные алгоритмические конструкции

Пусть А = 10, В = 30 и С = 20. Тогда процесс выполнения алгоритма можно представить в следующей таблице:

§ 2.4. Основные алгоритмические конструкции

Пример 10. Алгоритм решения линейного уравнения ах + b = 0.

§ 2.4. Основные алгоритмические конструкции

Пример 11. Исполнитель Робот может выполнять ту или иную последовательность действий в зависимости от выполнения следующих простых условий:

справа свободно
слева свободно
сверху свободно
снизу свободно
клетка чистая
справа стена
слева стена
сверху стена
снизу стена
клетка закрашена

Также Робот может действовать в зависимости от выполнения составных условий.

Подумайте, в какую клетку переместится Робот из клетки, обозначенной звёздочкой, при выполнении следующего фрагмента алгоритма.

если справа свободно или снизу свободно
то закрасить
все
если справа стена
то влево
все
если слева стена
то вправо
все

§ 2.4. Основные алгоритмические конструкции

Ознакомьтесь с размещённым в Единой коллекции цифровых образовательных ресурсов модулем для коллективной работы «Алгоритмы с ветвящейся структурой» (217044). Совместно с друзьями постарайтесь составить алгоритмы для имеющихся в модуле задач. Пройдите тестирование.

Повторение. Основные алгоритмические конструкции

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

В зависимости от способа организации повторений различают три типа циклов:

  • 1) цикл с заданным условием продолжения работы;
  • 2) цикл с заданным условием окончания работы;
  • 3) цикл с заданным числом повторений.

Цикл с заданным условием продолжения работы (цикл-ПОКА, цикл с предусловием)

Логика работы этой конструкции описывается схемой, показанной на рис. 2.10.

§ 2.4. Основные алгоритмические конструкции

На алгоритмическом языке эта конструкция записывается так:

нц пока <условие>
    <тело цикла (последовательность действий)>
кц

Выполняется цикл-ПОКА следующим образом: 1) проверяется условие (вычисляется значение логического выражения); 2) если условие удовлетворяется (Да), то выполняется тело цикла и снова осуществляется переход к проверке условия; если же условие не удовлетворяется, то выполнение цикла заканчивается. Возможны случаи, когда тело цикла не будет выполнено ни разу.

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

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

Пример 13. Правее Робота (клетка со звёздочкой) расположен коридор неизвестной длины. Необходимо, чтобы Робот закрасил все клетки этого коридора.

§ 2.4. Основные алгоритмические конструкции

Пока будет выполняться условие справа свободно, Роботу следует выполнять команды:

  • вправо
  • закрась

Соответствующий алгоритм для Робота будет иметь вид:

  • нц пока справа свободно
  •   вправо
  •   закрась
  • кц

Пример 14. Требуется, не пользуясь операцией деления, получить частное q и остаток r от деления натурального числа х на натуральное число у.

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

§ 2.4. Основные алгоритмические конструкции

Исполним этот алгоритм для х = 23 и у = 5.

§ 2.4. Основные алгоритмические конструкции § 2.4. Основные алгоритмические конструкции

Ознакомьтесь с размещённым в Единой коллекции цифровых образовательных ресурсов модулем для коллективной работы «Циклические алгоритмы с предусловием» (217033). Совместно с друзьями постарайтесь составить алгоритмы для имеющихся в модуле задач. Пройдите тестирование.


Цикл с заданным условием окончания работы (цикл-ДО, цикл с постусловием)

Логика работы этой конструкции описывается схемой, показанной на рис. 2.11.

§ 2.4. Основные алгоритмические конструкции

На алгоритмическом языке эта конструкция записывается так:

нц
  <тело_цикла (последовательность действий)>
кц при <условие>

Выполняется цикл-ДО следующим образом: 1) выполняется тело цикла; 2) проверяется условие (вычисляется значение логического выражения); если условие не удовлетворяется («Нет»), то снова выполняется тело цикла и осуществляется переход к проверке условия; если же условие удовлетворяется, то выполнение цикла заканчивается. В любом случае тело цикла будет выполнено хотя бы один раз.

Пример 15. Алгоритм по выучиванию наизусть четверостишия.

алг четверостишие
нач
  нц
    прочитать четверостишие по книге 1 раз
    рассказать четверостишие
  кц при не сделал ошибку кон

Пример 16. Вычислим значение переменной b согласно следующему алгоритму:

§ 2.4. Основные алгоритмические конструкции

Составим таблицу значений переменных, задействованных в алгоритме:

§ 2.4. Основные алгоритмические конструкции

Ответ: b = 255.

Пример 17. Спортсмен приступает к тренировкам по следующему графику: в первый день он должен пробежать 10 км; каждый следующий день следует увеличивать дистанцию на 10% от нормы предыдущего дня. Как только дневная норма достигнет или превысит 25 км, необходимо прекратить её увеличение и далее пробегать ежедневно ровно 25 км. Начиная с какого дня спортсмен будет пробегать 25 км?

Пусть х — количество километров, которое спортсмен пробежит в некоторый i-й день. Тогда в следующий (i + 1)-й день он пробежит х + 0,1х километров (0,1х — это 10% от х).

§ 2.4. Основные алгоритмические конструкции

Ознакомьтесь с размещённым в Единой коллекции цифровых образовательных ресурсов модулем для коллективной работы «Циклические алгоритмы с постусловием» (217037). Совместно с друзьями постарайтесь составить алгоритмы для имеющихся в модуле задач. Пройдите тестирование.


Цикл с заданным числом повторений (цикл-ДЛЯ, цикл с параметром)

Логика работы этой конструкции описывается схемой, показанной на рис. 2.12.

§ 2.4. Основные алгоритмические конструкции

На алгоритмическом языке эта конструкция записывается так:

нц для i от i1 до i2 шаг R
  <тело цикла (последовательность действий)>
кц

В цикле-ДЛЯ всегда есть параметр цикла — величина целого типа, изменяющаяся в ходе выполнения цикла от своего начального значения il до конечного значения i2 с шагом R.

Выполняется цикл-ДЛЯ следующим образом: 1) параметру цикла присваивается начальное значение; 2) параметр цикла сравнивается с конечным значением; если параметр цикла не превышает конечное значение, то выполняется тело цикла, увеличивается значение параметра цикла на шаг и снова осуществляется проверка параметра цикла; если же параметр цикла превышает конечное значение, то выполнение цикла заканчивается.

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

В отличие от двух предыдущих конструкций (цикл-ПОКА, цикл-ДО) цикл-ДЛЯ имеет строго фиксированное число повторений, что позволяет избежать зацикливания, т. е. ситуации, когда тело цикла выполняется бесконечно.

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

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

Пример 19. Составим алгоритм вычисления степени с натуральным показателем n для любого вещественного числа а.

По определению:

§ 2.4. Основные алгоритмические конструкции

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

§ 2.4. Основные алгоритмические конструкции

Исполним этот алгоритм для а = 4 и n = 3.

§ 2.4. Основные алгоритмические конструкции

Пример 20. Для исполнителя Робот цикл с известным числом повторений реализуется с помощью следующей конструкции:

нц <число повторений> раз
  <тело цикла>
кц

Так, если правее Робота не встретится препятствий, то, выполнив приведённый ниже алгоритм, он переместится на пять клеток вправо и закрасит эти клетки:

алг
нач
  нц 5 раз
    вправо; закрасить
  кц
кон

Ознакомьтесь с размещённым в Единой коллекции цифровых образовательных ресурсов модулем для коллективной работы «Циклические алгоритмы с параметром» (217024). Совместно с друзьями постарайтесь составить алгоритмы для имеющихся в модуле задач. Пройдите тестирование.


Основные алгоритмические конструкции. Самое главное

Для записи любого алгоритма достаточно трёх основных алгоритмических конструкций (структур): следования, ветвления, повторения.

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

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

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

  • 1) цикл с заданным условием продолжения работы;
  • 2) цикл с заданным условием окончания работы;
  • 3) цикл с заданным числом повторений.

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

2. Какие алгоритмы называются линейными?

3. Приведите пример линейного алгоритма: из повседневной жизни.

4. Запишите линейный алгоритм, исполняя который Робот нарисует на клетчатом поле следующий узор и вернётся в исходное положение.

5. По алгоритму восстановите формулу. a1:=1/x а2:=a1/x а3:=а2/ха4:=а3/хy:=a1+a2у:=у+а3у:=у+а4

6. Какое значение получит переменная у после выполнения фрагмента алгоритма? х:=1 у:=2*ху:=у+3 у: =у*х у:=у+4 у:=у*х у:=у+5
Восстановите формулу вычисления и для произвольного значения X.

7. Для заданного количества суток (tfh) требуется определить количество часов (h), минут (m) и секунд (с).

8. Известно, что 1 миля = 7 вёрст, 1 верста = 500 саженей, 1 сажень = 3 аршина, 1 аршин = 28 дюймов, 1 дюйм = 25,4 мм. Пользуясь этой информацией, составьте линейный алгоритм перевода расстояния X миль в километры.

9. Исходное данное — целое трёхзначное число х. Выполните для х = 125 следующий алгоритм.а:=х div 100b:=x mod 100 div 10с:=х mod 10s:=a+b+cЧем является результат s этого алгоритма?

10. Определите значение целочисленных переменных х и у после выполнения фрагмента алгоритма.
х:=336y: =8х:=х div у у:=х mod у

11. Какие алгоритмы называют разветвляющимися?

12. Приведите пример разветвляющегося алгоритма из повседневной жизни.

13. Дополните алгоритм из примера 9 так, чтобы с его помощью можно было найти наибольшую из четырёх величин А, B, С и D.

14. Составьте алгоритм, с помощью которого можно определить, существует ли треугольник с длинами сторон а, b, c.

15. Составьте алгоритм, с помощью которого можно определить, является ли треугольник с заданными длинами сторон а, b, с равносторонним.

16. Составьте алгоритм возведения чётного числа в квадрат, а нечётного — в куб.

17. Какая задача решается с помощью следующего алгоритма?

18.  Составьте блок схему алгоритма определения количества чётных чисел среди заданных целых чисел А, В и С.

19. Запишите алгоритм определения принадлежности точки X отрезку [А; В] (пример 8) с использованием комбинации из двух ветвлений.

20. Запишите алгоритм правописания приставок, начинающихся с буквы «з» («с»).

21. Известно, что 31 января 2011 года приходится на понедельник. Какие значения должны быть присвоены литерной переменной у в алгоритме, определяющем день недели для любого числа (chislo) января 2011 года?

22. Даны две точки на плоскости. Определите, какая из них находится ближе к началу координат.

23. Определите, есть ли среди цифр заданного целого трёхзначного числа одинаковые.

24. Приведите примеры циклического алгоритма.

25. Напишите алгоритм под управлением которого Робот обойдет прямоугольную область, обнесенную стеной, по периметру и закрасит угловые клетки. Размеры области неизвестны.

26. Запас рыбы в пруду оценён в А тонн. Ежегодный прирост рыбы составляет 15%. Ежегодный план отлова — В тонн. Наименьший запас рыбы составляет С тонн. (Запас ниже С тонн уже не восстанавливается.) Составьте блок-схему алгоритма для подсчёта количества лет, в течение которых можно выдерживать заданный план.

27. Дана последовательность 5, 9, 13, 17, … . Составьте блок-схему алгоритма для подсчёта числа слагаемых, сумма которых равна 324.

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

29. Сумма 10 ООО рублей положена в сберегательный банк, при этом прирост составляет 5% годовых. Составьте алгоритм, определяющий, через какой промежуток времени первоначальная сумма увеличится в два раза.

30. Одноклеточная амёба каждые три часа делится на 2 клетки. Составьте алгоритм вычисления времени, через которое будет X амёб.

31. Определите значения переменных n и m после выполнения алгоритма


§ 2.3. Объекты алгоритмов

§ 2.4. Основные алгоритмические конструкции

§ 3.1. Общие сведения о языке программирования Паскаль


Понравилась статья? Поделить с друзьями:
  • Алговир спрей германия инструкция на русском языке
  • Алглюкозидаза альфа инструкция по применению
  • Алгис таблетки инструкция по применению
  • Алгестин гель инструкция по применению
  • Алвипсал мазь инструкция по применению цена отзывы аналоги