Нарисуйте на экране дисплея флаги государств. - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д