Державний Університет Управління p>
Інститут заочного навчання p>
Спеціальність - менеджмент p>
Пояснювальна записка до курсового проекту з дисципліни «Комп'ютерна підготовка» p>
по темі: «Алгоритмізація та програмування процесів обробки даних у середовищі СУБД типу Fox» p>
Виконав студент
Студентський квиток №
Група № УП4-1-98/2
Варіант № 2
Адреса: p>
Москва, 1999 р. p>
Зміст. P>
1. Вступ 3 p>
2. Завдання на курсовий проект 4 p>
3. Аналіз і постановка задачі 4 p>
4. Формалізація завдання 5 p>
5. Алгоритми 6 p>
5.1. Створення дворівневого світлового меню 6 p>
5.2. Створення файлу даних 7 p>
5.3. Читання файлу даних 8 p>
5.4. Додавання даних у файл даних 9 p>
5.5. Друк відомостей про сумарної вартості продукції заданого виду по кожному підприємству та про середню випуску цієї продукції одним підприємством. 10 p>
5.6. Друк відомостей про сумарної вартості і сумарному випуску кожної продукції. 11 p>
5.7. Друк упорядкованого за сумарною вартістю списку продукції п'яти видів 12 p>
6. Програми 13 p>
6.1. Створення дворівневого світлового меню 13 p>
6.2. Створення файлу даних 15 p>
6.3. Читання файлу даних 16 p>
6.4. Додавання даних у файл даних 17 p>
6.5. Друк відомостей про сумарної вартості продукції заданого виду по кожному підприємству та про середню випуску цієї продукції одним підприємством. 18 p>
6.6. Друк відомостей про сумарної вартості і сумарному випуску кожної продукції. 20 p>
6.7. Друк упорядкованого за сумарною вартістю списку продукції п'яти видів 21 p>
7. Результати рішень 22 p>
8. Висновок 29 p>
9. Список літератури 30 p>
Введення p>
Реляційні системи управління базами даних (СУБД), такі як FoxBase,
FoxBase plus, FoxPro, Visual FoxPro відносяться до нового покоління СУБДреляційного типу з сімейства dBase - подібних СУБД. Пакети цьогосімейства одержали широке поширення, і багато з них булирусифіковані. p>
СУБД типу Fox зберігає спадкоємність по відношенню до більш ранніхпредставникам dBase - подібних СУБД, щодо структури баз даних,команд створення та обробки даних, основних типів даних. У той же часкожна наступна СУБД володіє великими можливостями в порівнянні зпопередніми. Так, наприклад, Visual FoxPro в порівнянні з FoxPro володієбільш значними образотворчими можливостями. p>
Дана робота використовує мову команд СУБД сімейства Fox. Використовуванікоманди, в основному, застосовуються в усіх СУБД цього типу, але налагодження веласяна русифікованою СУБД FoxPro для Windows версії 2.5b. p>
Завдання на курсовий проект p>
Структура ЗАПИСИ вихідного ДОКУМЕНТА:
| Код підприємства | Вид продукції | Обсяг випуску | Ціна одиниці |
| | | | Продукції | p>
Необхідно: p>
1. Визначити сумарну вартість продукції заданого виду і її середній випуск одним підприємством. P>
2. Для кожного з п'яти видів продукції визначити сумарну вартість і сумарний випуск. P>
3. Видати на друк у порядку зростання сумарної вартості продукцію п'яти видів. P>
Аналіз і постановка задачі p>
Вихідні дані завдання є записи заданої структури,які повинні вводитися з клавіатури, а потім у який файл даних намагнітний диск. Отже, однією з підзадач повинна бути завданнястворення файла даних на магнітному диску. p>
Створений файл даних необхідно переглянути на екрані або вивести надрук у вигляді таблиці з печаткою заголовка і шапки цієї таблиці. Для цьогонаступної підзадачі повинна бути завдання переглянути файл даних. Такожповинна бути можливість додавання записів в створений файл даних. p>
Потім необхідні ще три підзадачі, вирішення яких дозволяє виконатитри пункти курсової роботи: p>
1. Видача відомостей про сумарної вартості продукції заданого виду по кожному підприємству та про середню випуску цієї продукції одним підприємством. P>
2. Видача відомостей про сумарної вартості і сумарному випуску кожної продукції. P>
3. Видача на друк продукції п'яти видів у порядку зростання її сумарної вартості. P>
Крім того, для діалогу користувача з системою необхідно створити такзване, «Меню». p>
Формалізація завдання p>
У середовищі СУБД типу Fox кожна підзадача може оформлятися у виглядіокремого командного файлу з розширенням. prg і закінчуватися операторомповернення в викликає командний файл. p>
У даному випадку основним командним файлом є файл MainMenu.prg,який формує повне екранне меню і здійснює виклик іншихкомандних файлів, залежно від обраного пункту меню:
| CreateFd.prg | - створення файлу даних; |
| ReadFd.prg | - читання створеного файлу даних; |
| AddFd.prg | - додавання даних в створений файл даних; |
| Zad1.prg | - видача відомостей про сумарної вартості продукції |
| | Заданого виду по кожному підприємству та про середню |
| | Випуску цієї продукції одним підприємством; |
| Zad2.prg | - видача відомостей про сумарної вартості та |
| | Сумарному випуску кожної продукції; |
| Zad3.prg | - видача на друк продукції п'яти видів у порядку |
| | Зростання її сумарної вартості. | p>
Крім того, необхідно надати користувачеві можливість полегшитипроцес створення файла даних, тобто передбачити створення файла даних зіструктурою заданої в програмі, а не вибирається самим користувачем, щоповністю виключить можливі помилки користувача в завданні імен полів файлуданих, що в сою чергу може позначитися на коректній роботі всієїпрограми. p>
Алгоритми p>
1 Створення дворівневого світлового меню p>
2 Створення файлу даних p>
3 Читання файлу даних p>
4 Додавання даних у файл даних p>
5 Друк відомостей про сумарної вартості продукції заданого виду по кожному підприємству та про середню випуску цієї продукції одним підприємством. p>
6 Друк відомостей про сумарної вартості і сумарному випуску кожної продукції. p>
7 Друк упорядкованого за сумарною вартістю списку продукції п'яти видів p>
Програми p>
1 Створення дворівневого світлового меню p>
* Командний файл ієрархічного меню MainMenuset Talk offset Color to n/W * & & Вибір кольору екрана
Clear p>
* Опис масивів даних меню
Declare GenMenu (3,2), menuFile (3), menuZad (3), menuExit (2) p>
* Завдання значень елементів масивів
GenMenu (1,1) = "Файл даних"
GenMenu (1,2) = "Робота з файлом даних"
GenMenu (2,1) = "Завдання"
GenMenu (2,2) = "Завдання на курсовий проект"
GenMenu (3,1) = "Вихід"
GenMenu (3,2) = "Вихід з програми" p>
menuFile (1) = "Створення"menuFile (2) = "Читання"menuFile (3) = "Додавання" p>
menuZad (1) = "Завдання № 1"menuZad (2) = "Завдання № 2"menuZad (3) = "Завдання № 3" p>
menuExit (1) = "Вихід в Fox"menuExit (2) = "Вихід з Fox" p>
* Форміровніе головного меню
Do While. T. set Color to gr +/g, gr +/b & & Установка кольору меню p>
Menu Bar GenMenu, 3 p>
Read Menu Bar to L1, L2 & & Висновок головного меню на екран p>
Do While L1> 0 & & відкрити підменю, якщо вибраний p>
& & будь-який пункт головного меню p>
* Формування підменю set Color to gr +/g, gr +/b & & Установка кольору підменю p>
Menu 1, menuFile, 3,3 p>
Menu 2, menuZad, 3,3 p>
Menu 3, menuExit, 2,2 p> < p> Read Menu Bar to L1, L2 & & Висновок меню на екран set Color to n/W * & & Повернення до кольору екрана p>
* Обробка вибраного пункту меню p>
Do Case p >
Case L1 = 0 p>
Exit & & Вихід до панелі головного меню p>
Case L1 = 1 p>
Do Case p>
Case L2 = 1 & & Обрано дію 'Створення нового ФД' p>
Do CreateFd p>
Case L2 = 2 & & Обрано дію 'Читання даних' p>
Do ReadFd p >
Case L2 = 3 & & Обрано дію 'Додавання нових даних' p>
Do AddFd p>
EndCase p>
Case L1 = 2 p>
Do Case p>
Case L2 = 1 & & Обрано завдання № 1 з курсового проекту p>
Do Zad1 p>
Case L2 = 2 & & Обрано завдання № 2 з курсового проекту p>
Do Zad2 p>
Case L2 = 3 & & Обрано завдання № 3 з курсового проекту p>
Do Zad3 p>
EndCase p> < p> Case L1 = 3 p>
Do Case p>
Case L2 = 1 & & Обрано пункт 'Вихід в Fox' p>
Return p>
Case L2 = 2 & & Обрано пункт 'Вихід з Fox' p>
Quit p>
EndCase p>
EndCase p>
EndDo
EndDo p>
2 Створення файлу даних p>
* Командний файл CreateFd - створення нового файлу данихset Talk offset Status offset Escape off
Clear
Zag = 'Процес створення нового файлу даних'
@ 4,22 to 4,58 Color u/w *
@ 3,22 Say Zag Color u/w *
@ 12,0
Accept 'Вкажіть ім'я створюваного файла даних:' to NameFd
If Len (NameFd)> 0 & & Якщо ім'я файлу не ввели, то робити нічого p>
* Зміна заголовка p>
Zag = Zag + ':' + NameFd + '. Dbf' p>
LenZag = Int (Len (Zag)) p>
@ 4, Int ((80-lenZag)/2) to 4, Int ((80-lenZag)/2) + LenZag Color u/w * p>
@ 3, Int ((80-LenZag)/2) Say Zag Color u/w * p>
@ 14,0
Text
Хочете автоматично створити порожню структуру з вказаним ім'ям, за завданням курсового проекту (Д/Н)?
EndText p>
* Відповідь на поставлене питання p>
Do While. T. p>
@ 16,57 p>
Wait''to ABC & & Очікування натискання клавіші p>
If ABC = 'н' Or ABC = 'д' p>
ABC = Chr (Asc (ABC) -32) & & Зміна регістра p>
EndIf p>
If ABC = 'Н' Or ABC = 'Д' p>
Exit p>
EndIf p>
EndDo p>
* Створення ФД p>
If ABC = 'Д' & & Автоматичне створення ФД p>
Create Table & NameFd; p>
(KodOrg N (3,0), VidProd C ( 20), Volum N (4,0), Price N (6,2)) p>
@ 8,0 set Talk on p>
Display Structure & & Висновок створеної структури set Talk off
Else & & Створення ФД з можливістю заповнення полів p>
Create & NameFd p>
EndIf
EndIf p>
* Кінець роботи
@ 24,0
Wait 'Для повернення в меню натисніть будь-яку клавішу ...'< br>@ 24,0 Clear
Return p>
3 Читання файлу даних p>
* Командний файл ReadFd - читання файлу данихset Talk offset Status offset Escape off
Clear
@ 4,27 to 4,54 Color u/w *
@ 3,27 Say 'Процес читання файлу даних' Color u/w *
@ 12,0
Accept 'Введіть ім'я зчитує файла даних:' to NameFd
If Len (NameFd)> 0 & & Якщо ім'я файлу не ввели, то робити нічого p>
* Зміна заголовка p>
@ 3,0 Clear to 5,79 p>
Zag = 'Вміст файлу даних:' + NameFd + '. dbf' p>
LenZag = Int (Len (Zag)) p>
@ 4, Int ((80-lenZag)/2 ) to 4, Int ((80-lenZag)/2) + LenZag Color u/w * p>
@ 3, Int ((80-LenZag)/2) Say Zag Color u/w * p>
* Висновок вмісту файлу p>
Use & NameFd p>
Do While. Not.EOF () & & Цикл виведення порцій записів ФД p>
& & У певну область екрану p>
@ 7,0 p>
Display Next 15 p>
If EOF () =. F. & & В останньому циклі не треба перекладати p>
& & покажчик і тримати паузу p>
Skip & & Переклад покажчика, щоб новий екран не починався p>
& & з останнього запису попереднього екрана
@ 24,0 p>
Wait 'Натисніть будь-яку клавішу для перегляду наступних 15 записів p>
...' p>
EndIf p>
EndDo p>
Close DataBases & & Закриття ФД
EndIf p>
* Кінець роботи
@ 24,0
Wait 'Для повернення в меню натисніть будь-яку клавішу ...'< br>@ 24,0 Clear
Return p>
4 Додавання даних у файл даних p>
* Командний файл AddFd - додавання файлу данихset Talk offset Status offset Escape off
Clear
@ 4,25 to 4,56 Color u/w *
@ 3,25 Say 'Процес додати файл даних' Color u/w *
@ 12,0
Accept 'Введіть ім'я файлу даних для додавання даних:' to NameFd
If Len (NameFd)> 0 & & Якщо ім'я файлу не ввели, то робити нічого p>
* Зміна заголовка p>
@ 3,0 Clear p>
Zag = 'Додавання даних у файл даних: '+ NameFd +'. dbf ' p>
LenZag = Int (Len (Zag)) p>
@ 4, Int ((80-lenZag)/2) to 4, Int ((80-lenZag)/2) + LenZag Color u/w * p>
@ 3, Int ((80-LenZag)/2) Say Zag Color u/w * p>
* Додавання даних у ФД p>
Use & NameFd p>
Append p>
Close DataBases & & Закриття ФД
EndIf p>
* Кінець роботи
@ 24,0
Wait 'Для повернення в меню натисніть будь-яку клавішу ...'< br>@ 24,0 Clear
Return p>
5 Друк відомостей про сумарної вартості продукції заданого виду по кожному підприємству та про середню випуску цієї продукції одним підприємством. P>
* Командний файл Zad1 - друк відомостей про заданої продукціїset Talk offset Status offset Escape off
Clear
@ 4,18 to 4,62 Color u/w *
@ 3,18 Say 'Процес друку відомостей про заданої продукції' Color u/w *
@ 12,0
Accept 'Введіть ім'я файлу даних:' to NameFd
@ 12,0 Clear
@ 12,0
Accept 'Введіть вид продукції:' to TypeProd
If Len (NameFd)> 0 And Len (TypeProd)> 0 & & Якщо ім'я файлу або p>
& & вид продукції не ввели, p>
& & то робити нічого p>
* Зміна заголовка p>
@ 3,0 Clear p>
Zag = 'Відомості про продукцію:' + TypeProd p>
LenZag = Int (Len (Zag)) p>
@ 4, Int ((80-lenZag)/2) to 4, Int ((80-lenZag)/2) + LenZag Color u/w * p>
@ 3, Int ( (80-LenZag)/2) Say Zag Color u/w * p>
Use & NameFd p>
* Формування шапки p>
L ='+----- ------------+---------------+--------+-----------+ ' p>
@ 7,12 Say L p>
@ 8,12 Say' | Код підприємства | Обсяг випуску | Ціна | Вартість | ' p>
@ 9,12 Say L p>
Row = 10 & & Поточний номер рядка для виводу даних p>
Do While. Not.EOF () p>
If VidProd = TypeProd p> < p> * Формування рядка p>
@ Row, 12 Say'|' p>
@ Row, 20 Say KodOrg p>
@ Row, 30 Say'|' p>
@ Row, 36 Say Volum Picture '# ###' p>
@ Row, 46 Say'|' p>
@ Row, 48 Say Price Picture' # # #.##' p>
@ Row, 55 Say'|' p>
@ Row, 57 Say Volum * Price Picture '# # ###.##' p>
@ Row, 67 Say'|' p>
Row Row = 1 p>
EndIf p>
Skip p>
EndDo p >
* Формування підсумковій частині таблиці p>
@ Row, 12 Say L p>
Row Row = 1 p>
* Розрахунок сумарної вартості p> < p> Sum Volum * Price For VidProd = TypeProd to AllPrice p>
* Розрахунок середнього випуску p>
Average Volum For VidProd = TypeProd to AvVol p>
@ Row, 29 Say 'Загальна сумарна вартість:' p>
@ Row, 56 Say AllPrice Picture '# # # ###.##' p>
@ Row +1,21 Say' Середній випуск одним підприємством : ' p>
@ Row +1,58 Say AvVol Picture' # ###' p>
Close DataBases & & Закриття ФД
EndIf p>
* Кінець роботи
@ 24,0
Wait 'Для повернення в меню натисніть будь-яку клавішу ...'< br>@ 24,0 Clear
Return p>
6 Друк відомостей про сумарної вартості і сумарному випуску кожної продукції. P>
* Командний файл Zad2 - друк відомостей про обсяги та вартість продукціїset Talk offset Status offset Escape off
Clear
@ 4,15 to 4,64 Color u/w *
@ 3,15 Say 'Процес друку відомостей про обсяги всієї продукції' Color u/w *
@ 12,0
Accept 'Введіть ім'я файлу даних:' to NameFd
@ 12,0 Clear
If Len (NameFd)> 0 & & Якщо ім'я файлу не ввели, то друкувати нічого p>
Use & NameFd p>
* Формування шапки таблиці p>
L ='+-- -------------------+---------------+-------------- -------+' p>
@ 7,10 Say L p>
@ 8,10 Say '| Вид продукції | Загальний обсяг | Сумарнавартість | ' p>
@ 9,10 Say L p>
* Сортування даних за видом продукції p>
Index On VidProd to & NameFd & & Створення індексного файлу p> < p> Use & NameFd Index & NameFd p>
* Формування рядків таблиці p>
Row = 10 & & Поточний номер рядка для виводу даних p>
Do While. Not.EOF ()
VP = VidProd p>
RNom = RecNo () & & Запам'ятати номер поточного запису p>
Sum Volum For VidProd = VP to AllVol & & Загальний обсяг p>
Sum Volum * Price For VidProd = VP to AllPrice & & Сумарнавартість p>
GoTo RNom & & Повернутися на поточний запис p>
@ Row, 10 Say'|' p>
@ Row, 12 Say VidProd p>
@ Row, 32 Say'|' p>
@ Row, 37 Say AllVol Picture '# # # ###' p>
@ Row, 48 Say'|' p> < p> @ Row, 55 Say AllPrice Picture '# # # ###.##' p>
@ Row, 70 Say'|' p>
* Пропуск записів з відпрацьованим видом продукції
Do While VidProd = VP And. Not.EOF () p>
Skip p>
EndDo p>
Row Row = 1 p>
EndDo p>
* Формування підсумковій частині таблиці p>
@ Row, 10 Say L p>
Close DataBases & & Закриття ФД p>
Delete File NameFd + '. idx' & & Видалення індексного файлу
EndIf p>
* Кінець роботи
@ 24,0
Wait 'Для повернення в меню натисніть будь-яку клавішу ...'< br>@ 24,0 Clear
Return p>
7 Друк упорядкованого за сумарною вартістю списку продукції п'яти видів p>
* Командний файл Zad3 - друк упорядкованих відомостей про вартістьпродукціїset Talk offset Status offset Escape off
Clear
@ 4,9 to 4,71 Color u/w *
@ 3,9 Say 'Друк відомостей про сумарної вартості продукції зазростанням 'Color u/w *
@ 12,0
Accept 'Введіть ім'я файлу даних:' to NameFd
@ 12,0 Clear
If Len (NameFd)> 0 & & Якщо ім'я файлу не ввели, то друкувати нічого p>
Use & NameFd p>
* Формування шапки таблиці p>
L ='+-- -------------------+---------------------+' p>
@ 7,17 Say L p>
@ 8,17 Say '| Вид продукції | Сумарна вартість |' p>
@ 9,17 Say L p>
* Пошук продукції з найменшим значенням вартості p>
Store 0 to MinAP, LastAP p>
For I = 1 to 5 & & Цикл для п'яти видів продукції p>
Do While. Not.EOF ( ) & & Цикл пошуку нового мінімуму p>
VP = VidProd & & Поточний вид продукції p>
RNom = RecNo () & & Поточний запис p>
Sum Volum * Price For VidProd = VP to AllPrice p>
If AllPrice> LastAP p>
If AllPrice MinAP = AllPrice p>
MinVP = VP p>
EndIf p>
EndIf p>
If RNom GoTo RNom 1 & & Перехід на наступну запис p>
EndIf p>
EndDo p>
* Формування рядки таблиці p>
@ 9 + I, 17 Say'|' p>
@ 9 + I, 19 Say MinVP p>
@ 9 + I, 39 Say'|' p>
@ 9 + I, 46 Say MinAP Picture '# # # ###.##' p>
@ 9 + I, 61 Say'|' p>
LastAP = MinAP & & Попереднє мінімальне значення p>
& & (нижня межа мінімальних значень) p>
MinAP = 0 p>
GoTo Top & & Відновити перегляд з першого рядка p>
Next p>
* Формування підсумковій частині таблиці p>
@ 15,17 Say L
Close DataBases & & Закриття ФД
EndIf
* Кінець роботи
@ 24,0
Wait 'Для повернення в меню натисніть будь-яку клавішу ...'< br>@ 24,0 Clear
Return p>
Результати рішень p>
Вибір створення файлу даних p>
| 1 | Ручка | 1000 | 2,00 |
| 1 | Олівець | 500 | 1,50 |
| 1 | Фломастер | 1000 | 4,70 |
| 1 | Чорнила | 500 | 3,00 |
| 2 | Ручка | 1200 | 1,85 |
| 2 | Фломастер | 750 | 5,00 |
| 2 | Гумка | 5000 | 1,20 |
| 2 | Олівець | 1500 | 1,35 |
| 3 | Чорнила | 400 | 3,20 |
| 3 | Ручка | 800 | 1,90 |
| 3 | Олівець | 1200 | 1,40 |
| 3 | Фломастер | 2000 | 4,50 |
| 4 | Ручка | 900 | 1,85 |
| 4 | Гумка | 200 | 2,00 |
| 4 | Фломастер | 1400 | 4,70 |
| 4 | Чорнила | 500 | 3,05 |
| 5 | Олівець | 700 | 1,45 |
| 5 | Чорнила | 1100 | 2,60 |
| 5 | Гумка | 1400 | 1,65 |
| 5 | Фломастер | 500 | 5,30 | p>
Вибір читання файлу даних p>
Вибір додавання даних у файл даних p>
| 6 | Гумка | 600 | 1,55 |
| 6 | Чорнила | 800 | 3,10 |
| 6 | Олівець | 1000 | 1,55 | p>
Вибір виконання Завдання № 1 p>
Вибір виконання Завдання № 2 p>
Вибір виконання Завдання № 3 p>
Вихід з СУБД p>
Висновок p >
Реляційні СУБД, такі як FoxPro дійсно є потужнимзасобом управління великим обсягом даних. СУБД цього типу дозволяютьвиробляти швидку сортування великого масиву даних, здійснюватишвидкий перехід за записами в довільному порядку, виробляти швидкувибірку великої кількості даних з усього масиву даних за заданимикритеріям. У таких реляційних СУБД кожен файл даних розглядається якдвовимірна таблиця, стовпці якої відповідають полям записів, а рядкивідповідають окремим записам файла і звернення до даних йде череззазначення номера запису імені поля. При цьому робота з окремим полемтаблиці даних нагадує роботу зі змінними - звернення до данихмаксимально спрощено, і користувачеві не потрібно знати усі ієрархічніструктуру даних. p>
Мова команд СУБД сімейства Fox містить широкий набір команд,виконують дії складних конструкцій, наприклад, сортування записівфайлу зводиться тільки до двох команд. Крім цього в СУБД передбаченікоманди створення світлового меню для організації прямого діалогу зкористувачем. Все це максимально спрощують написання програм іпідтверджує, що реляційні СУБД сімейства Fox дійсно єпотужним інструментом для створення і обробки баз даних великого обсягу. p>
Список літератури p>
1. Лемашко О.В., Романчук В.Г. Програмування в системі команд СУБД сімейства Fox: учебное пособие/ГАУ, М., 1998. P>
2. Комп'ютерний практикум. Програмування в середовищі Турбо-Паскаль та СУБД типу Fox. Методичні вказівки до виконання курсового проекту. P>
/Сост.: О.Н. Леонова, І.А. Несмеянов; ГАУ, М., 1998. P>
----------------------- p>
Do While. Not . EOF () p>
Заборона реакції команд p>
Завдання кольору екрана p>
Len (NameFd)> 0 p>
Len (NameFd)> 0 p>
Wait p>
Формування головного меню p>
Вибір пункту головного меню p>
Вибір пункту підменю p>
Do While. T . p>
Формування підменю p>
Case p>
L1 = 0 p>
Exit p>
L1 = 1 p>
L1 = 2 p>
L1 = 3 p>
Case p>
L2 = 3 p>
L2 = 2 p>
L2 = 1 p>
AddFd p>
ReadFd p>
CreateFd p>
VidProd = TypeProd p>
Висновок шапки таблиці p>
Zad3 p>
Zad2 p>
Zad1 p>
L2 = 3 p>
L2 = 2 p>
L2 = 1 p>
Case p>
True p>
Введення виду продукції, TypeProd p>
Quit p>
Return p>
Очищення екрану p>
L2 = 2 p>
L2 = 1 p>
Case p>
Кінець p>
False
Do While. T. p>
початок p>
True p>
Wait p>
Заборона виводу реакції команд p>
Заборона зміни рядка стану p>
Заборона переривання виконання програми p>
Введення імені ФД, NameFd p>
Wait p>
Return p>
Do While. Not.EOF () p>
False p>
False p>
Return p>
Wait p>
Return p>
початок p>
Wait p>
False p>
True p>
Висновок питання p>
Читання 15 записів з ФД p>
Заборона виводу реакції команд p>
Заборона зміни рядка стану p>
Заборона переривання виконання програми p>
Зміна заголовка p>
Зміна заголовка p>
ABC = 'Д' p>
Формування заголовка p>
Формування заголовка p>
Очищення екрану p>
Очищення екрану p>
Create & NameFd p>
False p>
Create Table & NameFd () p>
True p>
Введення імені ФД , NameFd p>
Append p>
Введення імені файлу, NameFd p>
Введення відповіді (Д/Н) to ABC p>
Заборона виводу реакції команд
Заборона зміни рядка стану p>
Заборона переривання виконання програми p>
початок p>
Зміна заголовка p>
Формування заголовка p >
Очищення екрану p>
Len (NameFd)> 0 p>
початок p>
True p>
False p>
Return p>
Заборона виводу реакції команд p>
Заборона зміни рядка стану p>
Заборона переривання виконання програми p>
Введення імені ФД, NameFd p>
Перехід на наступну запис p>
Зміна заголовка p>
Формування заголовка p>
Очищення екрану p>
Len (NameFd)> 0 And p>
Len (TypeProd)> 0 p>
початок p>
True p>
Висновок рядки таблиці p>
2 p> < p> 1 p>
1 p>
2 p>
Висновок укладання таблиці p>
AvVol = Average (Volum) p>
AllPrice = Sum (Volum * Price) p>
Висновок p>
AllPrice p>
AvVol p>
Wait p>
False p >
Return p>
Заборона виводу реакції команд p>
Заборона зміни рядка стану p>
Заборона переривання виконання програми p>
Введення імені ФД, NameFd p>
2 p>
1 p>
Формування заголовка p>
Очищення екрану p>
Len (NameFd)> 0 p >
початок p>
True p>
Висновок рядки таблиці p>
Висновок шапки таблиці p>
Висновок укладання таблиці p>
Сортування по полю VidProd за допомогою індексного файлу p>
Do While. Not.EOF () p>
AllVol = Sum (Volum) p>
Висновок укладання таблиці p>
AllPrice = Sum (Volum * Price) p>
Перехід на запис з новим видом продукції p>
1 p>
2 p>
1
2 p>
Wait p>
Return p>
1 p>
p>
Перехід на наступну запис
AllPrice = Sum (Volum * Price) p>
Store 0 to MinAP, LastAP p>
початок p>
Do While. Not.EOF () p>
For I = 1 to 5 p>
Висновок в рядку таблиці MinVP, MinAP p>
Висновок шапки таблиці p>
False p> < p> Заборона виводу реакції команд p>
Введення імені ФД, NameFd p>
Формування заголовка p>
Очищення екрану p>
Len (NameFd)> 0
True p>
Перехід до першого запису p>
LastAP = MinAP p>
p>
Заборона переривання виконання програми p>
Заборона зміни рядка стану p>
2 p>
VP = VidProd p>
AllPrice> LastAP p>
AllPrice p>