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

План-конспект урока в 8 классе

Тема: Составление и реализация алгоритмов с ветвлением и повторением.

Цели обучения:

Закрепление материала предыдущих уроков;

Формирование навыков составления алгоритмов с ветвлением и повторением;

Развитие логического и алгоритмического мышления;

Тип урока: урок закрепления знаний, навыков и умений.

Учащиеся должны знать: операторы ветвления и повторения.

Учащиеся должны уметь: реализовывать и составлять программы с использованием операторов ветвления и повторения.

Программное и методическое обеспечение урока: система программирования Pascal ABC, учебное пособие «Информатика. 8 класс», §4.

1. Актуализация знаний и мотивация учащихся на изучение учебного материала (фронтальная форма работы). Решение задач с учащимися:

Задача 1.

var a,f,s: real;

writeln("Введите величину силы тяги (н): ");

writeln("Введите расстояние (м): ");

writeln("Совершенная работа силы тяги ",a:5:2," Дж");

Задача 2.

writeln("Введите число: ");

if k=0 then begin

writeln("Квадратный корень из числа: ",k1:5:2);

writeln("Обратное число: ",k1:9:6);

2. Составление и реализация алгоритмов (Объяснительно-иллюстративный метод обучения в сочетании с частично-поисковым методом, фронтальная и индивидуальная формы работы).

Задача 1.

var m,n,o,min: byte;
{для значения роста (в см) достаточно 1 байта памяти}

{в этом случае рост может принимать значения от 0 до 255}

writeln("Введите рост трех подружек(см)");

write("Маша: "); readln(m);

write("Наташа: "); readln(n);

write("Оля: "); readln(o);

min:= m; {самая маленькая - Маша}

if o min then min:=o; {самая маленькая - Оля}

write("Самая маленькая из подружек - ");

if min = m then writeln("Маша")

else if min = n then writeln("Наташа")

else writeln("Оля");

Задача 2.

var a,b,c: real;

writeln("Неравенство вида ax

write("a= "); readln(a);

write("b= "); readln(b);

write("x"); {начинаем вывод решения}

{при делении неравенства на отрицательное число знак неравенства меняется}

if a 0 then write(" выводим знак неравенства}

else write(" ");

writeln(c:5:2); {завершаем вывод решения}

if (a = 0) and (b 0) then writeln("Любое число является решением неравенства");

if (a = 0) and (b

Задача 3.

var i,k,b,sum,sball_c: integer; {для значения указанных переменных достаточно 1 байта памяти}

writeln("Введите количество учащихся в группе: ");

writeln("Введите отметки по информатике за четверть");

for i:= 1 to k do

writeln("Cредний балл группы за четверть: ",sball:5:2);

Задача 4.

program cykl_if_1;

var i,k,b,sum,sball_c: byte; {для значения переменных достаточно 1 байта памяти}

{в этом случае они могут принимать значения от 0 до 255}

write("Введите количество отметок: ");

for i:= 1 to k do

sum:= sum+b; {сумма отметок}

sball:= sum/k; {средний балл}

writeln("Ваш средний балл: ",sball:5:2);

sball_c:= round(sball); {округлим средний бал до целых}

writeln("Округлим: ",sball_c);

if sball_c = 8 then writeln("Молодец!");

if (sball_c = 6) and(sball_c Неплохо");

if (sball_c = 4) and (sball_c Надо подтянуться!");

4. Подведение итогов урока. Рефлексия.

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

Рефлексия с помощью приема «Синквейн»:

существительное

прилагательное прилагательное

глагол глагол глагол

ключевая фраза

существительное

5. Информация о домашнем задании.

Повторить материалы §3,4, выполнить упражнение 5 (§4).

Дополнительные задания к уроку.

Сильным учащимся может быть дополнительно предложено задание:

Задание 5.

var a,b,x,y,NOD,NOK:integer;

write ("x="); readln (x);

write ("y="); readln (y);

if ab then a:=a-b

NOD:=a; NOK:= a*b div NOD;

writeln ("НОК=",NOK)

Фронтальная работа

Задача 1. Под действием силы тяги F (Н) автомобиль совершает путь s (м). Определить работу силы F.

Задача 2. Введите число. Если введенное число неотрицательное, то найдите квадратный корень из числа, иначе вычислите обратное число.

Задача 1. Введите рост (в сантиметрах) трех подружек Маши, Наташи и Оли. Узнайте, какая из подружек самая маленькая.

Задача 2. Напишите программу для решения линейного неравенства вида a*x b

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

Задача 4. Введите количество отметок по одному из предметов за четверть и сами отметки. Выведите информацию о средней отметке с комментирующим текстом.

Задание 5. Найдите НОК двух данных чисел. НОК(a,b)=a*b/НОД(a,b).

Карточка к уроку «Составление и реализация алгоритмов с ветвлением и повторением».

Фронтальная работа

Задача 1. Под действием силы тяги F (Н) автомобиль совершает путь s (м). Определить работу силы F.

Задача 2. Введите число. Если введенное число неотрицательное, то найдите квадратный корень из числа, иначе вычислите обратное число.

Самостоятельная работа за компьютерами

Задача 1. Введите рост (в сантиметрах) трех подружек Маши, Наташи и Оли. Узнайте, какая из подружек самая маленькая.

Задача 2. Напишите программу для решения линейного неравенства вида a*x b

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

Задача 4. Введите количество отметок по одному из предметов за четверть и сами отметки. Выведите информацию о средней отметке с комментирующим текстом.

Задание 5. Найдите НОК двух данных чисел. НОК(a,b)=a*b/НОД(a,b).

Карточка к уроку «Составление и реализация алгоритмов с ветвлением и повторением».

Фронтальная работа

Задача 1. Под действием силы тяги F (Н) автомобиль совершает путь s (м). Определить работу силы F.

Задача 2. Введите число. Если введенное число неотрицательное, то найдите квадратный корень из числа, иначе вычислите обратное число.

Самостоятельная работа за компьютерами

Задача 1. Введите рост (в сантиметрах) трех подружек Маши, Наташи и Оли. Узнайте, какая из подружек самая маленькая.

Задача 2. Напишите программу для решения линейного неравенства вида a*x b

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

Задача 4. Введите количество отметок по одному из предметов за четверть и сами отметки. Выведите информацию о средней отметке с комментирующим текстом.

Задание 5. Найдите НОК двух данных чисел. НОК(a,b)=a*b/НОД(a,b).

существительное

прилагательное прилагательное

глагол глагол глагол

ключевая фраза



















Назад Вперёд

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








Назад Вперёд








Назад Вперёд

Урок «Алгоритмы с повторением» продолжает знакомство шестиклассников с основными алгоритмическими конструкциями. Для связи с предыдущей темой – «ветвлением», и с целью проверки усвоения ключевых понятий темы в начале урока учащиеся выполняют интерактивный тест индивидуально на компьютерах, в зависимости от их количества. Тест создан по шаблону А. Н. Комаровского, содержит 5 заданий, сразу выдает оценку (Презентация 2 ). Цель теста – за короткий срок проверить степень усвоения материала на понятийном уровне. В это время остальные учащиеся с помощью интерактивного слайда обсуждают, как правильно расставить в блок-схеме команды алгоритма «признак делимости на 3», имея возможность на другом слайде увидеть правильную расстановку команд и ключевых слов. При создании слайда использованы макросы, позволяющие в режиме показа слайдов перемещать объекты (надписи) в заданную область. Макросы предложил David M. Marcovitz , оптимизировал А.Н.Комаровский .

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

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

Для подведения итогов урока и рефлексии используется интерактивный тест «Алгоритмы с повторением», состоящий также из 5 заданий на ключевые понятия темы, и сразу выдающий оценку (Презентация 3 ). Оценивание учащихся происходит по итогам работы с тестами и вкладом в обсуждение и выполнение заданий. Переход от одного этапа урока к другому и от слайда к слайду осуществляется через управляющие кнопки. Работу с заданиями на слайдах можно организовать как при наличии интерактивной доски, так и без нее.

Цели:

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

Задачи:

  • повторить сведения об алгоритмах с ветвлениями;
  • научить выделять из задачи на повторение условие и действия;
  • научить исполнять алгоритмы на повторение.

Тип урока: урок изучения и закрепления новых знаний

Оборудование: компьютерный класс, проектор, экран

ЦОР: Презентация 1 «Алгоритмы с повторением», интерактивные тесты: «Алгоритмы с ветвлением» (Презентация 2 ), «Алгоритмы с повторением» (Презентация 3 ). Все презентации содержат макросы, для правильной работы все макросы должны быть включены .

ХОД УРОКА


п/п
Этапы урока Содержание этапа Цель этапа Форма работы Деятельность учащихся Ресурсы
1. Тема урока, план урока (3 мин) Определение темы урока – разгадывание ребуса (Повторение) Активизировать мыслительную деятельность учащихся, повторить способы кодирования информации Фронтальная работа со слайдом Вспоминают способы кодирования информации в ребусах. Презентация 1 , слайды 1-3:
2. Повторение, проверка домашнего задания (5 мин) Повторение материала прошлого урока, проверка домашнего задания , задача № 34 Повторение основных понятий алгоритмов с ветвлением, проверка домашнего задания Индивидуальная работа с интерактивным тестом на компьютерах с получением оценки, фронтальная работа со слайдом «Признак делимости на 3» Выполнение теста «Алгоритмы с ветвлением» на компьютерах на оценку (по количеству компьютеров), остальные – восстановление верного порядка команд в блок-схеме алгоритма «Признак делимости на 3» Тест «Алгоритмы с ветвлением»,
(Презентация 2 );
Блок-схема «Признак делимости на 3»:
Презентация 1 , слайд 4,
Задача № 34: Оформите в виде блок-схемы признак делимости натурального числа на 3. Слайд 4 презентации (рис. 1) позволяет сделать это в интерактивном режиме. Для перемещения надписи в режиме показа нужно щелкнуть левой кнопкой мыши по надписи (отпустить кнопку), затем щелкнуть левой кнопкой мыши по той области, в которую предполагаете переместить надпись. При ошибочном перемещении для исправления ошибки проделать то же самое. Слайд 5 позволяет проверить правильность выполнения задания.

Рисунок 1

3. Изучение нового материала (15 мин) Разбор задачи «Наполнить бочку» как примера алгоритма, где одно и то же действие повторяется несколько раз, знакомство с общим видом структуры Повторение Продемонстрировать алгоритм с повторением как форму организации алгоритмов, позволяющую одинаковые действия записывать один раз, а исполнять столько, сколько нужно. Коллективная работа со слайдами Обсуждение команд, нужных для решения задачи, выделение повторяющихся действий. Запись в тетрадь блок-схемы и команды повторения с ключевыми словами Презентация 1 , Слайды 7-18
Решение задачи «Наполнить бочку» сначала демонстрируется в виде линейного алгоритма перечислением всех команд, приводящих к решению задачи (Презентация 1 , слайды 6-9). Затем решение той же задачи оформляется в виде алгоритма с повторением (рис. 2), с выделением важных моментов: проверка условия, выполнение команды, возврат к условию, выход из повторения (Презентация 1 , слайды 10-14).
С помощью слайдов15-17 учащиеся знакомятся с новыми понятиями: цикл, общий вид структуры повторение в виде блок-схемы и на алгоритмическом языке.

Рисунок 2

4. Закрепление нового материала
(10 мин)
Решение задачи «Маша и варенье» , задача № 46. Научить проводить анализ задачи с выделением условия, действий, необходимых для ее решения, расставлять команды в нужном порядке Групповая работа, самостоятельная работа с рабочей тетрадью Обсуждают в группах, предлагают варианты решения задачи, участвуют в расстановке команд на слайде, решают задачу самостоятельно в рабочих тетрадях , Презентация 1 , Слайды 18-19.
Задача № 46. Однажды бабушка попросила Машу помочь собрать ягоды крыжовника. Девочка взяла лукошко и подошла к большому колючему кусту. Она осторожно срывала ягоду и опускала ее в лукошко. Так Маша делала до тех пор, пока на кусте не осталось ни одной ягоды. Из этих ягод сварили очень вкусное варенье.
Вопросы и задания к задаче (Презентация 1 , слайд 18 (рис.3)):
– выберите из предложенных надписей те действия, которые Маше придется повторять несколько раз.
– какая надпись может служить условием?
– в каком порядке нужно расставить надписи на блок-схеме?
(перестановку надписей может произвести один из учащихся)
– будет ли задача решена, если поменять местами «да» и «нет»?
С помощью слайда 19 можно проверить правильность расстановки команд на схеме.

Рисунок 3

5. Закрепление нового материала, проверка знаний. (5 мин) Интерактивный тест «Алгоритмы с повторением» Проверить степень усвоения материала по теме «Алгоритмы с повторением» Индивидуальная работа с тестом на компьютерах. Выполнение заданий интерактивного теста на компьютерах «Алгоритмы с повторением», исправление ошибок Тест «Алгоритмы с повторением»,
Презентация 3
6. Итоги урока.
(2 мин)
Оценки за тесты, фронтальную и групповую работу. Подведение итогов, рефлексия, осмысление проделанной работы Фронтальная работа Получение оценок, ответы на вопросы
7. Домашнее задание , п. 3.4,
, № 45
Индивидуальная работа с учебником, рабочей тетрадью Чтение учебника, выполнение упражнений ,

Список литературы:

  1. Босова Л.Л. Информатика: учебник для 6 класса – М.: БИНОМ. Лаборатория знаний, 2006.
  2. Босова Л.Л. Информатика: Рабочая тетрадь для 6 класса – М.: БИНОМ. Лаборатория знаний, 2004.

В алгоритмах команды записываются друг за другом в определённом порядке.

Линейные алгоритмы

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

Например, линейным является следующий алгоритм посадки дерева (рис. 58):

  1. выкопать в земле ямку;
  2. опустить в ямку саженец;
  3. засыпать ямку с саженцем землёй;
  4. полить саженец водой.

Рис. 58

С помощью блок-схемы данный алгоритм можно изобразить так (рис. 59).

Рис. 59

Алгоритмы с ветвлениями

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

Логику принятия решения можно описать так:

    ЕСЛИ ТО ИНАЧЕ

Пример:

    ЕСЛИ хочешь быть здоров, ТО закаляйся, ИНАЧЕ валяйся весь день на диване.

    В некоторых случаях могут отсутствовать: ЕСЛИ ТО

Пример:

    ЕСЛИ назвался груздем, ТО полезай в кузов.

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

Изобразим в виде блок-схемы последовательность действий ученика 6 класса Мухина Васи, которую он представляет себе так: «Если Павлик дома, будем решать задачи по математике. В противном случае следует позвонить Марине и вместе готовить доклад по биологии. Если же Марины нет дома, то надо сесть за сочинение» (рис. 60).

Рис. 60

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

Рис. 61

Из трёх монет одинакового достоинства одна фальшивая (более лёгкая). Как её найти с помощью одного взвешивания на чашечных весах без гирь?

Алгоритмы с повторениями

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

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

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

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

Рис. 62

Это циклический алгоритм. При его исполнении действие «Решить задачу» будет выполнено столько раз, сколько задач содержит домашнее задание ученика.

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

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

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

Более сложной моделью выполнения алгоритма является известная игра «Монополия» или «Менеджер»

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

В зависимости от порядка выполнения команд можно выделить три типа алгоритмов:

Линейные алгоритмы;

Алгоритмы с ветвлениями;

Алгоритмы с повторениями.

«Монополия»

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

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

Согласно официальным источникам – компании Parker Brothers, с 1935 года и по сей день выпускающей «Монополию», – легендарная настольная игра появилась на свет следующим образом. В 1934 году безработный инженер Чарльз Дарроу предложил вышеуказанной конторе выпустить придуманную им игру о торговле недвижимостью.

Обнаружив в настольной игре 52 дизайнерские ошибки, братья Паркеры отказали изобретателю. Тот с чисто американской предприимчивостью отправился в типографию, заказал 5 тысяч экземпляров игры и довольно быстро их распродал. Осознав, что прибыль утекает прямо у них из-под носа, Parker Brothers спешно приобрели права на «Монополию», и уже в следующем году она стала самой продаваемой настольной игрой в США, а Дарроу – живым воплощением американской мечты.

Однако вместе с тем известны и более ранние игры, поразительно напоминающие «Монополию». Выходит, Дарроу просто оказался первым, кто подсуетился и получил патент на «народную» забаву? И да, и нет. Расследования последних лет проливают свет на тайну происхождения «Монополии».

Во второй половине позапрошлого века в Соединенных Штатах жил и работал политэкономист Генри Джордж. Он предлагал заменить все поборы одним-единственным налогом – на землю. Проникшись его идеями, в январе 1904 года Мэги получает патент на настольную игру The Landlord’s Game, которая и правилами, и внешним видом напоминает нынешнюю «Монополию». Считается, что «Игра владельца земли» обладала двумя вариантами правил: сыграв партию по действующим законам налогообложения, игроки переходили к модели, предложенной Джорджем, – и якобы убеждались в ее необходимых преимуществах. Таким образом, игра была не развлечением, но инструментом идеологической борьбы.

До массового производства дело не дошло, зато The Landlord’s Game постепенно распространилась по Северной Америке в кустарных копиях. Всплеск интереса к настольной игре пришелся на годы Великой депрессии: тысячи безработных были рады вообразить себя денежными мешками хотя бы за игровым столом. Появление предприимчивого человека вроде Чарльза Дарроу стало делом нескольких месяцев – и он появился, на многие десятилетия присвоив славу единоличного изобретателя «Монополии».

Нашлись, конечно, и те, кто счел должным урвать кусок у правообладателей. Нелицензионные «Монополии» наводнили Китай. И в нашей стране выпускались и выпускаются стройные ряды клонов – «Маклер», «Кооператив», «Менеджер»

В свете недавнего переосмысления роли Дэрроу в создании «Монополии» и истечения действия авторских прав засудить такие компании не получится. Даже если предположить, что никакой Элизабет Мэги на свете не было, правила «Монополии» давно перешли в общественное достояние. Впрочем, часть патента Hasbro все еще держит при себе: дизайн фишек, графическое оформление, последовательность клеток на игровом поле.

Линейные алгоритмы

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

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

1. выключить выключатель света;

2. выкрутить перегоревшую лампочку;

3. вкрутить новую лампочку;

4. включить выключатель, чтобы проверить, что лампочка горит.

Алгоритмы с ветвлениями

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

Логику принятия решения можно описать так:

ЕСЛИ <условие>, ТО <действия 1>,

ИНАЧЕ <действия 2>

ЕСЛИ будут деньги, ТО купи хлеба, ИНАЧЕ не покупай.

ЕСЛИ будешь сегодня в центре, ТО набери меня, ИНАЧЕ не набирай.

ЕСЛИ уроки выучены, ТО иди гулять, ИНАЧЕ учи уроки.

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

ЕСЛИ <условие>, ТО <действия 1>

ЕСЛИ назвался груздем, ТО полезай в кузов.

ЕСЛИ хочешь быть здоров, ТО закаляйся.

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

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

Необходимые и достаточные условия

Мы уже обсуждали с вами, что существуют необходимые и достаточные условия.

Примером необходимого условия может служить такое:

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

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

Примером достаточного условия может стать такое:

Для того чтобы стало прохладнее, достаточно включить кондиционер.

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

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

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

Действительно, если весна закончилась, то наступает лето, а если весна не закончилась, то лето наступить не может. То есть условия окончания весны и начала лета являются равносильными.

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

Алгоритмы с повторениями

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

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

1. Взять яблоко.

2. Посмотреть, не гнилое ли оно.

3. Если гнилое – выбросить, если нет – переложить в другой ящик.

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

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

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

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

Рассмотрим алгоритм работы будильника на телефоне, который должен зазвонить в 8:00 утра, а затем звонить через каждые 10 минут, до тех пор пока его не выключат.

В этом случае его блок-схема выглядит так: (блок-схему (рис. 9.) см. в конце конспекта)

На этом уроке мы обсудили три типа алгоритмов – линейные алгоритмы, алгоритмы с ветвлениями и алгоритмы с повторениями.

На следующем уроке мы на практике обсудим составление алгоритмов.

Решето Эратосфена

Вспомним определение простого натурального числа.

Натуральное число называют простым, если оно имеет только два делителя: единицу и само это число. Остальные числа называются составными. При этом число 1 не является ни простым, ни составным.

Примеры простых чисел: 2, 3, 5, 7.

Примеры составных чисел: 4, 6, 8.

В III веке до нашей эры греческий математик Эратосфен предложил следующий алгоритм для нахождения всех простых чисел, меньших заданного числа п:

1. выписать все натуральные числа от 1 до n;

2. вычеркнуть 1;

3. подчеркнуть наименьшее из неотмеченных чисел;

4. вычеркнуть все числа, кратные подчеркнутому на предыдущем шаге числу;

5. если в списке имеются неотмеченные числа, то перейти к шагу 3, в противном случае все подчеркнутые числа – простые.

Это циклический алгоритм. При его выполнении повторение шагов 3–5 происходит, пока в исходном списке остаются неотмеченные числа.

Рассмотрим результат этого алгоритма. Выпишем все простые числа от 1 до 25.

Выпишем числа от 1 до 25.

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

Так как не все числа отмечены, то подчеркиваем 3. Теперь вычеркиваем все числа, которые делятся на 3.

Так как не все числа отмечены, то подчеркиваем 5. Теперь вычеркиваем число 25.

Так как не все числа отмечены, то подчеркиваем 7.

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

Вычеркнуть ничего нельзя, но не все числа отмечены, поэтому подчеркиваем 13. Снова нельзя ничего вычеркнуть – подчеркиваем 17, затем 19 и 23.

Теперь все числа отмечены.

Получаем простые числа: 2, 3, 5, 7, 11, 13, 17, 19, 23.

Литература

1. Босова Л.Л. Информатика и ИКТ: Учебник для 6 класса. – М.: БИНОМ. Лаборатория знаний, 2012.

2. Босова Л.Л. Информатика: Рабочая тетрадь для 6 класса. – М.: БИНОМ. Лаборатория знаний, 2010.

3. Босова Л.Л., Босова А.Ю. Уроки информатики в 5-6 классах: Методическое пособие. – М.: БИНОМ. Лаборатория знаний, 2010.

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

Циклические алгоритмические структуры бывают двух типов:

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

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

Алгоритмическая структура цикл может быть зафиксирована различными способами:

Графически, с помощью блок-схемы;

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

Цикл со счетчиком. Когда заранее известно, какое число повторений тела цикла необходимо выполнить, можно воспользоваться циклической инструкцией (оператором цикла со счетчиком) For. . . Next (рис. 19).

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

Next - концом цикла; между ними располагаются операторы, представляющие собой тело цикла.

В начале выполнения цикла значение переменной Счетчик устанавливается равным НачЗнач. При каждом «проходе» цикла переменная Счетчик увеличивается на величину шага. Если она достигает величины КонЗнач, то цикл завершается и выполняются следующие за ним операторы.

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

Условие выхода из цикла можно поставить в начале, перед телом цикла (рис. 20) или в конце, после тела цикла (рис. 21).

Проверка условия выхода из цикла проводится с помощью ключевых слов While или Until. Эти слова

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

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

11Понятие алгоритма. Исполнитель алгоритма. Система команд исполнителя (на примере учебного исполнителя). Свойства алгоритма. Способы записи алгоритмов; блок-схемы.

Появление алгоритмов связывают с зарождением математики. Более 1000 лет назад (в 825 году) ученый из города Хорезма Абдулла (или Абу Джафар) Мухаммед бен Муса аль-Хорезми создал книгу по математике, в которой описал способы выполнения арифметических действий над многозначными числами. Само слово алгоритм возникло в Европе после перевода на латынь книги этого математика.


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

Вы постоянно сталкиваетесь с этим понятием в различных сферах деятельности человека (кулинарные книги, инструкции по использованию различных приборов, правила решения математических задач...). Обычно мы выполняем привычные действия не задумываясь, механически. Например, вы хорошо знаете, как открывать ключом дверь. Однако, чтобы научить этому малыша, придется четко разъяснить и сами эти действия и порядок их выполнения:

1. Достать ключ из кармана.2. Вставить ключ в замочную скважину.3. Повернуть ключ два раза против часовой стрелки.4. Вынуть ключ.

Виды алгоритмов:

1. Линейный алгоритм (описание действий, которые выполняются однократно в заданном порядке);

2. Циклический алгоритм (описание действий, которые должны повторятся указанное число раз или пока не выполнено заданное условие);

3. Разветвляющийся алгоритм (алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий);

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

На практике наиболее распространены следующие формы представления алгоритмов :

· В устной форме.

· В письменной форме на естественном языке.

· В письменной форме на формальном языке.

· Для более наглядного представления алгоритма широко используется графическая форма блок-схема , которая составляется из стандартных графических объектов.