Вопрос задан 07.11.2023 в 13:26. Предмет Информатика. Спрашивает Кокорин Егор.

Составить программу для перевода чисел из девятиничной системы счисления в десятиричную. Pascal

ABC. Дам 50 баллов
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Франт Діана.

Ответ:

var

 s: string;

 i,b,a: integer;

 d,k: double;

 f,e: boolean;

 c: char;

 

begin

 Write('Введите основание системы: ');

 ReadLn(b);

 e:=b<=1;

 if e then

   WriteLn('Ошибка: основание системы должно быть не менее 2')

 else begin

   Write('Введите число в системе с основанием ',b,': ');

   ReadLn(s);

   f:=false;

   k:=1;

   for i:=1 to Length(s) do begin

     if f then k:=k/b;

     c:=UpCase(s[i]);

     a:=-1;

     case c of

       '0'..'9': a:=Ord(c)-48;

       'A'..'Z': a:=Ord(c)-55;

       '.',',': if f then e:=true else f:=true;

       else f:=true

     end;

     e:=e or (a>=b);

     if e then break;

     if a>=0 then d:=d*b+a

   end;

   if e then

     WriteLn('Ошибка в записи числа')

   else

     WriteLn('Значение в десятичной системе: ',d*k)

 end;

 Readln;

end.

Может так?

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, я могу помочь вам написать программу на языке Pascal ABC для перевода чисел из девятиничной системы счисления в десятичную систему. Для этой программы мы будем использовать следующий алгоритм:

1. Введите девятиничное число как строку. 2. Начните справа и перебирайте символы числа справа налево. 3. Для каждого символа, умножьте его значение на 9 в степени, равной позиции символа (начиная с 0). 4. Суммируйте все полученные значения.

Вот пример программы на Pascal ABC, реализующей этот алгоритм:

```pascal program NineToDecimalConversion; var nineNum: string; decimalNum, multiplier, i: integer; begin writeln('Введите девятиничное число: '); readln(nineNum); decimalNum := 0; multiplier := 1; // Начальное значение множителя

// Перебираем символы числа справа налево for i := length(nineNum) downTo 1 do begin // Преобразование символа в число и умножение на множитель decimalNum := decimalNum + (ord(nineNum[i]) - ord('0')) * multiplier; multiplier := multiplier * 9; // Увеличиваем множитель end;

writeln('Десятичное представление: ', decimalNum); end. ```

Эта программа сначала запрашивает у пользователя девятиничное число, затем использует цикл для перевода этого числа в десятичное представление. Результат выводится на экран.

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

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос