русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Приклад програми


Дата додавання: 2014-11-28; переглядів: 810.


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

uses crt;

type toy=record { тип запису, що мiстить назву}

titl:string; {цiну та вiковi межi }

price:Integer;

age:integer;

end;

 

mas=array[1..20] of toy;

var a:mas; { заданий масив записiв }

f:file of mas; { заданий файл }

w,i1,l,J,k,i:integer; { робочi змiннi)

t:toy; {тимчасовий запис}

s:char; {змiнна для закiнчення вводу}

{ процедура вводу}

procedure vvod_1;

begin

writeln(' Створення бази:');

i:=0;

repeat {поки не натиснута клавiша 'n'}

clrscr;

i:=i+1;

with a[i] do begin

gotoxy(10,6);write('title of toy '); readln(titl);

gotoxy(10,8);write('price '); readln(price);

gotoxy(10,10);write('children age '); readln(age);

end;

writeln('continue? y/n');

s:=readkey;

until s='n';

i1:=i;

end;

procedure file_input;

begin

assign(f,'lab5_1.dat');

reset(f);

i:=0;

while not eof(f) do begin

i:=i+1;

with a[i] do read(f,a);

end;

i1:=i;

close(f);

end;

 

procedure file_output;

begin

assign(f,'lab5_1.dat');

rewrite(f);

for i:=1 to i1 do begin

with a[i] do write(f,a);

end;

close(f);

end;

 

procedure vvod_2;

begin

writeln('Доповнення бази:');

i:=i1;

repeat {поки не натиснута клавiша 'n'}

clrscr;

i:=i+1;

with a[i] do begin

gotoxy(10,6);write('title of toy '); readln(titl);

gotoxy(10,8);write('price '); readln(price);

gotoxy(10,10);write('children age '); readln(age);

end;

writeln('continue? y/n');

s:=readkey;

until s='n';

i1:=i;

end;

{--------вивiд на екран------}

procedure vivod;

begin

clrscr;

writeln('n-------Name--------price---age----');

for j:=1 to i1 do

begin

gotoxy(5,5+j); write(j:4);

with a[j] do

{для кожного запису вивести}

begin

gotoxy(10,5+j); write(titl);

gotoXY(20,5+j); write(price);

gotoXY(30,5+j); write(age);

end;

writeln;

end;

end;

procedure del;

begin

write('n=');readln(j);

for i:= j to i1-1 do a[i]:=a[i+1];

i1:=i1-1;

end;

procedure insert;

begin

write('n=');readln(j);

for i:= i1 downto j do a[i+1]:=a[i];

i1:=i1+1;

with a[j] do begin

clrscr;

gotoxy(10,6);write('title of toy '); readln(titl);

gotoxy(10,8);write('price '); readln(price);

gotoxy(10,10);write('children age '); readln(age);

end;

end;

 

procedure sort;

var

t:toy;

begin

for i:= 1 to i1-1 do

for j:= i+1 to i1 do

if a[i].titl>a[j].titl then begin

t:=a[i];

a[i]:=a[j];

a[j]:=t;

end;

end;

label 1;

begin {головна програма }

clrscr;

gotoxy(30,7);writeln('lab. work S.I');

gotoxy(30,8);writeln('varlant N30,student ');

i1:=0;

gotoxy(30,10);write('файл є-1 , немає-0');

readln(w);

if w=1 then file_input;

1:clrscr;

gotoxy(30,9);writeln(' головне меню');

gotoxy(30,10);writeln('----------------------------');

if i1=0 then begin gotoxy(30,11);writeln(' створення бази -0');end;

if i1<>0 then begin gotoxy(30,12);writeln('доповнення бази -1');

gotoxy(30,13);writeln('перегляд бази -2');

gotoxy(30,14);writeln('вилучення елемента бази -3');

gotoxy(30,15);writeln('вставка елемента бази -4');

gotoxy(30,16);writeln('упорядкування бази за ім'ям -5');

gotoxy(30,17);writeln('запис бази на диск -6');

gotoxy(30,18);writeln('вихід з програми (запис бази на диск) -7');

gotoxy(30,19);writeln('віихід з програми (без запису бази на диск -8');end;

readln(w);

case w of

0: begin vvod_1; vivod; file_output; readln; end;

1: begin vvod_2; vivod; readln; end;

2: begin vivod; readln;end;

3: begin vivod; del; vivod;readln; end;

4: begin vivod;insert; vivod;readln;end;

5: begin sort; vivod; readln;end;

6: begin file_output; end;

7: begin file_output;halt;end;

8: begin halt;end;

end;

goto 1;

end.

 


<== попередня лекція | наступна лекція ==>
Типізовані файли | Варіанти завдань ЛАБОРАТОРНОЇ РОБОТИ


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн