М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Callll
Callll
08.12.2022 15:35 •  Информатика

Нужно написать программу которая возводит число(n) в какой то системе счисления(p) в какую то другую (q). (системы счисления до 10) самое главное, не понимаю как перевести число в десятичную систему счисления на паскале(не всю если программу то хотя бы этот цикл по возведению числа в степень) .

👇
Ответ:
DOCTORMOZG
DOCTORMOZG
08.12.2022
Function aToDec(n:string;k:integer):longint;
{ Перевод из системы по основанию k в десятичную }
var
  i:integer;
  pa,s:longint;
begin
  s:=0;
  pa:=1;
  for i:=Length(n) downto 1 do begin
    s:=s+pa*(Ord(n[i])-Ord('0'));
    pa:=pa*k
    end;
  aToDec:=s
end;

function DecToa(n:longint;k:integer):string;
{ Перевод из десятичной системы в систему по основанию k }
var
  s:string;
  c:integer;
begin
  s:='';
  c:=Ord('0');
  while n>0 do begin
    s:=Chr(c+n mod k)+s;
    n:=n div k
    end;
  DecToa:=s
end;

function AtoB(s:string;A,B:integer):string;
{ Перевод из системы по основанию A в систему по основанию B }
begin
  AtoB:=DecToa(aToDec(s,A),B)
end;
    
var
  a,b:integer;
  n:string;
begin
  Write('Число в c/c по основанию [2;10]: '); Readln(n);
  Writeln('Укажите исходное и результирующее основания: ');
  Read(a,b);
  Writeln(n,'(',a,') = ',AtoB(n,a,b),'(',b,')');
end.

Пример решения
Число в c/c по основанию [2;10]: 643342414
Укажите исходное и результирующее основания:
7 9
643342414(7) = 80050347(9)
4,8(52 оценок)
Открыть все ответы
Ответ:
Nina2111
Nina2111
08.12.2022

1 случай - 2 ответ

2 случай - 1 ответ

3 случай - 4 ответ

4 случай - 3 ответ

5 случай - 5 ответ

Объяснение:

Посмотрим на варианты ответа:

в 1 ответе - выводит от 9 до 0

во 2 ответе - выводит от 0 до 10

в 3 ответе - выводит от 2 до 12

в 4 ответе - выводит от 1 до 11(i=0, мы прибавляем 1 к i и принтуем 1)

в 5 ответе - выводит от 2 до 11

В 5 случаях, если посмотреть и подумать, то:

в 1 случае - выводит от 0 до 10

во 2 случае - выводит от 9 до 0

в 3 случае - выводит от 1 до 11

в 4 случае - выводит от 2 до 12

в 5 случае - выводит от 2 до 11

Теперь установим соответствия, думаю, теперь эта задача легче решается)

4,6(63 оценок)
Ответ:
ffff40
ffff40
08.12.2022

Данную задачу можно представить в виде графа для более наглядного решения (см. рисунок 2)

Здесь черные кружки - это пункты  

Красные линии - это возможные пути перехода из одного пункта в другой

Если от одного пункта к другому нет линии, значит нельзя перейти о чем в таблице свидетельствует пустая клетка на перекрестье пунктов в таблице.

на рисунке 1 показано как найти расстояние от B до С или от С до B (направление не имеет разницы)

Для задачи с маленьким количеством пунктов (как в примере) можно воспользоваться простым перебором

следуя от пункта А к пункту Е, складывая длины переходов, тем самым можно найти наименьший.

Например (путь A-B-C-E)

2+1+2=5

путь A-D-C-E

1+3+2=5

пусть A-C-E

5+2=7

Отсюда мы видим что минимальный путь равен 5

Объяснение:


Между населёнными пунктами А, В, С, D, Е построены дороги, протяжённость которых (в километрах) прив
4,4(93 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ