Смекни!
smekni.com

Разработка программных продуктов (стр. 3 из 3)

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:&bsol;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:&bsol;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:&bsol;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:&bsol;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/