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*
Комментарий*

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

tsatskina857
Милита1065
aquilonis
universal21vek116
Shamsulo
Стародубцева_Васильевич485
a8227775
Апраксин Владимир897
lor005148
nunabat457
yusinelnik8
skvik71672
chuykin
egolopuzenko4253
Amelin-Alipova