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

Уменя в выдает ответ с 0 (0008). : перевод из десятичной системы в восьмеричную в паскале, используя while. найдите ошибку. program zad3; var n, k: integer; begin read(n); while n > 0 do begin k : = 64; write (n div k); write (n mod 8); n: =n div 8; n: = n mod k; k: =k div 8; end; end.

Показать ответ
Ответ:
vikapataeva
vikapataeva
03.10.2020 12:53
Исправил некоторые строки, добавил массив. Вот что вышло.
program zad3;
var
n,i,k: integer;
mas :array [1..20] of integer;
begin
read(n);
i:=1;
while n > 0 do
begin
mas[i]:=n mod 8;
n:=n div 8;
i:=i+1;
k:=k+1;
end;
  for i:=k downto 1 do write(mas[i])
end.
0,0(0 оценок)
Ответ:
GTmoonsoonall
GTmoonsoonall
03.10.2020 12:53
Можно вот так:
program zad3;
var
n, k, m: integer;
begin
write('n = ');
readln(n);
k:=1;
while k<=n do k:=k*8;
k:=k div 8;
m:=n;
while m > 7 do
begin
write (m div k);
m:=m mod k;
k:=k div 8;
end;
writeln(n mod 8);
end.

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