ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 17.09.2024

Просмотров: 21

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

7 Приклад тестування та результату роботи програми

Основна програма, вигляд меню:

Створення файла записів:

Виведення даних на екран:

СумДУ МК І КР 0023

Змн. Арк. № докум. Підпис Дата Розроб. Шаховська С.О.

Перевір. Кукарін В.О.

Реценз. Н. Контр. Затверд.

Літера

Аркуш

Аркушів

7 Приклад тестування

14

23

та результату роботи

Гр. 211-і

програми

 

 

Додавання даних у файл:

Редагування запису:

Видалення запису:

Список робітників цеху Х та їх заробітна плата, середня та максимальна заробітна плата цеху Х:

Арк.

 

СумДУ МК І КР 0023

 

Змн. Арк. № докум. Підпис Дата

15

 

 

 


Висновки

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

СумДУ МК І КР 0023

Змн. Арк.

№ докум.

Підпис Дата

 

 

Розроб.

Шаховська С.О.

 

Літера Аркуш

Аркушів

Перевір.

Кукарін В.О.

Висновки

16

23

Реценз.

 

Гр. 211-і

Н. Контр.

 

 

Затверд.

Література

1.Глинський Я.М., Анохін В.Є., Ряжська В.А. Паскаль. Turbo Pascal і Delphi. Навч. посібн. 5-те доп. вид. – Львів: Деол, СПД Глинський, 2004. – 176 с.

2.Ковалюк Т.В. Основи програмування. – К.: Видавнича група BHV, 2005. – 384c.: іл.

3.Коффман Эллиот Б. Turbo Pascal. Практикум 5-е издание.: пер. с англ. М.: Издательский дом "Вильямс", 2005. – 896 с.: ил.

4.Марченко А.И., Марченко Л.А. Програмирование в среде Turbo Pascal 7.0 / Марченко А.И., Марченко Л.А.: Под ред. Таресенко В.П. – 9-е изд. – К.:Век+, СПб.: КОРОНА-

Век, 2007. – 464 с.: ил.

5.Семотюк В. Програмування в середовищі Турбо Паскаль. Львів: БаК, 2000. – 248 с.

СумДУ МК І КР 0023

Змн. Арк.

№ докум.

Підпис Дата

 

Розроб.

Шаховська С.О.

Літера Аркуш

Аркушів

Перевір. Кукарін В.О.

Література

17

23

Реценз.

Гр. 211-і

 

Н. Контр.

 

 

Затверд.


ДОДАТОК А (Обов’язковий)

Лістинг основної програми

program Zavod;

uses crt,graph,zarplata; label 0,1;

Var p:integer; begin

assign(f, 'rabota.dat'); 1:clrscr;

gotoXY(32,8); writeln('Zdelayte vybor'); gotoXY(30,9); writeln('1 - Vvod zapisej'); gotoXY(30,10); writeln('2 - Vyvod zapisej'); gotoXY(30,11); writeln('3 - Dobavit'); gotoXY(30,12); writeln('4 - Redaktirovat'); gotoXY(30,13); writeln('5 - Udalit'); gotoXY(30,14); writeln('6 - Poisk'); gotoXY(30,15); writeln('7 - Vyhod iz programy'); gotoXY(27,16); write('-->');

readln(p); case p of

1:begin Vvod; goto 1 end; 2:begin Vyvod; goto 1 end; 3:begin Dobavit; goto 1 end; 4:begin Redakt; goto 1 end; 5:begin Delete; goto 1 end; 6:begin Poisk; goto 1 end; 7:goto 0

else goto 1; end;

0:end.

СумДУ МК І КР 0023

Змн. Арк. № докум. Підпис Дата Розроб. Шаховська С.О.

Перевір. Кукарін В.О.

Реценз. Н. Контр. Затверд.

Літера

Аркуш

Аркушів

Додаток А

18

23

Лістинг основної

Гр. 211-і

програми

 

 

ДОДАТОК Б (Обов’язковий)

Лістинг модуля Zarplata

Unit Zarplata; interface uses Crt;

type rabotnik=record Fam,Im,Otch:string; tseh:1..25; pol:char; vozrast:0..120; zarpl:real;

end;

var f,f1:file of rabotnik; i,n,n_tseh:integer; z:rabotnik;

st:string;

max,s,k:real; z_max:rabotnik;

procedure Vvod; procedure Vyvod; procedure Dobavit; procedure Delete; procedure Redakt; procedure Poisk;

implementation procedure Vvod; begin

clrscr;

rewrite(f); i:=1; st:='d'; while st='d' do begin

clrscr;

writeln('Vvedite dannye ',i, ' rabotnika');

write('Vvedite familiju: ');

readln(z.fam);

write('Vvedite imja : ');

readln(z.im);

write('Vvedite otchestvo : ');

readln(z.otch);

write('Vvedite nomer tseha: ');

readln(z.tseh);

write('Vvedite pol: ');

readln(z.pol);

write('Vvedite vozrast: ');

readln(z.vozrast);

write('Vvedite zarplatu: ');

readln(z.zarpl);

write(f, z);

 

СумДУ МК І КР 0023

Змн. Арк. № докум. Підпис Дата Розроб. Шаховська С.О.

Перевір. Кукарін В.О.

Реценз. Н. Контр.

Літера

Аркуш

Аркушів

Додаток Б

19

23

Лістинг модуля

Гр. 211-і

Zarplata

Затверд.


i:=i+1;

writeln ('Hotite prodolzhit (d/n)'); readln(st);

end;

close(f);

end;

procedure Vyvod; begin

clrscr;

reset(f);

writeln(' Spisok rabotnikov ');

if filesize(f)=0 then begin textcolor (4+16); writeln(' V baze net zapisej'); textcolor(7) end else

for i:=1 to filesize(f) do begin

read(f, z); write(z.fam);

gotoxy(15,wherey); write(z.im); gotoxy(27,wherey); write(z.otch); gotoxy(44,wherey); write(z.tseh); gotoxy(49,wherey); write(z.pol); gotoxy(54,wherey); write(z.vozrast); gotoxy(59,wherey); write(z.zarpl:5:2); writeln;

end;

close(f);

readkey;

end;

procedure Dobavit; begin

clrscr;

reset(f);

seek(f,filesize(f));

i:=filesize(f);

st:='d';

while st='d' do begin

clrscr;

writeln('Vvedite dannye pro rabotnika');

write('Vvedite familiju: ');

readln(z.fam);

write('Vvedite imja : ');

readln(z.im);

write('Vvedite otchestvo : ');

readln(z.otch);

write('Vvedite nomer tseha: ');

readln(z.tseh);

write('Vvedite pol: ');

readln(z.pol);

write('Vvedite vozrast: ');

readln(z.vozrast);

write('Vvedite zarplatu: ');

readln(z.zarpl);

write(f, z);

 

i:=i+1;

 

writeln ('Hotite prodolzhit (d/n)'); readln(st);

end;

close(f);

end;

СумДУ МК І КР 0023

Змн. Арк. № докум. Підпис Дата

Арк.

20

procedure Delete; begin

clrscr;

reset(f);

while not (eof(f)) do begin

read(f, z); write(z.fam);

gotoxy(15,wherey); write(z.im); gotoxy(27,wherey); write(z.otch); gotoxy(44,wherey); write(z.tseh); gotoxy(49,wherey); write(z.pol); gotoxy(54,wherey); write(z.vozrast); gotoxy(59,wherey); write(z.zarpl:5:2); writeln;

end;

close(f);

writeln;

reset(f);

writeln('Zadajte nomer udaljaemoj zapisi'); readln(n); if n>filesize(f) then write('Takoj zapisi net')

else begin

assign(f1,'rabota2.dat'); reset(f); rewrite(f1);

for i:=1 to filesize(f) do begin

read(f, z);

if filepos(f)<>n then write (f1,z); end;

close(f1); close(f);

erase(f); rename (f1,'rabota.dat'); write('Zapis udalena');

end;

readkey;

end;

procedure Redakt; begin

clrscr;

reset(f);

while not (eof(f)) do begin

read(f, z); write(z.fam);

gotoxy(15,wherey); write(z.im); gotoxy(27,wherey); write(z.otch); gotoxy(44,wherey); write(z.tseh); gotoxy(49,wherey); write(z.pol); gotoxy(54,wherey); write(z.vozrast); gotoxy(59,wherey); write(z.zarpl:5:2); writeln;

end;

СумДУ МК І КР 0023

Змн. Арк. № докум. Підпис Дата

Арк.

21


close(f);

 

 

 

reset(f);

 

 

 

writeln('Vvedite nomer zapisi'); readln(n);

 

if n>filesize(f) then write('Takoj zapisi net')

 

else

 

 

 

begin

 

 

 

seek(f,n-1);

 

 

writeln('Vvedite dannye ',n, ' rabotnika');

 

writeln('Vvedite familiju: ');

readln(z.fam);

 

writeln('Vvedite imja : ');

readln(z.im);

 

writeln('Vvedite otchestvo : ');

readln(z.otch);

 

writeln('Vvedite nomer tseha: '); readln(z.tseh);

 

writeln('Vvedite pol: ');

readln(z.pol);

 

writeln('Vvedite vozrast: ');

readln(z.vozrast);

 

writeln('Vvedite zarplatu: ');

readln(z.zarpl);

 

write(f, z);

 

 

write('Zapis izmenena');

 

 

end;

 

 

 

readkey;

 

 

 

close(f);

 

 

 

end;

 

 

 

procedure Poisk;

 

 

begin

 

 

 

clrscr;

 

 

 

write('Vvedite nomer tsheha: '); readln(n_tseh);

 

s:=0; k:=0; max:=0;

 

 

reset(f);

 

 

 

writeln;

 

 

 

while not (eof(f)) do

 

 

begin

 

 

 

read(f, z);

 

 

if n_tseh=z.tseh then k:=k+1

 

 

end;

 

 

 

close(f);

 

 

 

reset(f);

 

 

 

if k=0 then write('Takogo tseha net')

 

 

else

 

 

 

begin

 

 

 

writeln('Spisok rabotnikov ', n_tseh, ' tseha');

 

while not (eof(f)) do

 

 

begin

 

 

 

read(f, z);

 

 

if n_tseh=z.tseh then

 

 

 

begin

 

 

 

write(z.fam);

 

 

 

gotoxy(15,wherey); write(z.im);

 

 

gotoxy(27,wherey); write(z.otch);

 

 

gotoxy(44,wherey); write(z.tseh);

 

 

gotoxy(49,wherey); write(z.pol);

 

 

gotoxy(54,wherey); write(z.vozrast);

 

 

gotoxy(59,wherey); write(z.zarpl:5:2);

 

 

writeln;

 

 

 

СумДУ МК І КР 0023

Арк.

 

22

Змн. Арк. № докум.

Підпис Дата