- •Реализация алгоритмов в среде Delphi Сборник заданий для лабораторных работ
- •Введение
- •Лабораторная работа №1. Реализация простейших циклических алгоритмов в консольном приложении среды Delphi
- •1. Подготовка к работе
- •2. Задание и рекомендации по его выполнению
- •Лабораторная работа №2. Решение задач обработки массивов в консольном приложении среды Delphi
- •1. Подготовка к работе
- •2. Задание и рекомендации по его выполнению
- •Лабораторная работа №3. Проектирование алгоритмов с использованием подпрограмм и их отладка в консольном приложении
- •1. Подготовка к работе
- •2. Задание и рекомендации по его выполнению
- •Лабораторная работа №4. Решение задач с параметрами-подпрограммами и модулями в консольном приложении Delphi
- •1. Подготовка к работе
- •2. Задание и рекомендации по его выполнению
- •Лабораторная работа №5. Разработка простейших оконных приложений в среде Delphi
- •1. Подготовка к работе
- •2. Задание и рекомендации по его выполнению
- •ПриМер основного обработчика индивидуальнойзадачи
- •Лабораторная работа №6. Создание оконных приложений обработки матриц в среде Delphi
- •1. Подготовка к работе
- •2. Задание и рекомендации по его выполнению
- •ПриМер обработчиков приложения индивидуальной задачи
- •Лабораторная работа №7. Программирование открытия и сохранения файлов с использованием стандартных диалоговых окон
- •1. Подготовка к работе
- •2. Задание и рекомендации по его выполнению
- •ПриМер обработчиков приложения индивидуальной задачи
- •Лабораторная работа №8. Разработка оконных приложений, использующих автономные модули
- •1. Подготовка к работе
- •2. Задание и рекомендации по его выполнению
- •ПриМер автономного модуля
- •Некоторые обработчики приложения, вычисляющего сумму элементов одномерного массива
- •Лабораторная работа №9. Разработка оконных приложений, осуществляющих графический вывод
- •1. Подготовка к работе
- •Задание и рекомендации по его выполнению
- •Пример обработчика вывода графических примитивов
- •Пример обработчика, формирующего массивы координат точек серий для вывода графиков функций с помощью Chart
- •Лабораторная работа №10. Обработка исключительных ситуаций
- •1. Подготовка к работе
- •2. Задание и рекомендации по его выполнению
- •Приложение 1. Пример проекта отчета по консольному приложению Условие
- •Состав данных
- •Форма ввода
- •Приложение 2. Пример проекта отчета по оконному приложению Условие
- •Состав данных
- •Блок-схема алгоритма
2. Задание и рекомендации по его выполнению
Следуя §1.2 пособия [3], создайте оконное приложение, выполняющее сцепление двух строк. Сохраните это приложение, учитывая, что каждое оконное приложение необходимо хранить в отдельной папке.
Обратите внимание, что с окном сохранения приходится работать дважды – для файла проекта и для файла формы. Файлу проекта среда Delphi автоматически присваивает имяProject1(илиProject2,Project3, …) и расширение .dpr. Файлу формы автоматически дается имяUnit1(илиUnit2,Unit3, …) и расширение .pas. Эти имена можно изменить, но делать это надо очень внимательно (чтобы не перепутать проект и форму и по другим причинам). Кроме файловProject.dpr и Unit.pas, среда создает еще несколько файлов проекта и формы с разными расширениями. При переносе проекта приложения на другой компьютер или в другую папку, необходимо переносить только файла проекта Project.dprи два файла для каждой формы:Unit.pasиUnit.dfm. Все остальные файлы при открытии проекта приложения будут созданы средой Delphi1. Отметим, что файлUnit.dfmхранит графическое изображение формы в текстовом виде; файлProject.exeявляется исполняемым файлом, который можно запускать независимо от среды Delphi.
Открывать проект приложенияследует командойFile/Open Project, и в окне открытия файла выбирать файл с расширением .dpr.
Следуя §1.2 [3], измените приложение п. 1 так, чтобы оно складывало два числа.
Руководствуясь §1.3 [3], добавьте в оконное приложение главное и контекстное (всплывающее) меню.
Модифицируйте оконное приложение, используя вместо процедуры valпреобразования строки в число функциюStrToFloat, а вместо процедурыstrпреобразования числа в строку функциюFloatToStr2. Как ими пользоваться, узнайте из справочной системы Delphi. Для вызова справки по некоторому слову в программе, достаточно поставить внутрь этого слова курсор и нажать клавишуF1.
Разработайте и отладьте оконное приложение для решения задачи [1] 1.3.4.N+1. Чем оно будет отличаться от приложения, складывающего два числа? Обратите внимание, что правила трассировки оконных и консольных приложений одинаковы.
Зафиксируйте результаты работы в отчете и покажите их преподавателю.
ПриМер основного обработчика индивидуальнойзадачи
Условие задачи.А—начальная стоимость оборудования. В первый год эксплуатации стоимость оборудования снижается наВруб., а в каждый следующий год снижение стоимости уменьшается нар% (относительно предыдущего года). Определить, через сколько лет стоимость оборудования станет меньшеА/2. Рассматривать срок не болееNлет.
На рис. 4 приведенаформа приложения. Обратите внимание, что каждое текстовое окно на форме нужно либо для ввода исходного данного, либо для вывода результата. Далее приведен текст обработчика события – нажатия кнопки «Вычисление».
procedure TForm1.Button1Click(Sender: TObject);
Var A,B,p:real; N,i:integer; {i-счетчик лет }
At,Bt:real; {текущие значения стоимости оборудования и ее снижения}
begin A:=StrToFloat(Edit1.Text);{эти операторы считывают c}
B:=StrToFloat(Edit2.Text);{формы исходные данные, это замена }
p:=StrToFloat(Edit3.Text); N:=StrToInt(Edit4.Text);{операторов ввода}
At:=A;Bt:=B;i:=1;{подготовка цикла}
while (At>=A/2) and (i<=N) do{цикл продолжается пока}
begin { снижение не достигнуто и срок не прошел}
At:=At-Bt; {ежегодно стоимость снижается на Bt}
Bt:=Bt-Bt*p/100; {ежегодно Bt уменьшается на р%}
i:=i+1 {увеличение счетчика лет}
end;
if At<A/2 then {анализ приоритетного условия выхода из цикла}
begin i:=i-1; Edit5.Text:=IntToStr(i){это аналог вывода}end else
Edit5.Text:='за '+IntToStr(N)+' лет снижения нет';{это аналог вывода}
end;