план урока_работа с клавиатурой. Номер урока 93 Тема урока пз64. Способы и методы вывода чисел Цели урока Образовательные
Скачать 40.47 Kb.
|
ПЛАН УРОКА Дата_________ Группа ___________ Учебная дисциплина: МДК 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. Задание на дом: выучить конспект, доклад «Функции для ввода и вывода в языке С# » __________________________ Д.С. Королева подпись преподавателя |