Рефераты. Алгоритмизация и программирование процессов на Fox

Алгоритмизация и программирование процессов на Fox

Государственный Университет Управления

Институт заочного обучения

Специальность – менеджмент

Объяснительная записка к курсовому проекту по дисциплине «Компьютерная подготовка»

по теме: «Алгоритмизация и программирование процессов обработки данных в среде СУБД типа Fox»

Выполнил студент
Студенческий билет №
Группа №УП4-1-98/2
Вариант №2
Адрес:

Москва, 1999 г.

Содержание.

1. Введение 3

2. Задание на курсовой проект 4

3. Анализ и постановка задачи 4

4. Формализация задачи 5

5. Алгоритмы 6

5.1. Создание двухуровневого светового меню 6

5.2. Создание файла данных 7

5.3. Чтение файла данных 8

5.4. Добавление данных в файл данных 9

5.5. Печать сведений о суммарной стоимости продукции заданного вида по каждому предприятию и о среднем выпуске этой продукции одним предприятием. 10

5.6. Печать сведений о суммарной стоимости и суммарном выпуске каждой продукции. 11

5.7. Печать упорядоченного по суммарной стоимости списка продукции пяти видов 12

6. Программы 13

6.1. Создание двухуровневого светового меню 13

6.2. Создание файла данных 15

6.3. Чтение файла данных 16

6.4. Добавление данных в файл данных 17

6.5. Печать сведений о суммарной стоимости продукции заданного вида по каждому предприятию и о среднем выпуске этой продукции одним предприятием. 18

6.6. Печать сведений о суммарной стоимости и суммарном выпуске каждой продукции. 20

6.7. Печать упорядоченного по суммарной стоимости списка продукции пяти видов 21

7. Результаты решений 22

8. Заключение 29

9. Список литературы 30

Введение

Реляционные системы управления базами данных (СУБД), такие как FoxBase,
FoxBase plus, FoxPro, Visual FoxPro относятся к новому поколению СУБД реляционного типа из семейства dBase – подобных СУБД. Пакеты этого семейства получили широкое распространение, и многие из них были русифицированы.

СУБД типа Fox сохраняет преемственность по отношению к более ранним представителям dBase – подобных СУБД, в отношении структуры баз данных, команд создания и обработки данных, основных типов данных. В тоже время каждая последующая СУБД обладает большими возможностями по сравнению с предыдущими. Так, например, Visual FoxPro по сравнению с FoxPro обладает более значительными изобразительными возможностями.

Данная работа использует язык команд СУБД семейства Fox. Используемые команды, в основном, применимы во всех СУБД этого типа, но отладка велась на русифицированной СУБД FoxPro для Windows версии 2.5b.

Задание на курсовой проект

Структура ЗАПИСИ исходного ДОКУМЕНТА:
|Код предприятия |Вид продукции |Объем выпуска |Цена единицы |
| | | |продукции |

Необходимо:

1. Определить суммарную стоимость продукции заданного вида и ее средний выпуск одним предприятием.

2. Для каждого из пяти видов продукции определить суммарную стоимость и суммарный выпуск.

3. Выдать на печать в порядке возрастания суммарной стоимости продукцию пяти видов.

Анализ и постановка задачи

Исходные данные задачи представляют собой записи заданной структуры, которые должны вводиться с клавиатуры, а затем выводиться в файл данных на магнитный диск. Следовательно, одной из подзадач должна быть задача создания файла данных на магнитном диске.

Созданный файл данных необходимо просмотреть на экране или вывести на печать в виде таблицы с печатью заголовка и шапки этой таблицы. Для этого следующей подзадачей должна являться задача просмотра файла данных. Также должна быть возможность добавления записей в созданный файл данных.

Затем необходимы еще три подзадачи, решение которых позволяет выполнить три пункта курсовой работы:

1. Выдача сведений о суммарной стоимости продукции заданного вида по каждому предприятию и о среднем выпуске этой продукции одним предприятием.

2. Выдача сведений о суммарной стоимости и суммарном выпуске каждой продукции.

3. Выдача на печать продукции пяти видов в порядке возрастания ее суммарной стоимости.

Кроме того, для диалога пользователя с системой необходимо создать так называемое, «Меню».

Формализация задачи

В среде СУБД типа Fox каждая подзадача может оформляться в виде отдельного командного файла с расширением .prg и заканчиваться оператором возврата в вызывающий командный файл.

В данном случае основным командным файлом является файл MainMenu.prg, который формирует полное экранное меню и осуществляет вызов других командных файлов, в зависимости от выбранного пункта меню:
|CreateFd.prg |– создание файла данных; |
|ReadFd.prg |– чтение созданного файла данных; |
|AddFd.prg |– добавление данных в созданный файл данных; |
|Zad1.prg |– выдача сведений о суммарной стоимости продукции|
| |заданного вида по каждому предприятию и о среднем|
| |выпуске этой продукции одним предприятием; |
|Zad2.prg |– выдача сведений о суммарной стоимости и |
| |суммарном выпуске каждой продукции; |
|Zad3.prg |– выдача на печать продукции пяти видов в порядке|
| |возрастания ее суммарной стоимости. |

Кроме того, необходимо предоставить пользователю возможность облегчить процесс создания файла данных, т.е. предусмотреть создание файла данных со структурой заданной в программе, а не выбираемой самим пользователем, что полностью исключит возможные ошибки пользователя в задании имен полей файла данных, что в сою очередь может сказаться на корректной работе всей программы.

Алгоритмы


1 Создание двухуровневого светового меню

2 Создание файла данных

3 Чтение файла данных

4 Добавление данных в файл данных

5 Печать сведений о суммарной стоимости продукции заданного вида по каждому предприятию и о среднем выпуске этой продукции одним предприятием.

6 Печать сведений о суммарной стоимости и суммарном выпуске каждой продукции.

7 Печать упорядоченного по суммарной стоимости списка продукции пяти видов

Программы


1 Создание двухуровневого светового меню

* Командный файл иерархического меню MainMenu set Talk off set Color to n/W* && Выбор цвета экрана
Clear

* Описание массивов данных меню
Declare GenMenu(3,2), menuFile(3), menuZad(3), menuExit(2)

* Задание значений элементов массивов
GenMenu(1,1)=" Файл данных "
GenMenu(1,2)="Работа с файлом данных"
GenMenu(2,1)=" Задание "
GenMenu(2,2)="Задания на курсовой проект"
GenMenu(3,1)=" Выход "
GenMenu(3,2)="Выход из программы"

menuFile(1)="Создание" menuFile(2)="Чтение" menuFile(3)="Добавление"

menuZad(1)="Задание №1" menuZad(2)="Задание №2" menuZad(3)="Задание №3"

menuExit(1)="Выход в Fox" menuExit(2)="Выход из Fox"

* Формировние главного меню
Do While .T. set Color to gr+/g, gr+/b && Установка цвета меню

Menu Bar GenMenu, 3

Read Menu Bar to L1, L2 && Вывод главного меню на экран

Do While L1 > 0 && открыть подменю, если выбран

&& любой пункт главного меню

* Формирование подменю set Color to gr+/g, gr+/b && Установка цвета подменю

Menu 1, menuFile, 3,3

Menu 2, menuZad, 3,3

Menu 3, menuExit, 2,2

Read Menu Bar to L1, L2 && Вывод меню на экран set Color to n/W* && Возврат к цвету экрана

* Обработка выбранного пункта меню

Do Case

Case L1=0

Exit && Выход в панель главного меню

Case L1=1

Do Case

Case L2=1 && Выбрано действие 'Создание нового ФД'

Do CreateFd

Case L2=2 && Выбрано действие 'Чтение данных'

Do ReadFd

Case L2=3 && Выбрано действие 'Добавление новых данных'

Do AddFd

EndCase

Case L1=2

Do Case

Case L2=1 && Выбрано задание №1 из курсового проекта

Do Zad1

Case L2=2 && Выбрано задание №2 из курсового проекта

Do Zad2

Case L2=3 && Выбрано задание №3 из курсового проекта

Do Zad3

EndCase

Case L1=3

Do Case

Case L2=1 && Выбран пункт 'Выход в Fox'

Return

Case L2=2 && Выбран пункт 'Выход из Fox'

Quit

EndCase

EndCase

EndDo
EndDo

2 Создание файла данных

* Командный файл CreateFd - создание нового файла данных set Talk off set Status off set 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 && Если имя файла не ввели, то делать нечего

* Изменение заголовка

Zag=Zag + ': ' + NameFd + '.dbf'

LenZag=Int(Len(Zag))

@ 4,Int((80-lenZag)/2) to 4,Int((80-lenZag)/2)+LenZag Color u/w*

@ 3,Int((80-LenZag)/2) Say Zag Color u/w*

@ 14,0
Text
Хотите автоматически создать пустую структуру с указанным именем, по заданию курсового проекта (Д/Н)?
EndText

* Ответ на поставленный вопрос

Do While .T.

@ 16,57

Wait '' to ABC && Ожидание нажатия клавиши

If ABC='н' Or ABC='д'

ABC=Chr(Asc(ABC)-32) && Смена регистра

EndIf

If ABC='Н' Or ABC='Д'

Exit

EndIf

EndDo

* Создание ФД

If ABC='Д' && Автоматическое создание ФД

Create Table &NameFd ;

(KodOrg N(3,0), VidProd C(20), Volum N(4,0), Price N(6,2))

@ 8,0 set Talk on

Display Structure && Вывод созданной структуры set Talk off

Else && Создание ФД с возможностью заполнения полей

Create &NameFd

EndIf
EndIf

* Конец работы
@ 24,0
Wait 'Для возврата в меню нажмите любую клавишу ...'
@ 24,0 Clear
Return

3 Чтение файла данных

* Командный файл ReadFd - чтение файла данных set Talk off set Status off set 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 && Если имя файла не ввели, то делать нечего

* Изменение заголовка

@ 3,0 Clear to 5,79

Zag='Содержимое файла данных: ' + NameFd + '.dbf'

LenZag=Int(Len(Zag))

@ 4,Int((80-lenZag)/2) to 4,Int((80-lenZag)/2)+LenZag Color u/w*

@ 3,Int((80-LenZag)/2) Say Zag Color u/w*

* Вывод содержимого файла

Use &NameFd

Do While .Not.EOF() && Цикл вывода порций записей ФД

&& В определенную область экрана

@ 7,0

Display Next 15

If EOF()=.F. && В последнем цикле не нужно переводить

&& указатель и держать паузу

Skip && Перевод указателя, чтобы новый экран не начинался

&& с последней записи предыдущего экрана

@ 24,0

Wait 'Нажмите любую клавишу для просмотра следующих 15 записей

Страницы: 1, 2



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.