Напишите программу, которая переводит переданное её целое число (возможно, отрицательное) в восьмеричный код. Используйте процедуру. ---Входные данные---
Входная строка содержит целое число N .

---Выходные данные---
Программа должна вывести восьмеричное представление переданного её числа.

---ПРИМЕР---
Ввод
55
Вывод
67
Ввод
-78
Вывод
-116
Желательно на Питон или Паскаль с использованием про-це-ду-ры!

Glebforst Glebforst    2   08.12.2020 03:46    238

Ответы
DianaTesl DianaTesl  22.12.2023 08:03
Школьник!:)
Чтобы решить данную задачу, мы можем воспользоваться алгоритмом деления числа на 8 и сохранением остатков. Затем, эти остатки мы записываем в обратном порядке, чтобы получить восьмеричное представление числа.

Давайте составим алгоритм для этой программы.

1. Сначала, нам нужно ввести целое число N с помощью соответствующего вводных инструкций на выбранном языке программирования.

2. Мы создаем процедуру, которая примет введенное число N в качестве аргумента.

3. Внутри процедуры мы создаем переменную-счетчик i и инициализируем ее значением 0.

4. Мы создаем список digits, в который будем сохранять остатки от деления.

5. Затем, мы начинаем цикл, в котором будем делим число N на 8 до тех пор, пока это возможно. Внутри цикла мы выполняем следующие действия:

- Делаем операцию остаток = N % 8, чтобы получить остаток от деления.
- Добавляем полученный остаток в начало списка digits с помощью функции append().
- Делим число N на 8 и сохраняем результат обратно в переменную N.
- Увеличиваем счетчик i на 1.

6. После того, как цикл завершается, мы имеем список digits, содержащий остатки от деления в обратном порядке.

7. Мы применяем функцию join() для объединения всех элементов списка digits в одну строку, с помощью разделителя '' (пустая строка).

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

Давайте реализуем этот алгоритм на языке Python:

```
def convert_to_octal(N):
i = 0
digits = []

while N > 0:
remainder = N % 8
digits.append(str(remainder))
N = N // 8
i += 1

octal_number = ''.join(digits[::-1])
return octal_number

N = int(input("Введите целое число: "))
octal = convert_to_octal(N)
print("Восьмеричное представление числа:", octal)
```

Данный код сначала вводит целое число N с помощью функции input(). Затем он вызывает процедуру convert_to_octal() с аргументом N. Результат выполнения процедуры записывается в переменную octal. Наконец, он выводит полученное восьмеричное представление числа на экран с помощью функции print().

Теперь наша программа будет переводить введенное целое число в восьмеричный код и выводить полученное представление на экран.

Вот таким образом можно решить данную задачу на языке программирования Python. Если нужна реализация на языке Pascal, пожалуйста, напиши об этом и я буду рад помочь!
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика