zakaz1
?>

Исполнитель вычислитель умеет выполнять только две команды: умножать на 2 и прибавить 1. придумайте для него наиболее короткий алгоритм получения из 0 число 50

Информатика

Ответы

moisalexx7
0+1 = 1
1*2 = 2 (или 1+1 = 2)
2+1 = 3
3*2 = 6
6*2 = 12
12*2 = 24
24+1 = 25
25*2 = 50
Darya Aleksei1173
Могу в предложить в данном случае использовать goto и метки. Ну, если вы имеете какой то признак неправильных данных, например, это отрицательные значения (предположим, что это неправильные данные) То на этапе, когда вы вводите эти значения, вы должны поставить условный оператор. Т.е.
if a<0 tnen
begin
Writeln('Вы ввели неверные данные');
goto 1
else
goto 2;
Метку 1 вы ставите в начало алгоритма, т.е. туда, откуда вы хотите начать повторное выполнение программы, а метку 2 поставить в продолжение алгоритма, т.е. на тот случай, если данные были введены верно
natakrechko

var

 a, b, S, c, alpha, betta, gamma, H, P: real;

 x, ar, br, gr: real;{alpha, beta. gamma в радианах}


begin

 write('Введите длины двух сторон треугольника и площадь: ');

 readln(a, b, S);

 x := 2 * S / (a * b);

 if x > 1 then writeln('Такой треугольник невозможен')

 else

 begin

   gr := ArcSin(x);

   c := Sqrt(Sqr(a) + Sqr(b) - 2 * a * b * Cos(gr));

   P := a + b + c;

   ar := ArcSin(a * Sin(gr) / c);

   br := Pi - (ar + gr);

   H := b * Sin(ar);

   alpha := ar * 180 / Pi;

   betta := br * 180 / Pi;

   gamma := 180 - (alpha + betta);

   writeln('Решение треугольника');

   writeln('a=', a, ', b=', b, ', c=', c:0:5);

   writeln('Alpha=', alpha:0:2, ', Betta=', betta:0:2, ', Gamma=', gamma:0:2);

   writeln('P=', P:0:5, ', H=', H:0:5, ', S=', S)

 end

end.


Тестовое решение:


Введите длины двух сторон треугольника и площадь: 3 4 6

Решение треугольника

a=3, b=4, c=5.00000

Alpha=36.87, Betta=53.13, Gamma=90.00

P=12.00000, H=2.40000, S=6

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Исполнитель вычислитель умеет выполнять только две команды: умножать на 2 и прибавить 1. придумайте для него наиболее короткий алгоритм получения из 0 число 50
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Versalmoda
oslopovavera
morozovalexander90
karpachevamarina
shyroshka836103
Goldaram84
Panda062000
mishagoride885
Тоноян
Gennadevich Aleksandr
marinakovyakhova
vladimirkirv
dmitriy
cvetprint
Korikm
▲