ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 18.09.2024
Просмотров: 28
Скачиваний: 0
4 Інструкція для роботи з програмою
Для початку роботи запустіть файл kp_1.exe, н екрані з’явиться стартова заставка, при натисненні будь якою клавіші ви зможети перейти до головного меню.
В головному меню ви бачити 6 пунктів, для обирання одного з них вам потрібно ввести відповідне число на клавіатурі та натиснути Enter.
Якщо ви обрали пункт 1-Створення нового файлу, ви маєте заповнити відповідну анкету, данні якою будуть записані в основний файл та збережуться в базу даних. Для виходу в основне меню натисніть будь-яку клавішу.
Якщо ви натиснули 2-Виведення даних на екран, з’явиться таблиця з вже існуючою інформацією. Для повернення в меню натисніть будь-яку клавішу.
Для зміни існуючої інформації або для додавання нових записів натисніть 3-Редагування, на екрані з’явиться меню із запропонованими функціями редагування або додавання, вибравши відповідний пункт ви можете відредагувати інформацію за номером запису або додати нову. Для виходу в основне меню натисніть будь-яку клавішу.
Для видалення запису натисніть 4-Видалення. Для видалення запису, вам лише необхідно ввести її номер. Для виходу в основне меню натисніть будь-яку клавішу.
Для пошуку натисніть 5-Пошук. На екрані з’явиться зручне меню, відповідно за пунктами та вашими побажаннями ви можете обрати пошук за критеріями. Для виходу в основне меню натисніть будь-яку клавішу.
Для виходу з програми натисніть 6.
5 Приклад тестування та результати програми.
Основна програма, вигляд меню:
Створення файлу записів:
Вивід інформації:
Редагування:
Видалення:
Пошук за спеціальністю, середньої заробітної плати:
Пошук, за спеціальністю, кількості робочих місць:
Пошук за середньою заробітною платою:
Висновки
Виконавши курсовий проект, я придбала навички роботи в середовищі програмування Turbo Pascal, ознайомилась з елементами мови: типи даних і графіка у Паскалі, а також створила програму, яка виконує пошук за спеціальністю середньої заробітної плати та кількості робочих місць, програма виводить на екран базу даних про працевлаштування, яку можна редагувати та створювати. Ця програма зручна у використання, має простий інтерфейс. Також програму можна запроваджувати на підприємствах, що організовують пошук роботи для студентів. Підвела підсумки, що Turbo Pascal є гнучкою та алгоритмічною мовою програмування, і добре підходить як для початківця так і для досвідченого програміста. Широкий набір підпрограм та модульність дозволяє швидко та якісно створювати програмний продукт
Література
1. Йенсен К., Вирт Н. Руководство для пользователя и описание языка.
2. Глинський Я.М., Анохін В.Є., Ряжська В.А. Паскаль. Turbo Pascal і Delphi. Навч. посібн. 5-те доп. вид. – Львів: Деол, СПД Глинський, 2004. – 176 с.
3. Ковалюк Т.В. Основи програмування. – К.: Видавнича група BHV, 2005. – 384c.: іл.
4. А. И. Заковряшин - Алгоритмизация и программирование вычислительных задач
5. Коффман Эллиот Б. Turbo Pascal. Практикум 5-е издание.: пер. с англ. М.: Издательский дом "Вильямс", 2005. – 896 с.: ил.
6. Марченко А.И., Марченко Л.А. Програмирование в среде Turbo Pascal 7.0 / Марченко А.И., Марченко Л.А.: Под ред. Таресенко В.П. – 9-е изд. – К.:Век+, СПб.: КОРОНА-Век, 2007. – 464 с.: ил.
7. Семотюк В. Програмування в середовищі Турбо Паскаль. Львів: БаК, 2000. – 248 с.
Додаток А
(обов’язковий)
Лістинг основної програми
program kyr;
uses crt, kp_mod,kyrs;
label 0,1;
var p:integer;
begin
mygraphinit;
assign(f,'Robota.dat');
1:clrscr;
gotoxy(22,8); writeln('Zdelaite vubor');
gotoxy(20,9); writeln('1-vvod');
gotoxy(20,10); Writeln('2-vuvod');
gotoxy(20,11); writeln('3-redaktirovaie');
gotoxy(20,12); writeln('4-udalenie');
gotoxy(20,13); writeln('5-poisk');
gotoxy(20,14); writeln('6-vuxod');
readln(p);
case p of
1:begin vvod; goto 1 end;
2:begin vuvod; goto 1 end;
3:begin redaktirovanie; goto 1 end;
4:begin udalenie; goto 1 end;
5:begin poisk; goto 1 end;
6:goto 0
else goto 1;
end;
0:end.
Додаток Б
(обов’язковий)
Лістинг модуля kp_mod
unit kp_mod;
interface
uses crt;
type robota=record
rabdav:string[20];
spec:string[20];
kil:integer;
serpl:real;
end;
var r:robota;
f,f1:file of robota;
i,p,n,t,l,m,k:integer;
g,d:string;
j,sr,s:real;
procedure Vvod;
procedure Vuvod;
procedure redaktirovanie;
procedure udalenie;
procedure poisk;
implementation
procedure Vvod;
begin
clrscr;
rewrite(f);
for i:=1 to 10 do
begin
writeln('Vvedite rabotodavcia '); readln(r.rabdav);
writeln('Vvedite specialnost '); readln(r.spec);
writeln('Vvedite kilkist robochux misc '); readln(r.kil);
writeln('Vvedite seredniy zarobitny platy '); readln(r.serpl);
write(f,r);
i:=i+1;
end;
close (f);
end;
procedure vuvod;
begin
clrscr;
reset(f);
writeln(' Pracevlawtyvannia ');
if filesize(f)=0 then writeln('Net zapisei')
else
for i:=1 to filesize(f) do
begin
read(f,r);
write(r.rabdav);
gotoxy(15,wherey); write(r.spec);
gotoxy(27,wherey); write(r.kil);
gotoxy(44,wherey); write(r.serpl:5:2);
writeln;
end;
close(f);
readkey;
end;
procedure redaktirovanie;
begin
clrscr;
reset(f);
while not (eof(f)) do
begin
read(f,r);
write(r.rabdav);
gotoxy(15,wherey); write(r.spec);
gotoxy(27,wherey); write(r.kil);
gotoxy(44,wherey); write(r.serpl:5:2);
writeln;
end;
close(f);
writeln('1-Redaktirovat zapis');
writeln('2-Dobvit ewe');
readln(p);
reset(f);
case p of
1:begin
writeln('Vvedite nomer zapisi ');
readln(n);
if n>filesize(f) then write('Takoi zapisi net')
else
begin
seek(f,n-1);
write('vvedite rabotodavcia ');
readln(r.rabdav);
writeln('Vvedite specialnist ');
readln(r.spec);
write('Vvedite kilkist robochix misc ');
readln(r.kil);
write('Vvedite seredniy zarobitny platy ');
readln(r.serpl);
write(f,r);
write('Zapis izmenena');
end;
readkey;
close(f);
end;
2:begin
seek(f, filesize(f));
t:=filesize(f);
g:='d';
while g='d' do
begin
clrscr;
write('vvedite rabotodavcia ');
readln(r.rabdav);
writeln('Vvedite specialnist ');
readln(r.spec);
write('Vvedite kilkist robochix misc ');
readln(r.kil);
write('Vvedite seredniy zarobitny platy ');
readln(r.serpl);
write(f,r);
t:=t+1;
write('Hotite prodolgut(d/n)');
readln(g);
end;
close(f);
end;
end;
end;
procedure udalenie;
begin
clrscr;
reset(f);
while not(eof(f)) do
begin
read(f,r);
write(r.rabdav);
gotoxy(15,wherey); write(r.spec);
gotoxy(27,wherey); write(r.kil);
gotoxy(44,wherey); write(r.serpl:5:2);
writeln;
end;
close(f);
writeln;
reset(f);
writeln('Vvedite nomer ydalennoi zapisi '); readln(n);
if n>filesize(f) then write('Takoi zapisi net')
else
begin
assign(f1,'robota2.dat');
reset(f); rewrite(f1);
for i:=1 to filesize(f) do
begin
read(f,r);
if filepos(f)<>n then write(f1,r);
end;
close(f1); close(f);
erase(f);
rename(f1,'robota.dat');
write('zapis udalena');
end;
readkey;
end;
procedure poisk;
begin;
clrscr;
assign(f,'robota.dat');
writeln('1-rabotodavci ta serednia zarobitna pla za specialnisty');
writeln('2-rabotodavci ta kilkist robochux misc za specialnisty');
writeln('3-propozucii za zarobitnoiy platoiy');
readln(m);
reset(f);
case m of
1: begin
clrscr;
writeln('Vvedite specialnist ');
readln(d);
s:=0;k:=0;
reset(f);
writeln;
while not (eof(f)) do
begin
read(f,r);
if d=r.spec then
begin k:=k+1;
s:=s+r.serpl;
sr:=s/k;writeln('rabotodavec: ', r.rabdav);
end;
end;
if k=0 then writeln('Takoi specialnosti net v spiske') else
writeln('serednia zarobitna plata: ', sr:5:2);
close(f);
readkey;
end;
2:begin
assign(f,'robota.dat');
reset(f);
writeln('vvedite specialnist ');
readln(d);
while not (eof(f)) do
begin
read(f,r);
s:=0;
if d=r.spec then begin s:=s+1;
writeln('rabotodavec: ', r.rabdav);
writeln('Kilkist robochux misc', r.kil);
end;
end;
if s=0 then
writeln('Takoi specialnosti net v spiske');
close(f);
readkey;
end;
3:begin
assign(f,'robota.dat');
reset(f);
writeln('Vvedite zarobitny platy ');
readln(j);
while not (eof(f)) do
begin
read(f,r);
l:=0;
if j=r.serpl then
begin
l:=l+1;
write(r.rabdav);
gotoxy(15,wherey); write(r.spec);
gotoxy(27,wherey); write(r.kil);
gotoxy(44,wherey); writeln(r.serpl:5:2); end;
end;
if l=0 then writeln('Takix predlogenii net');
writeln;
close(f);
readkey;
end;
end;
end;
end.
Додаток В
(Обов’язковий)
Лістинг модуля графіки
unit kyrs;
interface
uses graph;
var gd, gm:integer;
errorcode:integer;
procedure MyGraphinit;
implementation
procedure mygraphinit;
begin
gd:=detect;
initgraph(gd,gm,' ');
errorcode:=graphresult;
if errorcode<>grok then
begin
write('Pomulka inicialzacii grafiku:', grapherrormsg(errorcode));
writeln('Rabota zaverwena');
halt(1);
end;
begin
setbkcolor(10);
setcolor(13);
rectangle(130,75,500,420);
floodfill(145,280,13);
setcolor(0);
outtextxy(170,100,'Stvorennia i obrobka faila zapusiv');
outtextxy(170,120,'pidgotovula stydentka 210-ik grypu');
outtextxy(250,140,'Nesterova Irina');
outtextxy(240,160,'Pracevlawtyvannia');
readln;
closeGraph;
end;
end;
end.