Інформаційно-пошукова система - ФК Динамо Київ

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

Національний  університет харчових технологій

 

Кафедра інформаційних  систем

 

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

Основи програмування  та алгоритмічні мови

на тему: “Інформаційно-пошукова система - ФК Динамо Київ  ”

 

 

 

 

 

студента I курсу, групи №5

спеціальності „Інформаційні управляючі системи і технології”

Віщанського Андрія Вікторовича

 

                                                                                      Керівник: Бровченко Н.Н.

 

 

 

 

 

 

 

 

 

Київ – 2009 р.

Анотація українською  мовою

Дана  робота написана на мові програмування Pascal. Завданням даної роботи було написати програму для зберігання, редагування та пошуку інформації про футболістів ФК  Динамо Київ.

Пошукова система має  зручне меню:

  1. Показати всю команду;
  2. Купити (додати) гравця;
  3. Звільнити (видалити) гравця;
  4. Дані по вказаному гравцю (редагувати);
  5. Пошук за позицією;
  6. Пошук за країною;
  7. Пошук за віком;
  8. Вихід;

 

    • розмір програми – 19,1 кб;
    • кількість сторінок – 29;
    • використанні засоби – мова програмування Pascal;

 

Анотація англійською мовою

 

Work is given written in programming of Pascal language. The task of this work was to write the program for storage, editing and information retrieval about the footballers of FK  of Dynamo Kyiv.

The searching system has a comfortable menu:

1) To show all command;

2) To purchase (to add) a player;

3) To free (to delete) a player;

4) Given on the indicated player (to edit);

5) A search is after position;

6) A search is after a country;

7) Search on age;

8) Output;

 

  • a program size is 19,1 kb;
  • amount of pages – 29;
    • use facilities are a programming of Pascal;

 

 

 

Зміст

 

Вступ………………………………………………………………………………..4;

1.  Постановка задачі………………………………………………………………5;

  1. Опис алгоритмів і програм…………………………………………………….5;
  2. Блок-схеми програм……………………………………………………………6;

     4.  Тексти програм………………………………………………………………...9;

  1. Результати роботи……………………………………………………………..25;
  2. Вимоги до програмно-технічного забезпечення…………………………….29;
  3. Інструкція користувача………………………………………………………..29;

Висновки…………………………………………………………………………...30;

Список використаних джерел…………………………………………………….31;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вступ

 

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

Серед відомих мов програмування(С,С++,С#,Pascal,Delphi) я обрав Pascal. Роком створення Pascal вважається 1970-й, і творцем цієї мови програмування є Ніклас Вірт. Початкова мета розробки мови диктувалася необхідністю інструмента «для навчання програмуванню як систематичній дисципліні». Pascal належить до Algol-подібних мов програмування, оскільки використовує семантику Algol-ла. Однак Pascal мав суттєве удосконалення — строга типизація. Це означало, що присвоювання можна було виконувати лише для змінних, що належать до одного типу (одночасно вказувались правила, за якими типи вважались однаковими). Це удосконалення суттєво покращило стиль програмування, оскільки значну частину помилок вдавалось виявити ще на етапі компіляції — що збільшує надійність програм. Однак мова розроблялась як дослідницький проект і первісний Pascal був мало придатний для написання великих проектів, оскільки програму не можна було скласти з кількох програмних частин — просто не було передбачено такої можливості. Але ця мова програмування швидко завоювала популярність у навчальних закладах при вивчені програмування. А коли з'явились діалекти мови де можливим було окреме компілювання програмних частин — Pascal став засобом написання великих програмних систем. Існує ряд об'єктивних причин, які обумовили видатний успіх мови Pascal. Мова в природній і елегантній формі відобразила найважливіші сучасні концепції технології розробки програм. Завдяки своїй компактності, концептуальній цілісності й ортогональності понять, а також вдалому оригінальному опису, запропонованому автором мови, Pascal виявився дуже легким для вивчення й освоєння. Незважаючи на відносну простоту мови, вона виявилась придатною для дуже широкого спектру додатків, у тому числі для розробки дуже великих і складних програм, наприклад, операційних систем. Pascal дуже технологічний для реалізації практично усіх, у тому числі і нетрадиційних, машинних архітектур.

1. Постановка задачі

1. Створити інформаційно-пошукову систему «ФК Динамо Київ».

 

2. У програмі використати підпрограми. Пошук здійснювати за допомогою підпрограм.

 

3. Створити зручне  меню користувача.

 

 

                        2. Опис алгоритмів і програм

В даній роботі використовується сортування даних методом вибору за номером 

гравця.

Опис підпрограм, які використовуються в даній роботі:

dobav – процедура, яка додає запис  ;

redactor – процедура, яка дозволяє редагувати записи;

sort – процедура, яка виводить на екран відсортовані записи по номеру гравця;

pokaz – процедура, яка виводить на екран невідсортовані записи;

ydal– процедура, яка видаляє вказаний запис.

pozz1 – функція, яка порівнює дані;

poshpoz– процедура, яка шукає гравців за позицією;

pozz2– функція, яка порівнює дані;

poshpoz2 – процедура, яка шукає гравців за країною;

pozz3 – функція, яка порівнює дані;

poshpoz3– процедура, яка шукає гравців за віком.

 

  1. Блок-схеми програм

4. Тексти програм

 

program KKKKK;

Uses Crt,Graph;

Type

  futball=record

    F:string[30];

    g:string[30];

    c:integer;

    m:string[30];

    co:string[30];

  end;

var

  grDriver:integer;

    grMode:integer;

    grPath:string;

    s,c,sl1,sl2,sl3,sl5,sl4:string;

  h:char;

  F0,f2: file of futball;

  FF:futball;

  nom,nom1,i,j,k,poz3,vidp:integer;

  mmm,mm,poz1,poz2:string;

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

Procedure dobav;

Begin

  clrscr;

  reset(f0);

  Seek(F0,filesize(f0));textcolor(5);

  gotoxy(30,2);Writeln('Ќ®¬Ґа § ЇЁбг=',filesize(f0)+1);

  textcolor(7);

 

   gotoxy(30,4);Write('1-Џаi§ўЁйҐ,I¬`п =');readln(Ff.f);

   gotoxy(30,5);Write('2-ђiЄ ­ а®¤¦Ґ­­п=');readln(Ff.g);

   gotoxy(30,6);Write('3-Ќ®¬Ґа         =');readln(Ff.c);

   gotoxy(30,7);Write('4-Џ®§Ёжiп       =');readln(Ff.m);

   gotoxy(30,8);Write('5-Ља i­         =');readln(Ff.co);

   readln;

  Write(F0,ff);

  Close(F0);

  clrscr;

End;

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

Procedure redaktor;

Begin

  repeat

    clrscr;

    reset(f0);

    seek(f0,nom);

    read(f0,ff);

    textcolor(3);

   gotoxy(30,4);Write('1-Џаi§ўЁйҐ,I¬`п  =');writeln(Ff.f);

   gotoxy(30,5);Write('2-ђiЄ  ­ а®¤¦Ґ­­п=');writeln(Ff.g);

   gotoxy(30,6);Write('3-Ќ®¬Ґа         =');writeln(Ff.c);

   gotoxy(30,7);Write('4-Џ®§Ёжiп       =');writeln(Ff.m);

   gotoxy(30,8);Write('5-Ља i­         =');writeln(Ff.co);

 

 

   textcolor(11);

    gotoxy(30,15);Write('ESC-‚€•I„');

    gotoxy(30,1);Write('Ќ®¬Ґа § ЇЁбг=',nom+1);

 

    gotoxy(20,14);write('џЄҐ Ї®«Ґ  ўЁ е®зҐвҐ §¬i­ЁвЁ:');

    h:=readkey;

    case h of

      '1':begin gotoxy(45,4);Write('1-Џаi§ўЁйҐ,I¬`п  =');readln(Ff.f);end;

      '2':begin gotoxy(45,5);Write('2-ђiЄ  ­ а®¤¦Ґ­­п=');readln(Ff.g);end;

      '3':begin gotoxy(45,6);Write('3-Ќ®¬Ґа         =');readln(Ff.c);end;

      '4':begin gotoxy(45,7);Write('4-Џ®§Ёжiп       =');readln(Ff.m);end;

      '5':begin gotoxy(45,8);Write('5-Ља i­         =');readln(Ff.co);end;

 

      #27:  exit;

    end;

    clrscr;

    seek(f0,nom);

    write(f0,ff);

  until h=#27;

  close(f0);

  clrscr;

End;

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

procedure sort;

var

min:futball;

jj,n,y,nomer,ccc,hhhh,rozmir:integer;

a:array[1..50] of futball;

 

begin

reset(f0);

for jj:=1 to filesize(f0) do

read(f0,a[jj]);

for jj:=1 to filesize(f0)-1 do

begin

min:=a[jj];

nomer:=jj;

  for y:=jj+1 to filesize(f0) do

  if a[y].c<=min.c then

   begin

    min:=a[y];

    nomer:=y;

   end;

  a[nomer]:=a[jj];

   a[jj]:=min;

end;

rozmir:=filesize(f0);

close(f0);

{=========================================================}

rewrite(f0);

for jj:=1 to rozmir do

write(f0,a[jj]);

close(f0);

 

Begin

    clrscr;

    reset(f0);

writeln('ЪДДДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДВДДДДДДДДДДВДДДДДДДДДДДДВДДДДДДДД');

writeln('і     ЏђI‡‚€™… , IЊ`џ     іђIЉ ЌЂђЋ„†…ЌЌџ і   ЌЋЊ…ђ і   ЏЋ‡€–Iџ і ЉђЂIЌЂ ');

   for i:=1 to filesize(f0) do

    begin

    read(f0,ff);

    textcolor(12);

 

    begin

    while length(Ff.f)<25 do

    Ff.f:=Ff.f+' ';

 

    while length(Ff.m)<12 do

    Ff.m:=Ff.m+' ';

 

    while length(Ff.co)<6 do

    Ff.m:=Ff.co+' ';

 

writeln('ГДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДЕДДДДДДДДДДЕДДДДДДДДДДДДЕДДДДДДДД');

writeln('і',Ff.f,'і',Ff.g:15,'і',Ff.c:10,'і',Ff.m,'і',Ff.co);

    end;

 

   if i mod 10=0 then

 

   begin

   textcolor(5);

   writeln;

   writeln('                                                     ENTER ¤«п Їа®¤®ў¦Ґ­­п!!!');

   readln;

   clrscr;

     end;

    end;

writeln('АДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДБДДДДДДДДДДБДДДДДДДДДДДДБДДДДДДДД');

    readln;

  close(f0);

 

End;

End;

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

Procedure pokaz;

Begin

    clrscr;

    reset(f0);

   for i:=1 to filesize(f0) do

    begin

    read(f0,ff);

    textcolor(12);

   gotoxy(30,1+j);Writeln('Ќ®¬Ґа § ЇЁбг=',i);

   textcolor(5);

   gotoxy(30,2+j);Write('1-Џаi§ўЁйҐ,I¬`п  =');writeln(Ff.f);

   gotoxy(30,3+j);Write('2-ђiЄ  ­ а®¤¦Ґ­­п=');writeln(Ff.g);

   gotoxy(30,4+j);Write('3-Ќ®¬Ґа         =');writeln(Ff.c);

   gotoxy(30,5+j);Write('4-Џ®§Ёжiп       =');writeln(Ff.m);

   gotoxy(30,6+j);Write('5-Ља i­         =');writeln(Ff.co);

   writeln;

 

   j:=j+7;

   if i mod 3=0 then

 

   begin

   textcolor(12);

   writeln('                                         ENTER ¤«п Їа®¤®ў¦Ґ­­п!!!');

   readln;

   clrscr;

   j:=0;

   end;

 

    end;

    readln;

    j:=0;

  close(f0);

 

End;

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

Procedure ydal;

Begin

  clrscr;

  assign(f2,mmm);

  Reset(F0);

  rewrite(f2);

  Seek(F0, 0);

  while not eof(f0) do

    begin

      read(f0,ff);

      if filepos(f0)<>nom+1 then write(f2,ff);

    end;

  Close(F0);

  Close(f2);

  erase(f0);

  rename(f2,mm);

End;

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

function pozz1(poza1,m:string):boolean;

begin

if poza1=m then  pozz1:=true

            else  pozz1:=false;

end;

 

Procedure poshpoz;

var t:byte;

Begin

    clrscr;

    reset(f0);

    writeln('‚ўҐ¤iвм  Ї®§Ёжiо:');

    readln(poz1);

    clrscr;

    t:=0;

   for i:=1 to filesize(f0) do

    begin

    read(f0,ff);

    textcolor(5);

    if pozz1(poz1,ff.m) then

    begin

     t:=t+1;

     gotoxy(30,1+j);Writeln('Ќ®¬Ґа  § ЇЁбг=',i);

     gotoxy(30,2+j);Write('1-Џаi§ўЁйҐ,I¬`п  =');writeln(Ff.f);

     gotoxy(30,3+j);Write('2-ђiЄ  ­ а®¤¦Ґ­­п=');writeln(Ff.g);

     gotoxy(30,4+j);Write('3-Ќ®¬Ґа         =');writeln(Ff.c);

     gotoxy(30,5+j);Write('5-Ља i­         =');writeln(Ff.co);

     writeln;

     j:=j+6;

       if ((t mod 3)=0) and (t<>0) then

         begin

         textcolor(12);

         writeln('                                         ENTER ¤«п Їа®¤®ў¦Ґ­­п!!!');

         readln;

         clrscr;

         j:=0;

        end;

    end;

    end;

    readln;

    j:=0;

  close(f0);

 

End;

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

function pozz2(poz2,co:string):boolean;

begin

if poz2=co then  pozz2:=true

             else  pozz2:=false;

end;

 

Procedure poshpoz2;

var t:byte;

Begin

    clrscr;

    reset(f0);

    writeln('‚ўҐ¤iвм  Єа i­г:');

    readln(poz2);

    clrscr;

    t:=0;

   for i:=1 to filesize(f0) do

 

    begin

    read(f0,ff);

    textcolor(5);

    if pozz2(poz2,Ff.co) then

    begin

    t:=t+1;

   gotoxy(30,1+j);Writeln('Ќ®¬Ґа  § ЇЁбг=',i);

   gotoxy(30,2+j);Write('1-Џаi§ўЁйҐ,I¬`п  =');writeln(Ff.f);

   gotoxy(30,3+j);Write('2-ђiЄ  ­ а®¤¦Ґ­­п=');writeln(Ff.g);

   gotoxy(30,4+j);Write('3-Ќ®¬Ґа         =');writeln(Ff.c);

   gotoxy(30,5+j);Write('4-Џ®§Ёжiп       =');writeln(Ff.m);

   writeln;

 

   j:=j+6;

          if ((t mod 3)=0) and (t<>0) then

         begin

         textcolor(12);

         writeln('                                         ENTER ¤«п Їа®¤®ў¦Ґ­­п!!!');

         readln;

         clrscr;

         j:=0;

        end;

    end;

   end;

    readln;

    j:=0;

  close(f0);

 

End;

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

function pozz3(poz3,vidp:integer;g:string):boolean;

var ggg,hhh:integer;

begin

val(g,ggg,hhh);

IF vidp=1 then

begin

if (2009-poz3)<ggg then  pozz3:=true

             else  pozz3:=false;

end;

IF vidp=2 then

begin

if (2009-poz3)>ggg then  pozz3:=true

             else  pozz3:=false;

end;

IF vidp=3 then

begin

if (2009-poz3)=ggg then  pozz3:=true

             else  pozz3:=false;

end;

end;

 

Procedure poshpoz3;

var t:byte;

Begin

    clrscr;

    reset(f0);

    writeln('‚ўҐ¤iвм  ўiЄ:');

    readln(poz3);

    writeln('‚ЁўҐбвЁ  Ја ўжiў- 1)ЊҐ­иЁе , 2)‘в аиЁе , 3)‡  ўЄ § ­Ё¬ ўiЄ®¬ ???');

    readln(vidp);

    clrscr;

    t:=0;

   for i:=1 to filesize(f0) do

 

    begin

    read(f0,ff);

    textcolor(5);

 

    IF pozz3(poz3,vidp,Ff.g) then

    begin

 

{+++++}    if (vidp=1) or (vidp=2) then

    begin

 

    t:=t+1;

   gotoxy(30,1+j);Writeln('Ќ®¬Ґа § ЇЁбг=',i);

   gotoxy(30,2+j);Write('1-Џаi§ўЁйҐ,I¬`п  =');writeln(Ff.f);

   gotoxy(30,3+j);Write('2-ђiЄ  ­ а®¤¦Ґ­­п=');writeln(Ff.g);

   gotoxy(30,4+j);Write('3-Ќ®¬Ґа         =');writeln(Ff.c);

   gotoxy(30,5+j);Write('4-Џ®§Ёжiп       =');writeln(Ff.m);

   gotoxy(30,6+j);Write('5-Ља i­         =');writeln(Ff.co);

   writeln;

 

   j:=j+7;

 

          if ((t mod 3)=0) and (t<>0) then

         begin

         textcolor(12);

         writeln('                                         ENTER ¤«п Їа®¤®ў¦Ґ­­п!!!');

         readln;

         clrscr;

         j:=0;

        end;

    end;

 

{+++++}  IF vidp=3 then

    begin

 

    t:=t+1;

   gotoxy(30,1+j);Writeln('Ќ®¬Ґа  § ЇЁбг=',i);

   gotoxy(30,2+j);Write('1-Џаi§ўЁйҐ,I¬`п  =');writeln(Ff.f);

   gotoxy(30,3+j);Write('3-Ќ®¬Ґа         =');writeln(Ff.c);

   gotoxy(30,4+j);Write('4-Џ®§Ёжiп       =');writeln(Ff.m);

   gotoxy(30,5+j);Write('5-Ља i­         =');writeln(Ff.co);

   writeln;

 

   j:=j+7;

 

          if ((t mod 3)=0) and (t<>0) then

         begin

         textcolor(12);

         writeln('                                         ENTER ¤«п Їа®¤®ў¦Ґ­­п!!!');

         readln;

         clrscr;

         j:=0;

        end;

    end;

 

 

    end;

    end;

    readln;

    j:=0;

  close(f0);

 

End;

 

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

BEGIN

   begin

grDriver:=Detect;

grPath:='C:/bgi';

InitGraph(grDriver,grMode,grPath);

 

      SetBkColor(12);

      Rectangle(50,50,580,420);

      sl1:='Љ“ђ‘Ћ‚Ђ  ђЋЃЋ’Ђ';

      sl2:='­  ⥬г: IЌ”ЋђЊЂЂ–I‰ЌЋ-ЏЋ˜“ЉЋ‚Ђ ‘€‘’…ЊЂ "”Љ „€ЌЂЊЋ Љ€I‚"';

      sl4:='ђ®§а®ЎЁў';

      sl5:='бв㤥­в  ЈагЇЁ ЉЌ-1-5';

      sl3:='‚iй ­бмЄЁ© Ђ­¤аi©';

      Outtextxy(250,110,sl1);

      Outtextxy(100,200,sl2);

      Outtextxy(410,350,sl3);

      Outtextxy(450,330,sl4);

      Outtextxy(410,340,sl5);

readkey;

TextColor(1);

CloseGraph;

end;

 

    j:=0;

    mm:='G:\ydal';

    mmm:='G:\foot';

    assign(f0,mm);

    repeat

      clrscr;

      {$I-} reset(f0);{$I+}

      if IOresult<>0 then rewrite(f0);

      close(f0);

      textcolor(12);

      writeln;

      writeln;

      writeln;

      writeln;

      writeln;

      writeln('                     ЪДДДДДДДДДДДДДДДД :Њ … Ќ ћ:  ДДДДДДДДДДДДДДДї');

      writeln('                     і                                          і');

      writeln('                     і 1.ЏЋЉЂ‡Ђ’€ ‚‘ћ ЉЋЊЂЌ„“                  і');

      writeln('                     і                                          і');

      writeln('                     і  2.Љ“Џ€’€(„Ћ„Ђ’€) ѓђЂ‚–џ                 і');

      writeln('                     і                                          і');

      writeln('                     і  3.‡‚I‹њЌ€’€(‚€„Ђ‹€’€) ѓђЂ‚–џ            і');

      writeln('                     і                                          і');

      writeln('                     і 4.„ЂЌI ЏЋ ‚ЉЂ‡ЂЌЋЊ“ ѓђЂ‚–ћ (ђ…„Ђѓ“‚Ђ’€) і');

      writeln('                     і                                          і');

      writeln('                     ГДДДДДДДДДДДДДДДДД  Џ®игЄ  ДДДДДДДДДДДДДДДДґ');

      writeln('                     і 5.‡Ђ ЏЋ‡€–I…ћ                           і');

      writeln('                     і  6.‡Ђ ЉђЂIЌЋћ                            і');

      writeln('                     і  7.‡Ђ ‚IЉЋЊ                              і');

      writeln('                     і                                          і');

      writeln('                     і  8.             ‚ € • I „                і');

      writeln('                       ________________________________________  ');

      writeln('                            ______________________________  ');

      writeln;

      writeln;

      writeln;

      writeln;

      writeln;

      write('                                 ‚€Ѓ…ђI’њ Џ“ЌЉ’ Њ…Ќћ: ');

      h:=readkey;

      case h of

        '1': sort;

 

        '2': dobav;

        '3': begin

               writeln;

               write('џЄЁ© ­®¬Ґа § ЇЁбг=');

               read(nom); nom:=nom-1;

               ydal;

             end;

        '4': begin

              writeln;

 

               write('џЄЁ© ­®¬Ґа § ЇЁбг=');

               read(nom); nom:=nom-1;

               redaktor;

        end;

        '5': poshpoz;

        '6': poshpoz2;

        '7': poshpoz3;

        end;

        until h='8';

END.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5. Результати роботи

 

головне меню

 

 

№1

 

 

 

 

№2

 

 

 

№3

 

№4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6. Вимоги до програмно-технічного забезпечення

 

Створений програмний продукт працює на машинах з відповідними мінімальними технічними вимогами: операційна система; частота процесора – 100MHz; ОЗУ- 16Mb; в/карта – 16Mb; 20kb вільного місця на диску. 

 

 

7. Інструкція користувача

 

Для запуску даної  програми потрібно запустити файл ККККК.EXE. Для коректного відображення українських символів потрібно запустити також файл KEYRUS.COM. KEYRUS – це програма, яка завантажує шрифти в відеоадаптери EGA/VGA і забезпечує переключення мови клавіатури. Після завантаження програми з’являється головне меню.

  Вибір пункту меню здійснюється за допомогою вибору пункту користувачем та натисненню ENTER. Щоб вийти з програми потрібно вибрати пункт меню №8.   

При виборі пункту меню №1 відображуються всі записи які відсортовані за номером гравця. Щоб повернутись в головне меню потрібно натиснути клавішу ENTER.

При виборі пункту меню №2 додається новий гравець, після того як ми введемо дані , програма автоматично поверне в головне меню.

При виборі пункту меню №3 видаляється гравець за вказаним номером запису.

При виборі пункту меню №4 виконується редагування певного гравця.

При виборі пункту меню №5 відбувається пошук за вказаною позицією.

При виборі пункту меню №6 відбувається пошук за вказаною країною.

При виборі пункту меню №7 відбувається пошук за віком, користувач вказує вік, потім його запитують вивести гравців 1)Сташих , 2)Менших , 3)За вказаним віком.

При виборі пункту меню №8 відбувається вихід.

Висновки

 

Дана робота була написана на мові програмування Pascal. В роботі була розроблена інформаційно-пошукова система, яка має зручний інтерфейс.

Також може використовуватись  в подальшому (можливо змінена під користувача).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Список використаних джерел

 

  1. В. Семотюк. Програмування в середовищі Турбо Паскаль. Львів: БаК, 2000.
  2. А. Ставровский. Турбо Паскаль 7.0. Учебник. - К.: BHV, 2000.
  3. Т.В. Ковалюк. Основи програмування. Київ: BHV, 2005.



Інформаційно-пошукова система - ФК Динамо Київ