Предмет: Информатика,
автор: iamigor
помогите плиз с задачей
Приложения:
Ответы
Автор ответа:
0
var n,m,p,q,r: integer;
h: real;
begin
write('число часов m и число минут n через пробел: ');
readln(m,n);
m:=m mod 12;
p:=m; r:=n;
h:=m*5+n/12;
// когда стрелки совпадут
q:=0;
repeat
n:=(n+1) mod 60;
h:=h+1/12;
m:=round(h) mod 60;
inc(q);
until n=m;
if q>64 then q:=0;
writeln('стрелки совпадут через ',q,' мин.');
// когда стрелки станут перпендикулярны
h:=p*5+r/12;
n:=r; p:=0;
repeat
n:=(n+1) mod 60;
h:=h+1/12;
m:=round(h) mod 60;
inc(p);
until abs(m-n)=15;
if p>30 then p:=0;
writeln('стрелки перпендикулярны через ',p,' мин.');
end.
число часов m и число минут n через пробел: 11 14
стрелки совпадут через 46 мин.
стрелки перпендикулярны через 30 мин.
число часов m и число минут n через пробел: 3 15
стрелки совпадут через 1 мин.
стрелки перпендикулярны через 18 мин.
h: real;
begin
write('число часов m и число минут n через пробел: ');
readln(m,n);
m:=m mod 12;
p:=m; r:=n;
h:=m*5+n/12;
// когда стрелки совпадут
q:=0;
repeat
n:=(n+1) mod 60;
h:=h+1/12;
m:=round(h) mod 60;
inc(q);
until n=m;
if q>64 then q:=0;
writeln('стрелки совпадут через ',q,' мин.');
// когда стрелки станут перпендикулярны
h:=p*5+r/12;
n:=r; p:=0;
repeat
n:=(n+1) mod 60;
h:=h+1/12;
m:=round(h) mod 60;
inc(p);
until abs(m-n)=15;
if p>30 then p:=0;
writeln('стрелки перпендикулярны через ',p,' мин.');
end.
число часов m и число минут n через пробел: 11 14
стрелки совпадут через 46 мин.
стрелки перпендикулярны через 30 мин.
число часов m и число минут n через пробел: 3 15
стрелки совпадут через 1 мин.
стрелки перпендикулярны через 18 мин.
srzontmp:
Не доработана программа. Измененная ниже.
h: real;
begin
write('число часов m и число минут n через пробел: ');
readln(m,n);
m:=m+n div 60;
n:=n mod 60;
m:=m mod 12;
p:=m; r:=n;
h:=m*5+n/12;
// когда стрелки совпадут
q:=0;
repeat
if round(h)=n then break;
inc(n);
h:=h+1/12;
m:=round(h);
inc(q);
until (n mod 60)=(m mod 60);
writeln('стрелки совпадут через ',q,' мин.');
h:=p*5+r/12;
n:=r; p:=0;
repeat
if (abs(round(h)-n)=15) or
(abs(round(h)-n)=45) then break;
inc(n);
h:=h+1/12;
m:=round(h);
inc(p);
until (abs(m-n)=15) or (abs(m-n)=45);
writeln('стрелки перпендикулярны через ',p,' мин.');
end.
Похожие вопросы
Предмет: Математика,
автор: alizhantiktok
Предмет: Геометрия,
автор: emelyask
Предмет: Українська мова,
автор: myneffoswsx12345
Предмет: Физика,
автор: знайкa
Предмет: Математика,
автор: nadaelovsyo