На першому етапі створення програми програміст повинен визначити послідовність дій, які необхідно виконати, щоб вирішити поставлене завдання, т. е. розробити алгоритм. Алгоритм – це точне припис, визначальне процес переходу від вихідних даних до результату.
Алгоритм розв’язання задачі може бути представлений у вигляді словесного опису або графічно – у вигляді блок-схеми. При зображенні алгоритму у вигляді блок-схеми використовуються спеціальні символи (Рис. 1.1).
Рис. 1.1. Основні символи, які використовуються для подання алгоритму у вигляді блок-схеми
Подання алгоритму у вигляді блок-схеми дозволяє програмісту усвідомити послідовність дій, які повинні бути виконані для вирішення завдання, переконатися в правильності розуміння поставленого завдання.
При програмуванні в Delphi алгоритм вирішення задачі являє собою сукупність алгоритмів процедур обробки подій.
Як приклад на рис. 1.2 приведена сукупність алгоритмів програми Вартість покупки, а на рис. 1.3 – її діалогове вікно. Після розробки діалогового вікна і алгоритмів обробки подій можна приступити до написання програми. її текст приведений в лістингу 1.1.
Лістинг 1.1. Програма Вартість покупки
unit pokupka_1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = Class (TForra) Edit1: TEdit; Edit2: TEdit; Label1: TLabel; Label2: TLabel; Button1: TButton; Label3: TLabel; procedure ButtonlClick (Sender: TObject); procedure Edit2KeyPress (Sender: TObject; var Key: Char); procedure EditlKeyPress (Sender: TObject; var Key: Char); private {Private declarations} public {Public declarations} end; var Forml: TForm1; implementation {$ R * .dfm} // підпрограма procedure Summa; var cena: real; // ціна kol: integer; // кількість s: real; // сума mes: string [255]; // повідомлення begin cena : = StrToFloat (Form1.Edit1.Text); kol : = StrToInt (Forml.Edit2.Text); s : = Cena * kol; if s & gt; 500 then begin s : = S * 0.9; mes : = 'Надається знижка 10%' + # 13; end; mes : = Mes + 'Вартість покупки:' + FloatToStrF (s, ffFixed, 4,2) + 'грн.'; Forml.Label3.Caption : = Mes; end; // клацання на кнопці Вартість procedure TForml.ButtonlClick (Sender: TObject); begin Summa; // обчислити суму покупки end; // натискання клавіші в поле Кількість procedure TForml.Edit2KeyPress (Sender: TObject; var Key: Char); begin case Key of '0' .. '9', # 8:; // цифри і клавіша Backspace # 13: Summa; // обчислити вартість покупки else Key: = Chr (O); // символ не відображати end; end; // натискання клавіші в поле Ціна procedure TForm1.EditlKeyPress (Sender: TObject; var Key: Char); begin case Key of '0' .. '9', # 8:; // цифри і клавіша Backspace # 13: Form1.Edit2.SetFocus; // клавіша Enter '.' , '.' : begin if Key = '.' then Key: = ', if Pos (', ', Edit1.Text) <> 0 then Key: = Chr (0); end; else // всі інші символи заборонені Key : = Chr (0); end; end; end.
Рис. 1.2. Алгоритм програми обчислення вартості покупки – сукупність алгоритмів обробки подій на компонентах форми
Рис. 1.3. Вікно (Форма) програми Вартість покупки