Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Текст программы

Читайте также:
  1. A2.Укажите, в каком значении употребляется в тексте слово «участок» (предложение 4).
  2. C в тексте нет информации
  3. I. Прочитайте и переведите текст.
  4. II. ТЕКСТ И ЕГО ПЕРЕВОД
  5. SPA программы
  6. V. Прочитайте и переведите текст, используя данные ниже слова.
  7. VI. Прочитайте текст еще раз и

Обоснование языка программирования.

Я выбрал Turbo Packal так как у него достаточно простой синтаксис, достаточно низкие аппаратные и системные требования, а также потому что он применим для решения достаточно многих задач по программированию.

 

Текст программы

program bazza;

uses crt;

type baza=record

fam:string[15];

pol:char;

god:string;

zarp:string;

 

end;

label cnova_god,cnova_zarp;

var f:text;

punkt:byte;

bd:baza;

code,v,m:integer;

begin

assign(f,'abc1.txt');

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

if ioresult<>0 then

begin

writeln('Fayla net, sozdat ego');

rewrite(f);

end;

while true do

begin

clrscr;

writeln(' MENU ');

writeln('1:Vvod');

writeln('2:Prosmotr');

writeln('3:Poisk');

writeln('4:Exit');

readln(punkt);

case punkt of

1:begin

rewrite(f);

repeat

begin

write('Vvedite familia I.O. ');

readln(bd.fam);

write('Vvedite pol(m/w) ');

readln(bd.pol);

cnova_god:write('Vvedite god postyplenia na raboty ');

readln(bd.god);

val(bd.god,v,code);

if (code<>0) or (v<1900) or (v>2015) then

begin

textcolor(14);

writeln('Neverno vvedena data ',bd.god);

textcolor(7);

goto cnova_god;

end;

cnova_zarp:write('Vvedite zarplaty ');

readln(bd.zarp);

val(bd.zarp,v,code);

if code<>0 then

begin

textcolor(14);

writeln('Neverno vvedina zarplata ',bd.zarp);

textcolor(7);

goto cnova_zarp;

end;

writeln(f,'|',bd.fam,'|', bd.pol,'|', bd.god,'|', bd.zarp);

writeln('Prodolgit?Da-1,Net-0');

readln(m);

end;

until m=0;

close(f);

end;

begin

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

writeln('|Familya I.O.|Pol|God raboty|Zarplata|');

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

write('|', bd.fam:15,'|');

write(bd.pol:3, '|');

write(bd.god:10,'|');

writeln(bd.zarp:9,'|');

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

readln;

end;

writeln('Poisk');

Exit;

else

writeln('Net takogo punkta');

end;

end;

readln;

end.

 

Задание №2

Разработать приложение для движения эллипса по эллиптическому контуру.

Обоснование языка программирования.

Я выбрал Turbo Packal так как у него достаточно простой синтаксис, достаточно низкие аппаратные и системные требования, а также потому что он применим для решения достаточно многих задач по программированию.

 

Текст программы

Uses Crt, Graph;

Const

Radius = 40;

Var

KEY:CHAR;

grDriver: Integer;

grMode: Integer;

Size: Word;

P: Pointer;

x,y,err,r,i,j,s:integer;

 

procedure zap(x,y,s:integer);

begin

getImage(x-r,y-r,x+r,y+r,P^);

end;

 

procedure vost(x,y,s:integer);

begin

PutImage(x-r, y-r, P^, CopyPut);

end;

 

procedure ellips(x,y,r:integer);

begin

setFillStyle(SolidFill,Blue);

circle(x,y,r);

FloodFill(x,y,1);

end;

 

begin

repeat

 

write('Введите радиус: ');

 

readln(r);

{$I+}

err:=IoResult;

if (err<>0) or (r<=0) or (r>200) then WriteLn('Ошибка');

Until ((err=0) and (r>0) and (r<=200));

randomize;

grDriver:= Detect;

InitGraph(grDriver, grMode,' '

If GraphResult <> grOk then Halt;

ClearDevice;

For j:=0 to 16 do begin

For i:=0 to 16 do begin

setcolor(1);

bar(I*40,J*30,40+I*40,j*30+30);

setfillstyle(1,random(16));

end;

end;

x:=240;y:=320;

Size:=ImageSize(0,0,2*radius,2*radius);

GetMem(P, Size);

s:=0;

zap(x,y,s);

repeat

Key:=readkey;

vost(x,y,s);

 

if ord(key)=0 then begin key:=readkey;

if ord(key)=80 then begin

if y<480-r then begin

y:=y+5;

s:=3;

end;

end;

 

if ord(key)=72 then begin

if y>r then begin

y:=y-5;

s:=1;

end;

end;

 

if ord(key)=75 then begin

if x>r+5 then begin

x:=x-5;

s:=4;

end;

end;

 

if ord(key)=77 then begin

if x<635-r then begin

x:=x+5;

s:=2;

end;

end;

end;

zap(x,y,s);

ellips(x,y,r);

Until ord(key)=27;

FreeMem(P, Size);

readln;

CloseGraph;

end.

 


Дата добавления: 2015-11-30; просмотров: 30 | Нарушение авторских прав



mybiblioteka.su - 2015-2024 год. (0.008 сек.)