Вложенный цикл в кумире

Вложенный цикл в кумире thumbnail

Вложенные циклы и ветвления в системе КУМИР

Одним из фундаментальных понятий в информатике является понятие алгоритма. Происхождение самого термина «алгоритм» связано с математикой. Это слово происходит от Algorithmi – латинского написания имени Мухаммеда аль-Хорезми (787 – 850) выдающегося математика средневекового Востока. В своей книге “Об индийском счете” он сформулировал правила записи натуральных чисел с помощью арабских цифр и правила действий над ними столбиком.

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

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

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

Такими свойствами являются:

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

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

Результативность (конечность) – алгоритм должен приводить к решению задачи за конечное число шагов.

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

Способы записи алгоритмов

Для записи алгоритмов используют самые разнообразные средства. Выбор средства определяется типом исполняемого алгоритма.

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

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

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

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

Общепринятыми способами записи являются графическая запись с помощью блок-схем и символьная запись с помощью какого-либо алгоритмического языка – программа.

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

hello_html_m6613ccdc.png

Система программирования КУМИР

При освоении темы алгоритмы воспользуемся системой программирования КУМИР.

КуМир (Комплект Учебных МИРов) – система программирования, предназначенная для поддержки начальных курсов информатики и программирования в средней и высшей школе.

В системе КуМир используется школьный алгоритмический язык с русской лексикой и встроенными исполнителями Робот и Чертёжник и др.

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

При выполнении программы в пошаговом режиме КуМир выводит на поля результаты операций присваивания и значения логических выражений. Это позволяет ускорить процесс освоения азов программирования.

Графический исполнитель Робот

Графический исполнитель Робот позволяет освоить азы программирования и понять работу основных алгоритмических конструкций.

Графический исполнитель — это объект управления. А управлять им будем мы с вами.

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

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

Рhello_html_19262e7d.pngобот может выполнять команды: вверх, вниз, вправо, влево, закрасить.

Робот может проверять условия: сверху свободно, снизу свободно, справа свободно, слева свободно, добавление частицы не меняет условие на противоположное. Не сверху свободно, не снизу свободно, не справа свободно, не слева свободно.

Читайте также:  Количество циклов батареи macbook pro retina 15

Базовые алгоритмические структуры

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

  • Будем записывать алгоритмы на и школьном АЯ и в виде блок-схем.

Линейная структура

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

Пример:

Циклическая структура (цикл)

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

  • Любая циклическая структура состоит из двух частей — заголовка и тела цикла.

  • Набор команд, повторяющихся при выполнении цикла, называют телом цикла.

  • Заголовок определяет количество повторений тела цикла.

Цикл на число повторений (раз)

(запись в алгоритмическом языке)

нц N раз

<команда>

кц

Пример:

использоватьРобот
алг столбик

нач
.
нц5раз
. . закрасить
. . вверх
.
кц

кон

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

(запись в алгоритмическом языке)

нцпока <условие>

<команда>

кц

Пример:

использоватьРобот
алг Линия

нач

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

кон

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

(запись в алгоритмическом языке)

нц

<команда>

кц_при <условие>

Пример:

использоватьРобот
алг Линия

нач
нц

закрасить; вверх

кц_при слева свободно

кон

Структура «ветвление».

  • Структура «ветвление». Решение некоторых задач требует различных действий в зависимости от выполнения некоторых условий. В таких случаях говорят о ветвлении алгоритма.

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

  • В блок-схемах и школьном АЯ <условие> — это логическое выражение, результатом которого может быть одно из двух возможных значений — истина или ложь. В школьном АЯ эти значения записывают как да и нет. В языках программирования часто используются значения True и False. В компьютере эти значения хранятся как 1 и 0.

Полное ветвление

(запись в алгоритмическом языке)

если <условие>
. .
то <команда1>
. .
иначе <команда2>
все

Пример:

использоватьРобот
алг ветвление_полное

нач
.
если сверху свободно
. .
то вверх
. .
иначе вниз
.
все

кон

Неполное ветвление

(запись в алгоритмическом языке)

если <условие>
. .
то <команда1>
все

Пример:

использоватьРобот
алг ветвление_неполное

нач
.
если сверху свободно
. .
то вверх
.
все

кон

Вспомогательный алгоритм (процедура)

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

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

  • Вспомогательный алгоритм вызывается из основной программы через имя. Вспомогательный алгоритм записывается после основного алгоритма. У вспомогательного алгоритма обязательно должно быть имя.

иhello_html_7fb0a2f4.pnghello_html_m44154dec.pngспользовать Робот
алг
нач
вниз

квадрат
вниз

вниз
коналг квадрат
нач

закрасить

вправо

закрасить

вниз

закрасить

влево

закрасить
кон

Вложенные циклы и ветвления

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

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

Рассмотрим вложенный цикл на примере цикла пока.

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

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

Телом цикла может быть команда, несколько команд, а также другой цикл или ветвление.

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

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

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

Вложенное ветвление

Рассмотрим решение задачи с вложенными ветвлениями и циклами:

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

использовать Робот
алг
нач
. нц пока справа свободно
нц пока снизу свободно
.закрасить; вправо
. . кц
. . вправо
. кц
кон

Читайте также:  Как узнать сколько у тебя длится цикл

С hello_html_m4b701eae.pngоставим алгоритм решения задачи с вне6шим циклом пока и вложенным циклом пока.

hello_html_m1eec6c66.png

Р hello_html_7cdbbf93.pngешим эту же задачу, используя внешний цикл пока и вложенное ветвление.

Решим эту же задачу с помощью внешнего цикла при и вложенного цикла пока.

hello_html_m736b3490.png

Источник

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

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

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

Метод обучения: объяснительно-иллюстративный и репродуктивный (на этапе объяснения нового материала), репродуктивный с элементами проблемного (этап закрепления материала).

Обеспечение урока:

  • система Кумир;
  • интерактивная доска;
  • мультимедийный проектор;
  • карточки-задания.

Ход урока

1. Объяснение нового материала.

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

Общий вид цикла пока

В общем виде цикл пока записывается так:

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

а) проверяет записанное после служебного слова пока условие;

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

Пример.

Метод отладки: по шагам.

Диалог Компьютера и Робота

Компьютер: снизу свободно?

Робот: да.

Компьютер: вниз.

Робот: смещается вниз в клетку Б.

Компьютер: снизу свободно?

Робот: да.

Компьютер: вниз.

Робот: смещается вниз в клетку В.

Компьютер: снизу свободно?

Робот: нет.

Так как Робот ответил нет, т.о. записанное после пока условие не соблюдается и выполнение цикла заканчивается.

Продемонстрировать в системе Кумир методы отладки: по шагам и непрерывно.

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

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

Выполнение упражнений.

2. Эксперименты с программой на примере исполнителя Робот.

Необходимо, в системе Кумир, предварительно сделать заготовки расположения Робота (файлы 1.fil-6.fil).

Упражнения.

Эксперименты с программой.

Задание 1. (Загрузить файл 1.fil)

Требуется перевести Робота из клетки А в клетку Б. Использовать цикл пока:

использовать Робот

Задание 2. (Загрузить файл 2.fil)

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

Задание 3. (Загрузить файл 3.fil)

Робот находится в горизонтальном коридоре. Закрасить все клетки коридора:

Задание 4. (Загрузить файл 4.fil)

1. Переделайте алгоритм «закрасить ряд вправо и вернуться» используя в нем цикл:

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

Задание 5. (Загрузить файл 5.fil)

Составьте алгоритм для закраски всех клеток вокруг прямоугольной стены:

Задание 6. ( Загрузить файл 6.fil) (Из материалов экзамена 2009г.)

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

Задание 7. (Загрузить файл 6.fil) (Из материалов экзамена 2009 г.)

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

Читайте также:  Питание в месячный цикл

3. Закрепление. Вопросы:

Какие команды Компьютер будет давать Роботу при выполнении цикла:

а) нц пока клетка не закрашена

закрасить

кц

б) нц пока клетка закрашена

закрасить

кц

В ситуации, когда Робот стоит:

  1. в закрашенной клетке,
  2. в не закрашенной?

Расположение Робота показано на следующих рисунках:

Как будет выполняться цикл?

Домашнее задание. Определите значение переменной S после выполнения операторов:

Литература: А.Г.Кушниренко «Основы информатики и вычислительной техники».

Источник

Инфоурок

Информатика
›Презентации›Презентация к уроку по теме “Вложенные циклы” с использованием среды Кумир

 Д о б р о е у т р о !

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

1 слайд

 Д о б р о е у т р о !

Описание слайда:

Д о б р о е у т р о !

2 слайд

Укажите на какой из блок-схем представлен цикл с параметром. ежн жен неж

Описание слайда:

Укажите на какой из блок-схем представлен цикл с параметром. ежн жен неж

3 слайд

Алг контур Нач Нц 5 раз Направо Закрасить Кц Алг контур Нц Повтори 5 раз напр

Описание слайда:

Алг контур Нач Нц 5 раз Направо Закрасить Кц Алг контур Нц Повтори 5 раз направо Закрасить Кц Укажите правильный синтаксис записи цикла «n раз». Алг контур нач нц 5 раз Вправо Закрасить кц клы лык ылк

4 слайд

На числовой прямой даны два отрезка: P = [5, 15] и Q = [12, 18]. Выберите та

Описание слайда:

На числовой прямой даны два отрезка: P = [5, 15] и Q = [12, 18]. Выберите такой отрезок A, что формула ( (x  А) → (x  P) ) / (x  Q) тождественно истинна, то есть принимает значение 1 при любом значении переменной х. [3, 11] [10, 17] [2, 21] ыен ные неы

5 слайд

Укажите верную блок-схему для алгоритма: A:=5 B:=1 пока B

Описание слайда:

Укажите верную блок-схему для алгоритма: A:=5 B:=1 пока B<=A нц B:=B+1 A:=A–1 кц ки ци да нет иц

6 слайд

Составьте линейный алгоритм для перевода Робота по лабиринту из начального по

Описание слайда:

Составьте линейный алгоритм для перевода Робота по лабиринту из начального положения в т. А Использовать Робот Алг Нач Вниз Влево Вверх Влево Вниз Влево Вверх Кон Использовать Робот Алг Нач Вниз Влево Вверх Влево Вниз Влево Кон Использовать Робот Алг Нач Вниз Вправо Вверх Вправо Вниз Вправо Вверх Кон вло лов вол

7 слайд

жен клы ные ци вло вло жен ные ци клы

Описание слайда:

жен клы ные ци вло вло жен ные ци клы

8 слайд

Задачи урока: 1. Дать определение вложенных циклов; 2. Определить условия для

Описание слайда:

Задачи урока: 1. Дать определение вложенных циклов; 2. Определить условия для корректной работы вложенных циклов; 3. Познакомиться с реализацией вложенных циклов; 4. Научиться решать задачи с использованием вложенных циклов. Тема урока: «Вложенные циклы»

9 слайд

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

Описание слайда:

Цикл называется вложенным, если он находится в теле другого цикла. Определение: Цикл c Цикл b Цикл a

10 слайд

использовать Робот алг Прямоугольник нач нц 6 раз вправо закрасить кц вниз нц

Описание слайда:

использовать Робот алг Прямоугольник нач нц 6 раз вправо закрасить кц вниз нц 6 раз влево кц кон нц 6 раз вправо закрасить кц вниз нц 6 раз влево кц повторить 5 раз

11 слайд

использовать Робот алг Прямоугольник нач нц 5 раз нц 6 раз вправо закрасить к

Описание слайда:

использовать Робот алг Прямоугольник нач нц 5 раз нц 6 раз вправо закрасить кц вниз нц 6 раз влево кц кц нц 7 раз вправо кц нц 5 раз вверх кц кон нц 6 раз вправо закрасить кц вниз нц 6 раз влево кц Вложенный цикл – это цикл внутри другого цикла. !

12 слайд

Для глаз. Под весенние напевы Головою вправо, влево. Руки вверх, на них смотр

Описание слайда:

Для глаз. Под весенние напевы Головою вправо, влево. Руки вверх, на них смотри – Головою не крути. Руки вниз ты опусти Глазами следом ты веди. Закрой глаза, теперь открой… Посмотри перед собой. Физминутка:

13 слайд

Практическая работа Задачи из курса «Робот» «волновался»: 	2-A, 2-B «хорошо»:

Описание слайда:

Практическая работа Задачи из курса «Робот» «волновался»: 2-A, 2-B «хорошо»: 2-A, 2-B, 2-C «отлично»: 2-A, 2-B, 2-C, 2-D

14 слайд

1. Какой цикл называется «вложенным»? 2. Правила организации вложенного цикла

Описание слайда:

1. Какой цикл называется «вложенным»? 2. Правила организации вложенного цикла. 3. Могут ли циклы пересекаться? Итоги урока

Вложенный цикл в кумире

Курс повышения квалификации

Вложенный цикл в кумире

Курс профессиональной переподготовки

Учитель информатики

Вложенный цикл в кумире

Курс профессиональной переподготовки

Учитель математики и информатики

Найдите материал к любому уроку,
указав свой предмет (категорию), класс, учебник и тему:

также Вы можете выбрать тип материала:

Общая информация

Номер материала:

ДБ-353425

Вам будут интересны эти курсы:

Оставьте свой комментарий

Источник