5.2. Блок-схемы индивидуальной части курсовой работы

Блок-схема процедуры а


Блок-схема процедуры c1


Блок-схема процедуры b1
Блок-схема процедуры d
5.3. Программный модуль «Ведомость зарплаты»

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/


Информация о работе «Разработка программных продуктов»
Раздел: Информатика, программирование
Количество знаков с пробелами: 29388
Количество таблиц: 3
Количество изображений: 4

Похожие работы

Скачать
47113
2
7

... модулей программного продукта, которые подключаются к главной программе и к другим модулям во время разработки программного продукта. Структура программы Рис.2.6 3. Рабочий проект 3.1 Описание применения программного продукта Данный программный продукт предназначен для отдела кадров. Он будет применяться, как база данных о сведениях преподавателя. Она очень легка в ...

Скачать
10598
1
4

... имеет место соотношение: Принял: _________________________ “____” “___________________” 2008г. Подпись _________________ Содержание 1)Введение 2)Основная часть: а) Постановка задачи б) Разработка программного продукта в) Тестирование программы г) Сопровождение 3) Заключение 4) Список литературы 5) Приложение (листинг программы, дискета) Введение Среда Delphi - это сложный ...

Скачать
11082
0
3

... одномерные краевые задачи теории оболочек и пластин, показывают, что применение сплайн функций как аппарата приближения функций позволяет упростить разработку алгоритмов и программного обеспечения по сравнению с использованием классического аппарата многочленов. Таким образом, проектирование и моделирование железобетонных тонкостенных замкнутых или разомкнутых оболочечных конструкций на основе ...

Скачать
290366
23
7

... задачи были использованы методологии разработки программного обеспечения, детально рассмотренные в дипломном проекте, а также стандартные средства программных продуктов, представленных в настоящей работе. В связи с невозможностью использования прототипов специализированного шахматного программного обеспечения в ходе разработки были применены приемы экстремальной методологии разработки ПО. По ...

0 комментариев


Наверх