Отчет по практике: Разработка программного обеспечения
Отчет по практике: Разработка программного обеспечения
Практикум по дисциплине
«Технология разработки программного обеспечения»
Лабораторная работа 1
Разработка технического задания на создание программ
Цель работы: ознакомиться с правилами написания технического задания.
ГОСТ 19.201-78. Настоящий стандарт устанавливает порядок
построения и оформления технического задания на разработку программы или
программного изделия для вычислительных машин, комплексов и систем независимо
от их назначения и области применения.
Общие положения
1. Техническое задание оформляют в соответствии с ГОСТ 19.106-78
на листах формата А4 и A3 по ГОСТ 2.301-68, как правило, без заполнения полей
листа. Номера листов (страниц) проставляют в верхней части листа над текстом.
2. Лист утверждения и титульный лист оформляют в соответствии
с ГОСТ 19.104-78. Информационную часть (аннотацию и содержание), лист
регистрации изменений допускается в документ не включать.
3. Для внесения изменений и дополнений в техническое задание
на последующих стадиях разработки программы или программного изделия выпускают
дополнение к нему. Согласование и утверждение дополнения к техническому заданию
проводят в том же порядке, который установлен для технического задания.
4.
Техническое
задание должно содержать следующие разделы:
·название программы и область применения;
·основание для разработки;
·назначение разработки;
·технические требования к программе или
программному изделию;
·технико-экономические показатели;
·стадии и этапы разработки:
·порядок контроля и приемки;
·приложения.
В зависимости от особенностей программы или программного
изделия допускается уточнять содержание разделов, вводить новые разделы или
объединять отдельные из них.
5. Содержание разделов
5.1. В разделе «Наименование и область применения» указывают
наименование, краткую характеристику области применения программы или программного
изделия и объекта, в котором используют программу или программное изделие.
5.2.
В разделе
«Основание для разработки» должны быть указаны:
·документ (документы), на основании которых ведется раз
работка;
·организация, утвердившая этот документ, и дата его
утверждения;
·наименование и (или) условное обозначение темы
разработки.
5.3. В разделе «Назначение разработки» должно быть указано
функциональное и эксплуатационное назначение программы
или программною изделия.
5.4. Раздел «Технические требования к программе или
программному изделию» должен содержать следующие подразделы:
·требования к функциональным характеристикам;
·требовании к надежности;
·условия эксплуатации;
·требования к составу и параметрам технических средств;
·требования к информационной и программной
совместимости;
·требования к маркировке и упаковке;
·требования к транспортированию и хранению;
·специальные требования.
5.5. В подразделе «Требования к функциональным
характеристикам» должны быть указаны требования к составу выполняемых функций,
организации входных и выходных данных, временным характеристикам и т. п.
5.6. В подразделе «Требования к надежности» должны быть
указаны требования к обеспечению надежного функционирования (обеспечение устойчивого
функционирования, контроль входной и выходной информации, время восстановления
после отказа и т. п.).
5.7. В подразделе «Условия эксплуатации» должны быть указаны
условия эксплуатации (температура окружающего воздуха, относительная влажность
и т. п. для выбранных типов носителей данных), при которых должны
обеспечиваться заданные характеристики, а также вид обслуживания, необходимое
количество и квалификация персонала.
5.8. В подразделе «Требования к составу и параметрам
технических средств» указывают необходимый состав технических средств с
указанием их технических характеристик.
5.9. В подразделе «Требования к информационной и программной
совместимости» должны быть указаны требования к информационным структурам на
входе и выходе и методам решения, исходным кодам, языкам программирования. При
необходимости должна обеспечиваться защита информации и программ.
5.10. В подразделе «Требования к маркировке и упаковке» в
общем случае указывают требования к маркировке программного изделия, варианты и
способы упаковки.
5.11. В подразделе «Требования к транспортированию и
хранению» должны быть указаны для программного изделия условия
транспортирования, места хранения, условия хранения, условия складирования,
сроки хранения в различных условиях.
5.12. В разделе «Технико-экономические показатели» должны быть
указаны: ориентировочная экономическая эффективность предполагаемая годовая
потребность, экономические преимущества разработки по сравнению с лучшими
отечественными и зарубежными образцами или аналогами.
5.13. В разделе «Стадии и этапы разработки* устанавливают необходимые
стадии разработки, этапы и содержание работ (перечень программных документов,
которые должны быть разработаны, согласованы и утверждены), а также, как
правило, сроки разработки и определяют исполнителей.
5.14. В разделе «Порядок контроля и приемки» должны быть
указаны виды испытаний и общие требования к приемке работы.
5.15.
В приложениях к
техническому заданию при необходимости приводят:
·перечень научно- исследовательских и других работ,
обосновывающих разработку;
·схемы алгоритмов, таблицы, описания, обоснования,
расчеты и другие документы, которые могут быть использованы при разработке;
·другие источники разработки.
Пример разработки технического задания
Введение.
Работа выполняется в рамках проекта «Автоматизированная
система оперативно-диспетчерского управления электро-, теплоснабжением корпусов
института».
2. Основание для разработки
1.Основанием для данной работы служит
договор № 1234 от 10 марта 2003 г.
2.Наименование работы:
«Модуль автоматизированной системы оперативно-диспетчерското
управления теплоснабжением корпусов института».
3.Исполнители: ОАО «Лаборатория
создания программного обеспечения».
4.Соисполнители: нет.
3. Назначение разработки
Создание модуля для контроля и оперативной корректировки
состояния основных параметров теплообеспечения корпусов Московского института.
4. Технические требования
4.1. Требования к функциональным характеристикам.
4.1.1. Состав выполняемых функций. Разрабатываемое ПО должно
обеспечивать:
·сбор и анализ информации о расходовании тепла, горячей
и холодной воды по данным теплосчетчиков SA-94 на всех тепловых выходах.;
·сбор и анализ информации с устройств управления
системами воздушного отопления и кондиционирования типа РТ1 и РТ2 (разработки
кафедры СММЭ и ТЦ);
·предварительный анализ информации на предмет
нахождения параметров в допустимых пределах и сигнализирование при выходе
параметров за пределы допуска;
· выдачу рекомендаций по дальнейшей работе;
·отображение текущего состояния по набору параметров -
циклически постоянно (режим работы круглосуточный), при сохранении периодичности
контроля прочих параметров;
·визуализацию информации по расходу теплоносителя:
- текущую, аналогично показаниям счетчиков;
- с накоплением за прошедшие сутки, неделю, месяц - в виде
почасового графика для информации за сутки и неделю;
- суточный расход - для информации за месяц.
Для устройств управления приточной вентиляцией текущая
информация должна содержать номер приточной системы и все параметры, выдаваемые
на собственный индикатор.
По отдельному запросу осуществляются внутренние настройки.
В конце отчетного периода система должна архивировать данные.
4.1.2. Организация входных и выходных данных.
Исходные данные в систему поступают в виде значений с
датчиков, установленных в помещениях института. Эти значения отображаются на
компьютере диспетчера. После анализа поступившей информации оператор
диспетчерского пункта устанавливает необходимые параметры для устройств,
регулирующих отопление и вентиляцию в помещениях. Возможна также автоматическая
установка некоторых параметров для устройств регулирования.
Основной режим использования системы - ежедневная работа.
4.2. Требования к надежности.
Для обеспечения надежности необходимо проверять корректность
получаемых данных с датчиков.
4.3. Условия эксплуатации и требования к составу и
параметрам технических средств.
Для работы системы должен быть выделен ответственный
оператор.
Требования к составу и параметрам технических средств
уточняются на этапе эскизного проектирования системы.
4.4. Требования к информационной и программной
совместимости.
Программа должна работать на платформах Windows 98/ NT/2000.
4.5. Требования к транспортировке и хранению. Программа
поставляется на лазерном носителе информации.
Программная документация поставляется в электронном и
печатном виде.
4.6. Специальные требования.
Программное обеспечение должно иметь дружественный интерфейс,
рассчитанный на пользователя (в плане компьютерной грамотности) средней
квалификации.
Ввиду объемности проекта задачи предполагается решать
поэтапно, при этом модули ПО, созданные в разнос время, должны предполагать
возможность наращивания системы и быть совместимы друг с другом, поэтому
документация на принятое эксплуатационное ПО должна содержать полную
информацию, необходимую для работы программистов с ним.
Язык программирования – по выбору исполнителя, должен
обеспечивать возможность интеграции программного обеспечения с некоторыми
видами периферийного оборудования.
5. Требования к программной документации
Основными документами, регламентирующими разработку будущих
программ, должны быть документы Единой Системы Программной Документации (ЕСПД);
руководство пользователя, руководство администратора, описание применения.
6. Технико-экономические показатели
Эффективность системы определяется удобством использования
системы для контроля и управления основными параметрами теплообеспечения
помещений института, а также экономической выгодой, полученной от внедрения
аппаратно-программного комплекса.
7. Порядок контроля и приемки
После
передачи Исполнителем отдельного функционального модуля программы Заказчику,
последний имеет право тестировать модуль в течение 7 дней. После тестирования
Заказчик должен принять работу по данному этапу или в письменном виде изложить
причину отказа от принятия. В случае обоснованного отказа Исполнитель обязуется
доработать модуль.
8. Календарный план работ.
№ этапов |
Название этапа |
Сроки этапа |
Чем закачивается этап |
1. |
Изучение предметной области.
Проектирование системы. Разработка предложений по реализации системы. |
01.02.200_ - 28.02.200_ |
Предложения по работе системы. Акт
сдачи-приёмки. |
2. |
Разработка программного модуля по
сбору и анализу информации со счётчиков и устройств управления. Внедрение
системы для одного из корпусов. |
01.03.200_ - 31.08.200_ |
Программный комплекс. |
3. |
Тестирование и отладка модуля.
Внедрение системы во всех корпусах. |
01.09.200_ - 30.12.200_ |
Готовая система контроля
теплоснабжения, установленная в диспетчерском пункте. Программная
документация. Акт сдачи-приёма работ. |
Руководитель работ Сидоров А.В.
Индивидуальные задания.
Ниже
приведено 15 вариантов программных продуктов. По указанию преподавателя
выберите свое индивидуальное задание. Разработайте техническое задание на
создание программного продукта по всем требованиям.
1.
Разработка программного
комплекса «Автотранспорт».
2.
Разработка
программного комплекса «Деканат института».
3.
Разработка
программного комплекса «Обслуживание банкомата».
4.
Разработка
программного комплекса «Управление гостиницей».
5.
Разработка программного
комплекса «Выдача кредитов в банке».
6.
Разработка программного
комплекса «Строительная фирма».
7.
Разработка программного
комплекса «Управление библиотечным фондом».
8.
Разработка
программного комплекса «АРМ работника склада»
9.
Разработка программного
комплекса «АРМ администратора ателье по ремонту оргтехники»
10.
Разработка
программного комплекса «АРМ администратора автосалона».
11.
Разработка
программного комплекса «АРМ администратора ресторана».
12.
Разработка
программного комплекса «АРМ сотрудника ЖЭСа».
13.
Разработка
программного комплекса «АРМ администратора аэропорта».
14.
Разработка
программного комплекса «АРМ работника отдела кадров».
15.
Разработка
программного комплекса «АРМ администратора спорткомплекса».
«Утверждаю»
Профессор кафедры ВС
___________ (Иванов И. И.)
« »________ _ 200 г.
Техническое задание
на разработку «Модуля автоматизированной системы
оперативно-диспетчерского управления теплоснабжением корпусов института»
Чебоксары, 200_
Лабораторная работа 2.
ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ (ООП).
Цель работы: познакомиться с принципами
объектно-ориентированного программирования в среде Delphi.
Общие положения
Класс - абстрактный тип данных, включающий в себя свойства объекта
(поля) и методы. Класс позволяет упростить процесс программирования, так как
человеку проще представлять любой объект из реальности, обладающий некоторыми
характеристиками (свойствами) и действиями, которые может совершать объект или
которые можно совершать над ним.
Класс - это тип данных. Объект класса - переменная типа «класс». Из
определения класса следует первое свойство ООП - инкапсуляция. Инкапсуляция
данных означает, что они являются не глобальными - доступными всей программе, а локальными — доступными только малой ее части.
Инкапсуляция автоматически
подразумевает защиту данных. Для этого в структуре class используется
спецификатор раздела private, содержащий данные и методы, доступные только
для самого класса. Если данные и методы
содержатся в разделе public, они доступны извне класса. Раздел
protected содержит данные и методы, доступные из класса и любого
его производного класса.
Интегрированная
среда разработчика DELPHI
Среда Delphi визуально
реализуется в виде нескольких одновременно раскрытых на экране монитора окон.
Количество, расположение, размер и вид окон может меняться программистом в
зависимости от его текущих нужд, что значительно повышает производительность
работы. При запуске Delphi вы можете увидеть на экране картинку, подобную
представленной на рис. 1.
Рнс.1.
Внешний вид окна Delphi.
1 - главное окно; 2 -
основное меню; 3 - пиктограммы основного меню; 4 - окно инспектора объектов; 5
- окно текста программы; 6 - окно пустой формы, 7 - меню компонентов
Главное окна всегда присутствует на экране и предназначено для
управления процессом создания программы. Основное меню (прил.1)содержит все
необходимые средства для управления проектом. Пиктограммы облегчают доступ к
наиболее часто применяемым командам основного меню. Через меню компонентов
(прил. 2) осуществляется доступ к набору стандартных сервисных программ среды
DELPHI, которые описывают некоторый визуальный элемент (компонент), помещенный
программистом в окно формы. Каждый компонент имеет определенный набор свойств
(параметров), которые программист может задавать. Например, цвет, заголовок
окна, надпись на кнопке, размер и тип шрифта и др.
Окно инспектора
объектов (вызывается с помощью клавиши
F11) предназначеного для изменения свойств выбранных компонентов и состоит из
двух страниц. Страница Properties (Свойства) предназначена для изменения
неоходимых свойств компонента, страница Events (События) - для определения
реакции компонента на то или иное событие (например, нажатие определенной
клавиши или щелчок "мышью " по кнопке).
Окно формы представляет собой проект Windows-окна программы. В
это окно в процессе написания программы помещаются необходимые компоненты.
Причем при выполнении программы помещенные компоненты будут иметь тот же вид,
что и на этапе проектирования.
Окно текста программы предназначено для просмотра, написания и
коретироваиия текста программы. В системе DELPHI используется язык
программирования Object Pascal. При первоначальной загрузке в окне текста
программы находится текст, содержащий минимальный набор операторов для нормального
функционирования пустой формы в качестве Windows-окна. При помещении некоторого
компонента в окно формы текст программы автоматически дополняется описанием
необходимых для его работы библиотек стандартных программ (раздел uses) и типов
переменных (раздел type).
Программа в среде DELPHI
составляется как описание алгоритмов, которые необходимо выполнить, если
возникает определенное событие, связанное с формой (например, щелчок
"мыши" на кнопке - событие OnClick, создание формы - OnCreate). Для
каждого обрабатываемого в форме события, с помощью страницы Events инспектора
объектов в тексте программы организуется процедура (procedure), между ключевыми
словами begin и end которой программист записывает на языке Object Pascal
требуемый алгоритм.
Переключение между окном
формы и окном текста программы осуществляется с помощью клавиши F12.
Меню и команды Delphi
Чтобы
выдать команду в среде Delphi, можно воспользоваться тремя основными способами:
·
С помощью меню.
·
С помощью полоски
SpeedBar (инструментальной линейки).
·
С помощью
SpeedMenu (одного из локальных меню, которое активизируется при нажатии правой
кнопки мыши).
Меню File
Команды
выпадающего меню File можно использовать для работы, как с проектами, так и с
файлами исходного кода.
К командам, работающим с проектами, относятся New, New Application, Open, Reopen, Save Project As, Save
All, Close All, Add to Project и
Remove from Project. С файлами
исходного кода работают команды New, New Form, New Data Module, Open, Reopen, Save As, Save,
Close и Print. Основной командой является File/New,
которую можно использовать для вызова экспертов, для начала работы с новым
приложением, для наследования формы из уже существующей и т.д. Чтобы открыть
проект или файл исходного кода, с которыми вы работали последний раз,
используйте команду File/Reopen.
Меню Edit
Стандартные
возможности меню Edit применимы как к тексту, так и к компонентам формы. Можно
копировать и вставлять тот или иной текст в редакторе, копировать и вставлять
компоненты в одной форме или из одной формы в другую. Также можно копировать и
вставлять компоненты в другое групповое окно той же формы, например, в панель
или блок группы; копировать компоненты из формы в редактор, и наоборот. Delphi
помещает компоненты в буфер обмена, преобразуя их в текстовое описание. Можно
соответствующим образом отредактировать этот текст, а затем вставить его
обратно в форму в виде нового компонента. Можно выбрать несколько компонентов и
скопировать их как в другую форму, так и в текстовый редактор. Это может
пригодиться, когда вам придется работать с рядом схожих компонентов. Вы сможете
скопировать один компонент в редактор, размножить его нужное число раз, а затем
вставить назад в форму целую группу.
Меню Search
Если
вы выберете команду Incremental Search, то вместо того чтобы показать
диалоговое окно, где вводится образец для поиска, Delphi переходит в редактор.
Когда вы введете первую букву, редактор перейдет к первому слову, которое
начинается с этой буквы. Продолжайте набор букв и, курсор будет последовательно
переходить к словам, в начале которых будут стоять введенные символы. Эта
команда очень эффективна и чрезвычайно быстра. Команда Browse Symbol вызывает
Object Browser – инструмент, который можно использовать для просмотра многих
деталей при исследовании откомпилированной программы.
Меню View
Большинство
команд меню View применяются для отображения какого-либо окна среды Delphi,
например Project Manager, Breakpoints List или Components List. Эти окна не связаны
друг с другом. Эти окна не связаны друг с другом. Команда Toggle Form/Unit
используется для перехода от формы, над которой вы работаете к ее исходному
коду, и обратно. Команда New edit window создает дубликат окна редактирования и
его содержимого. В Delphi это единственный способ просмотреть два файла рядом
друг с другом, поскольку редактор для показа нескольких загруженных файлов
использует ярлычки. После дублирования окна редактирования могут содержать
разные файлы. Последние две команды меню View можно использовать для удаления с
экрана полоски SpeedBar и палитры Components, хотя при этом среда Delphi
становится менее удобнее для пользователя. Команда Build All заставляет Delphi
откомпилировать каждый исходный файл проекта, даже если после последней трансляции
он не был изменен. Для проверки написанного кода без создания программы можно
использовать команду Syntax Check. Команда Information дает некоторые
подробности о последней выполненной вами трансляции. Команда Options
применяется для установки опций проекта: опций компилятора и редактора связей,
опций объекта приложения и т.д.
Меню Run
Меню
Run можно было бы назвать Debug (отладка). Большинство команд в нем относится к
отладке, включая саму команду Run. Программа, запускаемая внутри среды Delphi, выполняется
в ее интегрированном отладчике (если не отключена соответствующая опция). Для
быстрого запуска приложения используется клавиша F9. Остальные команды
применяются в процессе отладки для пошагового выполнения программы, установки
точек прерывания, просмотра значений переменных и объектов, и т.п.
Меню Component
Команды
меню Component можно использовать для написания компонентов, добавления их в
библиотеку, а также для конфигурирования библиотеки или палитры компонентов.
Меню Tools
Меню
Tools содержит список нескольких внешних программ и инструментальных средств.
Команда Tools позволяет сконфигурировать это выпадающее меню и добавить в него
новые внешние средства. Меню Tools также включает команду для настройки
репозитория и команду Options, которая конфигурирует всю среду разработки
Delphi.
Работа с формами
Проектирование
форм – ядро визуальной разработки в среде Delphi. Каждый помещаемый в форму
компонент или любое задаваемое свойство сохраняется в файле, описывающем форму
(DFM-файл), а также оказывает некоторое влияние на исходный текст, связанный с
формой (PAS-файл).
Можно
начать новый пустой проект, создав пустую форму или начать с существующей формы
(используя различные доступные шаблоны) или добавить в проект новые формы.
Проект (приложение) может иметь любое число форм.
При
работе с формой можно обрабатывать ее свойства, свойства одного из ее
компонентов или нескольких компонентов одновременно. Чтобы выбрать форму или
компонент, можно просто щелкнуть по нему мышью или воспользоваться Object Selector
( комбинированный список в Object Inspector), где всегда отображены имя и тип
выбранного элемента. Для выбора нескольких компонентов можно или нажать клавишу
Shift и щелкать по компонентам левой кнопкой мыши, или отбуксировать в форме
рамку выбора.
SpeedMenu
формы содержит ряд полезных команд. Для изменения относительного расположения
компонентов одного вида можно использовать команды Bring to Front и Send To
Back. Командой Revert To Inherited можно воспользоваться, чтобы в
унаследованной форме установить те значения свойств выбранного компонента,
которые были у них в родительской форме. При выборе сразу нескольких
компонентов вы можете выровнять их или изменить их размеры.
С
помощью SpeedMenu можно также открыть два диалоговых окна, в которых устанавливается
порядок обхода визуальных управляющих элементов и порядок создания невизуальных
управляющих элементов. Команда Add To Repository добавляет текущую форму в
список форм, доступных для использования в других проектах.
Для
установки положения компонента кроме применения мыши имеются еще два способа:
·
Установка
значений для свойств Top и Left.
·
Использование
клавиш курсора при нажатой клавише Ctrl.
Метод
Ctrl+клавиша курсора особенно удобен при тонкой подстройке положения элемента.
Точно также, нажимая клавиши курсора при нажатой клавише Shift, можно
подстроить размер компонента.
Палитра компонентов
Чтобы
добавить в текущую форму новый компонент, можно щелкнуть на одной из страниц
палитры Components, а затем, чтобы разместить новый элемент, щелкнуть в форме.
Причем в форме можно или буксировать мышь с нажатой левой кнопкой, чтобы
установить сразу и размер, и положение компонента, или просто щелкнуть один
раз, позволяя Delphi установить размер по умолчанию.
Каждая
страница палитры содержит ряд компонентов, которые обозначены пиктограммами и
именами, появляющимися ввиле подсказки. Эти имена являются официальными
названиями компонентов. В действительности это названия классов, описывающих
компоненты без первой буквы T (например, если класс называется Tbutton, имя
будет Button). Если необходимо поместить в форму несколько компонентов обного и
того же вида, то при выборе компонента щелчком в палитре удерживайте нажатой
клавишу Shift Затем при каждом щелчке в форме Delphi будет вставлять новый
компонент выбранного вида.Чтобы остановить эту операцию, просто щелкните по
стандартному селектору (пиктограмма стрелки) слева от палитры Components.
Структура программ
DELPHI
Программа в DELPHI
состоит из файла проекта (файл с расширением .dpr), одного или
нескольких файлов исходного текста (с расширением .pas), файлов с
описанием окон формы (с расширением .dfm).
В файле проекта
находится информация о модулях, составляющих данный проект. Файл проекта
автоматически создается и редактируется средой DELPHI и не предназначен для
редактирования.
Файл исходного
текста - программный модуль (Unit)
предназначен для размещения текстов программ. В этом файле программист
размещает текст программы, написанный на языке PASCAL.
В разделе объявлений
описываются типы, переменные, заголовки процедур и функции, которые могут быть
использованы другими модулями, через операторы подключения библиотек (Uses). В
разделе реализации располагаются тела процедур и функций, описанных в разделе
объявлений, а также типы переменных, процедуры и функции, которые будут
функционировать только в пределах данного модуля. Раздел инициализации
используется редко,и ею можно пропустить. Модуль имеет следующую структуру:
unit Unit1;
interface
// Раздел объявлений
implementation
// Раздел реализации
begin
// Раздел инициализации
end.
При компиляции программы
DELPHI создает файл с расширением .dcu, содержащий в себе результат
перевода в машинные коды содержимого файлов с расширением .pas и .dfm.
Компоновщик преобразует файлы с расширением .dcu в единый
загружаемый файл с расширением .exe. В файлах, имеющих расширение .~df,
.~dp, .~pa, хранятся резервные копии файлов с образом формы, проекта и
исходного текста соответственно.
Пример написания
программы линейного алгоритма.
Задание: составить
программу вычисления для заданных значений х, у, z арифметического выражения:
[ u=tg2(
x + y)-ey-z *cosx2+ sin z2 ]
Настройка формы
Пустая форма в правом
верхнем углу имеет кнопки управления, которые предназначены: для свертывания
формы в пиктограмму , для разворачивания формы на весь
экран и
возвращения к исходному размеру и для закрытия формы . С помощью
мыши, "захватывая" одну из кромок формы или выделенную строку
заголовка, отрегулируйте нужные размеры формы и ее положение на экране (рис2.).
Рис.2. Внешний вид
формы
Изменение заголовка
формы
Новая форма имеет
одинаковые имя (Name) и заголовок (Caption) -FORM1. Имя формы менять не
рекомендуется, т.к. оно входит в текст программы.
Для изменения заголовка
вызовите окно инспектора объектов (F11) и щелкните кнопкой мыши на форме. В
форме инспектора объектов найдите и щелкните мышью на Properties - Caption . В
выделенном окне наберите "Лраб №1".
Размещение строки
ввода (TEdit)
Если необходимо ввести из
формы в программу или вывести на форму информацию, которая вмещается в одну
строку, используют окно однострочного редактора текста, представляемого
компонентом TEdit.
В данной программе с
помощью однострочного редактора будут вводиться переменные х, у, z типа
extended или integer.
Выберите в меню компонентов
Standard пиктограмму , щелкните мышью в том месте
формы, где вы хотите ее поставить. Вставьте три компонента TEdit в форму. Захватывая
их "мышью", отрегулируйте размеры окон и их положение. Обратите
внимание на то, что в тексте программы появились три новьгх однотипных
переменных Edit1, Edit2, Edit3. В каждой из этих переменных: расширением .Text
будет содержаться строка символов (тип String) и отображаться в соответствующем
окне Edit.
Так как численные
значения переменных х, у, z имеют действительный тип для преобразования
строковой записи числа, находящегося в переменной Edit.Text, в действительное,
используется стандартная функция X:=StrToFloat(Edit1.Text).
Если исходные данные
имеют целочисленный тип, например integer, то используется стандартная функция
Х:=StrToInt(Edit1.Text).
При этом в записи числа
не должно быть пробелов, а действительное число пишется с десятичной занятой.
С помощью инспектора
объектов установите шрифт и размер символов, отображаемых в строке Edit
(свойство Font).
Размещение надписей
(TLabel)
На форме имеются четыре
пояснительные надписи. Для нанесения таких надписей на форму используется
компонент TLabel. Выберите в меню компонентов Standard пиктограмму , щелкните на
ней мышью. После этого в нужном месте формы щелкните мышью, появится надпись
Label1. Проделайте это для четырех надписей. Для каждой надписи, щелкнув на ней
мышью, отрегулируйте размер и, изменив свойство Caption инспектора Объектов,
введите строку, например "Введите значение X:", а также выберите
размер символов (свойства Font).
Обратите внимание, что в
тексте программы автоматически появились четыре новых переменных типа .TLabel.
В них хранятся пояснительные строки, которые можно изменять в процессе работы
программы.
Размещение
многострочного окна вывода (ТМето)
Для вывода результатов
работы программы обычно используется текстовое окно, которое представлено
компонентом (ТMemo). Выберите в меню компонентов пиктограмму и поместите компонент
ТМеmо на форму. С помощью мыши отрегулируйте его размеры и местоположение.
После установки с помощью инспектора свойства ScrollBars - SSBoth в окне
появятся вертикальная и горизонтальная полосы прокрутки.
В тексте программы
появилась переменная Memo1 типа ТMemo. Информация, которая отображается
построчно в окно типа ТMemo, находится в массиве строк Memo1.Lines. Каждая
строка имеет тип String.
Для чистки окна
используется метод Memo1.Сlеаr. Для того чтобы добавить новую строку в окно,
используется метод Memo1.Lines.Add (переменная типа String).
Если нужно вывести число,
находящееся в переменной действительного или целого типа, то его надо
предварительно преобразовать к типу String и добавить в массив Memo1.Lines.
Например, если переменная
u:=100 целого типа, то метод Memo1.Line.Add сделает это и в окне появится
строка "Значение u=100". Если переменная u:=-256,38666
действительная, то при использовании метода Meno1.Lines.Add('Значение
u='+FloatToStrF(u.ffFixed,8,2)) будет выведена строка "Значение u=
-256.39". При этом под все число отводится восемь позиций, из которых две
позиции занимает его дробная часть.
Если число строк в
массиве Memo1 превышает размер окна, то для просмотра всех строк используется
вертикальная полоса прокрутки. Если длина строки Memo1 превосходит количество
символов в строке окна, то в окне отображается только начало строки. Для
просмотра всей строки используется горизонтальная полоса прокрутки.
Написание программы
обработки события нажатия кнопки(ButtonClick)
Поместите на форму
кнопку, которая описывается компонентом TButton, для чего выберем в меню
компонентов Standard пиктограмму . С помощью инспектора объектов
измените заголовок (Caption) - Button1 на слово "Выполнить" или
другое по вашему желанию. Отрегулируйте положение и размер кнопки.
После этого два раза щелкните
мышью на кнопке, появится текст программы, дополненной заголовком процедуры
обработчика события - нажатия кнопки (Procedure TForm1.ButtonClick(Sender :
TObject);).
Наберите текст этой
процедуры, приведенный в примере.
Запуск и работа с
программой
Запустить программу можно
нажав Run в главном меню Run, или клавишу F9, или пиктограмму . При этом происходит
трансляция и, если нет ошибок, компоновка программы и создание единого
загружаемого файла с расширением .exe. На экране появляется активная форма
программы.
Работа с программой
происходит следующим образом. Нажмите (щелкните мышью) кнопку
"Выполнить". В окне Memo1 появляется результат. Измените исходные
значения х, у, z в окнах Edit и снова нажмите кнопку "Выполнить" -
появятся новые результаты. Завершить работу программы можно нажав или в главном
меню Run, или кнопку {} на форме.
Текст программы:
unit tema1;
interface
uses
Windows,
Messages. SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type
TForm1 =
class(TForm)
Label1:TLabel;
Edit1:TEdit;
Label2:
TLabel;
Edit2:TEdit:
Label3:
TLabel;
Edit3: TEdit;
Label4:
TLabel;
Memo1:TMemo;
Buttonl :
TButfon;
procedure
FormCreate(Sender: TObject);
procedure
Button1Click(Sender: TObject);
private
{ Private
declarations }
public
{ Public
declarations }
end;
var
Form1: TForm1;
Implementation
{$R*.DFM}
procedure
TForm1.Button1Click(Sender: TObject);
var
x, y, z, a, b,
c, u : extended;
begin
x:=StrToFloat(Edit1.Text);
// Считывается значение X
Memo1.Lines.Add('X
= '+Edit1.Text); // Вывод X в окно Memo1
y:=StrToFloat(Edit2.Text);
// Считывается значение Y
Memo1.Lines.Add('Y
= '+Edit2.Text); // Вывод Y в окно Memo1
z:=StrToFloat(Edit3.Text);
// Ситывается значение Z
Memo1.Lines.Add('Z
= '+Edit3.Text); // Вывод Z в окно Memo1
// Вычисляем арифметическое выражение
a:=Sqr(Sin(x+y)/Cos(x+y));
b:=Exp(y-z);
c:=Sqrt(Cos(Sqr(x))+Sin(Sqr(z)));
u:=a-b*c;
// Выводим результат в
окно Memo1
Memo1.Lines.Add('Результат U =
'+FloatToStrF(u,ffFixed,8,3));
end;
end.
Кнопки-переключатели в
DELPHI
При создании программ и
DELPHI дня организации разветвлений часто используются компоненты в виде
кнопок-переключателей. Состояние такой кнопки (включено - выключено) визуально
отражается на форме.
Компонент TCheckBox
организует кнопку независимого переключателя, с помощью которой пользователь
может указать свое решение типа да/нет. В программе состояние кнопки связано со
значением булевской переменной, которая проверяется с помощью оператора if.
Компонент TRadioGroup
организует группу кнопок - зависимых переключателей. При нажатии одной из
кнопок группы все остальные кнопки отключаются. В программу передается номер
включенной кнопки (0,1,2,..), который анализируется с помощью оператора case.
Пример написания
программы разветвляющегося алгоритма
Задание: ввести три числа - х, у, z.
Вычислить по усмотрению u=sin(x) или
u=cos(x), или u=tg(х).
Найти по желанию максимальное из трех чисел: max(x, у, z), или min (|x|, |у|,
|z|).
Создать форму и написать
соответствующую программу.
Создание формы
Создайте форму, такую же
как в первом задании, скорректировав текст надписей и положение окон TEdit.
Работа с компонентом
TCheckBox
Выберите в меню
компонентов Standard пиктограмму {} и поместите ее в нужное место формы. С
помощью инспектора объектов измените заголовок (Caption) на "maabs".
В тексте программы появилась переменная CheckBox типа TCheckBox. Теперь в
зависимости от того, нажата или нет кнопка, булевская переменная CheckBox.Checked
будет принимать значения True или False.
Работа с компонентом
TRadioGroup
Выберите в меню
компонентов Standard пиктограмму {} и поместите ее в нужное место формы. На форме
появится окаймленный линией чистый прямоугольник с заголовком RadioGroup1.
Замените заголовок (Caption) на U(х). Для того чтобы разместить на
компоненте кнопки, необходимо свойство Columns установить равным единице
(кнопки размещаются в одном столбце). Дважды щелкните по правой части свойства
Items мышью, появится строчный редактор списка заголовков кнопок. Наберите три
строки с именами: в первой строке sin(x), во второй - cos(х), в третьей -
tg(х), нажмите ОК.
После этого на форме
внутри окаймления появится три кнопки-переключателя с введенными надписями.
Обратите внимание на то,
что в тексте программы появилась переменная RadioGroup типа TRadioGroup. Теперь
при нажатии одной из кнопок группы в переменной целого типа
RadioGroup1.ItemIndex будет находиться номер нажатой клавиши (отсчитывается от нуля),
что используется в тексте приведенной программы.
Создание обработчиков
событий FormCreate и Botton1Click
Процедуры - обработчики событий
FormCreate и Botton1Click создаются аналогично тому, как и в первой теме. Текст
процедур приведен ниже.
Запустите программу и
убедитесь в том, что все ветви алгоритма выполняются правильно.
Текст программы приведен
ниже.
unit tema2;
interface
uses
Windows,
Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,
ExtCtrls;
type
TForm1 =
class(TForm)
CheckBox1:
TCheckBox;
RadioGroup1:
TRadioGroup;
Memo1: TMemo;
Button1:TButton;
Edit1:TEdit;
Label1:
TLabel;
Label2:
TLabel;
Edit2:TEdit;
Label3:
TLabel:
Edi3: TEdlt;
procedure
FormCreate(Sender: TObject);
procedure
Button1Click(Sender: TObject);
private
{Private
declarations}
public
{public
declarations}
var
Form1: TForm1;
implementation
{$R.DFM}
procedure
TForm1.FormCreate(Sender: TObject);
begin
Edit1.Text:='0,1';
Edit3.Ttext:='0,356';
Memo1.Clear;
Memo1.Lines.Add('Рез-ты ст.гр.
9383 Валента А.А.');
end;
procedure
TForm1.Button1Click(Sender: TObject);
var x, y, z,
u, ma : extended;
begin
// Ввод исходных
данных и их вывод в окно Memo1
x:=StrToFloat(Edit1.Text);
Memo1.Lines.Add('x='+Edit1.Text);
y:=StrToFloat(Edlt2.Text);
Memo1.Lines.Add('y='+Edit2.Text);
z:=StrToFloat(Edtt3.Text);
Memo1.Lines.Add('z='+Edit3.Text);
// Проверка номера нажатой кнопки и
выбор соответствующей ей функции
case RadioGroup.ltemlndex of
0: u:=cos(x);
1: u:=sin(x);
2:
u:=sin(x)/cos(x);
end:
// Проверка состояния кнопки СheckBox1
Страницы: 1, 2
|