- •1. Введение.
- •2. Постановка задачи.
- •3. Математическая формулировка задачи и выбор метода обработки информации
- •4. Разработка алгоритма, схема алгоритма и его описание.
- •Messagedlg
- •Cleansg
- •Memo1.Lines.Insert
- •Messagedlg
- •Cleansg
- •Cleanedit messagedlg
- •Autorachet
- •Пояснения к алгоритму 6:
- •Пояснения к алгоритму 7:
- •Пояснения к алгоритму 8:
- •Cleansg
- •Autorachet
- •Пояснения к алгоритму 9:
- •Autorachet
- •Пояснения к алгоритму 10:
- •Пояснения к алгоритму 11:
- •Пояснения к алгоритму 12:
- •5. Форма представления исходных данных
- •6. Разработка интерфейса
- •7. Листинг программы
- •8. Результаты проведенных расчетов и их анализ.
- •Список использованной литературы
- •Приложения
Пояснения к алгоритму 6:
Блок 2 – формирование цикла.
Блок 3 – условие математического расчета (при не пустой ячейке - выполняется).
Блок 4 – выполнение математических расчетов.
Блоки 5,6,7 – поиск максимального элемента.
Блок 8 – вывод в поле memo наименование статьи с наибольшим значением.
1
Начало
2
n = 1, sg1.rowcount, 1
Нет
Да
3
Sg1.cells[0,n]<>''
D
C
B
А
D
C
B
А
4
Sg1.cells[4,n]:=inttostr(strtoint(cells[1,n])+strtoint(cells[2,n])-strtoint(cells[3,n]));
Sg1.cells[6,n]:=floattostr(strtoint(cells[4,n])*strtofloat(cells[5,n])/1000);
Да
5
Нет
Sg1.cells[6,n]>max
6
L = n
max = Sg1.cells[6,n]
7
8
memo1.lines
9
Конец
7. процедура сохранения базы: button6click.
Пояснения к алгоритму 7:
Блоки 2,3 – открытие для записи данных.
Блок 4 – задание начального условия цикла.
Блоки 5,6 – повторный цикл очистки массива.
Блок 7 – задание начального условия цикла.
Блоки 8,9,10 – повторение цикла перевода строки StringGrid в массив записей.
Блоки 11,12 – запись в файл.
Блок 13 – закрытие файла.
Блок 14 – вывод в поле memo подтверждения.
1
Начало
assignfile(filezap,filenamezap);
2
rewrite(filezap);
n:=0;
3
4
n = 0
5
n = 0, 200, 1
Mzap[n].prod:='';
Mzap[n].onng:=0;
Mzap[n].plan:=0;
Mzap[n].onkg:=0;
Mzap[n].svocep:=0;
6
7
n = 1
8
n = 1, sg1.rowcount, 1
Нет
Да
9
sg1.Cells[0,n]<>''
10
Mzap[2*n].prod:=sg1.Cells[0,n];
Mzap[2*n].onng:=strtoint(sg1.cells[1,n]);
Mzap[2*n].plan:=strtoint(sg1.cells[2,n]);
Mzap[2*n].onkg:=strtoint(sg1.cells[3,n]);
Mzap[2*n].svocep:=strtofloat(sg1.cells[5,n]);
n = 1, 100, 1
11
12
filezap, mzap[n]
А
А
13
сlosefile (filezap);
14
memo1.lines
15
Конец
8. процедура открытия базы: button5click.
Пояснения к алгоритму 8:
Блоки 2,3 – открытие для чтения данных.
Блок 4 – задание начального условия цикла.
Блоки 5,6 – повторный цикл очистки массива.
Блоки 7,8,9 – чтение из типизированного файла в типизированный массив.
Блок 10 – вызов подтверждения очистки StringGrid.
Блок 11 – задание начального условия цикла.
Блоки 12,13,14,15,16 – повтор цикла перевода массива в StringGrid.
Блок 17 – вызов процедуры расчета.
Блок 18 – вывод в поле memo подтверждения.
1
Начало
assignfile(filezap,filenamezap);
2
reset(filezap);
n:=0;
3
4
n = 0
n = 0, 200, 1
5
6
Mzap[n].prod:='';
Mzap[n].onng:=0;
Mzap[n].plan:=0;
Mzap[n].onkg:=0;
Mzap[n].svocep:=0;
А
А
7
while not eof(filezap)
8
filezap, mzap[n]
n = n + 1
9
Cleansg
10
11
n = 1, k = 1
n = 1, 200, 1
12
Да
13
Mzap[n].prod<>''
Нет
14
sg1.Cells[0,k]:=Mzap[n].prod;
sg1.Cells[1,k]:=inttostr(Mzap[n].onng);
sg1.Cells[2,k]:=inttostr(Mzap[n].plan);
sg1.Cells[3,k]:=inttostr(Mzap[n].onkg);
sg1.Cells[5,k]:=floattostr(Mzap[n].svocep);
15
k = k +1
16
n = n + 1
17