p align="left">| Petrov P.P. | 2000.00 | 200.62 | 167.50 | 1864.40 | |_________________________|________|________|________|_________| | Repina G.G. | 3000.00 | 300.43 | 164.50 | 3150.50 | |_________________________|________|________|________|_________| | Sidirov F.F. | 4000.00 | 400.44 | 148.10 | 4256.50 | |_________________________|________|________|________|_________| | Kotov K.K. | 1512.00 | 500.67 | 168.40 | 1864.50 | |_________________________|________|________|________|_________| | Somova S.S. | 2654.00 | 600.69 | 168.10 | 3264.40 | |_________________________|________|________|________|_________| | Dedov D.D. | 1655.00 | 700.56 | 684.10 | 1680.40 | |_________________________|________|________|________|_________| | Popova P.P. | 3545.00 | 800.85 | 165.40 | 4210.60 | |_________________________|________|________|________|_________| | Sidova S.S. | 1658.00 | 900.75 | 168.10 | 2566.10 | |_________________________|________|________|________|_________| | Komov K.K. | 6574.00 | 1000.95 | 642.10 | 7000.60 | |_________________________|________|________|________|_________| Ivanov I.I. 1000.0 100.53 166.5 9004.5 Petrov P.P. 2000.0 200.62 167.5 1864.4 Repina G.G. 3000.0 300.43 164.5 3150.5 Sidirov F.F. 4000.0 400.44 148.1 4256.5 Kotov K.K. 1512.0 500.67 168.4 1864.5 Somova S.S. 2654.0 600.69 168.1 3264.4 Dedov D.D. 1655.0 700.56 684.1 1680.4 Popova P.P. 3545.0 800.85 165.4 4210.6 Sidova S.S. 1658.0 900.75 168.1 2566.1 Komov K.K. 6574.0 1000.95 642.1 7000.6 5.1.2. Результирующий Файл: a) Ведомость зарплаты: Vivod zarplati ____________________________________________________________ | fio | oklad | premi9 | nalog | Itogo | |_________________________|________|________|________|_________| | Ivanov I.I. | 1000.00 | 100.53 | 166.50 | 9004.50 | |_________________________|________|________|________|_________| | Petrov P.P. | 2000.00 | 200.62 | 167.50 | 1864.40 | |_________________________|________|________|________|_________| | Repina G.G. | 3000.00 | 300.43 | 164.50 | 3150.50 | |_________________________|________|________|________|_________| | Sidirov F.F. | 4000.00 | 400.44 | 148.10 | 4256.50 | |_________________________|________|________|________|_________| | Kotov K.K. | 1512.00 | 500.67 | 168.40 | 1864.50 | |_________________________|________|________|________|_________| | Somova S.S. | 2654.00 | 600.69 | 168.10 | 3264.40 | |_________________________|________|________|________|_________| | Dedov D.D. | 1655.00 | 700.56 | 684.10 | 1680.40 | |_________________________|________|________|________|_________| | Popova P.P. | 3545.00 | 800.85 | 165.40 | 4210.60 | |_________________________|________|________|________|_________| | Sidova S.S. | 1658.00 | 900.75 | 168.10 | 2566.10 | |_________________________|________|________|________|_________| | Komov K.K. | 6574.00 | 1000.95 | 642.10 | 7000.60 | |_________________________|________|________|________|_________| b) Нахождение среднего размера оклада: Vivod zarplati ____________________________________________________________ | fio | oklad | premi9 | nalog | Itogo | |_________________________|________|________|________|_________| | Ivanov I.I. | 1000.00 | 100.53 | 166.50 | 9004.50 | |_________________________|________|________|________|_________| | Petrov P.P. | 2000.00 | 200.62 | 167.50 | 1864.40 | |_________________________|________|________|________|_________| | Repina G.G. | 3000.00 | 300.43 | 164.50 | 3150.50 | |_________________________|________|________|________|_________| | Sidirov F.F. | 4000.00 | 400.44 | 148.10 | 4256.50 | |_________________________|________|________|________|_________| | Kotov K.K. | 1512.00 | 500.67 | 168.40 | 1864.50 | |_________________________|________|________|________|_________| | Somova S.S. | 2654.00 | 600.69 | 168.10 | 3264.40 | |_________________________|________|________|________|_________| | Dedov D.D. | 1655.00 | 700.56 | 684.10 | 1680.40 | |_________________________|________|________|________|_________| | Popova P.P. | 3545.00 | 800.85 | 165.40 | 4210.60 | |_________________________|________|________|________|_________| | Sidova S.S. | 1658.00 | 900.75 | 168.10 | 2566.10 | |_________________________|________|________|________|_________| | Komov K.K. | 6574.00 | 1000.95 | 642.10 | 7000.60 | |_________________________|________|________|________|_________| Sredniy razmer oklada 5519.60 c) Сведенья о сотрудниках с окладом менее 3000 рублей Svedenia o sotrudnikah s okladom menshe 3000 rub: Vivod zarplati ____________________________________________________________ | fio | oklad | premi9 | nalog | Itogo | |_________________________|________|________|________|_________| | Ivanov I.I. | 1000.00 | 100.53 | 166.50 | 9004.50 | |_________________________|________|________|________|_________| | Petrov P.P. | 2000.00 | 200.62 | 167.50 | 1864.40 | |_________________________|________|________|________|_________| | Kotov K.K. | 1512.00 | 500.67 | 168.40 | 1864.50 | |_________________________|________|________|________|_________| | Somova S.S. | 2654.00 | 600.69 | 168.10 | 3264.40 | |_________________________|________|________|________|_________| | Dedov D.D. | 1655.00 | 700.56 | 684.10 | 1680.40 | |_________________________|________|________|________|_________| | Sidova S.S. | 1658.00 | 900.75 | 168.10 | 2566.10 | |_________________________|________|________|________|_________| d) Сведенья о сотрудниках с премией больше 1000 рублей Svedenia o sotrudnikah s premiey bolshe 1000 rub: Vivod zarplati ____________________________________________________________ | fio | oklad | premi9 | nalog | Itogo | |_________________________|________|________|________|_________| | Komov K.K. | 6574.00 | 1000.95 | 642.10 | 7000.60 | |_________________________|________|________|________|_________| e) Суммарная сумма премий всех сотрудников Vivod zarplati ____________________________________________________________ | fio | oklad | premi9 | nalog | Itogo | |_________________________|________|________|________|_________| | Ivanov I.I. | 1000.00 | 100.53 | 166.50 | 9004.50 | |_________________________|________|________|________|_________| | Petrov P.P. | 2000.00 | 200.62 | 167.50 | 1864.40 | |_________________________|________|________|________|_________| | Repina G.G. | 3000.00 | 300.43 | 164.50 | 3150.50 | |_________________________|________|________|________|_________| | Sidirov F.F. | 4000.00 | 400.44 | 148.10 | 4256.50 | |_________________________|________|________|________|_________| | Kotov K.K. | 1512.00 | 500.67 | 168.40 | 1864.50 | |_________________________|________|________|________|_________| | Somova S.S. | 2654.00 | 600.69 | 168.10 | 3264.40 | |_________________________|________|________|________|_________| | Dedov D.D. | 1655.00 | 700.56 | 684.10 | 1680.40 | |_________________________|________|________|________|_________| | Popova P.P. | 3545.00 | 800.85 | 165.40 | 4210.60 | |_________________________|________|________|________|_________| | Sidova S.S. | 1658.00 | 900.75 | 168.10 | 2566.10 | |_________________________|________|________|________|_________| | Komov K.K. | 6574.00 | 1000.95 | 642.10 | 7000.60 | |_________________________|________|________|________|_________| Summa premiy 5506.49 f) Поиск записей файла по сочетанию двух заданных поисковых признаков с помощью “ppoi.dat”: Нахождение в ведомости зарплаты людей с ФИО Sidova S.S. и окладом 1658.00. Naiti v baze svedenia lud9h s fio = Sidova S.S. i okladom 1658.00 Vivod zarplati ____________________________________________________________ | fio | oklad | premi9 | nalog | Itogo | |_________________________|________|________|________|_________| | Sidova S.S. | 1658.00 | 900.75 | 168.10 | 2566.10 | |_________________________|________|________|________|_________| 5.2. Блок-схемы индивидуальной части курсовой работы Блок-схема процедуры а Блок-схема процедуры c1 Блок-схема процедуры b1Блок-схема процедуры d5.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/
Страницы: 1, 2
|