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

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


Скачать 2.5 Mb.
НазваниеМетодические рекомендации к практическим занятиям для студентов очной формы обучения по специальности
Дата24.03.2023
Размер2.5 Mb.
Формат файлаpdf
Имя файлаpz_09_02.04__osnovyalgoritmizaciiprogrammirovanija.pdf
ТипМетодические рекомендации
#1012152
страница4 из 7
1   2   3   4   5   6   7
В результате освоения практических заданий обучающийся должен

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

знать: объектно-ориентированную модель программирования, основные алгоритмические конструкции.
Материально-техническое обеспечение занятия: персональный компьютер, среда программирования Visual Studio.
Практические задания и методические указания
Задание 1.
Разработать проект демонстрации работы RGB – функций (установок цвета по трем составляющим) с помощью полос прокрутки. Каждый бегунок полос про- крутки должен будет менять вклад RGB – компонента, отображающийся на па- нели как цвет, а на метке как число. Результирующий цвет должен отображать- ся на панели.
1. Запустите среду программирования VisualStudio. Создайте новое Прило-
жение WindowsForms. Имя проекта и приложения ScrollBox1. Папка для размещения проекта ScrollBox.
2. Разместите на форме компоненты в соответствии с рисунком.

38
Элементы управления HScrollBar и VScrollBar представляют собой обыч- ные полосы прокрутки, отображаемые на границах окон редактирования и просмотра приложений MicrosoftWindows. Полоса прокрутки – классиче- ский элемент оконного интерфейса, использующийся для скроллинга ин- формации, которая не помещается целиком в область вывода. В объектах просмотра и редактирования Windows этот элемент появляется при необхо- димости автоматически.
Окно элемента управления HScrollBar располагается горизонтально, а эле- мента управления VScrollBar— вертикально.
5. Задайте для элемента управления VScrollBar1 значение свойства
Name=RedBar и установить значение свойств Max=255, Value=122,
LargeChange=1.
6. Задайте для элемента управления VScrollbar2 значение свойства
Name=GreenBar и установите значение свойств Max=255, Value=122,
LargeChange=1.
7. Задайте для элемента управления VScrollbar3 значение свойства
Name=BlueBar и установите значение свойств Max=255, Value=122,
LargeChange=1.
8. Выделите элемент RedBar, на панели Свойства и перейдите на вкладку Со-
бытия. Найдите событие Scroll, справа от него в поле сделайте двойной щелчок левой кнопкой мыши. Оказавшись в коде программы, введите сле- дующий код:
Метод FromArgbсоздает структуру Color из указанных 8-разрядных значе- ний цветов (красный, зеленый, синий).
9. Аналогично запишите процедуры обработки события Scroll для элементов
GreenBar и BlueBar.
10. Задайте имя формы проекта RGB-функции.

39 11. Свойство Text компонентов Label сделайте пустым.
12. Сохраните изменения и запустите проект, убедитесь в его работоспособно- сти.
Задание 2.
Разработать проект, который позволяет пользователю вычислить факториал числа. Число, для которого рассчитывается факториал, выбирается с помощью элемента управления TrackBar. При щелчке по кнопке «Расчет», меняется надпись «Число n» на «N!» и в строке ввода выводится значение факториала числа.
1. Создайте новое Приложение WindowsForms. Имя проекта и приложения
ScrollBox2. Папка для размещения проекта ScrollBox.
2. Элемент управления TrackBar представляет собой шкалу с движком, с по- мощью которого пользователь может изменять (регулировать) численное значение. Это может быть уровень громкости, баланс звуковых каналов, насыщенность отдельных компонентов цвета, яркость и пр. Движок элемен- та управления TrackBar можно передвигать мышью, клавишами перемеще- ния курсора, а также клавишами Home, End, PgUp и PgDn. При перемеще- нии движка создаются события Scroll.
Помимо движка, в окне элемента управления TrackBar есть деления. Они отображаются в виде коротких штрихов, расположенных на равном расстоя- нии друг от друга.
Вы можете выбрать горизонтальное или вертикальное расположение окна
TrackBar. Деления могут находиться с любой стороны, с обеих сторон или их может не быть совсем.
При создании элемента управления TrackBar приложение должно опреде- лить диапазон значений, соответствующих положению движка, шаг деле- ний, а также шаг изменения этих значений.
3. Разместите на форме компоненты в соответствии с рисунком.

40 4. Для элемента управления TrackBar1 установите значение свойств Max=10,
Value=5.
5. Выделите элемент TrackBar1, на панели Свойства перейдите на вкладку
События. Найдите событие Scroll, справа от него в поле сделайте двойной щелчок левой кнопкой мыши. Оказавшись в коде программы, введите сле- дующий код:
6. Запишите процедуру обработки события Cliсk кнопки «Расчет». При расче- те факториала числа необходимо воспользоваться конструкцией цикл.
7. Задайте имя формы проекта Факториал числа.
8. Сохраните изменения в проекте и запустите проект, убедитесь в его работо- способности.
9. Измените код процедуры обработки события Clickкнопки «Расчет» так, чтобы надпись«Число n» была заменена на «N!».
10.
В то время как элемент управления TrackBar предназначен для регулирова- ния каких-либо числовых значений, элемент управления
ProgressBar поможет Вам графически отобразить значения. Он часто при- меняется, например, для отображения процента завершения какого-либо длительного процесса. Добавьте в проект элемент управления ProgressBar.
11.
Для элемента управления ProgressBar1 установите значение свойств
Max=10, Value=5.
12. Перейдите в окно обработчика события Scroll элемента управления Track-
Bar1 и измените код следующим образом:

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

42
ПРАКТИЧЕСКАЯ РАБОТА №6,7
СОЗДАНИЕ ПРОЕКТА С ИСПОЛЬЗОВАНИЕМ КОМПОНЕНТОВ
СТАНДАРТНЫХ ДИАЛОГОВ И СИСТЕМЫ МЕНЮ
Цель работы: сформировать умения использования компонентов стандартных диалогов и системы меню, изучить основные свойства; сформировать умения по созданию процедур на основе событий компонентов.
Формируемые компетенции:

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

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

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

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

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

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

знать: объектно-ориентированную модель программирования, основные алгоритмические конструкции.
Материально-техническое обеспечение занятия: персональный компьютер, среда программирования Visual Studio.
Практические задания и методические указания
Задание:
Разработать приложение SimpleNotepad, представляющее собой простейший текстовый редактор. Использовать в приложении компонент для работы с меню и стандартные окна диалога.
1. Запустите среду программирования VisualStudio. Создайте новое Прило-
жение WindowsForms. Имя проекта и приложения SimpleNotepad.
2. Измените свойство Name формы на SimpleNotepadForm.
3. Перейдите в окно Обозреватель решений и переименуйте файл Form1.cs на SimpleNotepadForm.cs.
4. Измените размеры окно формы. Измените заголовок окна на РедакторSim-
pleNotepad.
5. Добавьте в окно приложения элемент управления MenuStrip.
6. В поле Вводить здесь меню введите строку &File. В результате в окне при- ложения появится меню File. Обратите внимание, что первая буква в назва- нии подчеркнута. Это получилось потому, что перед ней стоит префикс &.

43
Этим префиксом отмечается буква, предназначенная для ускоренного выбо- ра меню при помощи клавиатуры.
7. Создайте меню File в соответствии с рисунком. Для вставки разделительной черты необходимо вызвать контекстное меню и выбрать команду Separator.
8. Создайте меню Edit в соответствии с рисунком. В меню Edit реализованы стандартные функции приложения Блокнот.
9. Меню Format состоит только из одной строки Font, с помощью которой пользователь может изменить шрифт текста.
10. Меню Help состоит только из одной строк About.
11. Переименуйте идентификаторы меню и строк меню таким образом, чтобы с ними было удобнее работать в программе. Для этого в окне дизайнера фор- мы щелкните правой кнопкой мыши главное меню приложения и затем вы- берите из контекстного меню строку Правка DropDownItems. В окне Ре-
дактор коллекций элементов отредактируйте имена меню и строк меню, изменив значение свойства Name соответствующего элемента. При этом ме- ню верхнего уровня должны называться menuFile, menuEdit, menuFormat,
menuHelp. Имена строк формируются путем добавления к имени меню тек- ста, отображаемого в строке меню. Например, строка New называется men-
uFileNew.

44 12. Запустите приложение. Убедитесь, что меню корректно отображается, и вы можете выбирать его строки.
13. Редактирование текста в приложении будет выполнять компонент Rich-
TextBox. Перетащите компонент RichTextBoxс панели элементов в окно приложения. Задайте значение свойства Dock данного компонента равным
Fill, для того чтобы он занимал все окно приложения.
14. Создайте обработчики событий, необходимые для выполнения таких функ- ций как создание нового документа, открытие и сохранение документа.
15. Добавьте на форму компонент OpenFileDialog с вкладки Диалоговые окна панели элементов. Выделите пункт меню Open... и дважды щелкните по нему левой кнопкой мыши, для того чтобы добавить обработчик события. В обработчик события добавьте следующий код для отображения диалогового окна открытия файла.
16. Выделите компонент openFileDialog1, на панели Свойства найдите свой- ство Filter и введите следующую строку RTF files|*.rtf|Text files|*.txt|All
files|*.*
17. Добавьте на форму компонент SaveFileDialog с вкладки Диалоговые окна панели элементов. Выделите пункт меню SaveAs… и дважды щелкните по нему левой кнопкой мыши, для того чтобы добавить обработчик события. В обработчик события добавьте следующий код для отображения диалогового окна Сохранение файла. Этот код сохраняет текст введенный в элемент управления richTextBox, в текстовый файл в указанной папке. Метод
ShowDialog отображает диалоговое окно, а затем с помощью поля
DialogResult.OK осуществляется проверка нажата ли пользователем кнопка
ОК.
18. Выделите компонент saveFileDialog1, на панели Свойства найдите свойство
Filterи введите следующую строку RTFfiles|*.rtf, найдите свойство File-
Name и задайте значение doc1.rtf
19. Добавьте в окно дизайнера форм компоненты PrintDocumet, PrintDialog вкладки Печать панели элементов.

45 20. Компонент PrintDocumet предназначен для вывода данных документа на принтер. Свойства компонента PrintDocumet описывают, как именно нужно распечатывать документ. В свойство DocumentName данного компонента запишите строку SimpleNotepadDocument. Эта строка будет идентифициро- вать документ при отображении состояния очереди печати. Значения остальных свойств оставьте без изменения.
21. С помощью компонента PrintDialog приложение выведет на экран стан- дартное диалоговое окно печати документа. Задайте для данного компонента значение свойства Document равным printDocument1. Этим обеспечивается связь компонента printDialog с компонентом PrintDocumet.
22. Для работы с классами, предназначенными для выполнения операций с по- токами и печати, добавьте в начало программы следующие строки:
23. Добавьте в классаSimpleNotepadForm поля m_myReader (для печати со- держимого редактора текста) и m_PrintPageNumber (номер текущей распе- чатываемой страницы документа).
24. Создайте обработчик события печати документа.
Печать документа будет начинаться с первой страницы, поэтому в поле
m_PrintPageNumber записывается значение 1. Далее выполняется чтение текущего содержимого окна редактирования текста в поток m_myReader класса StringReader. Далее задаются границы отступов на распечатываемой странице и отображается диалоговое окно печати документа. Если пользова- тель щелкает в этом окне кнопку OK, документ printDocument1 отправля- ется на печать методом Print. Далее ненужный более поток m_myReader за- крывается методом Close.
25. На данном этапе приложение еще не в состоянии распечатать документ.
Причина этого в том, что приложение пока еще не знает, каким именно об- разом нужно печатать документ.

46 26. Чтобы в нашем приложении заработала функция печати, необходимо со- здать обработчик события PrintPage. Для этого нужно дважды щелкнуть ле- вой клавишей мыши значок компонента printDocument1. В тело обработчи- ка событий вставьте программный код из текстового файла Print.txt. Ком- ментарии в тексте обработчика событий PrintPage поясняют назначение от- дельных программных строк. Заметим, что для полного понимания дей- ствий, выполняемых нашим обработчиком событий, требуется предвари- тельное знакомство с графической подсистемой Graphics Device Interface
Plus (GDI+), реализованной компанией Microsoft в рамках библиотеки классов .NET Framework. Пока же нужно отметить, что приложение распе- чатывает текст построчно в цикле. После завершения печати всех строк те- кущей страницы обработчик событий PrintPage печатает верхний и нижний колонтитулы, а также рисует горизонтальные линии, отделяющие текст ко- лонтитулов от текста документа.
27. Измените меню File, добавив пункт Exit, при выборе которого окно редак- тора текста должно быть закрыто. Добавьте обработчик события для данно- го пункта меню:
28. Однако при закрытии окно приложения возникает проблема: окно редактора текста будет закрыто и в том случае, если пользователь не сохранил сделан- ные им изменения. Чтобы решить эту проблему, нам нужно каким-то обра- зом отслеживать наличие изменений в окне редактирования текста. Опреде- лите в классе SimpleNotepadForm поле m_DocumentChanged, в котором будет храниться флаг, отмечающий изменения, сделанные пользователем в документе. В новом или только что загруженном документе изменений нет, поэтому начальное значение этого флага равно false.
29. Создайте обработчик события richTextBox1_TextChanged, выполнив двой- ной щелчок по компоненту richTextBox. Этот обработчик получит управле- ние, как только пользователь внесет любые изменения в содержимое редак- тируемого документа.
30. Если пользователь редактировал документ, а потом решил создать новый, выбрав из меню File строку New, изменения, внесенные в старый документ, могут быть потеряны.
31. Чтобы избежать этого, проверьте флаг m_DocumentChanged перед тем как очищать содержимое редактора текста. Если в редакторе есть не сохранен- ные изменения, необходимо выполнить сохранение документа. Отредакти- руйте код обработчика события пункта меню New следующим образом:

47 32. Отредактируйте код обработчика события пунктов меню Save иSave As, до- бавив строку кода m_DocumentChanged=false
33. Измените обработчик события пункта меню Exit следующим образом:
34. Надо выполнить еще одну проверку флага
1   2   3   4   5   6   7


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