Нарисовать на экране дисплея: а)российский флаг (горизонтальные полосы: белая, синяя, красная — одинаковой ширины)так, чтобы размеры и место на экране вводились с клавиатуры — Pascal(Паскаль)

uses crt,graph;
var xc,yc,wf,hf,d,w,gd,gm:integer;
begin
clrscr;
repeat
writeln('Koordinaty levogo verhnego ugla flaga [10..300,10..200]:');
readln(xc,yc);
until((xc>=10)and(xc<=300))and(yc in [10..200]);
repeat
writeln('Shirina flaga [10..200] = ');
readln(hf);
until hf in [10..200];
wf:=2*hf;
repeat
clrscr;
writeln('Flag gosudarstva:');
writeln('1 - Rossia');
writeln('2 - Francia');
writeln('3 - Yaponia');
writeln('4 - vyhod');
repeat
readln(w);
until w in [1..4];
gd:=0;
initgraph(gd,gm,'');
case w of
1:begin
  d:=hf div 3;
  setfillstyle(1,15);
  bar(xc,yc,xc+wf,yc+d);
  setfillstyle(1,9);
  bar(xc,yc+d,xc+wf,yc+2*d);
  setfillstyle(1,12);
  bar(xc,yc+2*d,xc+wf,yc+hf);
  readln;
  restorecrtmode;
  end;
2:begin
  d:=wf div 3;
  setfillstyle(1,9);
  bar(xc,yc,xc+d,yc+hf);
  setfillstyle(1,15);
  bar(xc+d,yc,xc+2*d,yc+hf);
  setfillstyle(1,12);
  bar(xc+2*d,yc,xc+wf,yc+hf);
  readln;
  restorecrtmode;
  end;
3:begin
  setfillstyle(1,15);
  bar(xc,yc,xc+wf,yc+hf);
  setfillstyle(1,12);
  fillellipse(xc+wf div 2,yc+hf div 2,hf div 4,hf div 4);
  readln;
  restorecrtmode;
  end;
4:exit;
end;
until w=4;
end.

Leave a Comment

74 + = 76