Исполнение циклических алгоритмов на базе системы "кумир". Алгоритмический язык кумир

Карточки-задания

    Найдите среди n -целых чисел вводимых с клавиатуры количество отрицательных

    Дано два произвольных числа. Пока их произведение меньше 100, увеличивать каждое число на 2 и вывести конечные числа на монитор

    Последовательно вводятся n -целых чисел. Найти количество пятерок в последовательности

    Последовательно вводятся n -целых чисел. Найти разницу между максимальным и минимальным значениями данных чисел

    Найдите среди n -целых чисел вводимых с клавиатуры количество отрицательных

    Дано два произвольных числа. Пока их произведение меньше 100, увеличивать каждое число на 2 и вывести конечные числа на монитор

    Последовательно вводятся n -целых чисел. Найти количество пятерок в последовательности

    Последовательно вводятся n -целых чисел. Найти разницу между максимальным и минимальным значениями данных чисел

    Найдите среди n -целых чисел вводимых с клавиатуры количество отрицательных

    Дано два произвольных числа. Пока их произведение меньше 100, увеличивать каждое число на 2 и вывести конечные числа на монитор

    Последовательно вводятся n -целых чисел. Найти количество пятерок в последовательности

    Последовательно вводятся n -целых чисел. Найти разницу между максимальным и минимальным значениями данных чисел

    Найдите среди n -целых чисел вводимых с клавиатуры количество отрицательных

    Дано два произвольных числа. Пока их произведение меньше 100, увеличивать каждое число на 2 и вывести конечные числа на монитор

    Последовательно вводятся n -целых чисел. Найти количество пятерок в последовательности

    Последовательно вводятся n -целых чисел. Найти разницу между максимальным и минимальным значениями данных чисел

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

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

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

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

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

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

Ход урока

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 после выполнения операторов:


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

Хирьянов Тимофей Федорович

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

Условно исполняемый код

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

если <условие>
то
<действия>
все

Альтернатива

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

если <условие>
то
<действия>
иначе
<альтернативные действия>
все


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

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

Цикл с предусловием — цикл, который выполняется пока истинно некоторое условие, указанное перед его началом. Это условие проверяется до выполнения тела цикла, поэтому тело может быть не выполнено ни разу (если условие с самого начала ложно). В большинстве процедурных языков программирования реализуется оператором while , отсюда его второе название — while-цикл. На языке КуМир цикл с предусловием имеет следующий вид:

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

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

Цикл с постусловием — цикл, в котором условие проверяется после выполнения тела цикла. Отсюда следует, что тело всегда выполняется хотя бы один раз. В языке Паскаль этот цикл реализует оператор repeat..until , в Си — do…while .
На языке КуМир цикл с постусловием имеет следующий вид:

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

Цикл со счётчиком

Цикл со счётчиком — цикл, в котором некоторая переменная изменяет своё значение от заданного начального значения до конечного значения с некоторым шагом, и для каждого значения этой переменной тело цикла выполняется один раз. В большинстве процедурных языков программирования реализуется оператором for , в котором указывается счётчик (так называемая «переменная цикла»), требуемое количество проходов (или граничное значение счётчика) и, возможно, шаг, с которым изменяется счётчик. На языке КуМир цикл со счетчиком имеет следующий вид:

цел а
нц для а от 0 до 9
… тело цикла
кц

В различных языках программирования по-разному решается вопрос о значении переменной по завершении цикла, в котором эта переменная использовалась как счётчик.

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

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

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

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

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

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

Ход урока

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 после выполнения операторов:

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

В продолжение темы:
Сварка

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

Новые статьи
/
Популярные