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

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

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

Добавлен: 16.09.2024

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

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

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

3.3 Опис процедури та функцій користувача

Procedure Vvod; - виконує зчитування даних з клавіатури та заносить їх у файл vypusk.bat.

Procedure Vuvod; - виводить на екран дані які записані у файлі vypusk.dat

Procedure Dobavit; - додає інформацію у файл vypusk.dat

Procedure Redakt; - виконує редагування запису із заданим номером в файлі vypusk.dat

Procedure Delete; - видаляє запис із заданим номером із файла vypusk.dat

Procedure Poisk; - виконує виведення на екран випускників школи у яких середній бал вище заданого;

Procedure Poisk1; - виконує виведення на екран випускників школи, які навчаються в ВНЗ.

3.4 Опис файлів та їх призначення

vypusk2012.pas – файл з основною програмою.

vypusk2012.exe – відкомпільований файл з основною програмою.

vypuskniki.pas – файл модуля.

vypuskniki.tpu – відкомпільований файл модуля.

vypusk.dat – файл, що містить відомості про випускників школи.

4 Інструкція для роботи з програмою

Зазначити, які ресурси необхідні для роботи програми ,що необхідно зробити для запуску програми на виконання, дати чіткі вказівки, як необхідно відповісти на запити програми.

Для запуску програми необхідно запустити файл vypusk2012.exe. Після запуску файлу з’явиться заставка програми при натисненні будь-якої клавіші з’явиться меню. В меню вибираємо необхідний пункт за допомогою введення відповідного номера і натискаємо enter.

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

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

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

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

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

Редагування даних у файл:


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

Випускники шклоли, середній бал яких вище зазначеного:

Випускники школи які навчаються в ВНЗ:

Висновок

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

На базі цих навичок я створив программу,відповідно до свого варіанта яка містить відомості про випускників школи.

Программа має такі процедури користувача:

Vvod – виконує зчитування данних з клавіатури;

Vyvod – виводить данні на екран;

Dobavit – добавляє інформацію;

Delete – видаляє запис із заданим номером;

Redakt – виконує редагування запису із заданим номером;

Poisk – випускників, середній бал якіх більше 4;

Poisk1 – виводить список випускників, що вступили до вищих навчальних закладів.

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


Література

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

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

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

4.

5. Епанешников А.М. Епанешников В.А. - Программирование в среде Turbo Pascal 7.0. Москва:Диалог-МИФ, 2000.- 368 с.

6. Марченко А.И. Марченко Л.А. – Программирование в среде Turbo Pascal 7.0. Киев:Век+,1999. – 460 с.

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

uses crt,graph,vypuskniki;

label 0,1;

var n,drive,mode:integer;

begin

Drive:=Detect;

InitGraph(Drive,Mode,'');

if GraphResult<>grok then Halt(1);

SetBkColor(4);

SetTextStyle(1,0,4);

OutTextXY(190,180,'Курсова робота');

SetTextStyle(1,0,3);

OutTextXY(255,220,'Вариант-10');

SetTextStyle(1,0,2);

OutTextXY(480,280,'Макаренко О.В.');

readln;

Closegraph;

assign(f,'vypusk.dat');

1:clrscr;

gotoXY(32,8); writeln('Сделайте выбор');

gotoXY(30,9); writeln('1 – Ввод записи');

gotoXY(30,10); writeln('2 – Вывод записи');

gotoXY(30,11); writeln('3 – Добавить запись');

gotoXY(30,12); writeln('4 – Редактировать запись');

gotoXY(30,13); writeln('5 – Удалить запись');

gotoXY(30,14); writeln('6 – Поиск по среднему балу');

gotoXY(30,15); writeln('7 – Поиск выпускников учащихся в ВУЗе');

gotoXY(30,16); writeln('8 - Выход');

gotoXY(27,17); writeln('-->');

read(n);

case n of

1:begin Vvod; goto 1 end;

2:begin Vuvod; 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:begin Poisk1; goto 1 end;

8:goto 0;

else goto 1 end;

0:end.

Додакот б Лістинг модуля Vypuskniki

Unit vypuskniki;

interface

uses Crt;

type school = record

fam,im,otch:string;

klass:string;

nom_atest:string;

sr_bal:real;

u4_zaved:string;

end;

var f: file of school;

i,v:integer;

z:school;

st:string;

n:byte;

n_z:byte;

s:real;

k:byte;

procedure Vvod;

procedure Vyvod;

procedure Dobavit;

procedure Redakt;

procedure Delete;

procedure Poisk;

procedure Poisk1;

implementation

procedure vvod;

begin

clrscr;

rewrite(f);

readln;

i:=1; st:='d';

while st='d' do

begin

clrscr;

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

write('Vvedite familiju:'); readln(z.fam);

write('Vvedite imja : '); readln(z.im);


write('Vvedite otchestvo : '); readln(z.otch);

write('Vvedite klass:'); readln(z.klass);

write('Vvedite № atestata:'); readln(z.nom_atest); write('Vvedite sredniy bal:'); readln(z.sr_bal);

write('Vvedite vid uchebnogo zavedeniya (1-VNZ; 2-Kolleg; 3-Uchilishw; 4-ne u4itsya)');

readln(n);

case n of

1:z.u4_zaved:='VNZ';

2:z.u4_zaved:='Kolleg';

3:z.u4_zaved:='Uchilishe';

4:z.u4_zaved:='Ne u4itsya';

end;

write(f,z);

i:=i+1;

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

end;

close(f);

readkey;

end;

Procedure Vyvod;

begin

clrscr;

reset(f);

if filesize(f)=0 then begin

textcolor(4);

writeln('‚ Ў §Ґ ­Ґв § ЇЁбҐ©');

textcolor(15); end else

begin

gotoXY(34,1); Write('Spisok vypusknikov');

gotoXY(1,2); write('Familiya');

gotoXY(12,2); write('Im9');

gotoXY(22,2); write('Ot4estvo');

gotoXY(36,2); write('Klass');

gotoXY(42,2); write('ь atest');

gotoXY(52,2); write('Sr bal');

gotoXY(59,2); write('Vid u/z');

writeln; i:=1;

while not (eof(f)) do

begin

read(f,z);

gotoXY(1,wherey); write(z.fam);

gotoXY(12,wherey); write(z.im);

gotoXY(22,wherey); write(z.otch);

gotoXY(36,wherey); write(z.klass);

gotoXY(42,wherey); write(z.nom_atest);

gotoXY(52,wherey); write(z.sr_bal:4:2);

gotoXY(59,wherey); write(z.u4_zaved);

i:=i+1;

writeln;

end;

end;

close(f);

readkey;

end;

Procedure Dobavit;

Begin

clrscr;

reset(f);

seek(f,filesize(f));

readln;

st:='d';

while st='d' do

begin

clrscr;

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

write('Vvedite familiju:'); readln(z.fam);

write('Vvedite imja : '); readln(z.im);

write('Vvedite otchestvo : '); readln(z.otch);

write('Vvedite klass:'); readln(z.klass);

write('Vvedite ь atestata:'); readln(z.nom_atest);

write('Vvedite sredniy bal:'); readln(z.sr_bal);

write('Vvedite vid uchebnogo zavedeniya(1-VNZ; 2-Kolleg; 3-Uchilishw; 4-ne u4itsya :');

readln(n);

case n of

1:z.u4_zaved:='VNZ';

2:z.u4_zaved:='Kolleg';

3:z.u4_zaved:='Uchilishe';

4:z.u4_zaved:='Ne u4itsya';

end;

write(f,z);

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

end;

close(f);

readkey;

end;

Procedure Redakt;

begin

clrscr;

reset(f);

if filesize(f)=0 then begin

textcolor(4);

writeln('V BD netu danoi zapisi');

textcolor(15); end else

begin

gotoXY(34,1); Write('Spisok vypusknikov');

gotoXY(1,2); write('Familiya');

gotoXY(12,2); write('Im9');

gotoXY(22,2); write('Ot4estvo');

gotoXY(34,2); write('Klass');

gotoXY(40,2); write('ь atest');

gotoXY(50,2); write('Sr bal');

gotoXY(57,2); write('Vid u/z');

writeln; i:=1;

while not (eof(f)) do

begin

read(f,z);

gotoXY(1,wherey); write(z.fam);


gotoXY(12,wherey); write(z.im);

gotoXY(22,wherey); write(z.otch);

gotoXY(34,wherey); write(z.klass);

gotoXY(40,wherey); write(z.nom_atest);

gotoXY(50,wherey); write(z.sr_bal:4:2);

gotoXY(57,wherey); write(z.u4_zaved);

i:=i+1;

writeln;

end;

end;

close(f);

reset(f);

writeln;

write('Nomer zapisi:'); read(n_z);

if n_z>filesize(f) then write('Danaya zapis otsutstvuet') else

begin

readln;

seek(f,n-1);

write('Vvedite familiju:'); readln(z.fam);

write('Vvedite imja : '); readln(z.im);

write('Vvedite otchestvo : '); readln(z.otch);

write('Vvedite klass:'); readln(z.klass);

write('Vvedite ь atestata:'); readln(z.nom_atest);

write('Vvedite sredniy bal:'); readln(z.sr_bal);

write('Vvedite vid uchebnogo zavedeniya (1-VNZ; 2-Kolleg; 3-Uchilishw; 4-ne u4itsya)');

readln(n);

case n of

1:z.u4_zaved:='VNZ';

2:z.u4_zaved:='Kolleg';

3:z.u4_zaved:='Uchilishe';

4:z.u4_zaved:='Ne u4itsya';

end;

write(f,z);

end;

close(f);

readkey;

end;

procedure delete;

begin

clrscr;

reset(f);

if filesize(f)=0 then begin

textcolor(4);

writeln('V BD netu danoi zapisi');

textcolor(15); end else

begin

gotoXY(34,1); Write('Spisok vypusknikov');

gotoXY(1,2); write('Familiya');

gotoXY(12,2); write('Im9');

gotoXY(22,2); write('Ot4estvo');

gotoXY(34,2); write('Klass');

gotoXY(40,2); write('ь atest');

gotoXY(50,2); write('Sr bal');

gotoXY(57,2); write('Vid u/z');

writeln; i:=1;

while not (eof(f)) do

begin

read(f,z);

gotoXY(1,wherey); write(z.fam);

gotoXY(12,wherey); write(z.im);

gotoXY(22,wherey); write(z.otch);

gotoXY(34,wherey); write(z.klass);

gotoXY(40,wherey); write(z.nom_atest);

gotoXY(50,wherey); write(z.sr_bal:4:2);

gotoXY(57,wherey); write(z.u4_zaved);

writeln;

i:=i+1;

end;

end;

close(f);

reset(f);

writeln;

write('Nomer zapisi:'); read(n_z);

if n_z>filesize(f) then write('Danaya zapis otsutstvuet') else

begin

seek(f,filesize(f)-1);

read(f,z);

seek(f,n_z-1);

write(f,z);

seek(f,filesize(f)-1);

truncate(f);

writeln('Zapis udalena');

end;

readkey;

end;

Procedure Poisk;

begin

clrscr;

reset(f);

write('Vvedite srednii bal:'); readln(s);

writeln; v:=0;

writeln('Spisok vypusknikov so srednim balom vyshe:',s:4:2);

for i:=1 to filesize(f) do

begin

read(f,z);

if s<=z.sr_bal then

begin

gotoXY(1,wherey); write(z.fam);

gotoXY(12,wherey); write(z.im);

gotoXY(22,wherey); write(z.otch);

gotoXY(34,wherey); write(z.klass);

gotoXY(40,wherey); write(z.nom_atest);

gotoXY(50,wherey); write(z.sr_bal:4:2);

gotoXY(57,wherey); write(z.u4_zaved);

writeln;

end else v:=v+1;

end;

if v=i then writeln('Takogo sr_bala ne mozjet byt');

readkey;

close(f);

end;

Procedure Poisk1;


Смотрите также файлы