Главная страница

Методические рекомендации к практическим занятиям для студентов очной формы обучения по специальности


Скачать 2.5 Mb.
НазваниеМетодические рекомендации к практическим занятиям для студентов очной формы обучения по специальности
Дата24.03.2023
Размер2.5 Mb.
Формат файлаpdf
Имя файлаpz_09_02.04__osnovyalgoritmizaciiprogrammirovanija.pdf
ТипМетодические рекомендации
#1012152
страница7 из 7
1   2   3   4   5   6   7
Обозреватель решений по имени проекта
MDIApp и выберите в контекстном меню Добавить строку Форму
Windows. После этого на экране появится диалоговое окно Добавление но-
вого элемента, в котором нужно выбрать значок ФормаWindows Form и

69 затем нажать кнопку Открыть. В результате в окне дизайнера форм появит- ся новая форма Form2.
11. Так как это окно будет предназначено для редактирования текста, перетащи- те в него из панели элементов значок элемента управления RichTextBox.
Чтобы окно редактора текста RichTextBox заполнило собой клиентскую часть MDI-окна, установите значение свойства Dock равным Fill. Кроме то- го, проследите, чтобы свойство Anchor было равно Top, Left. Окно элемен- та управления RichTextBox будет заполнять клиентскую область MDI-окна при любом изменении размеров последнего.
12. Напишите программный код, создающий MDI-окна. Этот код должен полу- чать управление, когда пользователь выбирает строку New из меню File. До- бавьте следующий обработчик события Click для строки New меню File:
Сначала создается новая форма как объект класса Form2, а затем выполня- ется сохранение ссылки на эту форму в переменной mdiChild. Свойство
MdiParent этого окна должно содержать ссылку на родительское окно при- ложения MDI, поэтому в него записывается ссылка на объект класса Form1, используя ключевое свойство this.
Для того чтобы MDI-окно появилось на экране, его необходимо отобразить явным образом при помощи метода Show.
13. Запустите приложение на исполнение. Протестируйте его работу.
14. Создав с помощью меню File несколько дочерних MDI-окон, раскройте ме- ню Window и убедитесь, что в нем появилось несколько новых строк. С по- мощью этих строк можно выдвинуть на передний план любое нужное MDI- окно.

70 15. Чтобы пользователь мог упорядочивать дочерние MDI-окна, в приложении предусмотрены строки Cascade, HorizontallyTileи VerticallyTile в меню
Window. Добавить в исходный текст приложения обработчики событий данных пунктов меню:
Все они вызывают метод LayoutMdi родительской формы, передавая ему в качестве параметра одну из констант, определяющих нужный тип упорядо- чивания. Это константы MdiLayout.Cascade, MdiLayout.TileHorizontalи
MdiLayout.TileVertical.
16.
Реализуйте операцию копирования выделенного фрагмента текста из актив- ного MDI-окна в Clipboard (буфер обмена). Для этого добавьте следующий обработчик событий к строке Copy меню Edit:
Здесь вначале определяется идентификатор активного MDI-окна, извлекая его из свойства ActiveMdiChild родительского окна приложения MDI. Этот идентификатор сохраняется в переменной activeChild.
Если в приложении нет активного окна, то приведенный выше обработчик событий завершает свою работу, не выполняя никаких других действий.

71
Определив идентификатор активного MDI-окна, обработчик события полу- чает идентификатор активного элемента управления, расположенного внут- ри этого окна. Для этого используется свойство activeChild.ActiveControl, хранящее ссылку на активный элемент управления.
MDI-окно содержит только один элемент управления— редактор
RichTextBox. Поэтому полученная ссылка преобразуется явным образом к типу RichTextBox и сохраняется в переменной editBox для дальнейшего ис- пользования.
Теперь идентификатор редактора текста получен и можно переписать выде- ленный в его окне фрагмент текста в универсальный буфер обмена
Clipboard.
Запись в
Clipboard осуществляется методом
Clipboard.SetDataObject.
В качестве параметра методу
Clipboard.SetDataObject передается выделенный текст, извлеченный из ре- дактора текста с помощью свойства editBox.SelectedText.
17. Дополните приложение кодом, необходимым для вставки данных из универ- сального буфера обмена Clipboard в активное MDI-окно. Добавьте следую- щий обработчик события для строки Paste меню Edit:
Этот обработчик вначале определяет идентификатор активного MDI-окна, а затем, пользуясь этим идентификатором и свойством ActiveControl, получа- ет идентификатор редактора текста RichTextBox.
Далее для вставки данных из буфера Clipboard метод получает ссылку на интерфейс IDataObject, вызывая для этого метод Clipboard.GetDataObject.
Эта ссылка сохраняется в переменной data.
Пользуясь полученной ссылкой на интерфейс IDataObject, обработчик со- бытия определяет, имеется ли в буфере Clipboard текст, который можно было бы вставить в редактор текста. Для этого используется метод
GetDataPresent. В качестве параметра этому методу передается идентифи- катор формата текстовых данных DataFormats.Text.
Если в буфере Clipboard имеются текстовые данные, программа извлекает их при помощи метода GetData, а затем преобразует в текстовую строку при помощи метода ToString. Далее эта текстовая строка записывается в свой-

72 ство SelectedText нашего редактора текста, благодаря чему и происходит вставка данных из буфера Clipboard.
18. Протестируйте работу приложения. Сохраните полученное приложение.
Задания для внеаудиторной самостоятельной работы
Составьте опорный конспект по теме: запишите основные методы, которые ис- пользуются при создании проекта.
Критерии оценивания на практическом занятии
Балл
Уровень освоения
компетенций
Критерии оценивания уровня освоения компетенций
5
Максимальный
Практическая работа выполнена в полном соответствии с требованиями, студент представил все задания практи- ческой работы без погрешностей и замечаний, на все во- просы при защите практической работы дал правильные ответы.
4
Высокий
Практическая работа выполнена в полном соответствии с требованиями, студент представил все задания практи- ческой работы с небольшими погрешностями в выпол- нении на персональном компьютере, на защите практи- ческой работы затруднялся при ответах на некоторые вопросы, нуждался в уточняющих вопросах и подсказ- ках со стороны преподавателя.
3
Средний
Практическая работа выполнена в соответствии с требо- ваниями, студент представил все задания практической работы с существенными погрешностями в выполнении на персональном компьютере, неспособен правильно ин- терпретировать полученные результаты, на защите за- труднялся и/или не ответил на большинство вопросов, нуждался в уточняющих вопросах и подсказках со сто- роны преподавателя.
2
Ниже среднего
Студент несамостоятельно выполнил практическую ра- боту, неспособен пояснить выполнение ни одного зада- ния, не ответил ни на один контрольный вопрос на за- щите.

73
ПРАКТИЧЕСКАЯ РАБОТА №11
СОЗДАНИЕ ПРОЕКТА С ИСПОЛЬЗОВАНИЕМ КЛАССА
Цель работы:сформировать практические умения создания проекта с исполь- зованием классов в среде программирования VisualStudio.
Формируемые компетенции:

ОК 2. Организовывать собственную деятельность, выбирать типовые ме- тоды и способы выполнения профессиональных задач, оценивать их эф- фективность и качество.

ОК 3. Принимать решения в стандартных и нестандартных ситуациях и нести за них ответственность.

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

ПК 2.2. Программировать в соответствии с требованиями технического задания.

ПК 2.3. Применять методики тестирования разрабатываемых приложе- ний.
В результате освоения практических заданий обучающийся должен

уметь: использовать языки программирования, строить логически пра- вильные и эффективные программы

знать: объектно-ориентированную модель программирования, понятие классов и объектов, их свойств и методов.
Материально-техническое обеспечение занятия: персональный компьютер, среда программирования Visual Studio.
Практические задания и методические указания
Задание 1.
Создайте проект, для решения задачи с использованием классов:
класс «Worker» поля: имя; возраст; вес (начальное значение 60).
методы:
«GetEat» - отображается вес.
«SetEat» - если человек что-то съедает, то его вес увеличивается на количество съеденного.
1. Запустите среду программирования VisualStudio. Создайте новое Прило-
жение WindowsForms. Имя проекта и приложения ClassApp1.
2. Создайте интерфейс приложения в соответствии с образцом:

74 3. Добавьте в проект новый класс Worker, для этого перейдите в Обозрева-
тель решений и в контекстном меню проекта выполните команду Добавить
– Класс. В окне Добавление нового элемента введите имя Worker.csи нажмите кнопку Добавить.
Класс представляет собой шаблон, по которому определяется форма объек- та. В нем указываются данные и код, который будет оперировать этими дан- ными. В С# используется спецификация класса для построения объектов, которые являются экземплярами класса. При этом очень важно подчеркнуть, что класс является логической абстракцией. Физическое представление класса появится в оперативной памяти лишь после того, как будет создан объект этого класса.
При определении класса объявляются данные, которые он содержит, а также код, оперирующий этими данными. Если самые простые классы могут со- держать только код или только данные, то большинство настоящих классов содержит и то, и другое.
Объект можно рассматривать как совокупность свойств, методов и событий, работающий при этом как единое целое.
4. В класс добавьте два общедоступных поля: Имя и Возраст, а также одно скрытое поле: Вес.
5. Для записи и чтения данных из скрытых полей используйте методы. Метод
– это фрагмент программного кода, имеющий собственное имя и позволяю- щий значительно облегчить процесс программирования. Добавьте в класс
Worker метод SetEat, который будет отвечать за еду: если человек что-то съест, то его вес должен будет увеличиться на количество съеденного. Если поле вес скрытое, то запись в него возможна и чтение из него тоже не воз- можно. Для чтения данных из скрытого поля необходимо использовать еще один метод GetEat.

75 6. Далее используйте данные два метода в программе. Заставьте рабочего съесть 2 кг, а затем 3 кг пищи, а потом проверьте его вес. Для этого перейди- те к окну формы и выполните двойной щелчок по кнопке Вывести инфор-
мацию о весе. В обработчик события вставьте следующий код:
7. Запустите программу на выполнение. Проверьте её работоспособность.
8. Усовершенствуйте метод SetEat таким образом, что если рабочий за раз съедает более, чем 10 кг, то его возраст увеличивается на год, а вес увеличи- вается только наполовину от съеденного. Для этого измените код модуля следующим образом:
9. Попросите рабочего съесть 15 кг. Для этого измените программный код кнопки следующим образом:

76 10. Запустите программу на выполнение. Проверьте её работоспособность.
11. Создайте новый проект ClassApp2 для решения следующей задачи с исполь- зованием классов.
Класс «Человек»
Поля: имя; возраст; вес, настроение (начальное значение=10).
Методы:

«Информация о человеке» - отображаются имя, возраст и вес.

«Есть» - если человек что-то съедает, то его вес увеличивается на ко- личество съеденного.

«Гулять» - настроение увеличивается на 1.

«Танцевать» - настроение увеличивается на 2.

«Работать» - настроение уменьшается на 2.

77 12. Усовершенствуйте метод «Есть» так, чтобы при съедании за один раз более
5 кг, его возраст увеличивался бы на год, а вес увеличивался бы только на половину от съеденного.
13. Усовершенствуйте метод так, чтобы настроение не могло становиться отри- цательным числом.
14. Дополните основную программу так, чтобы человек после еды четыре раза погулял и два раза потанцевал.
15. Добавьте в класс метод, который будет возвращать текущее настроение че- ловека.
16. Добавьте в основную программу метод работать 9 раз и выведите настрое- ние пользователя на экран. Измените метод работать таким образом, чтобы настроение никогда не было меньше нуля (т.е. если настроение было 1 и че- ловек поработал, то оно должно стать не меньше 0).
17. Запустите программу на выполнение. Проверьте её работоспособность.
Задание 2.
Создайте класс с использованием свойств.
1. Откройте проект ClassApp1.
2. Измените класс так, чтобы изменим код так, чтобы вместо двух методов
SetEat и GetEat появилось одно свойство Ves. Свойства – неотъемлемая часть класса. Именно с помощью свойств реализовывается один из «китов» объектно-ориентированного программирования – инкапсуляция.
3. Запустите программу. Возможен ли запуск?
4. Измените код кнопки следующим образом:

78 5. Запустите программу на выполнение. Проверьте её работоспособность.
6. Создайте новый проект ClassApp3 работы с приведенным ниже классом.
Свойства определите самостоятельно.
Класс «Покупатель»
Поля класса: название покупаемого продукта, цена, количество, кошелек, настроение (начальное значение=10).
Методы класса:

«Информация о покупке» - отображается название купленного про- дукта, его количество и стоимость покупки.

«Купить» - если человек что-то покупает, то стоимость покупки уве- личивается, а наличность кошелька уменьшается.

«Посмотреть настроение» - отслеживайте само настроение: если настроение больше 15, то оно «бодрое», если от 5 до 15, то – нормаль- ное, если от -10 до 5, то – плохое, если меньше -10, то – депрессивное.
7. Усовершенствуйте метод «Купить» так, чтобы выполнялась проверка: хва- тит ли денег в кошельке для совершения покупки.
8. Добавьте связь с настроением: если денег хватило на совершение покупки, то настроение увеличивается на 50% от суммы покупки, а если не хватило – то настроение уменьшается на количество единиц, равное количеству денег, которых не хватило для совершения покупки.
9. Запустите программу на выполнение. Проверьте её работоспособность.
Задание 3.
Создайте классы, иерархически связанные друг с другом.
1. Создайте новое Приложение WindowsForms. Имя проекта и приложения
ClassApp4.
2. Создайте интерфейс приложения в соответствии с образцом:

79 3. Создайте классы «Фигура» и «Четырехугольник» так, чтобы «Фигура» был
«предком», а «Четырехугольник» - потомком. Добавьте класс «Фигура»:
4. Наследование
– одна из основных характеристик объектно- ориентированного программирования. Когда новый класса становится по- томком существующего, он наследует все незакрытые методы, свойства и поля своего предка. Новый класса затем можно расширять, добавляя или за- меняя эти методы, поля и свойства. Все это, в конечном счете, позволяет значительно упростить программирование путем многократного использо- вания кода. Добавьте класс «Четырехугольник».
5. Используйте данные классы в программе. Напишите программный код для кнопки Площадь.
6. Запустите программу на выполнение. Проверьте её работоспособность.

80
Задания для внеаудиторной самостоятельной работы
Ответьте на вопросы письменно в тетради:

Что такое класс?

Что такое объект?

Назовите основные принципы ООП и дайте каждому из них характери- стику.

Для чего нужны свойства класса?
Критерии оценивания на практическом занятии
Балл
Уровень освоения
компетенций
Критерии оценивания уровня освоения компетенций
5
Максимальный
Практическая работа выполнена в полном соответствии с требованиями, студент представил все задания практи- ческой работы без погрешностей и замечаний, на все во- просы при защите практической работы дал правильные ответы.
4
Высокий
Практическая работа выполнена в полном соответствии с требованиями, студент представил все задания практи- ческой работы с небольшими погрешностями в выпол- нении на персональном компьютере, на защите практи- ческой работы затруднялся при ответах на некоторые вопросы, нуждался в уточняющих вопросах и подсказ- ках со стороны преподавателя.
3
Средний
Практическая работа выполнена в соответствии с требо- ваниями, студент представил все задания практической работы с существенными погрешностями в выполнении на персональном компьютере, неспособен правильно ин- терпретировать полученные результаты, на защите за- труднялся и/или не ответил на большинство вопросов, нуждался в уточняющих вопросах и подсказках со сто- роны преподавателя.
2
Ниже среднего
Студент несамостоятельно выполнил практическую ра- боту, неспособен пояснить выполнение ни одного зада- ния, не ответил ни на один контрольный вопрос на за- щите.

81
ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ ОБУЧЕНИЯ
Основная литература:
1. Голицына, О.Л. Программирование на языках высокого уровня: учебное по- собие для СПО / О. Л. Голицына, И. И. Попов. - М: ФОРУМ, 2014. - 495с.
2. Семакин, И.Г. Основы алгоритмизации и программирования: учебник для
СПО / И. Г. Семакин, А. П. Шестаков. - М.: Академия, 2013. - 300с.
3. Казанский, А. А. Программирование на visual c# 2013: учебное пособие для
СПО / А. А. Казанский. — М.: Издательство Юрайт, 2017. — 191с. - Режим доступа: www.biblio-online.ru/book/A12DB344-78CA-4224-99E4-
EDEB728A5578.
4. Черпаков, И. В. Основы программирования: учебник и практикум для СПО /
И. В. Черпаков. — М.: Издательство Юрайт, 2017. — 219с. —Режим доступа: www.biblio-online.ru/book/F79BE55A-C6F1-439D-9ED5-0D78A50B403F.
Дополнительная литература:
1. Затонский, А.В. Программирование и основы алгоритмизации: теоретические основы и примеры реализации численных методов: учебное пособие для вузов
/ А. В. Затонский, Н. В. Бильфельд. - М.: РИОР: ИНФРА-М, 2014. - 165с.
2. Ишкова, Э.А. С#. Начала программирования: учебник дл вузов / Э. А. Ишко- ва. - М.: БИНОМ, 2013. - 333 с.
3. Огнева, М. В. Программирование на языке с++: практический курс: учебное пособие для СПО / М. В. Огнева, Е. В. Кудрина. — М.: Издательство Юрайт,
2017. — 335 с. — Режим доступа: www.biblio-online.ru/book/B76AB4A4-7623-
4842-9136-B6ADC57B90BC.
4. Павловская, Т.А. С#. Программирование на языке высокого уровня: учебник для вузов / Т. А. Павловская. - М. и др.: Питер, 2014. - 432с.
5. Трофимов, В. В. Алгоритмизация и программирование: учебник для академи- ческого бакалавриата / В. В. Трофимов, Т. А. Павловская; под ред. В. В. Тро- фимова. — М.: Издательство Юрайт, 2017. — 137с. - Режим доступа: www.biblio-online.ru/book/B08DB966-3F96-4B5A-B030-E3CD9085CED4.
Internet – ресурсы
№ п/п
Наименование ресурса
Электронный адрес
1
Интернет-Университет Информа- ционных технологий http://www.intuit.ru/
2
Каталог библиотеки учебных кур- сов MSDM http://msdn.microsoft.com/ru- ru/gg638594 3
Академия мобильных приложе- ний http://appinvent.ru/

82
А.А.Дроздова
ОСНОВЫ АЛГОРИТМИЗАЦИИ
И ПРОГРАММИРОВАНИЯ
Основы объектно-ориентированного программирования
Методические рекомендации
к практическим занятиям
для студентов очной формы обучения
по специальности
09.02.04 Информационные системы (по отраслям)
ЧПОУ Вологодский кооперативный колледж
160014,г.Вологда,ул.Горького,93
1   2   3   4   5   6   7


написать администратору сайта