Файл: Звіт з курсової роботи по АП.docx

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

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

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

Добавлен: 19.09.2024

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

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

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

Висновки

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

Література

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 с.

Додаток а (Обов’язковий) Лістинг основної програми

{$R-}

uses Crt, Graphika, Navchannia, Finder;

type students=record

prizv: string[20];

name: string[15];

po_batkovi: string[20];

stat: char;

vik: integer;

kurs: 1..7;

end;

st=array[1..50] of students;

var n:integer;

s: st;

begin

Privetstvie;

Mywork;

assign(f,'students.dat');

while n<8 do

begin

textbackground(13);

clrscr;

textcolor(10);

gotoxy(20,8); writeln(' --------------------------------- ');

gotoxy(20,19); writeln(' -------------------------------');

gotoxy(55,9); writeln('|');

gotoxy(55,10); writeln('|');

gotoxy(55,11); writeln('|');

gotoxy(55,12); writeln('|');

gotoxy(55,13); writeln('|');

gotoxy(55,14); writeln('|');

gotoxy(55,15); writeln('|');

gotoxy(55,16); writeln('|');

gotoxy(55,17); writeln('|');

gotoxy(55,18); writeln('|');

gotoxy(20,9); writeln('|');

gotoxy(20,10);

writeln ('| 1..Vvod');

gotoxy(20,11);

writeln('| 2..Vyvod');

gotoxy(20,12);

writeln('| 3..Poisk kolichestva');

gotoxy(20,13);

writeln('| 4..Poisk naistarshego');

gotoxy(20,14);

writeln('| 5..Redaktirovanie');

gotoxy(20,15);

writeln('| 6..Udalenie');

gotoxy(20,16);

writeln('| 7..Vyhod');

gotoxy(20,17); writeln('|');

gotoxy(20,18); writeln('|');

gotoxy(28,18);

writeln('-->');

gotoxy(32,18);

repeat

readln(n);

until n in [1..7];

case n of

1: begin Vvod; end;

2: begin Vyvod; end;

3: begin Poisk1; end;

4: begin Poisk2; end;

5: begin Redaktirovanie; end;

6: begin Delete; end;

7: Konets;

end;

n:=n+1;

end;

end.



Додаток б (Обов’язковий) Лістинг модуля Navchannia

unit Navchannia;

interface

uses Crt;

type students=record

prizv: string;

name: string;

po_batkovi: string;

stat: char;

vik: integer;

kurs: 1..7;

end;

var f, f1: file of students;

l, i, n, m, w, find, a: integer;

mv,wv:real;

st: students;

u: string;

procedure Vvod;

procedure Vyvod;

procedure Redaktirovanie;

procedure Delete;

implementation

procedure Vvod;

begin

textbackground(5);

clrscr;

rewrite(f);

textcolor(8);

for i:=1 to 10 do

begin

write ('Vvedite prizvische studenta: ');

readln(st.prizv);

write ('Vvedite imia studenta: ');

readln(st.name);

write ('Vvedite po-batkovi studenta: ');

readln(st.po_batkovi);

repeat

write ('Vvsedite stat studenta m abo w: ');

readln(st.stat);

until (st.stat='m') or (st.stat='w');

write ('Vvedite vik studenta: ');

readln (st.vik);

write ('Vvedite kurs, na yakomu navchaetsa student: ');

readln(st.kurs);

write(f, st);

i:=i+1;

end;

close (f);

end;

procedure Vyvod;

begin

textbackground(3);

clrscr;

assign(f,'students.dat');

reset (f);

textcolor(1);

gotoxy(4,3);

writeln(' Students of facultet ');

writeln(' ----------------------------------------------------------------');

if filesize(f)=0 then

begin

textcolor (14);

writeln(' NO INFO! ');

textcolor (7); end

else

for i:=1 to filesize(f) do

begin

read(f,st);

gotoxy(2,wherey);

write(i);

gotoxy(5,wherey); write('|');

gotoxy(6,wherey); write (st.prizv);

gotoxy(17,wherey); write('|');

gotoxy(18,wherey); write (st.name);

gotoxy(29,wherey); write('|');

gotoxy(30,wherey); write(st.po_batkovi);

gotoxy(46,wherey); write('|');

gotoxy(48,wherey); write(st.stat);

gotoxy(51,wherey); write('|');

gotoxy(52,wherey); write(st.vik);

gotoxy(56,wherey); write('|');

gotoxy(57,wherey); write(st.kurs);

gotoxy(60,wherey); write('|');

writeln;

end;

writeln(' -------------------------------------------------------------');

close (f);

readkey;

end;

procedure Redaktirovanie;

begin

textbackground(8);

clrscr;

textcolor(14);

assign(f,'students.dat');

reset(f);

FileMode:=2;

while not (eof(f)) do

begin

for i:=1 to filesize(f) do

begin

read(f,st);

write(i);

gotoxy(3,wherey); write('|');

gotoxy(4,wherey); write (st.prizv);

gotoxy(15,wherey); write('|');

gotoxy(16,wherey); write (st.name);

gotoxy(27,wherey); write('|');

gotoxy(28,wherey); write(st.po_batkovi);

gotoxy(44,wherey); write('|');

gotoxy(45,wherey); write(st.stat);

gotoxy(49,wherey); write('|');

gotoxy(50,wherey); write(st.vik);

gotoxy(54,wherey); write('|');

gotoxy(55,wherey); write(st.kurs);

gotoxy(58,wherey); write('|');

writeln;

end; end;

close(f);

writeln;

writeln;

writeln('1-Redaktirovat suschestvuyschie zapisi');

writeln('2-Dobavit eshe');

writeln('3-Vyhod');

readln(l);

case l of

1:begin

clrscr;

reset(f);

writeln('Vvedite nomer zapisi');


readln(n);

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

else

begin

seek(f,n-1);

write ('Vvedite prizvische studenta: ');

readln(st.prizv);

write ('Vvedite imia studenta: ');

readln(st.name);

write ('Vvedite po-batkovi studenta: ');

readln(st.po_batkovi);

repeat

write ('Vvsedite stat studenta m abo w: ');

readln(st.stat);

until (st.stat='m') or (st.stat='w');

write ('Vvedite vik studenta: ');

readln (st.vik);

write ('Vvedite kurs, na yakomu navchaetsa student: ');

readln(st.kurs);

write(f,st);

write('Zapis izmenena =)');

end;

readkey;

close(f);

end;

2: begin

clrscr;

reset(f);

seek(f, filesize(f));

i:=filesize(f);

u:='d';

while u='d' do

begin

clrscr;

write ('Vvedite prizvische studenta: ');

readln(st.prizv);

write ('Vvedite imia studenta: ');

readln(st.name);

write ('Vvedite po-batkovi studenta: ');

readln(st.po_batkovi);

repeat

write ('Vvedite stat studenta m abo w: ');

readln(st.stat);

until (st.stat='m') or (st.stat='w');

write ('Vvedite vik studenta: ');

readln (st.vik);

write ('Vvedite kurs, na yakomu navchaetsa student: ');

readln(st.kurs);

write(f,st);

i:=i+1;

write('Hotite prodolzhit (d/n)');

readln(u);

end;

close(f);

end;

3:

end;

end;

procedure Delete;

begin

clrscr;

assign(f,'students.dat');

reset(f);

while not (eof(f)) do

begin

for i:=1 to filesize(f) do

begin

read(f,st);

write(i);

gotoxy(3,wherey); write('|');

gotoxy(4,wherey); write (st.prizv);

gotoxy(15,wherey); write('|');

gotoxy(16,wherey); write (st.name);

gotoxy(27,wherey); write('|');

gotoxy(28,wherey); write(st.po_batkovi);

gotoxy(44,wherey); write('|');

gotoxy(45,wherey); write(st.stat);

gotoxy(49,wherey); write('|');

gotoxy(50,wherey); write(st.vik);

gotoxy(54,wherey); write('|');

gotoxy(55,wherey); write(st.kurs);

gotoxy(58,wherey); write('|');

writeln;

end; end;

close(f);

writeln;

writeln('1-Prodolzt proceduru udalenia');

writeln('2-Otmenit');

readln(a);

case a of

1: begin reset(f);

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

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

else

begin

assign(f1,'stud2.dat');

reset(f);

rewrite(f1);

for i:=1 to filesize(f) do

begin

read(f,st);

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

end;

close(f1); close(f);

erase(f);

rename(f1,'students.dat');

write('Zapis udalena');

end;

readkey;

end;

2:

end;

end;

end.


Додаток в. (Обов’язковий) Лістинг модуля finder

unit Finder;

{$S-}

interface

uses Crt;

type students=record

prizv: string;

name: string;

po_batkovi: string;

stat: char;

vik: integer;

kurs: 1..7;

end;

var f: file of students;

n, m, w, find: integer;

mv,wv:real;

st:students;

u: string;

procedure Poisk1;

procedure Poisk2;

implementation

procedure Poisk1;

begin

textbackground(10);

clrscr;

textcolor(14);

gotoxy(25,10);

repeat

write('Vvedite nomer kursa: ');

readln(find);

until(find>0)or(find<7);

writeln;

clrscr;

assign(f,'students.dat');

reset (f);

writeln;

m:=0; w:=0;

while not(eof(f)) do

begin

read(f, st);

if find=st.kurs then

if st.stat='m' then

m:=m+1

else

w:=w+1;

end;

n:=m+w;

if n=0 then begin gotoxy(15,9); write('Na kursi nemae studentiv!'); readkey; exit; end

else if n>0 then

begin

mv:=100/n*m;

wv:=100/n*w;

gotoxy(10, 9);

writeln('Na ',find,' kurse navchaetsa', mv:4:2,'% hloptsiv i ', wv:4:2,'% divchat');

end;

readkey;

close(f);

end;

procedure Poisk2;

var q,i,j:integer;

m:students;

tmp:array[1..20]of students;

begin

textbackground(10);

clrscr;

textcolor(14);

gotoxy(10,1);

reset(f);

for q:=1 to filesize(f) do

begin

read(f,m);

tmp[q]:=m;

end;

for i:=1 to q-1 do

begin

for j:=1 to q do

if tmp[i].vik>tmp[j].vik then

begin

m:=tmp[i];

tmp[i]:=tmp[j];

tmp[j]:=m;

end;

end;

writeln('Spisok otsortirovanniy po vozrastu');

writeln('---------------------------------------------------------');

for i:=1 to q do

begin

write(i);

gotoxy(3,wherey); write('Э');

gotoxy(4,wherey); write (tmp[i].prizv);

gotoxy(15,wherey); write('Э');

gotoxy(16,wherey); write (tmp[i].name);

gotoxy(27,wherey); write('Э');

gotoxy(28,wherey); write(tmp[i].po_batkovi);

gotoxy(44,wherey); write('Э');

gotoxy(45,wherey); write(tmp[i].stat);

gotoxy(49,wherey); write('Э');

gotoxy(50,wherey); write(tmp[i].vik);

gotoxy(54,wherey); write('Э');

gotoxy(55,wherey); write(tmp[i].kurs);

gotoxy(58,wherey); write('Э');

writeln;

end;

writeln;

writeln('Naistarsiy studenty');

writeln(tmp[1].prizv);

write(tmp[1].vik);gotoxy(4,wherey);write('year');

readkey;

close (f);

end;

end.

Додаток Г.

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

unit Mygraph;

interface

procedure Mygraphinit;

implementation

uses CRT, Graph;

var gd, gm, errorcode: integer;

procedure Mygraphinit;

begin

gd:=detect;

initgraph(gd, gm, ' ');

errorcode:=graphresult;

if errorcode<>grok then

begin

writeln('Oshibka: ', grapherrormsg(errorcode));

writeln('Rabota zavershena');

halt(1);

end;

end;

end.

Додаток Д.