Система счисления программирование. Система счисления. Архитектура эвм
Скачать 163.08 Kb.
|
Федеральное государственное бюджетное образовательное учреждение высшего образования «Алтайский государственный технический университет им. И.И. Ползунова» Факультет информационных технологий Кафедра Информационные системы в экономике Отчёт защищен с оценкой____________ __________________ _______________ (подпись) (Ф.И.О.) “_____”_______________________202_г. Отчет по лабораторной работе № 4 Системы счисления. Правила перевода целых чиселиз разных систем счисления. (тема лабораторной работы) по дисциплине «Архитектура ЭВМ» Выполнил: ст. гр. ПИЭ-01 Е. С. Злобин Проверил: ст. преподаватель каф. ИСЭ Л. Ю. Томашева Барнаул 2020 Цель работы Выработать навыки по работе с числами в различных системах счисления. 2. Предмет и содержание работы Лабораторная работа направлена на закрепление навыков по переводу дробных чисел из одной системы счисления в другую и осуществления арифметических операций. 3. Задачи лабораторной работы 3.1 Закрепить алгоритмы, изученные на лекции, по переводу из одной системы счисления в другую. 3.2 Научиться осуществлять перевод с помощью: триад, тетрад, через деление на основание. 3.3 Научиться транслировать правила перевода и выполнения арифметических операций в алгоритмы компьютерных программ. 3.4 Овладеть практическими навыками выполнения арифметических операций в недесятичных системах счисления. 4. Оборудование, технические и программные средства 4.1 Персональный компьютер. 4.2 Язык программирования. 4.3 Текстовый редактор На рисунке 1 представлена блок схема программы по переводу чисел из 19, 10 и 16-ричной систем счисления Рисунок 1 – Блок схема программы перевода «СС» Реализация алгоритма происходила на языке Python. Код программы q = list(input("Введите число в 19-ричной СС: ")) a = ['J','K','L','M','N','O','P','Q','R','S', 'T', 'U', 'V', 'Y', 'Z'] for i in range(len(q)): for j in range(len(a)): if q[i] == a[j]: print("Вы ввели неверный символ") exit(0) b = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'] g = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E','F'] s = 0 for i in range(len(q)): p = 0 p = int(b.index(q[i]) * 19 ** (len(q) - 1 - i)) s += p print("Число в десятичной СС:", s) mas = [] while s > 16: q = s // 16 os = s % 16 s = os mas.append(g[s]) s = q mas.append(g[s]) mas.reverse() print("Число в 16-ричной СС: ", ''.join(mas)) Для начала проверим работоспособность функции защиты от ввода не допустимых символов. Для этого введем числа, которые выходят за предел обозначения 19-ричной СС, а затем когда программа предложит нам ввод числа, оставим пустое поле, результат этих действий отображен на рисунке 2-4 Рисунок 2 – Вывод ошибки на ввод недопустимого числа «J» Рисунок 3 – Вывод ошибки на ввод недопустимого числа «KMML» Рисунок 4 – Вывод ошибки на пустое поле Введем правильные значения, и мы увидим что данная программа переводит числа из одной системы счисления в другую, примеры отображены на рисунке 5-7 Рисунок 5 – Пример ввода значения «AA» в 19 СС Рисунок 6 – Пример ввода значения «5» в 19 СС Рисунок 7 – Пример ввода значения «GHI» в 19 СС |