план урока_работа с клавиатурой. Номер урока 93 Тема урока пз64. Способы и методы вывода чисел Цели урока Образовательные
![]()
|
ПЛАН УРОКА Дата_________ Группа ___________ Учебная дисциплина: МДК 01.02. «Прикладное программирование» Номер урока: 93 Тема урока: ПЗ№ 64. Способы и методы вывода чисел Цели урока: Образовательные: 1. Научиться создавать приложение для обработки вывода чисел. Получить практические навыки по использованию различных элементов графического интерфейса и операторов языка VC++. Воспитательные: Содействовать в ходе урока формированию у студентов интереса к изучению прикладного программирования; Воспитывать любовь к выбранной специальности. Развивающие: Развивать у обучающихся способность к алгоритмическому мышлению Работать над развитием навыков работы с информацией, структурированием данных. Формировать устойчивое внимание. Методы: словесные, практические. Формы работы: объяснение, демонстрация интерфейса приложения, самостоятельная практическая с последующей проверкой, фронтальный опрос. Оборудование и оснащение на уроке: Персональный компьютер (ПК); Мультимедийный проектор; Раздаточный материал. Ход урока Организационный момент (3мин.) Проверка присутствующих на уроке. Сообщение учащимся темы, целей и плана проведения урока. Актуализация опорных знаний (5 мин): Какие основные элементы управления можно поместить на форму? Назовите основные элементы для работы с числами? Какие клавишные события формы вы знаете? Выполнение практической работы: Напишем программу, информирующую пользователя о тех клавишах и комбинациях клавиш, которые тот нажал. Запустим Visual Studio 2010, в окне New Project выберем в среде CLR узла Visual C++ приложение шаблона Windows Forms Application Visual C++. Затем из панели Toolbox перетащим в форму две текстовых метки Label. Далее, поскольку нам потребуются клавишные события формы: KeyPress, KeyDown, KeyUp, уже привычным способом получим пустые обработчики этих событий. То есть в панели Properties щелкнем на пиктограмме молнии (Events), а затем в списке всех возможных событий выберем каждое из названных событий клавиатуры. Программный код приведен в листинге : // ............... // Программный код, расположенный выше, создан средой Visual Studio автоматически this->ResumeLayout(false); this->PerformLayout(); } #pragma endregion // Программа, информирующая пользователя о тех клавишах // и комбинациях клавиш, которые тот нажал private: System:: Void Form1_Load(System::Object^ sender, System::EventArgs^ e) { // Устанавливаем шрифт с фиксированной шириной (моноширинный): Form1::Font = gcnew Drawing:: Font(FontFamily::GenericMonospace, 14.0F); // Поскольку мы задали этот шрифт увеличенным (от 8 по умолчанию // до 14), форма окажется пропорционально увеличенной Form1::Text = "Какие клавиши нажаты сейчас:"; label1->Text = String::Empty; label2->Text = String::Empty; } private: System::Void Form1_KeyPress(System::Object^ sender, System::Windows::Forms::KeyPressEventArgs^ e) { // Здесь событие нажатия клавиши: при удержании // клавиши генерируется непрерывно label1->Text = "Нажатая клавиша: " + e->KeyChar; } private: System::Void Form1_KeyDown(System::Object^ sender, System::Windows::Forms::KeyEventArgs^ e) { // Здесь обрабатываем мгновенное событие первоначального // нажатия клавиши label2->Text = String::Empty; // Если нажата клавиша Alt if (e->Alt == true) label2->Text += "Alt: Yes\n"; else label2->Text += "Alt: No\n"; // Если нажата клавиша Shift if (e->Shift == true) label2->Text += "Shift: Yes\n"; else label2->Text += "Shift: No\n"; // Если нажата клавиша Ctrl if (e->Control == true) label2->Text += "Ctrl: Yes\n"; else label2->Text += "Ctrl: No\n"; label2->Text += String::Format( "Код клавиши: {0} \nKeyData: {1} \nKeyValue: {2}", e->KeyCode, e->KeyData, e->KeyValue); } private: System::Void Form1_KeyUp(System::Object^ sender, System::Windows::Forms::KeyEventArgs^ e) { // Очистка меток при освобождении клавиши label1->Text = String::Empty; label2->Text = String::Empty; } }; } В первую метку label1 записываем сведения о нажатой обычной (то есть не модифицирующей и не функциональной) клавише при обработке события KeyPress. Во вторую метку из аргумента события e (e->Alt, e->Shift и e>Control) получаем сведения, была ли нажата какая-либо модифицирующая клавиша (либо их комбинация). Обработчик события KeyUp очищает обе метки при освобождении клавиш. На рисунке 6.1 приведен фрагмент работы программы. ![]() Рис. 6.1 Фрагмент работы программы, определяющей нажатую клавишу Закрепление новой темы по вопросам: Что означает модифицирующая клавиша? Какое событие необходимо обработать, чтобы узнать нажата ли модифицирующая клавиша? В какой момент нажатия клавиши генерируется событие KeyDown, KeyUp? V. Итог урока: выводы по изученной теме, выставление и сообщение оценок за работу на уроке VI. Задание на дом: выучить конспект, доклад «Функции для ввода и вывода в языке С# » __________________________ Д.С. Королева подпись преподавателя |