R7981827791127
?>

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

Информатика

Ответы

varvara-kulkova
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)
fixer2006

import random

def magic(n):

   matrix = []

   def sort(array):

       i = 0

       def check(array):

           for j in range(len(array) - 2):

               if array[j] > array[j + 1]:

                   return False

           return True

       while True:

           if array[i] > array[i + 1]:

               max = array[i]

               array[i] = array[i + 1]

               array[i + 1] = max

           i += 1

           if i > len(array) - 2:

               i = 0

           if check(array):

               break

       return array

   def writeMatrix(matrix):

       for arr in matrix:

           print(arr)

   for row in range(n):

       matrix.append([])

       for column in range(n):

           matrix[row].append(random.randint(-50, 50))

   print("Non sorted")

   writeMatrix(matrix)

   print()

   print()

   for arr in matrix:

       arr = sort(arr)

   print("Sorted rows")

   writeMatrix(matrix)  # sorted rows

   column = []

   for arr in matrix:

       column.append(arr[0])

   column = sort(column)

   for j in range(len(column) - 1):

       matrix[j][0] = column[j]

   print()

   print()

   print("Full sorted")

   writeMatrix(matrix)  # sorted rows and columns

def main():

   n = int(input())

   magic(n)      

main()

alex13izmailov

// Первая программа

program One;

var a, b: Integer;

begin

write('Введите числитель: ');

read(a); {ввод числителя}

write('Введите знаменатель: ');

read(b); {ввод знаменателя}

{Правильной называется дробь, у которой модуль числителя меньше модуля знаменателя,

поэтому проверяем это условие}

if abs(a)<abs(b) then

 {Если условие выполняется, то пишем, что дробь правильная}

 writeln('Дробь правильная.')

else

 {В противном случае пишем, что дробь неправильная}

 writeln('Дробь неправильная.')

end.

// Вторая программа

program Two;

var a, b: Integer;

begin

write('Введите первое число: ');

read(a); {ввод первого числа}

write('Введите второе число: ');

read(b); {ввод второго числа}

{Проверить число на делимость можно с операции взятия остатка.

Есть остаток — число нацело не делится; остаток равен 0 -- число делится нацело}

if (a mod b) = 0 then

 {Если остатка нет, то пишем, что первое число делится нацело на второе}

 writeln('Первое число делится на второе.')

else

 {В противном случае пишем, что первое число не делится нацело на второе}

 writeln('Первое число не делится на второе.')

end.

// Третья программа

program Three;

var a, b: Integer;

begin

write('Введите первое число: ');

read(a); {ввод первого числа}

write('Введите второе число: ');

read(b); {ввод второго числа}

{Если второе число меньше первого -- то будем выводить его,

так как в ином случае первое и второе числа равны (и тогда мы можем вывести

любое из них, они ж одинаковые), либо меньшее число -- первое, и мы выведем его}

write('Наименьшее число: ');

if (a > b) then

 {Если второе число меньше первого, его и выводим}

 writeln(b)

else

 {В противном случае выводим первое число}

 writeln(a)

end.  

Объяснение:

Пояснения находятся в фигурных скобках.

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

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

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

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

Mariya694
tyrnaus
Larisa-Andrei
dpolkovnikov
razumeiko0790
Оксана170
morozova4956
kas80
Yelizaveta555
Ruzalina_Svetlana1435
Alekseevich1012
mayorovmisc6
sveremeev816
innaterenina
smakejkina
▲