Var a,b,c:integer; begin write('Введите число '); readln(a); b:=1; c:=1; while c<=a do begin b:=b*c; c:=c+1 end; write('Факториал числа ',a,' равен ',b) end.
marinamarinyuk39
13.06.2022
Uses Graph, CRT; var d,r,r1,r2,rr,k, x1,y1,x2,y2,x01,y01: Integer; Xasp,Yasp : Word;
begin {Инициируем графику} d := detect; InitGraph(d, r, ' ') ; k:= GraphResult; if k <> grOK then WriteLn(GraphErrorMSG(k)) else begin {Определяем отношение сторон и размеры экрана} x1 := GetMaxX div 2; y1 := GetMaxY div 2; GetAspectRatio(Xasp, Yasp);
{Готовим вывод стрелок} SetWriteMode(XORPut); SetLineStyle(SolidLn,0,ThickWidth); r := 0; {Счетчик минут в одном часе}
{Цикл вывода стрелок} repeat for k := 0 to 59 do {k = минуты} if not KeyPressed then begin {Координаты часовой стрелки} x2 := x1+Round(0.85*r1*sin(2*pi*r/60/12)); y2 := y1-Round(0.85*r1*Xasp*cos(2*pi*r/60/12)/Yasp);
{Изображаем стрелки} Line(x1,y1,x2,y2); Line(x1,y1,x01,y01); Delay(100); {Для имитации реального темпа нужно установить задержку 60000} {Для удаления стрелок выводим их еще раз!} Line(x1,y1,x01,y01); Line (x1,y1,x01,y01 ) ;
{Наращиваем и корректируем счетчик минут в часе} inc(r); if r=12*60 then r := 0 end until KeyPressed; if ReadKey=#0 then k:=ord(ReadKey); CloseGraph; end end.
begin
write('Введите число ');
readln(a);
b:=1;
c:=1;
while c<=a do
begin
b:=b*c;
c:=c+1
end;
write('Факториал числа ',a,' равен ',b)
end.