Алгоритмизация и программирование процессов на Fox
Информация - Компьютеры, программирование
Другие материалы по предмету Компьютеры, программирование
ти и суммарном выпуске каждой продукции.
* Командный файл Zad2 - печать сведений об объемах и стоимости продукции
set Talk off
set Status off
set 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&& Если имя файла не ввели, то печатать нечего
Use &NameFd
* Формирование шапки таблицы
L=+---------------------+---------------+---------------------+
@ 7,10 Say L
@ 8,10 Say | Вид продукции | Общий объем | Суммарная стоимость |
@ 9,10 Say L
* Сортировка данных по виду продукции
Index On VidProd to &NameFd&& Создание индексного файла
Use &NameFd Index &NameFd
* Формирование строк таблицы
Row=10 && Текущий номер строки для вывода данных
Do While .Not.EOF()
VP=VidProd
RNom=RecNo()&& Запомнить номер текущей записи
Sum Volum For VidProd=VP to AllVol&& Общий объем
Sum Volum*Price For VidProd=VP to AllPrice&& Суммарная стоимость
GoTo RNom&& Вернуться на текущую запись
@ Row,10 Say |
@ Row,12 Say VidProd
@ Row,32 Say |
@ Row,37 Say AllVol Picture ### ###
@ Row,48 Say |
@ Row,55 Say AllPrice Picture ### ###.##
@ Row,70 Say |
* Пропуск записей с отработанным видом продукции
Do While VidProd = VP And .Not.EOF()
Skip
EndDo
Row=Row+1
EndDo
* Формирование итоговой части таблицы
@ Row,10 Say L
Close DataBases && Закрытие ФД
Delete File NameFd + .idx&& Удаление индексного файла
EndIf
* Конец работы
@ 24,0
Wait Для возврата в меню нажмите любую клавишу ...
@ 24,0 Clear
Return
- Печать упорядоченного по суммарной стоимости списка продукции пяти видов
* Командный файл Zad3 - печать упорядоченных сведений о стоимости продукции
set Talk off
set Status off
set 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&& Если имя файла не ввели, то печатать нечего
Use &NameFd
* Формирование шапки таблицы
L=+---------------------+---------------------+
@ 7,17 Say L
@ 8,17 Say | Вид продукции | Суммарная стоимость |
@ 9,17 Say L
* Поиск продукции с наименьшим значением стоимости
Store 0 to MinAP, LastAP
For I=1 to 5&& Цикл для пяти видов продукции
Do While .Not.EOF()&& Цикл поиска нового минимума
VP=VidProd&& Текущий вид продукции
RNom=RecNo()&& Текущая запись
Sum Volum*Price For VidProd=VP to AllPrice
If AllPrice > LastAP
If AllPrice < MinAP Or MinAP=0
MinAP=AllPrice
MinVP=VP
EndIf
EndIf
If RNom < RecCount()
GoTo RNom+1&& Переход на следующую запись
EndIf
EndDo
* Формирование строки таблицы
@ 9+I,17 Say |
@ 9+I,19 Say MinVP
@ 9+I,39 Say |
@ 9+I,46 Say MinAP Picture ### ###.##
@ 9+I,61 Say |
LastAP=MinAP&& Предыдущее минимальное значение
&& (нижняя граница минимальных значений)
MinAP=0
GoTo Top&& Возобновить просмотр с первой строки
Next
* Формирование итоговой части таблицы
@ 15,17 Say L
Close DataBases && Закрытие ФД
EndIf
* Конец работы
@ 24,0
Wait Для возврата в меню нажмите любую клавишу ...
@ 24,0 Clear
Return
- Результаты решений
Выбор создания файла данных
1Ручка10002,001Карандаш5001,501Фломастер10004,701Чернила5003,002Ручка12001,852Фломастер7505,002Ластик50001,202Карандаш15001,353Чернила4003,203Ручка8001,903Карандаш12001,403Фломастер20004,504Ручка9001,854Ластик2002,004Фломастер14004,704Чернила5003,055Карандаш7001,455Чернила11002,605Ластик14001,655Фломастер5005,30
Выбор чтения файла данных
Выбор добавления данных в файл данных
6Ластик6001,556Чернила8003,106Карандаш10001,55
Выбор выполнения Задания №1
Выбор выполнения Задания №2
Выбор выполнения Задания №3
Выход из СУБД
- Заключение
Реляционные СУБД, такие как FoxPro действительно являются мощным средством управления большим объемом данных. СУБД этого типа позволяют производить быструю сортировку большого массива данных, осуществлять быстрый переход по записям в произвольном порядке, производить быструю выборку большого количества данных из всего массива данных по заданным критериям. В таких реляционных СУБД каждый файл данных рассматривается как двумерная таблица, столбцы которой соответствуют полям записей, а строки соответствуют отдельным записям файла и обращение к данным идет через указание номера записи имени поля. При этом работа с отдельным полем таблицы данных напоминает работу с переменными обращение к данным максимально упрощено, и пользователю не нужно знать всю иерархическую структуру данных.
Язык команд СУБД семейства Fox содержит широкий набор команд, выполняющих действия сложных конструкций, например, сортировка записей файла сводится только к двум командам. Помимо этого в СУБД предусмотрены команды создания светового меню для организации прямого диалога с пользователем. Все это максимально упрощают написание программ и подтверждает, что реляционные СУБД семейства Fox действительно являются мощным инструментом для создания и обработки баз данных большого объема.