- •Глава 1 Знакомство со средой программирования Delphi. Первая программа
- •Задача
- •Вопросы для самоконтроля
- •Глава 2 Разработка линейных программ
- •Практика
- •Рекомендуемый интернет–ресурс
- •Вопросы для самоконтроля
- •Глава 3. Стандартные и библиотечные функции в линейных программах
- •Теория
- •Рекомендуемый интернет–ресурс
- •Вопросы для самоконтроля
- •Задачи для самостоятельного решения
- •Глава 4. Программы с разветвлениями
- •Теория
- •Практика
- •Рекомендуемый интернет-ресурс
- •Вопросы для самоконтроля
- •Задачи для самостоятельного решения
- •Глава 5. Циклы
- •Теория
- •Практика
- •Рекомендуемый интернет-ресурс
- •Вопросы для самоконтроля
- •Задачи для самостоятельного решения
- •Глава 6. Использование массивов в программах. Компонент Memo для ввода данных в массив
- •Теория
- •Практика
- •Рекомендуемый интернет-ресурс
- •Вопросы для самоконтроля
- •Задачи для самостоятельного решения
- •Теория
- •Практика
- •Рекомендуемый интернет-ресурс
- •Задачи для самостоятельного решения
- •Глава 8. Процедуры и функции, разрабатываемые программистом
- •Практика
- •Рекомендуемый интернет-ресурс
- •Вопросы для самоконтроля
- •Задачи для самостоятельного решения
- •Глава 9. Внешние файлы
- •Теория
- •Практика
- •Вопросы для самоконтроля
- •Задачи для самостоятельного решения
- •Приложение1. Основные свойства базовых компонентов
- •Приложение 3. Сообщения компилятора Delphi об ошибках
- •Интернет-портал по программированию для начинающих
Часть II. Delphi
Рис. 2–1. Окно проекта Delphi после компиляции. Найдены ошибки
Выполнение проекта из среды Delphi осуществляется командой Run (Выполнить) или нажатием клавиши <F9>. При этом — созданное приложение начинает свою работу. Часто используют быструю кнопку на панели быстрых кнопок (на ней изображена зеленая стрелка). Если в файлы проекта вносились изменения, то предварительно выполняется компиляция проекта.
Практика
Задача
Разработать проект для вычисления объема бака с заданными сторонами: a, b, c (в метрах) для душа на даче и определения количества материала, которое пойдет на изготовление такого бака.
Метод решения: V=abc — объем бака
S=2(ab+bc+ca) — площадь поверхности бака (количество материала в квадратных метрах.
Составим алгоритм программы на естественном языке в виде пронумерованных пунктов.
Часть II. Delphi
1.Введем исходные данные –стороны бака (a, b, c) в память компьютера.
2.Вычислим объем бака по формуле, указанной в методе решения.
3.Выведем на экран подсчитанный объем бака V куб.м.
4.Вычислим площадь поверхности бака, которая равна необходимому количеству материала для строительства, по формуле, указанной в методе решения.
5.Выведем на экран необходимое количество материала S кв. м.
На этом алгоритм закончен. Приступим к визуальному конструированию интерфейса с пользователем в виде окна. В данном проекте предусмотрим пять командных кнопок: для ввода данных в память компьютера, для вычисления объёма бака, для вычисления необходимого количества материала, для очищения полей с данными и набора новых значений сторон и для завершения программы.
Компоненты:
|
Имя |
Свойства |
Значение |
Назначение |
|
||
|
компон |
компонен |
|
|
|
|
|
|
ента |
т |
|
|
|
|
|
|
Form1 |
Caption |
БАК для летнего душа |
Заголовок |
|
|
|
|
|
|
|
|
формы |
|
|
|
Label1 |
Caption |
Программа |
|
Справочная |
|
|
|
|
|
рассчитывает объем бака |
информация для |
|
||
|
|
|
для душа и |
определяет |
пользователя |
|
|
|
|
|
количество |
материала, |
программы |
|
|
|
|
|
которое пойдет на его |
|
|
|
|
|
|
|
изготовление |
|
|
|
|
|
Label2 |
Caption |
Сторона А (м) |
Подсказка |
|
|
|
|
|
|
|
|
пользователю |
|
|
|
Label3 |
Caption |
Сторона В (м) |
Подсказка |
|
|
|
|
|
|
|
|
пользователю |
|
|
|
Label4 |
Caption |
Сторона С (м) |
Подсказка |
|
|
|
|
|
|
|
|
пользователю |
|
|
|
Label5 |
Caption |
|
|
Поле |
для |
|
|
|
|
Должно |
быть |
вывода объема |
|
|
|
|
|
очищено. |
|
|
|
|
|
Label6 |
Caption |
|
|
Поле |
для |
|
|
|
|
Должно |
быть |
вывода |
|
|
|
|
|
очищено. |
|
количества |
|
|
|
|
|
|
|
материала |
|
|
|
Edit1 |
Text |
….. |
|
Поле |
для |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Часть II. Delphi
|
|
|
|
|
Должно |
|
быть |
ввода |
стороны |
|
||
|
|
|
|
|
очищено. |
|
|
|
А |
|
|
|
Edit2 |
|
Text |
|
|
….. |
|
|
|
Поле |
|
для |
|
|
|
|
|
|
Должно |
|
быть |
ввода стороны В |
|
|||
|
|
|
|
|
очищено. |
|
|
|
|
|
|
|
Edit3 |
|
Text |
|
|
….. |
|
|
|
Поле |
|
для |
|
|
|
|
|
|
Должно |
|
быть |
ввода |
стороны |
|
||
|
|
|
|
|
очищено. |
|
|
|
С |
|
|
|
Button1 |
|
Caption |
|
ВВОД ДАННЫХ |
|
|
Кнопка |
для |
|
|||
|
|
|
|
|
|
|
|
|
ввода данных |
|
||
Button2 |
|
Caption |
|
ОБЪЕМ БАКА |
|
|
|
Кнопка |
для |
|
||
|
|
|
|
|
|
|
|
|
вычисления |
|
|
|
|
|
|
|
|
|
|
|
|
объема бака |
|
|
|
Button3 |
|
Caption |
|
НЕОБХОДИМОЕ |
|
|
Кнопка |
для |
|
|||
|
|
|
|
|
КОЛИЧЕСТВО |
|
|
|
вычисления |
|
|
|
|
|
|
|
|
МАТЕРИАЛА |
|
|
|
необходимого |
|
||
|
|
|
|
|
|
|
|
|
количества |
|
|
|
|
|
|
|
|
|
|
|
|
материала |
|
|
|
Button4 |
|
Caption |
|
ВЫХОД |
|
|
|
Кнопка |
|
|
||
|
|
|
|
|
|
|
|
|
закрытия формы |
|
||
|
|
|
|
|
|
|
|
|
и выхода |
из |
|
|
|
|
|
|
|
|
|
|
|
программы |
|
|
|
Button5 |
|
Caption |
|
НОВЫЕ ДАННЫЕ |
Кнопка |
для |
|
|||||
|
|
|
|
|
|
|
|
|
очистки |
полей |
|
|
|
|
|
|
|
|
|
|
|
ввода для новых |
|
||
|
|
|
|
|
|
|
|
|
данных |
|
|
|
Переменные |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Обозначение |
в |
|
Содержание |
|
|
Тип |
|
|
|
|||
программе |
|
|
|
|
|
|
|
|
|
|
|
|
a |
|
|
|
сторона А |
|
|
вещественный |
|
|
|||
b |
|
|
|
сторона В |
|
|
вещественный |
|
|
|||
c |
|
|
|
сторона С |
|
|
вещественный |
|
|
|||
V |
|
|
|
объем бака |
|
|
вещественный |
|
|
|||
S |
|
|
|
Площадь |
|
|
вещественный |
|
|
|||
|
|
|
|
поверхности |
— |
|
|
|
|
|
|
|
|
|
|
|
количество материала |
|
|
|
|
|
|
Часть II. Delphi
Проект формы
Замечание
В текстах модулей во всем учебном пособии, описания и операторы,
генерируемые самой системой, выделены курсивом.
В следующих темах в задачах приведены не все инструкции, генерируемые системой. Бездумное удаление инструкций, генерируемых самой системой,
приводит к возникновению ошибок в проекте.
Текст модуля
unit Unit1; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;
type
TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit; Button1: TButton; Button2: TButton;
Часть II. Delphi
Button3: TButton;
Label5: TLabel;
Label6: TLabel;
Button4: TButton;
procedure Button1Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button4Click(Sender: TObject); private
{Private declarations } public
{Public declarations }
end; var
Form1: TForm1; a,b,c,V,S: real;
{a, b, c — стороны бака; V — объем бака; S — площадь поверхности}
implementation {$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); begin
//ввод из полей формы значений сторон бака a:=StrToFloat(Edit1.Text); b:=StrToFloat(Edit2.Text); c:=StrToFloat(Edit3.Text);
end;
procedure TForm1.Button2Click(Sender: TObject); begin
// вычисление объема
V:=a*b*c;
// вывод значения объема на форму
Label5.Caption:=FloatToStrF(V,Fffixed,8,2)+' куб. м' end;
procedure TForm1.Button3Click(Sender: TObject); begin
// вычисление площади поверхности бака