Разработайте блок-схему и код программы, которая будет вычислять сумму цифр алфавита 8-ричной системы счисления через массив ​

1миллионДаша11 1миллионДаша11    2   13.12.2020 17:55    110

Ответы
eldos4 eldos4  21.12.2023 06:30
Для того чтобы решить данную задачу, нам потребуется разработать блок-схему и написать код программы на выбранном языке программирования. В данном случае мы воспользуемся языком Python.

Блок-схема программы:
```
+-----------------------+
| Ввод числа в восьмеричной системе |
+-----------------------+
|
v
+------------------+ Деление числа на 10 +-----------------+
| вернуть остаток от| --------------------> сохранить остаток |
| деления на 10 | +-----------------+
+------------------+
|
v
+-----------------------+ Проверка остатка 8 и добавление в массив +-----------------+
| Если остаток = 8,9,10 | ----------------------------------------> добавление 10 |
| или | | в массив и пере-|
| остаток = 11,12,13,14 | | ход на следу- |
| | Иначе перевести остаток в десятичную сист. | ющую итерацию |
+-----------------------+ ----------------------------------------+-----------------+
|
v
+----------------------+
| Подсчёт суммы |
| цифр в десятичной |
| системе счисления |
+----------------------+
|
v
+----------------------+
| Вывод результата |
+----------------------+
```
Код программы на языке Python:
```python
def sum_of_digits(num):
digits_sum = 0

while num > 0:
remainder = num % 10
if remainder in [8, 9, 10, 11, 12, 13, 14]:
remainder = chr(ord('A') + remainder - 10)
digits_sum += int(remainder)
num //= 10

return digits_sum

num_octal = int(input("Введите число в восьмеричной системе счисления: "))
sum_digits = sum_of_digits(num_octal)
print("Сумма цифр в восьмеричной системе счисления:", sum_digits)
```

Пояснение кода:
1. В функции `sum_of_digits` мы объявляем переменную `digits_sum`, которая будет хранить сумму цифр.
2. Затем в цикле `while` проходим по числу `num`, пока оно больше 0.
3. Внутри цикла мы находим остаток от деления числа на 10, сохраняем его в переменную `remainder`.
4. Затем мы проверяем, является ли остаток одним из значений 8, 9, 10, 11, 12, 13, 14. Если да, то мы преобразуем его в символ от 'A' до 'E' и добавляем в сумму цифр. Иначе, мы преобразуем остаток в целое число и также добавляем в сумму цифр.
5. После этого мы делим число `num` на 10 с помощью оператора `//=`, чтобы перейти к следующей цифре.
6. Полученная сумма цифр в десятичной системе счисления сохраняется в переменную `digits_sum`.
8. Затем мы выводим результат на экран.

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