Напишите программу, которая переводит переданное её целое число (возможно, отрицательное) в восьмеричный код. Используйте процедуру. ---Входные данные---
Входная строка содержит целое число N .
---Выходные данные---
Программа должна вывести восьмеричное представление переданного её числа.
---ПРИМЕР---
Ввод
55
Вывод
67
Ввод
-78
Вывод
-116
Желательно на Питон или Паскаль с использованием про-це-ду-ры!
Чтобы решить данную задачу, мы можем воспользоваться алгоритмом деления числа на 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, пожалуйста, напиши об этом и я буду рад помочь!