Оголошення глобальних змінних та типів



Якщо змінна оголошена усередині розділу Implementation, то вона називається глобальною змінною даного модуля. Така змінна відома у всіх процедурах даного модуля. Пам ’ ять під цю змінну виділяється у момент запуску модуля і не звільняється до завершення модуля. Якщо локальна і глобальна змінні мають одинакові імена, то сильнішим є локальне оголошення.

У розробленому проекті описано глобальний тип zarpl як запис з полями viddl , pib , stat , posad , okld , prm , vidrah ; глобальні змінні: f – файл типізованого типу , z – запис , namefile – рядок символів , nbtn2 – допоміжна змінна цілого типу , m_zap – масив записів, m_ind – масив індексів елементів із масиву записів для редагування,       kz_file – кількість записів всього у файлі, kz_edit – кількість записів для редагування.

Позначення змінних

Імена змінних, що використовуються в проекті, їх типи та призначення відображені в таблиці 3.8.

Таблиця 3.8 – Позначення змінних в програмі

Ім ’ я змінної

Тип Призначення

1

2 3

namefile

string Ім ’ я файла на диску , де зберігається інформація про підприємство

f

file of zarpl Файлова змінна типізованого типу, елементи файлу – записи

nbtn2

integer Змінна-індикатор: значення дорівнює 1, якщо створюється новий файл; значення дорівнює 2, якщо відкривається існуючий файл.

z

zarpl Запис, що містить інформацію про зарплатк

z.pib

string[ 40 ] Поле запису – ПІБ

z. viddl

string[ 20 ] Поле запису – назва відділу

Продовження таблиці 3.8 – Позначення змінних в програмі

1

2 3

z. stat

string[ 8 ] Поле запису – стать

z. posad

string[ 30 ] Поле запису – посада

z. okld

real Поле запису – оклад

z. prm

real Поле запису – премія
z. vidrah

real

Поле запису – відрахування

r1

string Змінна для введення назви відділу в поле типу Edit 6 (вкладка Редагування даних)

r 2

string Змінна для введення назви посади в поле типу ComboBox3 (Довідка 1)

r3

string Змінна для введення назви відділу в поле типу ComboBox4 (Довідка 2)

m_zap

array[1..50]of zarpl Змінна для формування масиву записів із файлу записів, необхідного для виконання редагування та сортування

m_ind

array[1..50]of integer Масив індексів елементів із масиву записів для редагування

kz_file

integer Змінна для визначення кількості записів всього у файлі

kz_edit

integer Змінна для визначення кількості записів для проведення редагування

i, j, sumokl, sumvidrah, n

integer Допоміжні змінні – лічильники
       

 

 


БЛОК-СХЕМИ ПРОГРАМ

Список позначень у блок-схемах

P1 Процедура обробки події OnClick кнопки «Прийнято!»
P2 Процедура обробки події OnClick кнопки «Додати»
P3 Процедура обробки події OnClick кнопки «Перегляд усіх записів» (Вкладка «Перегляд даних»)
P4 Процедура обробки події OnClick кнопки «Пошук» (Вкладка «Редагування даних»)
P5 Процедура обробки події OnClick кнопки «Зберегти зміни» (Вкладка «Редагування даних»)
P6 Процедура обробки події OnClick кнопки «Пошук» (Вкладка «Довідка 1»)
P7 Процедура обробки події OnClick кнопки «Пошук» (Вкладка «Довідка 2»)
P 8 Процедура обробки події OnClick кнопки «Визначення премії» (Вкладка «Довідка 3»)
P9 Процедура обробки події OnClick команди меню Очистити/ Очистити поля
P10 Процедура обробки події OnClick команди меню Очистити/ Очистити файл
P1 1 Процедура обробки події OnClick команди меню Автор
Довідка 1 Нарахування заробітної плати працівників за посадою, визначення середнього окладу.
Довідка 2 Визначення загальної суми відрахувань по заданому відділу.
Довідка 3 Максимальна та мінімальна премія серед жінок та чоловіків.

На рисунку 4.1 представлена блок-схема головної програми (модуль Unit1), на рисунках 4.2 – 4.12 представлені блок-схеми процедур Р1 – Р11 відповідно.

+
+
Початок
Активізація форми Form 1
Вихід?
А
Створити файл?
Відкрити файл?
nbtn2:=1
nbtn2:=2
P1
B

Рисунок 4.1 – Блок-схема головної програми

P5
B
Довідка 2
Довідка 3
Довідка 1
Очистити поля
P6
P7
Пошук для редагування
Збереження змін
Перегляд даних
Додати запис
Подія?
P2
P3
P4
P9
P10
Автор
P8
Кінець
А
P11
Очистити файл

Рисунок 4.1 (продовження) – Блок-схема основної програми


 

 

+
Вхід
Ввести namefile
Пов ’ язати f з namefile
nbtn2=1
Створити файл
Відкрити файл
Закрити файл
Активація компонентів на формі
Вихід

Рисунок 4.2 – Блок-схема процедури P1


 

/ 7bK3z40ira+v5tUTiEBz+AvDD35EhzIy7d2JjRedhvhI+NXo3WVpBmIfQ6lSjyDLQv7HL78BAAD/ /wMAUEsBAi0AFAAGAAgAAAAhALaDOJL+AAAA4QEAABMAAAAAAAAAAAAAAAAAAAAAAFtDb250ZW50 X1R5cGVzXS54bWxQSwECLQAUAAYACAAAACEAOP0h/9YAAACUAQAACwAAAAAAAAAAAAAAAAAvAQAA X3JlbHMvLnJlbHNQSwECLQAUAAYACAAAACEATU7G0mwIAAAyRwAADgAAAAAAAAAAAAAAAAAuAgAA ZHJzL2Uyb0RvYy54bWxQSwECLQAUAAYACAAAACEA4Q4aP90AAAAGAQAADwAAAAAAAAAAAAAAAADG CgAAZHJzL2Rvd25yZXYueG1sUEsFBgAAAAAEAAQA8wAAANALAAAAAA== ">

+
Вхід
Ввести дані про зарплату
Дані всі введені
Відкрити f
Перевести п-к на кінець файлу
Ввести z
Записати z у f
Закрити f
Вихід
Рисунок 4.3 – Блок-схема процедури P2
+
Вхід
Відкрити f
Перевести п-к на початок f
П-к не в кінці f
Зчитати z з f , перевести п-к на наступний запис
Вивести z
Закрити f
Вихід
Рисунок 4.4 – Блок-схема процедури Р3

 


 

 

+
Вхід
Ввести r 1
kz_file:=0
Від крити f, перевести покажчик на початок f
П-к не в кінці f
Зчитати z з f , перевести п-к на наступний запис
m_zap[kz_file]:=z
Закрити f
Вихід
kz_file:= kz_file:+1
C
C
j:=1, kz_file
+
-
If pos(r1,m_zap[j] .viddl)<>0
kz_edit:=kz_edit+1 m_ind[kz_edit]:=j
Ввести m_zap[j]
kz_edit:=0
-

Рисунок 4 .5 – Блок-схема процедури P4


Вхід
Закрити f
Вихід
j:=1, kz_edit
Записати m _ zap [ i ] у f
Ввести m_zap[m_ind[j]]
i:=1, kz_file

Рисунок 4 . 6 – Блок-схема процедури P 5


+
+
Вхід
kz_edit:=0
sumokl:=0
Від крити f , перевести покажчик на початок f
Закрити f
Зчитати z з f , перевести п-к на наступний запис
j:=1, kz_edit
Записати m _ zap [ i ] у f
sumokl:=sumokl+okld
Закрити f
Вихід
Вивести sumokl/i

Рисунок 4. 7 – Блок-схема процедури Р 6

Закрити f
Вихід


+
+
Вхід
kz_edit:=0
sumvidrah:=0
Від крити f , перевести покажчик на початок f
Закрити f
Зчитати z з f , перевести п-к на наступний запис
j:=1, kz_edit
Записати m _ zap [ i ] у f
sumvidrah:=sumvidrah+ vidrah
Закрити f
Вихід
Вивести sumvidrah

Рисунок 4. 8 – Блок-схема процедури Р 7


 

Вхід
Відкрити f
Перевести п-к на початок f
+
+
П-к не в кінці f
Зчитати z з f , перевести на п-к наступний запис
D
z..stat= ’ Жіноча ’
n:=n+1
m_zap[n]:=z

Рисунок 4. 9 – Блок-схема процедури Р 8

 

i:=n, 2
m_zap[j-1]:=m_zap[j] m_zap[j]:=z
z:=m_zap[j-1]
j:=2, i
D
i:=1, n
Вивести z _zap[n-i+1]
+
-
m_zap[j-1].prm > m_zap[j].prm
E

Рисунок 4. 9 (продовження) – Блок-схема процедури Р 8

Перевести п-к на початок f
+
+
П-к не в кінці f
Зчитати z з f , перевести на п-к наступний запис
F
z..stat= ’ Чоловіча ’
n:=n+1
m_zap[n]:=z
E

Рисунок 4. 9 (продовження) – Блок-схема процедури Р 8

i:=n, 2
m_zap[j-1]:=m_zap[j] m_zap[j]:=z
z:=m_zap[j-1]
j:=2, i
F
i:=1, n
Вивести z _zap[n-i+1]
Вихід
Закрити f
+
-
m_zap[j-1].prm > m_zap[j].prm

Рисунок 4. 9 (продовження) – Блок-схема процедури Р 8

 


 

 

Вхід
Очистити компоненти типу TMemo
Очистити компоненти типу TEdit
Очистити компоненти типу TSringGrid
Вихід
                                 
Вхід
Очистити f
Закрити f
Вихід

 

Рисунок 4. 10 - Блок-схема процедури Р 9  Рисунок 4.1 1 - Блок-схема процедури Р 10

Вхід
Вихід
Виведення інформації про автора

Рисунок 4.1 2 - Блок-схема процедури Р 11

 

 


 

ТЕКСТИ ПРОГРАМ

Файл проекту

 

Файл проекту є центральним файлом додатка і являє собою програму. Це текстовий файл, що використовується для зберігання інформації про форми й модулі. В ньому знаходяться оператори ініціалізації й запуску програм на виконання. Відображення коду файла проекту у вікні Редактора коду задається командою меню Project Þ ViewSource (Проект/ Перегляд джерела).

Текст проекту розробленої програми:

program Project1;

uses

 Forms,

 Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin

 Application.Initialize;

 Application.CreateForm(TForm1, Form1);

 Application.Run;

end.

Файл модуля

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

Текст модуля створеної програми розміщений у додатку А.


Дата добавления: 2019-02-22; просмотров: 251; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!