Нарисуйте на экране дисплея флаги государств. - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

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

Решение задачи: «Нарисуйте на экране дисплея флаги государств.»

textual
Листинг программы
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.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.818 из 5
Похожие ответы