РефератыИнформатика, программированиеАвАвтоматизоване нарахування заробітної плати

Автоматизоване нарахування заробітної плати

Міністерство внутрішніх справ України


Харківський національний університет внутрішніх справ


Навчально-науковий інститут менеджменту, соціальних та інформаційних технологій


Кафедра інформаційних систем і технологій в діяльності ОВС


Курсова робота


з дисципліни «Основи програмування та алгоритмічні мови»


на тему: «Автоматизоване нарахування заробітної плати»


Виконав:


Перевірив:


Харків, 2009


Зміст


Вступ................................................................................................................ 3


1. Основна частина.......................................................................................... 4


1.1 Неформальна постановка задачі.............................................................. 4


1.2 Формальна постановка задачі.................................................................. 4


1.3 Структура зберігаючих даних.................................................................. 5


2. Алгоритми................................................................................................... 6


2.1 Алгоритм основної програми................................................................... 6


3. Вихідний код програми.............................................................................. 7


Висновок........................................................................................................ 14


Список використаної літератури.................................................................. 15


Вступ


В кожній організації, кожен робітник получає за свій труд певну заробітну плату. Чим більше працюєш тим більше платня, але весь процес нарахування досить важкий. Дуже велика кількість факторів яких потрібно враховувати і якщо це робити вручну, то помилки не уникнути. Таким чином задачею курсової роботи і полягає у створенні програми автоматизованого нарахування зарплатні.


Я вибрав мову програмування Turbo Pascal, з метою закріплення своїх навиків з програмування.


1. Основна частина


1.1 Неформальна постановка задачі


Розробити програму - «Автоматизоване нарахування платні» для збереження та перегляду, а також аналізу введеної інформації.


Введення і збереження інформації в файл:


ПІБ працівника


Дата народження


Вислуга працівника;


Можливість редагування даної бази


Організація аналізу та автоматичного нарахування


Можливість видалення всієї бази.


Зручний інтерфейс для користувача


Швидкість та простота роботи в даній програмі


Практичне застосування


1.2 Формальна постановка задачі


Вихідні дані:


Маємо множину Р={P1, P2, …, Pi} робітників. Кожен робітник має свої відомості які впливають на формування платні.


V - вислуга


M - мінімум


S - стаж


R - премія


Результат:


Множина Dij, яка формуються з вхідних даних а саме множини Pi


Математична модель:


Dij =M+(S+V)*2+R+300




1.3 Структура збережених даних


K – структурована перемінна для роботи з даними


Im – поле для введення ПІБ робітника


V – поле для введення віку


Vl – поле для ведення вислуги років


Loki –процедура для малювання рамочки


Menu – створення головного меню програми


Upravl – створює утпавляючий елемент для меню


Fo – введення та збереження даних


Nas – на рахунок заробітної плати


Vit – видалення відомостей


2. Алгоритми




2.1 Алгоритм основної програми




3. Вихідний код програми


uses crt,dos;


type k=record


im:string[15];


v,vl,zp:integer;


end;


var f:file of k; rab:k;


procedure loki (x1,y1,x2,y2,a,b:byte);


var i:integer;


begin


textbackground(a);


textcolor(b);


window (x1,y1,x2,y2);


write('Й');


for i:=1 to (x2-x1)-1 do


begin


write('Н');


end;


write('»');


for i:=2 to (y2-y1)-1 do


begin


gotoxy(1,i);


write('є');


gotoxy(x2-x1+1,i);


write('є');


end;


write('И');


for i:=1 to (x2-x1)-1 do


begin


write('Н');


end;


write('ј');


end;


{------------------------}


procedure newreadkey (var a:char;var b:byte);


begin


b:=0;


a:=readkey;


if a=#0 then


b:=ord(readkey);


end;


{------------------}


/>

procedure menu(s1,s2,s3,s4:string;x,y:byte);


begin


window(1,1,40,25);


textbackground(7);


clrscr;


window(10,5,30,16);


textbackground(7);


textcolor(2);


clrscr;


gotoxy(x,y);


write(s1);


gotoxy(x,y+3);


write(s2);


gotoxy(x,y+6);


write(s3);


gotoxy(x,y+9);


write(s4);


end;


{------------------}


procedure upravl(x1,y1,x2,y2,a,b,x,y:byte;s:string);


begin


window(x1,y1,x2,y2);


textbackground(a);


textcolor(b);


clrscr;


gotoxy(x,y);


write(s);


end;


procedure fo;


var i,n:integer;


begin


window(1,1,40,25);


textbackground(3);


clrscr;


gotoxy(15,1); writeln('ZAPOLNENIE');


window(5,1,35,25);


textcolor(1);


write('Vvedi kol-vo rabotnikov- ');readln(n);


assign(f,'rab');


rewrite(f);


for i:=1 to n do


begin


seek(f,filesize(f));


clrscr;


writeln('rabo4ii#',i);


write('Vvedi familiu rabo4ego- ');readln(rab.im);


write('Vvedi vozrost rabo4ego- ');readln(rab.v);


write('Vvei vislugu rabo4ego- ');readln(rab.vl);


rab.zp:=rab.v+rab.vl+300;


write(f,rab);


end;


close(f);


end;


{.......................}


procedure nas;


var i:integer;


begin


window(1,1,40,25);


textbackground(3);


clrscr;


gotoxy(15,1); writeln('POISK');


window(5,2,35,25);


textcolor(1);


if fsearch('rab','rab')='' then


begin


textcolor(4);


write('FAIL NE NAIDEN!!!');


end


else


begin


assign(f,'rab');


reset(f);


for i:=0 to filesize(f)-1 do


begin


seek(f,i);


read(f,rab);


writeln('Rabo4iy "',rab.im,'": poluchaet-',rab.zp,'grn');


writeln;


end;


readln;


close(f);


end;


readln;


end;


{..........}


procedure vit;


begin


window(1,1,40,25);


textbackground(3);


clrscr;


gotoxy(15,1); writeln('POISK');


window(5,2,35,25);


textcolor(1);


if fsearch('rab','rab')='' then


begin


textcolor(4);


write('FAIL NE NAIDEN!!!');


end


else


begin


assign(f,'rab');erase(f);


writeln('FAIL UDALENO');


end;


readln;


end;


{::::::::::::::::::::}


var a:char;


b,j:byte;


begin


textmode(c40);


{ fo;


nas;


vit;


readln; }


repeat


window(1,1,40,25);


textbackground(7);


clrscr;


j:=1;


menu('Zapolnenie','Vivod','Steranie','vixod',7,2);


upravl(7,5,33,7,7,4,10,2,'Zapolnenie');


repeat


newreadkey(a,b);


case b of


72:j:=j-1;


80:j:=j+1;


end;


case j of


0:j:=1;


5:j:=4;


end;


case j of


1: begin


menu('Zapolnenie','Vivod','Steranie','vixod',7,2);


upravl(7,5,33,7,7,4,10,2,'Zapolnenie');


end;


2: begin


menu('Zapolnenie','Vivod','Steranie','vixod',7,2);


upravl(7,8,33,10,7,4,10,2,'Vivod');


end;


3: begin


menu('Zapolnenie','Vivod','Steranie','vixod',7,2);


upravl(7,11,33,13,7,4,10,2,'Steranie');


end;


4: begin


menu('Zapolnenie','Vivod','Steranie','vixod',7,2);


upravl(7,14,33,16,7,4,10,2,'vixod');


end;


end;


until a=#13;


case j of


1: fo;


2: nas;


3: vit;


end;


until j=4;


end.


Висновок


В даній курсовій роботі були виконані всі вимоги. Була створена програма яка відповідає тим вимогам які ставилися на початку створення курсової роботи. Були створені власні процедури, а також застосовані запозичені. Таким чином програма була написана на мові програмування Паскаль, оскільки вона найбільш підходить для виконання тих завдань які висувалися на початку.


Список використаної літератури


1. Струков В.М. Основи алгоритмизации и програмирования. Часть 2. Учебное пособие. – Харьков: Изд. Нац. ун-та внутр.дел,2003. – 188 с.


2. Сердюченко В.Я. Розробка алгоритмів та програмування на мові Turbo Pascal. – X.,1995.


3. Немнюгин С.А. Turbo Pascal. – СПб.: Питер, 2002. – 496 с.: ил.

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: Автоматизоване нарахування заробітної плати

Слов:750
Символов:10914
Размер:21.32 Кб.