Алгоритм и программа

На первом этапе создания программы программист должен определить последовательность действий, которые необходимо выполнить, чтобы решить поставленную задачу, т. е. разработать алгоритм.
Алгоритм — это точное предписание,
определяющее процесс перехода от исходных данных к результату.

Алгоритм решения задачи
может быть представлен в виде словесного описания или графически — в виде блок-схемы.
При изображении алгоритма в виде блок-схемы используются специальные символы
(рис. 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 > 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. Окно
(форма) программы Стоимость покупки

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: