На рисунке показаны четыре позиции движения мальчика ,танцующего танец. ( ) Создайте программу в Pygame(python), как мальчик танцует танец. Нужен код,и фото того что вышло. Ниже фото четырех позиций движения мальчика.
Задача, аналогичная той, которую публиковали вчера. Только цикл repeat заменяем на while.
Сначала немного математики. О модуле тут смысла нет говорить, поскольку все an - суть положительные величины на интервале (0;1).
uses Crt;
function ai(n:integer):real; var i:integer; p:real; begin p:=1; for i:=n+1 to 2*n do p:=p*i; ai:=1/p end;
var i:integer; eps,s,an:real; begin ClrScr; Write('eps='); Read(eps); s:=0; i:=1; an:=eps+1; while an>=eps do begin an:=ai(i); if an>=eps then begin s:=s+an; Inc(i) end end; Writeln('s=',s); ReadKey end.
Тестовые решения: eps=0.07 s= 5.8333333333E-01
eps=0.000001 s= 5.9229647667E-01
eps=1e-8 s= 5.9229653448E-01
Для контроля результата можно отметить, что сумма первых 1000 членов ряда равна приблизительно 5.922965365Е-01
Если раздражает наличие функции, можно и без нее: uses Crt;
var i,j:integer; eps,s,an,p:real; begin ClrScr; Write('eps='); Read(eps); s:=0; i:=1; an:=eps+1; while an>=eps do begin p:=1; for j:=i+1 to 2*i do p:=p*j; an:=1/p; if an>=eps then begin s:=s+an; Inc(i) end end; Writeln('s=',s); ReadKey end.
Var n,m,osn: integer; function nmbdec(var n,osn: integer): integer; var nmb,l,s,k: integer; begin nmb:=0; s:=0; k:=n; l:=1; while k>0 do begin s:=k mod 10; k:=k div 10; nmb:=nmb+l*s; l:=l*osn; end; Result:=nmb; end; { конец функции} begin write('число: '); readln(n); write('квадрат какого числа: '); readln(m); osn:=10; while osn>=2 do begin osn:=osn-1; if nmbdec(n,osn)=sqr(nmbdec(m,osn)) then begin writeln('основание системы = ',osn); break; end; end; end.
Сначала немного математики.
О модуле тут смысла нет говорить, поскольку все an - суть положительные величины на интервале (0;1).
uses Crt;
function ai(n:integer):real;
var
i:integer;
p:real;
begin
p:=1;
for i:=n+1 to 2*n do p:=p*i;
ai:=1/p
end;
var
i:integer;
eps,s,an:real;
begin
ClrScr;
Write('eps='); Read(eps);
s:=0; i:=1; an:=eps+1;
while an>=eps do begin
an:=ai(i);
if an>=eps then begin s:=s+an; Inc(i) end
end;
Writeln('s=',s);
ReadKey
end.
Тестовые решения:
eps=0.07
s= 5.8333333333E-01
eps=0.000001
s= 5.9229647667E-01
eps=1e-8
s= 5.9229653448E-01
Для контроля результата можно отметить, что сумма первых 1000 членов ряда равна приблизительно 5.922965365Е-01
Если раздражает наличие функции, можно и без нее:
uses Crt;
var
i,j:integer;
eps,s,an,p:real;
begin
ClrScr;
Write('eps='); Read(eps);
s:=0; i:=1; an:=eps+1;
while an>=eps do begin
p:=1;
for j:=i+1 to 2*i do p:=p*j;
an:=1/p;
if an>=eps then begin s:=s+an; Inc(i) end
end;
Writeln('s=',s);
ReadKey
end.