Планирование уроков на учебный год (по учебнику К.Ю. Полякова, Е.А. Еремина, углубленный уровень)



Уроки 58 - 59
§45. Управление с помощью клавиатуры


Содержание урока


Работа с клавиатурой

Управление с ожиданием

Управление по требованию

Выводы. Интеллект-карта

Вопросы и задания

Практическая работа № 37 «Управление в режиме ожидания»

Практическая работа № 38 «Управление по требованию»


Управление с ожиданием



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

Основной цикл программы можно написать так:

нц пока да

Шарик (х, у, желтый)

с:=код клав

Шарик (х, у, синий)

| переместить шарик

кц


Здесь используется цикл с условием нц пока да, причём условие (да) всегда истинно, поэтому цикл будет работать бесконечно, пока мы не остановим программу.

Вспомните, что означают два вызова процедуры Шарик в предыдущей программе.

В строке программы

с:=код клав

мы сказали, что исполнителю нужно:

1) ждать, пока не будет нажата какая-нибудь клавиша;
2) когда клавиша нажата, сохранить её код в переменной с.

Найдите и исправьте логическую ошибку в программе:

нц пока да

Шарик (х, у, жёлтый)

Шарик (х, у, синий)

с:=код клав

| переместить шарик

кц


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

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

Например, можно написать четыре условных оператора:

если c=KЛ_BJIEBO то х:=х-5 все

если с=КЛ_ВПРАВО то х:=х+5 все

если с=КЛ_ВВЕРХ то у:=у-5 все

если с=КЛ_ВНИЗ то у:=у+5 все


В итоге получается такая основная программа:

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

алг Управление клавишами

нач

новый лист(200, 200, синий)

цел х=100, у=100, с

перо (1, прозрачный)

нц пока да

Шарик(х, у, жёлтый)

с:=код клав

Шарик(х, у, синий)

если c=KЛ_BJIEBO то х:=х-5 все

если с=КЛ_ВПРАВО то х:=х+5 все

если с=КЛ_ВВЕРХ то у:=у-5 все

если с=КЛ_ВНИЗ то у:=у+5 все

кц

кон

После неё нужно поместить процедуру Шарик из предыдущего параграфа.

Следующая страница Управление по требованию



Cкачать материалы урока







Наверх