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

Написать процедуру и функцию преобразования положительного десятичного числа, в восьмеричное. в основной программе ввести массив из 8 элементов при случайных чисел, и для каждого элемента массива вывести его восьмеричное представление

👇
Ответ:
314159026
314159026
04.11.2022
Function Dec2Oct(n: integer): string;
var
  c, s: string;
  iquo, irem: integer;
begin
  s := '';
  iquo := n;
  while iquo <> 0 do
  begin
    irem := iquo mod 8;
    iquo := iquo div 8;
    Str(irem, c);
    s := c + s
  end;
  if Length(s) = 0 then Result := '0'
  else Result := s
end;

var
  m: array[1..8] of integer;
  i: integer;

begin
  Randomize;
  for i := 1 to 8 do
  begin
    m[i] := Random(10000);
    writeln(m[i]:5, '(10)=', Dec2Oct(m[i]), '(8)')
  end
end.

Тестовое решение:

  973(10)=1715(8)
 7245(10)=16115(8)
 2511(10)=4717(8)
 5136(10)=12020(8)
 8002(10)=17502(8)
 7101(10)=15675(8)
 4277(10)=10265(8)
 5916(10)=13434(8)

Если вместо функции нужна процедура, достаточно заменить несколько строчек.

procedure Dec2Oct(n: integer; s: string);
var
  c: string;
  iquo, irem: integer;
begin
  s := '';
  iquo := n;
  while iquo <> 0 do
  begin
    irem := iquo mod 8;
    iquo := iquo div 8;
    Str(irem, c);
    s := c + s
  end;
  if Length(s) = 0 then s := '0'
end;
4,5(93 оценок)
Открыть все ответы
Ответ:

ответ: Вот правильный (не уверен, но большинство ошибок думаю я исправил)

program dex;

uses

   ctr;

var ck,ct,summa:real;

     k,t:byte ;

begin

   writeln('Skolko kupili karandashei??');

   readln(t);  

   writeln('Skolko stoit odin karandash??');

   readln(ck);

   writeln('Skolko kupili tetradei??') ;

   readln(t);

   writeln('Skolko stoit odna tetrad??);

   readln(ct);

   summa:=k+ck+t*ct;

   writeln ('summa pokupki = ',summa:6:2 ' rub.');

   readln;

end.

я хз почему тут нужен модуль ctr

4,6(51 оценок)
Ответ:
Yanaaa13
Yanaaa13
04.11.2022
Вот тебе простой вариант ришение задачи (коментар=пояснение)

PascalВыделить код

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16  program prg;  uses crt;  var  rez,chislo,min,max:integer;  begin  Write('Enter number =  ');readln(chislo);                 //zanosim 1 chislo  max:=chislo;                                              //v max ta min  min:=chislo;                                              //chtobu potom mu soukb sravnivat s drugimi chislamu  while (chislo<>0) do                                      //zapuskaem zikl poka mu ne napishem 0  begin   if (chislo>max)then max:=chislo;                         //sravnivaem s max   if (chislo<min) then min:=chislo;                        //sravnivaem s min   readln(chislo);                                          //snova pihem chislo   end;   rez:=(max-min);                                          //nahodim raznizy   writeln('max(',max,') - min(',min,') = ',rez);           //otvet end.
4,6(18 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ