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

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Державний Університет Управління


Інститут заочного навчання

Спеціальність - менеджмент


Пояснювальна записка до курсового проекту

з дисципліни «Комп'ютерна підготовка»


по темі: «Алгоритмізація і програмування процесів

обробки даних у середовищі СУБД типу Fox »


У иполніл студент

Студентський квиток №

Група № УП4-1-98 / 2

Варіант № 2

Адреса:


Москва, 1999 р.


Зміст.

1. Вступ 4

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

3. Аналіз і постановка задачі 5

4. Формалізація завдання 6

5. Алгоритми 7

5.1. Створення дворівневого світлового Меню 7

5.2. Створення файлу даних 9

5.3. Читання файлу даних 10

5.4. Додавання даних у файл даних 11

5.5. Друк відомостей про сумарної вартості продукції заданого виду по кожному підприємству і про середній випуску цієї продукції одним підприємством. 12

5.6. Друк відомостей про сумарної вартості і сумарному випуску кожної продукції. 13

5.7. Друк упорядкованого за сумарною вартістю списку продукції п'яти видів 15

6. Програми 16

6.1. Створення дворівневого світлового меню 16

6.2. Створення файлу даних 18

6.3. Читання файлу даних 19

6.4. Додавання даних у файл даних 20

6.5. Друк відомостей про сумарної вартості продукції заданого виду по кожному підприємству і про середній випуску цієї продукції одним підприємством. 21

6.6. Друк відомостей про сумарної вартості і сумарному випуску кожної продукції. 23

6.7. Друк упорядкованого за сумарною вартістю списку продукції п'яти видів 24

7. Результати рішень 26

8. Висновок 33

9. Список літератури 34


1.Вступ

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

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

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


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

Структура ЗАПИСИ вихідного ДОКУМЕНТА:

Код підприємства Вид продукції Обсяг випуску Ціна одиниці продукції

Необхідно:

  1. Визначити сумарну вартість продукції заданого виду і її середній випуск одним підприємством.

  2. Для кожного з п'яти видів продукції визначити сумарну вартість і сумарний випуск.

  3. Видати на друк в порядку зростання сумарної вартості продукцію п'яти видів.

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

Вихідні дані задачі є записи заданої структури, які повинні вводитися з клавіатури, а потім виводити у файл даних на магнітний диск. Отже, однією з підзадач повинна бути задача створення файла даних на магнітному диску.

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

Потім необхідні ще три підзадачі, вирішення яких дозволяє виконати три пункти курсової роботи:

  1. Видача відомостей про сумарної вартості продукції заданого виду по кожному підприємству і про середній випуску цієї продукції одним підприємством.

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

  3. Видача на друк продукції п'яти видів у порядку зростання її сумарної вартості.

Крім того, для діалогу користувача з системою необхідно створити так зване, «Меню».

4.Формалізація завдання

У середовищі СУБД типу Fox кожна підзадача може оформлятися у вигляді окремого командного файлу з розширенням. Prg і закінчуватися оператором повернення в викликає командний файл.

У даному випадку основним командним файлом є файл MainMenu.prg, який формує повне екранне меню і здійснює виклик інших командних файлів, в залежності від обраного пункту меню:

CreateFd.prg - Створення файлу даних;
ReadFd.prg - Читання створеного файлу даних;
AddFd.prg - Додавання даних в створений файл даних;
Zad1.prg - Видача відомостей про сумарної вартості продукції заданого виду по кожному підприємству і про середній випуску цієї продукції одним підприємством;
Zad2.prg - Видача відомостей про сумарної вартості і сумарному випуску кожної продукції;
Zad3.prg - Видача на друк продукції п'яти видів у порядку зростання її сумарної вартості.

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


5.Алгорітми

5.1.Созданіе дворівневого світлового меню




5.2.Созданіе файлу даних




5.3.Чтеніе файлу даних




5.4.Добавленіе даних у файл даних




5.5.Печать відомостей про сумарної вартості продукції заданого виду по кожному підприємству і про середній випуску цієї продукції одним підприємством.




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




5.7.Печать упорядкованого за сумарною вартістю списку продукції п'яти видів



6.Программи

6.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

6.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

6.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 записів ...'

EndIf

EndDo

Close DataBases & & Закриття ФД

EndIf


* Кінець роботи

@ 24,0

Wait 'Для повернення в меню натисніть будь-яку клавішу ...'

@ 24,0 Clear

Return


6.4.Добавленіе даних у файл даних

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

6.5.Печать відомостей про сумарної вартості продукції заданого виду по кожному підприємству і про середній випуску цієї продукції одним підприємством.

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

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

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

6.7.Печать упорядкованого за сумарною вартістю списку продукції п'яти видів

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

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.











































Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Реферат
40.5кб. | скачати


Схожі роботи:
Алгоритмізація і програмування процесів обробки даних у середовищі СУБД типу Fox
Алгоритмізація і програмування розгалужуються процесів
Алгоритмізація та програмування
Інформатика Алгоритмізація та програмування
Прогнозування та програмування міграційних процесів
Розробка алгоритмів та програмування різних обчислювальних процесів на мові Delphi
Fox Pro - реляційна модель даних
Алгоритмізація
Алгоритмізація навчання
© Усі права захищені
написати до нас