- •Содержание
- •Введение уважаемый студент!
- •Желаем Вам успехов!!!
- •Раздел 1 «Основные принципы алгоритмизации и программирования».
- •Тема 1.1. «Основы алгоритмизации»
- •Образовательные результаты, заявленные во фгос третьего поколения:
- •Обеспеченность занятия и средства обеспечения:
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Задания и инструкция по выполнению практической работы
- •Порядок выполнения отчета по практической работе
- •Образец отчета по практической работе
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Обеспеченность занятия и средства обеспечения:
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Порядок выполнения отчета по практической работе
- •Образец отчета по практической работе
- •Раздел 2. «Программирование на алгоритмическом языке»
- •Тема 2.1. «Основные элементы языка» Практическая работа № 4 «Составление программ линейной структуры»
- •Образовательные результаты, заявленные во фгос третьего поколения:
- •Обеспеченность занятия и средства обеспечения такая же как в практической работе №1.
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Порядок выполнения отчета по практической работе
- •Образец отчета по практической работе
- •Тема 2.2. «Операторы языка» Практическая работа № 5 «Составление программ разветвляющейся структуры»
- •Образовательные результаты, заявленные во фгос третьего поколения:
- •Обеспеченность занятия и средства обеспечения:
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Обеспеченность занятия и средства обеспечения такая же, как в практической работе №5.
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Обеспеченность занятия и средства обеспечения такая же как в практической работе №5.
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Задания и инструкция по выполнению практической работы
- •Порядок выполнения отчета по практической работе
- •Образец отчета по практической работе
- •Тема 2.3. «Подпрограммы» Практическая работа № 8 «Организация и использование процедур»
- •Образовательные результаты, заявленные во фгос третьего поколения:
- •Обеспеченность занятия и средства обеспечения такая же как в практической работе №5.
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Задания и инструкция по выполнению практической работы
- •Порядок выполнения отчета по практической работе
- •Образец отчета по практической работе
- •Практическая работа № 9 «Организация и использование функций»
- •Образовательные результаты, заявленные во фгос третьего поколения:
- •Обеспеченность занятия и средства обеспечения такая же как в практической работе №5.
- •Задания и инструкция по выполнению практической работы
- •Порядок выполнения отчета по практической работе
- •Образец отчета по практической работе
- •Тема 2.4. «Структурированные типы данных» Практическая работа № 10 «Символьный и строковый тип данных»
- •Образовательные результаты, заявленные во фгос третьего поколения:
- •Обеспеченность занятия и средства обеспечения такая же как в практической работе №5.
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Задания и инструкция по выполнению практической работы
- •Порядок выполнения отчета по практической работе
- •Образец отчета по практической работе
- •Практическая работа № 11 «Методы работы с элементами одномерного массива»
- •Образовательные результаты, заявленные во фгос третьего поколения:
- •Обеспеченность занятия и средства обеспечения такая же как в практической работе №5.
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Инструкция по выполнению практической работы
- •Обеспеченность занятия и средства обеспечения такая же как в практической работе №5.
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Задания и инструкция по выполнению практической работы
- •Порядок выполнения отчета по практической работе
- •Образец отчета по практической работе
- •Практическая работа № 13 «Быстрые методы сортировки массивов»
- •Образовательные результаты, заявленные во фгос третьего поколения:
- •Обеспеченность занятия и средства обеспечения такая же как в практической работе №5.
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Задания и инструкция по выполнению практической работы
- •Обеспеченность занятия и средства обеспечения такая же как в практической работе №5.
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Задания и инструкция по выполнению практической работы
- •Порядок выполнения отчета по практической работе
- •Образец отчета по практической работе
- •Практическая работа № 15 «Методы работы с элементами двумерного массива»
- •Образовательные результаты, заявленные во фгос третьего поколения:
- •Обеспеченность занятия и средства обеспечения такая же как в практической работе №5.
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Задания и инструкция по выполнению практической работы
- •Обеспеченность занятия и средства обеспечения такая же как в практической работе №5.
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Задания и инструкция по выполнению практической работы
- •Тема 2.5 Файлы
- •Обеспеченность занятия и средства обеспечения такая же как в практической работе №5.
- •Assign(Имя файловой переменной, путь до файла);
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Задания и инструкция по выполнению практической работы
- •Раздел 3. Объектно-ориентированное программирование
- •Тема 3.1 Интегрированная среда разработчика
- •Обеспеченность занятия и средства обеспечения
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Задания и инструкция по выполнению практической работы
- •Порядок выполнения отчета по практической работе
- •Образец отчета по практической работе
- •Практическая работа № 19 «Системные события»
- •Образовательные результаты, заявленные во фгос третьего поколения:
- •Обеспеченность занятия и средства обеспечения такая же, как в практической работе №18.
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Задания и инструкция по выполнению практической работы
- •Обеспеченность занятия и средства обеспечения такая же, как в практической работе №18.
- •Вопросы для закрепления теоретического материала к практическому занятию:
- •Задания и инструкция по выполнению практической работы
Вопросы для закрепления теоретического материала к практическому занятию:
Для чего предназначены компоненты Edit и Label? В чем их принци-пиальное отличие?
Перечислите некоторые свойства компонента Edit.
Перечислите некоторые свойства компонента Label.
Перечислите некоторые свойства и события компонента Button.
Поясните назначение оператора Button1.OnClick.
Какое свойство позволяет управлять видимостью компонента?
Задания и инструкция по выполнению практической работы
1. Напишите программу «Кнопка». На форме создаются две кнопки, щелчок указателя мыши на которых открывает надпись на форме или удаляет надпись с формы.
Создайте новый проект. В Строке заголовка формы укажите название окна проекта. Для этого в Инспекторе объектов, в свойстве Caption (заголовок) для формы, запишите: «Кнопка». На рисунке показан вид формы.
Теперь следует сохранить модуль в папке Проект_20_1.
На странице или разделе Standard (стандартные) выберите компонент TButton (кнопка) и щелкните в любом месте формы. При этом на форме появится кнопка, и в Инспекторе объектов будут отображаться ее свойства. В свойстве Caption (заголовок) для кнопки запишите: Кнопка 1.
Выберите на странице Standard (стандартные) компонент TLabel (метка). Щелкните на поле формы, и на нем появится объект Label1, а Инспектор объектов отобразит его свойства. Свойство Visible (видимый) для объекта Label1 надо установить в False (ложь). Это значит, что текст не будет видимым. В свойстве Caption (заголовок) запишите: Привет!. Выберите параметры для шрифта с помощью свойства Font (шрифт).
Нажмите клавишу F9 на клавиатуре для запуска проекта. Убедитесь, что в окне программы есть только кнопка. Закройте окно программы.
Для того чтобы при щелчке на кнопке появлялась надпись Привет!, надо написать код, обрабатывающий событие «щелчок на кнопке». Выделите кнопку мышью, в Инспекторе объектов откройте лист Events (свойства), на котором выберите событие OnClick (щелчок указателем мыши), и дважды щелкните в пустом поле, находящемся рядом с названием события.
При этом откроется программная часть проекта, в которой добавилась следующая запись:
Это заготовка процедуры обработки события OnClick (щелчок). Между словами begin (начало) и end (конец) надо записать текст процедуры, состоящий из оператора:
Этот оператор присваивает свойству Visible (видимый) метки Label1, находящейся на форме Form1, значение True (истина).
Запустите программу и убедитесь, что она работает.
Добавьте вторую кнопку и напишите событие OnClick запишите оператор для этой процедуры самостоятельно, позволяющий скрывать надпись на форме.
Сделайте так, чтобы щелчок на второй кнопке не только удалял надпись Привет!, но и отображал какую-либо другую надпись, например: Пока!, другого цвета. Используйте для этого уже имеющуюся метку.
Сохраните изменения и запустите программу.
2. Напишите программу «Щелчок на кнопке». При щелчке по различным кнопкам на форме в специальном окне появляется соответствующий текст выбранного цвета.
Создайте проект. В свойстве Caption (заголовок) для формы запишите: Щелчок. Вид формы представлен на рисунке.
Сохраните модуль и проект в папке Проект_20_2.
Поместите на форму компонент TPanel (панель) со страницы Standard (стандартные). В свойстве Caption (заголовок) для панели удалите текст, чтобы на панели не было ее названия. Увеличьте размеры панели, чтобы поместить на нее четыре кнопки.
Поместите на панель четыре кнопки (TBitBtn) со страницы Additional (дополнительные), в свойстве Caption (заголовок) для этих кнопок запишите: Кнопка 1, Кнопка 2, Кнопка 3, Кнопка 4. В свойстве Cursor (курсор) для каждой кнопки выберите из списка значение: crHandPoint. Тогда при наведении курсора на кнопку он приобретет вид ладошки.
Под панелью с кнопками вставьте компонент TEdit (окно редактирования), который находится на странице Standard (стандартные). В свойстве Text (текст) удалите текст.
Сохраните изменения щелчком на кнопке SaveAll (сохранить все). Запустите программу и посмотрите, что получилось.
Теперь сделайте так, чтобы при щелчке на кнопках, в окне Edit1 появлялся текст: Щелчок на кнопке 1, Щелчок на кнопке 2, Щелчок на кнопке 3, Щелчок на кнопке 4. Выделите первую кнопку, и на листе Events (события), в событии OnClick (щелчок) для нее щелкните два раза на пустом поле рядом с названием события. Запишите в процедуре между словами begin (начало) и end (конец) следующие операторы:
Создайте по аналогии процедуры, обрабатывающие щелчок указателем мыши на других кнопках.
Первый оператор в каждой процедуре присваивает свойству Text (текст) компонента TEdit некоторое значение, в нашем случае текст, который заключается в апострофы. Текст может писаться как на русском языке, так и на английском. Второй оператор в каждой процедуре присваивает цвет шрифту текста окна.
Добавьте операторы в процедуры для кнопок для того, чтобы при щелчке на каждой кнопке изменялся цвет текста на кнопке?
Сохраните изменения и запустите программу.
3. Напишите программу «Главная форма». Создается главная форма и несколько форм, которые добавляются к проекту. Между главной формой и подчиненными формами устанавливается связь. На главной форме создаются кнопки, щелчок на которых открывает соответствующую подчиненную форму.
Создайте проект. Назовите форму: «Главная форма» (свойство Caption). В свойстве Name (имя) запишите: FormGlavn. Сохраните модуль под именем UnitGlavn в папке Проект_20_3 и сохраните там же проект под именем ProjectGlavn.
Создайте три формы. Для создания формы щелкните на кнопке New (создать) в Панели инструментов и выберите пиктограмму Form (форма). Назовите окна форм: «Первая форма», «Вторая форма», «Третья форма». Для этого используйте свойство Caption (заголовок). Дайте формам имена: Form_1, Form_2, Form_3. Используйте для этого свойство Name (имя). Сохраните в этой же папке модули для этих форм под именами UnitForm_1, UnitForm_2 и UnitForm_3.
Итак, в папке Проект_20_3 хранятся четыре модуля и один проект.
Откройте проект ProjectGlavn. Найдите в панели инструментов команду Add file to project (добавить файл к проекту) или нажмите одновременно клавиши Shift и F11. Выберите: Unit-Form_1. Вы добавили к проекту форму «Первая форма». Аналогично добавьте к проекту и остальные две формы. Сохраните изменения.
На главную форму поместите компонент TBevel (компонент для рельефного оформления интерфейса программы) со страницы Additional (дополнительные). В свойстве Shape (фигура) выберите: bsFrame (рамка).
Поместите на объект Bevel1 три кнопки TBitBtn со страницы Additional (дополнительные). В свойстве Caption (заголовок) для кнопок запишите: «Первая форма», «Вторая форма», «Третья форма». Эти кнопки будут служить для перехода из главной формы к подчиненным. Внешний вид программы на рисунке.
Для осуществления перехода к первой форме выделите кнопку «Первая форма» и в Инспекторе объектов на листе Events (события) в пустом окне события OnClick (щелчок) произведите двойной щелчок. Запишите следующий оператор в теле процедуры:
Этот оператор делает видимой и доступной форму Form_1.
В модуле главной формы после служебного слова implementation (реализация) надо записать: uses UnitForm_1;. Так вы связали эти два модуля. Пока модули не связаны, щелчок на кнопке не будет открывать окно формы Form_1.
Сохраните изменения и запустите проект с помощью клавиши F9. Вы видите, что при щелчке на первой кнопке открывается и становится активным окно «Первая форма». При этом можно щелкать и на двух остальных кнопках.
По аналогии создайте процедуры и для этих кнопок и после слова implementation (реализация) модуля UnitGlavn добавьте, разделяя их запятыми, к записи UnitForm_1 следующие записи: UnitForm_2 и UnitForm_3.
Сохраните изменения в проекте и запустите его. Убедитесь, что все кнопки работают.
Создайте еще одну форму (четвертая форма). Поместите на первую форму кнопку и организуйте ее работу так, чтобы щелчок на ней открывал четвертую форму. Добавьте на главную форму кнопку, которая бы тоже открывала четвертую форму.
Сохраните изменения в проекте и запустите его. Убедитесь, что все кнопки работают.
4. Напишите программу для перевода градусной меры угла в радианную.
Создайте новый проект. Сохраните новое приложение в папке Проект_20_4.
Визуальный интерфейс приложения изображен на рисунке.
Измените значения свойств.
Свойство |
Значение |
|
Форма |
||
Name |
MainF |
|
Caption |
Перевод из градусной меры угла в радианную |
|
Label |
||
Name |
DegreeLbl |
|
Caption |
Введите градусную меру угла |
|
Edit |
||
Name |
DegreeEdt |
|
Text |
0 |
|
Button |
||
Name |
ExecuteBtn |
|
Caption |
Перевести |
|
Label |
||
Name |
RadianLbl |
|
Caption |
Радианная мера угла |
|
Edit |
||
Name |
RadianEdt |
|
Enabled |
False |
|
Text |
0 |
|
Измените размеры формы в соответствии с расположенными компонентами.
Создайте обработчик события OnClick кнопки ExecuteBtn.
Нужно взять информацию, введенную в компонент DegreeEdt, преобразовать в соответствии с математической формулой: Радианная мера угла = Градусная мера угла * ПИ / 180) и отобразить результат в компоненте RadianEdt.
При выполнении этих манипуляций может возникнуть проблема преобразования форматов данных. Исходные данные (градусная мера угла — это вещественное число) представлены строкой, хранящейся в компоненте DegreeEdt. Для преобразования строки в вещественное число воспользуемся процедурой Val:
procedure Val(S; var V; var Code: integer), где S — строковое представление числа, V — параметр, через который процедура возвращает число целого или вещественного типа, Code — если строка S не является представлением числа, то параметр Code содержит номер ошибочного символа.
В обработчике события OnClick кнопки ExecuteBtn введем следующую последовательность операторов:
методом
объекта Application для отображения диалогового
окна об ошибке
FloatToStr
преобразует вещественное число в строку
Если
параметр Error равен нулю, то ошибок при
введении числа нет.
преобразует
введенную в строковом формате
градусную меру угла в вещественное
число
Сохраните изменения, внесенные в проект. Запустите приложение. Убедитесь в корректной работе созданного приложения.
5. Напишите программу «Калькулятор».
Создайте новый проект. Сохраните новое приложение в папке Проект_20_5.
Измените заголовок формы (свойство Caption) на Калькулятор, а значение свойства Name — на CalculatorFrm.
Поместите на форму компонент Edit. Расположите его так, как показано на рисунке.
Компонент Edit с
именем NumberEd
Компонент Panel с
именем NumberEd
Установите следующие значения его свойств для компонента Edit:
Свойство |
Значение |
Описание |
Name |
NumberEd |
Имя компонента, для обращения к нему в коде программы |
Enabled |
False |
чтобы предотвратить ввод символов, которые не могут присутствовать в числе
|
Text |
|
Чтобы при запуске приложения компонент был пустым |
Поместите на форму компонент Panel, который предназначен для логического объединения компонентов в группу.
Установите следующие значения его свойств для компонента Panel:
Свойство |
Значение |
Описание |
BevelInner |
bvRaised |
Стиль внутренней фаски |
BevelOuter |
bvRaised |
Стиль внешней фаски |
BevelWidth |
1 |
ширина фаски |
BorderStyle |
bsSingle |
стиль рамки |
Caption |
|
Надпись на панели |
Поместите на панель 5 компонентов Button. Для этого, удерживая клавишу Shift, щелкните на компоненте Button в палитре компонент — компонент стал выделенным. Щелкните на панели пять раз — на панели появились пять кнопок.
Установим размер кнопок, равный 60 пикселям по ширине и 50 — по высоте. Выделите все помещенные на панель кнопки.
Выполните команду Size меню Edit. В появившемся диалоговом окне Size установите размер объектов.
устанавливает
ширину (высоту) отмеченных объектов в
указанные значения
выравнивает
размер по ширине (высоте) наибольшего
из выделенных объектов
выравнивает
размер по ширине (высоте) наименьшего
из выделенных объектов
не
изменяет размеров объектов
Чтобы выровнять кнопки относительно друг друга, выполните команду Align... меню Edit. Установите выравнивание по верхней стороне по вертикали и равные расстояния между компонентами по горизонтали (рис. 12).
выравнивает
центры компонентов
выравнивает
компоненты по центру формы
располагает
компоненты на равном расстоянии друг
от друга
не
изменяет выравнивание компонентов
Скопируйте
выделенные пять кнопок в буфер обмена,
выполнив команду Сору
меню Edit.
На Panel1
поместите еще пять кнопок, для этого
выделите компонент Panel1
(чтобы показать объект, на который будем
помещать кнопки из буфера) и выполните
команду Paste
меню Edit
(вставка из буфера обмена). Не снимая
выделения, разместите эти кнопки как
показано на рисунке.
Кнопка 9 |
|
Caption |
8 |
Name |
EightBtn |
Кнопка 10 |
|
Caption |
9 |
Name |
NineBtn |
Кнопка 11 |
|
Caption |
+ |
Name |
AddBtn |
Поместите в нижнюю часть формы еще один компонент Panel. Разместите на нем семь компонентов Button и измените их свойства Caption и Name в соответствии с таблицей:
Свойство |
Значение |
Кнопка 1 |
|
Caption |
0 |
Name |
ZeroBtn |
Кнопка 2 |
|
Caption |
1 |
Name |
OneBtn |
Кнопка 3 |
|
Caption |
2 |
Name |
TwoBtn |
Кнопка 4 |
|
Caption |
3 |
Name |
ThreeBtn |
Кнопка 15 |
|
Caption |
mod |
Name |
ModBtn |
Кнопка 16 |
|
Caption |
= |
Name |
EqualBtn |
Кнопка 17 |
|
Caption |
С |
Name |
CancelBtn |
Кнопка 12 |
|
Caption |
- |
Name |
SubtractBtn |
Кнопка 13 |
|
Caption |
* |
Name |
MultiplyBtn |
Кнопка 5 |
|
Caption |
4 |
Name |
FourBtn |
Кнопка 6 |
|
Caption |
5 |
Name |
FiveBtn |
Кнопка 7 |
|
Caption |
6 |
Name |
SixBtn |
Кнопка 8 |
|
Caption |
7 |
Name |
SevenBtn |
Кнопка 14 |
|
Caption |
div |
Name |
DivBtn |
Измените
шрифт кнопок, для этого выделите все
кнопки и измените значение свойства
Font.
При нажатии на клавиши '0', '1', '2', '3', '4', '5', '6', '7', '8", '9' формируется число — к содержимому окна редактирования справа добавляется цифра, отображенная на кнопке. Создадим обработчик события OnClick кнопки OneBtn:
Но при щелчке на любой из оставшихся 9 кнопок происходит то же самое действие. Измените предыдущий код:
Напомним, что параметр Sender представляет объект, который получил сообщение, например, при нажатии на клавишу ‘1’ параметр Sender, несмотря на указанный в заголовке тип TObject, является ссылкой на объект OneBtn типа TButton. Оператор AS используется для приведения объектных типов, т. е. параметр Sender будет преобразован к типу TButton. Поэтому при щелчке на кнопке OneBtn значения OneBtn.Caption обработчика (1) совпадает со значением (Sender as TButton).Caption обработчика (2).
Таким образом, если после щелчка на кнопке TwoBtn обратиться к методу-обработчику события (2), то значение (Sender as TButton).Caption будет равняться '2'. Чтобы связать этот обработчик события с обработкой события OnClick компонента TwoBtn, необходимо в левом столбце Инспектора объектов компонента TwoBtn из списка методов-обработчиков событий события OnClick выбрать OneBtnClick.
Выполните аналогичные действия для каждой из оставшихся восьми кнопок. Запустите приложение. Убедитесь, что при щелчке по кнопкам формируется число.
При щелчке на кнопках '+', '-',- '*', 'Div', 'Mod' необходимо запомнить первый операнд арифметического выражения и знак операции.
Введем переменную operand1 (operand1: Integer) для хранения значения первого операнда вычисляемого выражения, опишем ее в разделе private класса TCalculatorFrm.
Каждый компонент VCL обладает свойством Tag, назначение которого устанавливает программист. Мы можем воспользоваться этим свойством для запоминания (определения) знака арифметической операции. Установим значение свойства Tag компонентов в соответствии со следующей таблицей:
-
Имя компонента
Значение свойства Tag
AddBtn
1
SubtractBtn
2
MultiplyBtn
3
DivBtn
4
ModBtn
5
При выборе знака действия запомним Tag соответствующей кнопки в свойстве Tag формы. Тогда обработчик события OnClick компонента AddBtn будет выглядеть так:
Соедините данный обработчик события с обработчиками событий OnClick оставшихся четырех знаков действий. При нажатии на клавишу '=' вычисляется результат арифметической операции:
Запустите приложение. Убедитесь в правильности работы калькулятора.
При нажатии на клавишу "С" окно ввода очищается:
Модифицируем программу так, чтобы мы могли пользоваться калькулятором, не только при помощи манипулятора мышь, но и клавиатуры.
В Windows используется фокус ввода для того, чтобы определить, куда посылать события клавиатуры. Выбранный в данный момент компонент (активный компонент) всегда обладает фокусом ввода, и именно он принимает все события клавиатуры.
Для того чтобы послать события клавиатуры сначала форме, а потом активному компоненту установите свойство формы KeyPreview равным True. Это может пригодиться для того, чтобы обезопасить пользователя от введения ошибочных символов (например, от введения букв).
Итак, установите значение свойства KeyPreview формы равным True, создайте обработчик события OnKeyPress формы:
Запустите приложение. Сложите два целых числа. Убедитесь в правильности полученного результата. Допишите обработчик события OnKeyPress для знака арифметической операции -, *, div, mod, С.
6. Напишите программу подсчитывающую количество секунд самостоятельно, прошедших с начала суток, если сейчас N часов, М минут, L секунд.
7. Напишите программу «Картинная галерея». Создайте проект. Назовите форму «Картинная галерея» (свойство Caption). Вид формы представлен на рисунке.
Сохраните в папке Проект_20_6 модуль и проект под именами соответственно UnitPictures и ProjectPictures. Скопируйте в папку три файла рисунков или фотографий.
Поместите на форму два компонента TPanel (панель) со страницы Standard (стандартные). В свойстве Caption (заголовок) для обеих панелей удалите текст.
В первую панель вставьте три кнопки TBitBtn со страницы Additional (дополнительные). В свойствах Caption (заголовок) для кнопок запишите: «Первая картина», «Вторая картина», «Третья картина».
Во вторую панель вставьте компонент TImage (изображение) со страницы Additional (дополнительные). Нажмите кнопку с многоточием в свойстве Picture и в открывшемся окне щелкните Load... (загрузить...). Выберите файл какой-либо картинки. Когда она отобразится на вашей форме, в свойстве Stretch (растяжение) для объекта Imagel выберите значение: True (истина), и тогда картинка будет отображаться полностью. В свойстве Visible (видимый) объекта Image1 выберите: False (ложь). Это значит, что картинку не будет видно до тех пор, пока вы этого не захотите. Для кнопки «Первая картина» в Инспекторе объектов на листе Events (события) щелкните два раза на пустом окошке события OnClick (щелчок мышью). В тело процедуры внесите следующий оператор:
Сохраните изменения в проекте и запустите его (F9).
Закройте проект, вернитесь в форму и добавьте еще один компонент TImage так, чтобы его размеры были такими же, как и у имеющегося уже объекта Image1. Для новой картинки значения свойств Stretch и Visible установите такими же, как и у предыдущей картинки. В тело процедуры для кнопки «Вторая картина» вставьте операторы:
Процедура делает видимой вторую картину и невидимой — первую. Сохраните изменения в проекте и запустите проект (F9).
Если щелкнуть на кнопке «Первая картина», то не будет видна картинка. Для того чтобы появлялась первая картинка, в процедуру для первой кнопки следует добавить оператор:
Вставьте в проект третий компонент TImage так, чтобы его размеры были такими же, как у имеющихся уже картинок. Для новой картинки значения свойств Stretch и Visible установите такими же, как и у предыдущих картинок. Для третьей кнопки создайте процедуру с телом:
Добавьте в две предыдущие процедуры оператор:
Сохраните изменения в проекте и запустите его (F9).
Модифицируйте программу так, чтобы под каждой картиной отображалось ее название. Добавьте в проект компонент TLabel (метка) со страницы Standard (стандартные). В свойстве Visible (видимый) выберите значение: False (ложь). Добавьте в процедуру для кнопки «Первая картина» операторы:
Добавьте аналогичные операторы и в процедуры для двух остальных кнопок, меняя название картины. Сохраните изменения и запустите Проект.
8. Напишите программу «Выставка картин». Создайте новый проект. В Строке заголовка формы введите название окна программы: «Выставка картин 2» (свойство Caption). Вид формы представлен на рисунке.
Сохраните модуль и проект под именами соответственно UnitPictures и ProjectPictures в папке Проект_20_7. Поместите на форму две кнопки TBitBtn со страницы Additional (дополнительные) и назовите их: «Открыть» и «Закрыть».
Поместите на форму компонент TImage (изображение) со страницы Additional (дополнительные) и компонент TOpenPictureDialog (окно диалога «Открыть рисунок») со страницы Dialogs (диалоги).
Теперь для щелчка на кнопке «Открыть» надо написать следующую процедуру:
Сохраните изменения, запустите программу. Для кнопки «Закрыть» запишите в теле процедуры следующий оператор:
Эта процедура присваивает свойству Visible (видимый) объекта Image1 значение False (ложь).
Запустите программу (F9) и проверьте, как она работает.
9. Напишите программу, в которой название картины будет выбираться из списка, и при щелчке на кнопке «Открыть» будет отображаться картинка соответствующая названию.
Создайте новый проект. В Строке заголовка формы введите: «Выставка картин 3» (свойство Caption). Вид формы представлен на рисунке.
Сохраните модуль и проект под именами соответственно UnitPictures3 и ProjectPictures3 в папке Проект_20_8. Поместите на форму кнопку TBitBtn и назовите ее: «Открыть» (свойство Caption). Поместите на форму три компонента TImage со страницы Additional (дополнительные). В свойстве Visible (видимость) для них выберите: False (ложь). Поместите на форму компонент TComboBox (редактируемый список) со страницы Standard (стандартные). В свойстве Items (элементы) для объекта ComboBox1 введите три строки с названиями ваших картин, например:
Холмы
Лилии
Зима
Запишите в теле процедуры для кнопки «Открыть»:
Сохраните изменения и запустите программу. Убедитесь в правильности ее работы, просматривая в разном порядке картинки.
10.Создайте проекты по вариантам на усмотрение преподавателя. Для переноса текста метки, по словам воспользуйтесь свойством WordWrap, установив его значение TRUE.
Вариант 1. Создать приложение, которое подсчитывает количество пациентов у хирурга. При наведении курсора мыши на текстовое поле для ввода фамилии в текстовом поле должна появляться фамилия Иванов.
Вариант 2. Создать приложение, которое подсчитывает количество заказов на поездку в Грецию. При наведении курсора мыши на текстовое поле для ввода Отчество, в текстовом поле должно появиться отчество Сергеевич.
Вариант 3. Создать приложение, которое подсчитывает количество читателей, обслуженных определенным библиотекарем. При наведении курсора мыши на текстовое поле для ввода имени, в текстовом поле должно появиться имя Петр.
Вариант 4. Создайте приложение «Распределение годового бюджета». Оно должно работать следующим образом: в верхнее текстовое поле окна этого приложения король собирается собственноручно вводить общую сумму годового бюджета. В текстовые поля, находящиеся слева, пользователь будет вводить доли бюджета (в процентах) на различные нужды (оборону, здравоохранение, науку и т.д.). В текстовых полях, находящихся справа, должны появиться части бюджета в денежном выражении.
Вариант 5. Создайте приложение как правило, использование семейного бюджета планируется. В одной семье 43% бюджета уходит на питание, 20% - на культуру (театры, кино, бассейн и т.д.), 10% - на коммунальные услуги, 27% - на покупки и накопления. Создайте приложение, которое определит сумму денег на каждую статью расходов при любом семейном бюджете.
Вариант 6. Создайте приложение для определения возраста жениха, если известен возраст невесты. И возраст невесты, если известен возраст жениха (приложение содержит две процедуры обработки события, например, для двух командных кнопок). Психологи рекомендуют учитывать оптимальное соотношение возрастов при вступлении в брак. Оно таково: возраст невесты равен половине возраста жениха плюс 7.
Вариант 7. Напишите программу для расчета платежной ведомости. Форма должна содержать 2 окна редактирования: одно — для ввода количества отработанных часов, другое — для ввода стоимости одного часа. Программа должна вычислять и показывать заработную плату. Каждый час, отработанный сверхурочно, выше недельной нормы в 37,5 часов, оплачивается по ставке, превышающей обычную в 1,5 раза.
Вариант 8. На форме расположены строка ввода, две кнопки и две метки. В строку ввода заносится число. При нажатии на первую кнопку в первой метке выводится знак числа из строки ввода, при нажатии на вторую кнопку во второй метке выводится модуль числа.
Вариант 9. Напишите программу, которая по введенной стоимости дописывает слово рубль, рубля или рублей, в зависимости от суммы. Например, 1 рубль, 3 рубля, 5 рублей.
Порядок выполнения отчета по практической работе
После завершения работы студенты должны представить в отчет оформление задачи 10. В котором следует:
указать постановку задачи;
оформить задачу по варианту, указав номер варианта, указав интерфейс программы и код программы
отчет выполняется на листе формата А4 в печатном виде.
Образец отчета по практической работе
Образец отчета к данной практической работе имеет тот же вид, что в практической работе № 18.
Серкова Екатерина Геннадьевна
Преподаватель «Основы алгоритмизации и программирования»
ГБОУ СПО СО «Екатеринбургский экономико-технологический колледж»
СБОРНИК МЕТОДИЧЕСКИХ УКАЗАНИЙ
ДЛЯ СТУДЕНТОВ ПО ВЫПОЛНЕНИЮ
ПРАКТИЧЕСКИХ РАБОТ
профессионального цикла
технический профиль
укрупненная группа специальностей 230000 «Информатика и вычислительная техника»
ДЛЯ СТУДЕНТОВ ОЧНОЙ (ЗАОЧНОЙ) ФОРМЫ ОБУЧЕНИЯ
