В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
User5281
User5281
25.09.2021 12:42 •  Информатика

Определите значение переменной С после выполнения следующего фрагмента программы:
а:=200;
b:=30;
a:=a-b*4;
if a>b then c:=a-b else c:=b-a

Показать ответ
Ответ:
Алшиния
Алшиния
15.07.2020 01:23
   416.32
+ 255.71

   674.23

Поясню, как выполнять сложение в восьмеричной системе счисления (8 с/с). Основание 8 с/с - число 8 - на 2 меньше основания привычной нам десятичной системы. Вследствие этого, в 8 с/с мы переходим к следующему разряду (от единиц к десяткам, от десятков к сотням и т.д.) НА ДВА РАНЬШЕ (потому что, как написано выше, 10-8=2), чем в десятичной.

Что это означает практически? Это означает, что любое число, большее или равное 8, в 8 с/с должно быть УВЕЛИЧЕНО НА 2. Т.е. 2+7 равно не 9, а 9+2=11, 3+9 равно не 12, а 14 и т.п.

Вернемся к исходному примеру. Начинаем с единиц. 2+1=3. Ничего не меняем, пишем 3. 3+7=10, больше 8, поэтому прибавляем 2 и получаем 12. Пишем двойку, а единицу, как обычно при сложении "в столбик", переносим в следующий разряд. 6+5=11, больше 8, прибавляем 2 и получаем 13. Плюс единица, пришедшая из предыдущего разряда, итого 14. 4 пишем, единицу - в следующий разряд. 5+1=6, плюс единица от переноса, итого 7. Меньше 8, поэтому так и пишем. И последнее, 4+2=6, меньше 8, записываем 6. Пример решен.
0,0(0 оценок)
Ответ:
krasilnikovavik
krasilnikovavik
12.09.2020 04:18
Используем достаточно хорошо известный "индийский алгоритм" возведения в степень. Я не буду здесь его приводить из-за достаточно большого объема сопровождающих рассуждений; все легко находится в Интернет по фразе "индийский алгоритм возведения в степень".

function Power(x: double; n: integer): double;
var
  p: double;
  flag: boolean;
begin
  p := 1; flag := true;
  while flag do
  begin
    if odd(n) then p := p * x;
    n := n div 2;
    if n > 0 then x := x * x else flag := false
  end;
  power := p
end;

var
  x: double;
  n: integer;

begin
  Writeln('Введите число и натуральную степень, в которую его надо возвести');
  Readln(x, n);
  Writeln('Результат: ', Power(x, n))
end.

Тестовое решение:
Введите число и натуральную степень, в которую его надо возвести
3.6 11
Результат: 1316217.03842267

Точный результат равен 1316217.03842267136.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота