Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсач.rtf
Скачиваний:
1
Добавлен:
25.11.2019
Размер:
23.87 Mб
Скачать

Пояснения к алгоритму 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