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/