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