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

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Контрольные рефераты

Учебная работа. Реферат: Алгоритмизация и программирование процессов на 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. Печать упорядоченного по суммарной цены перечня продукции 5 видов 12

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

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

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

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

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

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

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

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

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

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

9. Перечень литературы____________________________________ 30


1. Введение

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

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

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


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

структура ЗАПИСИ начального ДОКУМЕНТА:

Код компании


Вид продукции


Размер выпуска


Стоимость единицы продукции




нужно:

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

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

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


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

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

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

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

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

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

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

Не считая того, для диалога юзера с системой нужно сделать так называемое, «Меню».


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

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

В этом случае главным командным файлом является файл MainMenu.prg, который сформировывает полное экранное меню и производит вызов остальных командных файлов, зависимо от избранного пт меню:

CreateFd.prg


– создание файла данных;



ReadFd.prg


– чтение сделанного файла данных;



AddFd.prg


– добавление данных в сделанный файл данных;



Zad1.prg


– выдача сведений о суммарной цены продукции данного вида по любому предприятию и о среднем выпуске данной для нас продукции одним предприятием;



Zad2.prg


– выдача сведений о суммарной цены и суммарном выпуске каждой продукции;



Zad3.prg


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




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


5. методы

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





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





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





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





1.3. Печать сведений о суммарной цены продукции данного вида по любому предприятию и о среднем выпуске данной для нас продукции одним предприятием.





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





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



6. Программки

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

* Командный файл иерархического меню 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


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

* Командный файл 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


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

* Командный файл 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 записей …’

EndIf

EndDo

Close DataBases && Закрытие ФД

EndIf

* Конец работы

@ 24,0

Wait ‘Для возврата в меню нажмите всякую кнопку …’

@ 24,0 Clear

Return


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

* Командный файл AddFd — добавление файла данных

set Talk off

set Status off

set 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 && Если имя файла не ввели, то созодать нечего

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

@ 3,0 Clear

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

Append

Close DataBases && Закрытие ФД

EndIf

* Конец работы

@ 24,0

Wait ‘Для возврата в меню нажмите всякую кнопку …’

@ 24,0 Clear

Return


1.9. Печать сведений о суммарной цены продукции данного вида по любому предприятию и о среднем выпуске данной для нас продукции одним предприятием.

* Командный файл Zad1 — печать сведений о данной продукции

set Talk off

set Status off

set 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 && Если имя файла либо

&& вид продукции не ввели,

&& то созодать нечего

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

@ 3,0 Clear

Zag=’Сведения о продукции: ‘ + TypeProd

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

* Формирование шапки

L=’+——————+—————+———+————+’

@ 7,12 Say L

@ 8,12 Say ‘| Код компании | Размер выпуска | Стоимость | Стоимость |’

@ 9,12 Say L

Row=10 && Текущий номер строчки для вывода данных

Do While .Not.EOF()

If VidProd=TypeProd

* Формирование строчки

@ Row,12 Say ‘|’

@ Row,20 Say KodOrg

@ Row,30 Say ‘|’

@ Row,36 Say Volum Picture ‘# ###’

@ Row,46 Say ‘|’

@ Row,48 Say Price Picture ‘###.##’

@ Row,55 Say ‘|’

@ Row,57 Say Volum*Price Picture ‘## ###.##’

@ Row,67 Say ‘|’

Row=Row+1

EndIf

Skip

EndDo

* Формирование итоговой части таблицы

@ Row,12 Say L

Row=Row+1

* Расчет суммарной цены

Sum Volum*Price For VidProd=TypeProd to AllPrice

* Расчет среднего выпуска

Average Volum For VidProd=TypeProd to AvVol

@ Row,29 Say ‘Общая суммарная стоимость:’

@ Row,56 Say AllPrice Picture ‘### ###.##’

@ Row+1,21 Say ‘Средний выпуск одним предприятием:’

@ Row+1,58 Say AvVol Picture ‘# ###’

Close DataBases && Закрытие ФД

EndIf

* Конец работы

@ 24,0

Wait ‘Для возврата в меню нажмите всякую кнопку …’

@ 24,0 Clear

Return


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

* Командный файл 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


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

* Командный файл 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 && Цикл для 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


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

Выбор сотворения файла данных









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








Выбор чтения файла данных















Выбор прибавления данных в файл данных






6


Ластик


600


1,55



6


Чернила


800


3,10



6


Карандаш


1000


1,55




Выбор выполнения Задания №1












Выбор выполнения Задания №2





Выбор выполнения Задания №3





Выход из СУБД


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

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

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


9. Перечень литературы

1. Лемашко Е.В., Романчуков В.Г. Программирование в системе установок СУБД семейства
Fox: учебное пособие / ГАУ, М., 1998.

2. Компьютерный практикум. Программирование в среде Турбо-Паскаль и СУБД типа Fox. Методические указания к выполнению курсового проекта. /Сост.: О.Н. Леонова, И.А. Несмеянов; ГАУ, М.,1998.

]]>