5.2. Блок-схемы индивидуальной части курсовой работы
Блок-схема процедуры а
Блок-схема процедуры c1
Program Zarplata;
CONST N=5; {количество записей в файле}
TYPE ST=ARRAY[1..4] OF STRING[80];
ST1=STRING[12];
STR=RECORD {состав записи}
fio:string[30];
oklad:real;
premi9:real;
nalog:real;
itogo:real;
END;
FL=File of STR; {имя для типизированного файла}
CONST C:ST=( {массив шапки таблицы}
' Vivod zarplati ',
'_________________________________________________________',
'| fio | oklada | premi9 | nalog | Itogo |',
'|________________________|_______|________|________|________|' );
Var
Z:STR; {запись со сведениями о зарплате}
{для сортировки}
z1,z2:STR;
k:integer;
ok:boolean;
i,j:BYTE ; { неоходимы для огранизации циклов}
str1:STR;
FI, {файл для исходных данных}
FR:text; {файл для результатов}
f:FL; {типизированный файл}
{Вывод шапки таблицы}
PROCEDURE SH;
Begin
Writeln(FR);
FOR I:=1 TO 5 DO Writeln(FR,C[i]);
END;
{Опережающее описание функции}
FUNCTION FILTR(STR:ST1):st1;
FORWARD;
{Вывод одной строки таблицы}
PROCEDURE P;
BEGIN
WITH Z DO
Writeln(FR,'| ',fio:15,' | ',oklad:10:2,' | ',premi9:10:2,' | ',nalog:10:2,' | ',itogo:10:2,' |');
Writeln(FR,c[4]);
END;
{Запись данных в файл}
procedure ZF (NF:ST1);
var FID:text;
begin
assign(FID,'d:\Ish.txt');{связывание FID с физическим файлом NF}
reset (FID); {открыть FID для чтения}
with Z do
while not seekeof (FID) do
begin {Ввод данных строки:}
readln (FID,fio,oklad,premi9,nalog,itogo);
fio:=filtr(fio); {фильтрация naim}
write (F,Z); {вызов процедуры вывода в F}
end;
close(FID);
end; {конец процедуры ZF}
procedure ZF1 (NF:ST1);
var FID:text;
begin
assign(FID,'d:\pdop.dat');{связывание FID с физическим файлом NF}
reset (FID); {открыть FID для чтения}
with Z do
while not seekeof (FID) do
begin {Ввод данных строки:}
readln (FID,fio,oklad,premi9,nalog,itogo);
fio:=filtr(fio); {фильтрация name}
write (F,Z); {вызов процедуры вывода в F}
end;
close(FID);
end; {конец процедуры ZF1}
{_Опережающее описание процедуры чтения записей файла_}
procedure CHT;
FORWARD;
{_Создание типизированного файла}
procedure SOZ;
begin
Writeln(fr,'Sozdanie file');
assign(f,'d:\psoz.dat');
rewrite(F); {открыть F для создания файла}
ZF ('d:\pSOZ.dat'); {вызов ZF для создания файла}
close(F); {закрыть F}
write(FR, #10#13,'Posle sozdania file: ');
CHT;
end;
{Подсчет среднего размера оклада}
Procedure a;
Var s,sr:real; {сумма, средний размер оклада}
Begin
Assign(FI,'d:\psoz.dat'); {связь Fi с физическим файлом}
Reset(Fi);Reset(f); {открыть файлы для чтения}
seek(f,0); {ставим указатель на первую позицию}
s:=0;
sr:=0;
Repeat
read(f,z); {чтение данных}
s:=s+z.oklad; {подсчет суммы}
until eof(f);
sr:=s/n; {подсчет среднего}
Writeln(FR);
Writeln(FR,'Sredniy razmer oklada',sr:8:2); {вывод результата}
end;
{Поиск сотрудников с премией > 1000 рублей}
Procedure c1;
Begin
Assign(FI,'d:\psoz.dat'); {связь Fi с физическим файлом}
Reset(Fi); {открыть Fi для чтения}
seek(f,0); {ставим указатель на первую позицию}
Writeln(FR);
Writeln(fr,#10#13,'Svedenia o sotrudnikah s premiey bolshe 1000 rub: ');
sh;
Repeat
read(f,z); {чтение записей}
if z.premi9>1000 then P;
until eof(f);
end;
{Поиск зарплаты < 3000 рублей}
Procedure b1;
Begin
Assign(FI,'d:\psoz.dat'); {связь Fi с физическим файлом}
Reset(Fi); {открыть Fi для чтения}
seek(f,0); {ставим указатель на первую позицию}
Writeln(FR);
Writeln(fr,#10#13,'Svedenia o sotrudnikah s okladom menshe 3000 rub: ');
sh;
Repeat
read(f,z); {чтение записей}
if z.oklad<3000 then P;
until eof(f);
end;
{Поиск суммарной суммы премий всех сотрудников}
Procedure d;
Var s,sr:real; {сумма, средняя стоимость}
Begin
Assign(FI,'d:\psoz.dat'); {связь Fi с физическим файлом}
Reset(Fi);Reset(f); {открыть файлы для чтения}
seek(f,0); {ставим указатель на первую позицию}
s:=0;
sr:=0;
Repeat
read(f,z); {чтение данных}
s:=s+z.premi9; {подсчет суммы}
until eof(f);
sr:=s; {подсчет среднего}
Writeln(FR);
Writeln(FR,'Summa premiy ',sr:8:2); {вывод результата}
end;
{Поиск по любому сочетанию двух поисковых признаков}
Procedure poisk;
Label MK;
var pfio:string[30]; poklad:real;
begin
Assign(fi,'d:\ppoi.dat'); {связь Fi с физическим файлом}
Reset(fi); reset(f); {открыть файлы для чтения}
Repeat
Read(FI,pfio,poklad); {ввод требуемых данных}
WRITELN(FR,'Naiti v baze svedenia lud9h s fio = ',pfio,' i okladom ',poklad:6:2);
pfio:=filtr(pfio);
IF (pfio=' ')AND(poklad=0) THEN
BEGIN {анализ наличия требуемых данных}
WRITELN(FR,'Net dannih dlai poiska');
CONTINUE
END;
seek(f,0); {указатель в начало файла}
repeat {начало поиска в файле F}
read(f,z); {чтение очередной записи}
IF ( pos(pfio,z.fio)>0 )and(poklad=z.oklad)THEN
begin
sh;
P;
GoTo MK;
end; {сведенья найдены}
until eof(f);
MK:UNTIL EOF (FI);
CLOSE(FI); Close(f);
END;
{Функция удаления лишних пробелов}
Function filtr;
Var i,j,l:integer;
Begin
l:=length(str); {определение длины строки}
For i:= 1 to l do {перебор номеров символов слева направо}
IF STR[i]<>' ' THEN {поиск "непробела" слева}
FOR J:=L DOWNTO I DO {поиск номеров символа справа}
If STR[j]<>' ' THEN {поиск "непробела" справа}
BEGIN
FILTR:=COPY(STR,I,j-i+1); {копирование строки}
EXIT {выход из функции}
END;
FILTR:=' '; {возврат пустой строки}
EnD;
{Чтение записей из типизированного файла}
procedure CHT;
begin reset (F);
SH;
Repeat
read(F, Z);
P;
until eof(f);
close (F);
end; {конец процедуры CHT}
Begin
ASSIGN(FR,'d:\rezyl.txt'); {присоединение к типизированному файлу}
Rewrite(FR); {открыть файл результатов для создания}
{вызов прцедур:}
soz; {создание типизированного файла}
cht; {чтение типизированного файла}
a; {Подсчет среднего размера оклада}
b1; {Поиск зарплаты < 3000 рублей}
c1; {Поиск сотрудников с премией > 1000 рублей}
d; {Поиск суммарной суммы премий всех сотрудников}
poisk; {поиск по любому сочетанию двух поисковых признаков}
CLOSE(FR); {закрыть файл с результатами}
END.
ЗАКЛЮЧЕНИЕ
В разработке технического проекта «Ведомость зарплаты» использовались практические и теоретические знания и навыки, полученные в ходе обучения.
Итогом работы является программный модуль «Ведомость зарплаты», который можно применить в качестве базы данных на предприятиях, в бухгалтерском учёте, в налоговой инспекции.
В данном отчете я постаралась отразить все стадии разработки программного продукта. Он очень трудоемкий и включает в себя множество этапов и полностью соответствует заданным требованиям.
ПРИЛОЖЕНИЕ
1. Введение;
2. Теоретическая часть;
2.1. Разработка программных продуктов
2.1.1. Эффективность и оптимизация программ
2.1.2. Обеспечение качества программного продукта
3. Назначение и область применения программного продукта;
4. Требование к программному продукту
4.1. Требования к функциональным характеристикам
4.1.1. Программа должна обеспечивать возможность выполнения следующих функций:
4.1.1.1.Обработка данных типизированного файла. Обработка данных должна включать процедуры без параметров:
- вывод шапки таблицы;
- вывод данных одной записи;
- создание файла;
- дополнение файла новыми записями;
- запись данных в файл;
- чтение данных из файла;
- модификация ряда записей файла;
- поиск записей файла с выводом найденных записей или сообщения о неуспешном поиске:
* по одному поисковому признаку (вариант задания по номеру в журнале, шифру группы, под буквами a, b, c, d);
28. Ведомость зарплаты
ФИО | Размер оклада | Размер премии | Размер подоходного налога (13%) | Итого к выплате |
230105-06у |
a. Посчитать поле средний размер оклада b. Вывести в файл сведенья о сотрудниках, чья зарплата меньше 3000 рублей c. Вывести в файл сведенья о сотрудниках, чья премия превышает 1000 рублей d. Суммарную сумму премий всех сотрудников |
* по сочетанию двух заданных поисковых признаков (на выбор студента по смыслу индивидуальной части); По результатам поиска вывести найденные записи или сообщение о неуспешном поиске;
- отсортировать таблицу по возрастанию;
- удаление записей из типизированного файла;
- функция для фильтрации строки – удаления пробелов.
-
4.1.1.2. Организация входных и выходных данных:
- Входные данные поступают из файла;
- Выходные данные поступают в текстовый файл;
4.2. Требования к надёжности
4.2.1. Предусмотреть контроль вводимой информации;
4.3. Требования к составу и параметрам технических средств;
4.4. Требования к программной совместимости
5. Требования к программной документации
5.1. Исходные данные и результат работы программы должны быть отражены в отчёте.
5.2. Схема взаимодействия программ (блок-схема) и блок-схемы индивидуальной части курсовой работы;
5.3. Разрабатываемые программные модули должны быть самодокументированны, т. е. тексты программ должны содержать все необходимые документарии.
5.4. Разрабатываемая программа должна включать справочную информацию о работе программы, описания методов сортировки и подсказки к ходу алгоритма.
5.5. В состав сопровождающей документации должны входить:
5.5.1. Пояснительная записка на 25-30 листах, содержащая описание разработки.
6. Источники, используемые при разработке.
СПИСОК ЛИТЕРАТУРЫ
1. Е.А. Жоголев. Введение в технологию программирования (конспект лекций). - М.: "ДИАЛОГ-МГУ", 1994.
2. Дж. Фокс. Программное обеспечение и его разработка. - М.: Мир, 1985.
3. В.В. Липаев, Е.Н Филиппов. Мобильность программ и данных в открытых информационных системах. - М.: Научная книга, 1997.
4. М.М. Горбунов-Посадов. Конфигурации программ. Рецепты безболезненных изменений. – М.: «Малип», 1994.
5. Д. Ван Тассел. Стиль, разработка, эффективность, отладка и испытание программ. - М.: Мир, 1985
6. CASE: Компьютерное проектирование программного обеспечения. - Издательство Московского университета, 1994.
7. http://www.5ballov.ru/
... модулей программного продукта, которые подключаются к главной программе и к другим модулям во время разработки программного продукта. Структура программы Рис.2.6 3. Рабочий проект 3.1 Описание применения программного продукта Данный программный продукт предназначен для отдела кадров. Он будет применяться, как база данных о сведениях преподавателя. Она очень легка в ...
... имеет место соотношение: Принял: _________________________ “____” “___________________” 2008г. Подпись _________________ Содержание 1)Введение 2)Основная часть: а) Постановка задачи б) Разработка программного продукта в) Тестирование программы г) Сопровождение 3) Заключение 4) Список литературы 5) Приложение (листинг программы, дискета) Введение Среда Delphi - это сложный ...
... одномерные краевые задачи теории оболочек и пластин, показывают, что применение сплайн функций как аппарата приближения функций позволяет упростить разработку алгоритмов и программного обеспечения по сравнению с использованием классического аппарата многочленов. Таким образом, проектирование и моделирование железобетонных тонкостенных замкнутых или разомкнутых оболочечных конструкций на основе ...
... задачи были использованы методологии разработки программного обеспечения, детально рассмотренные в дипломном проекте, а также стандартные средства программных продуктов, представленных в настоящей работе. В связи с невозможностью использования прототипов специализированного шахматного программного обеспечения в ходе разработки были применены приемы экстремальной методологии разработки ПО. По ...
0 комментариев