Как сделать нц 3 раз

Обновлено: 05.07.2024

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

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

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

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

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

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

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

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

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

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

Давайте вспомним, что мы проходили на прошлых уроках. Для этого я попрошу Вас разделиться на две боевые команды. Пусть это будут команда мальчиков и команда девочек. Есть среди вас смелые мальчики и девочки? ( К доске выходят один мальчик и одна девочка).

Давайте поиграем с вами в информационные крестики-нолики. Нашим добровольцам ничего делать не нужно. Они выбирают одноклассника, который будет отвечать на поставленный вопрос. У девочек отвечать будут девочки, у мальчиков – мальчики. Задача капитанов – выбрать номер клетки и указать на ответчика. И если ваша команда ответит верно, то мы поставим в эту клетку крестик или нолик. Соответственно, далее будут действовать правила игры крестики-нолики. Пусть девочки будут крестики, а мальчики – нолики (На доске чертиться такая же табличка, чтобы в случае правильного ответа поставить в клетку крестик или нолик).

t1590612400aa.jpg

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

Вопрос в ячейке 2 : Какой цикл называется вложенным? ( Цикл, находящийся в теле другого цикла).

Вопрос в ячейке 3 : Что будет выполнять робот при следующей последовательности команд:

нц 7 раз

закрасить

вниз

кц

( Робот 7 раз выполнит две команды: закрасит клетку и пойдет вниз).

Вопрос в ячейке 4 : Для чего нужны комментарии?

( Комментарии необходимы для пояснения человеку внутри текста программы).

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

t1590612400ab.jpg
t1590612400ac.jpg

Обстановка после алгоритма

Одна из рабочих программ:

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

. нц 3 раз

. . вверх

. нц 13 раз

. . закрасить

. . вправо

. нц 9 раз

. . закрасить

. . вниз

. нц 14 раз

. . закрасить

. . влево

. нц 9 раз

. . закрасить

. . вверх

. закрасить

. нц 3 раз

. . вниз

. вправо

Вопрос в ячейке 6 : Какая величина называется переменной? ( Величина, которая изменяется во время выполнения алгоритма).

Вопрос в ячейке 7: Для чего необходимо объявление переменной? ( Объявление переменной необходимо для того, чтобы определить, какие данные можно хранить в переменной, какие операции можно с ней выполнять, сколько памяти выделить для хранения значения).

Вопрос в ячейке 8 : Как называются фактические значения параметра, которые передаются в процедуру? ( Аргументы).

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

Молодцы! Садитесь на свои места!

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

Во время игры в информационные крестики-нолики, вы пытались написать алгоритм для закрашивания роботом клеток по периметру обстановки. Как вы думаете, можно ли выполнить этот алгоритм другими способами? (Ответы учеников).

Вопрос 1: Верно ли, что справа от Робота – свободно?

t1590612400ad.jpg

( Неверно, справа от Робота - стена ).

(Ученики должны поднять красный кружок).

Вопрос 2: Верно ли, что снизу от Робота – стена?

t1590612400ae.jpg

(Неверно, снизу от Робота - свободно ).

(Ученики должны поднять красный кружок).

Вопрос 3: Верно ли, что слева от Робота – свободно?

t1590612400ad.jpg

(Верно, слева от Робота - свободно ).

(Ученики должны поднять зеленый кружок).

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

(Пока не закончится последний урок).

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

(Ходить на уроки).

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

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

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

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

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

Робот выполняет команды, если справа нет никаких препятствий до тех пор, пока справа не появится стена;

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

Робот выполняет команды, если слева нет никаких препятствий до тех пор, пока слева не появится стена;

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

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

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

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

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

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

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

Робот выполняет команды, если справа нет никаких препятствий до тех пор, пока справа не появится стена

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

Робот выполняет команды, если слева нет никаких препятствий до тех пор, пока слева не появится стена

Молодец! Садись на место!

Как вы думаете, а могут ли в таких циклах возникнуть конфликты?

Давайте рассмотрим задачу (Учитель открывает КУМИР и загружает обстановку 9).

t1590612400af.jpg

Необходимо написать алгоритм, с помощью которого Робот дойдет до стены и закрасит все клетки (кроме последней), находящиеся до этой стены. Давайте напишем алгоритм для робота:

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

Правильно ли выполнится этот алгоритм?

(Нет, так как условие будет истинно всегда – алгоритм всегда будет закрашивать первую клетку)

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

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

. нц пока справа свободно

. . закрасить

. . вправо

Один из примеров:

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

. нц 8 раз

. . закрасить

. . вправо

t1590612400ag.jpg

(Обучающиеся рассаживаются за компьютеры, берут с собой практическую работу).

(Учитель снова включает презентацию. Задачи транслируются на экране).

Задача 1: Программист Артем хочет написать алгоритм на алгоритмическом языке в системе КУМИР, который превратит стартовую обстановку в конечную. Робот находится в обстановке 12.

t1590612400ah.jpg

t1590612400ai.jpg

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

t1590612400aj.jpg
t1590612400ak.jpg

Ответ: Примерный текст алгоритма:

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

5.Постановка домашнего задания:

(Дети садятся на свои места)

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

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

Итак, мы разделились на три большие корпорации. У каждого из вас есть свое задание:

Корпорация №1 – Написать алгоритм на алгоритмическом языке, который вычисляет площадь прямоугольника.

Корпорация №2 – Написать алгоритм на алгоритмическом языке, который вычисляет площадь прямоугольного треугольника.

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

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

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

6. Подведение итогов урока, рефлексия:

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

Самое главное из сегодняшнего урока:

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

Всего существует 8 логических команд Робота: сверху стена, справа стена, снизу стена, слева стена, сверху свободно, снизу свободно, слева свободно, справа свободно;

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

Список дополнительных источников

Поляков К.Ю., Еремин Е.А. Информатика. 7 класс: Учебник в 2-х частях. – М.: Бином, 2019

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

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

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

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

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

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

Ход урока

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

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

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

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

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

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

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

Пример.

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

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

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

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

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

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

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

Робот: нет.

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

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

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

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

Упражнения.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Практическая работа по информатике. Исполнитель Робот

ЗАДАЧА

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

Исполнитель Робот лестница

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

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

исполнитель робот лестница результат конечный результат

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

РЕШЕНИЕ

Данную задачу будем решать в среде программирования КуМир. Откроем программу и перейдем в меню Робот — > Редактировать обстановку

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

Строим лестницу. тЛевой кнопкой мыши щелкаем по стенкам клетки. Ромб (робот) перемещаем в нужное место, зажав левую кнопку мыши

Исполнитель Робот лестница

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

Сначала вспомним некоторые команды для исполнителя Робот.

№ п/п Команда Обозначение
1 нц начало цикла
2 кц конец цикла
3 закрасить закрашиваетcя клетка
4 вверх, вниз, влево, вправо движение робота
5 нач, кон начало и конец программы

В задании сказано, что

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

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

Пути движения робота

Полностью готовая программа выглядит так:

Для проверки алгоритма добавим ещё несколько ступеней и проверим результат

Исполнитель Робот итоговый результат

Исполнитель Робот итоговый результат

Итак, алгоритм закрашивает клетки при любом количестве ступеней лестницы.

ОГЭ по информатике задание 6

Программа для создания визиток

Программа для создания визиток Стильная и информативная визитка – залог успеха любого делового человека.

Что такое блокчейн? Блокчейн (англ. blockchain или block chain) выглядит как цепочка, составленная из

Информационные технологии, как основа качественного образования и развития общества

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

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