Предмет: Программирование. Добавлен: 11.06.2020. Год: 2019. Страниц: 35. Оригинальность по antiplagiat.ru: < 30% |
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «АЛТАЙСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ» Колледж Алтайского государственного университета Отделение экономики и информационных технологий КУРСОВАЯ РАБОТА по дисциплине «Основы алгоритмизации и программирование» РАЗРАБОТКА ПРОГРАММЫ ДЛЯ ПРЕОБРАЗОВАНИЯ ЧИСЕЛ В РАЗЛИЧНЫЕ СИСТЕМЫ СЧИСЛЕНИЯ Выполнил: студент 272а-сп группы ___ (подпись) Барнаул 2019 СОДЕРЖАНИЕ ВВЕДЕНИЕМ 3 ГЛАВА 1 СИСТЕМЫ СЧИСЛЕНИЯ 4 1.1 Основные понятия 4 1.2 Развитие систем счисления 5 1.3 Алгоритмы перевода числе из оной системы счисления в другую 8 1.4 Анализ имеющихся программных средств для перевода чисел из одной системы счисления в другую 10 ГЛАВА 2 ПРОГРАММА ДЛЯ ПЕРЕВОДА ЧИСЕЛ ИЗ ОДНОЙ СИСТЕМЫ СЧИСЛЕНИЯ В ДРУГУЮ 12 2.1 Выбор методологии разработки программного обеспечения 12 2.2 Описание выбранного языка программирования 16 2.3 Программа для перевода чисел из одной системы счисления в другую 17 2.4 Тестирование 22 ЗАКЛЮЧЕНИЕ 23 СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ ЛИТЕРАТУРЫ 24 ВВЕДЕНИЕ Актуальность темы Цель – разработать программный продукт для перевода чисел из одной системы счисления в другую. Задачи: 1 – исследовать системы счисления и алгоритмы перевода чисел из одной системы счисления в другую. 2 – провести анализ имеющихся программных продуктов. 3 – сделать выводы и разработать концепцию своего программного продукта. 4 – реализовать свой программный продукт в среде программирования. Структура работы. Курсовая работа состоит из введения и двух глав. В первой главе будет проведено исследование систем счисления и алгоритмов перевода числе из одной системы счисления в другую, проанализированы имеющиеся программы для перевода числе из одной системы счисления в другую. Во второй главе будет выбрана методология проектирования, описан выбранный язык программирования. Подробно описана программа: ее назначение, входные и выходные данные, интерфейс, функции, а также программа будет протестирована. ? ГЛАВА 1 СИСТЕМЫ СЧИСЛЕНИЯ 1.1 Основные понятия Система счисления – это символический метод записи чисел, представление чисел с помощью численных знаков. Система счисления: – даёт представления множества чисел (целых и/или вещественных); – даёт каждому числу уникальное представление (или, по крайней мере, стандартное представление); – отражает алгебраическую и арифметическую структуру чисел. Системы счисления можно разделить на позиционные и непозиционные. Непозиционные системы счисления – это системы счисления, в которых значения символа (цифры) всегда одинаково и не зависит от его положения в числе. Примером непозиционной системы счисления является римская система счисления, в которой для записи чисел используются латинские буквы, одна и та же буква имеет одно и тоже значение. Так в числе «III» (три) три одинаковых символа «I» и каждый обозначает единицу. В позиционных системах счисления значения символа (цифры) зависит от его положения в числе, от разряда в котором символ стоит. Например, в десятичной позиционной системе счисления в числе «111» так же три символа «1» обозначающих единицу, но в зависимости от разрядов в которых они стоят они обозначают «1», «10» и «100». 1.2 Развитие систем счисления Самой первой системой счисления любого народа, овладевшего счетом была унарная (единичная) система счисления. В единичной системе всего один символ для записи числе (цифра) и любое число записывается соответствующим количеством этих символов. Одной из самых древних и первой позиционной системой счисления была шестидесятеричная система счисления изобретенная шумерами в III тысячелетии до н. э. Шумер древняя, а возможно самая древняя цивилизация, которая располагалась в южной Месопотамии (южная часть современного Ирака) Ее унаследовали Вавилоняне, создавшие во втором тысячелетии до н. э. вавилонские цифры В этой системе для записи чисел использовались всего два символа: прямой клин для обозначения единиц и лежачий клин для обозначения десятков внутри шестидесятеричного разряда. Рисунок 1. Вавилонские цифры Вначале нуля не было, что приводило к неоднозначной записи чисел, и об их значении приходилось догадываться по контексту. Позже (между VI и III веком до нашей эры) появилось обозначение «нуля» Примерно в это же время, во второй половине третьего тысячелетия до н. э., в Древнем Египте возникла десятичная непозиционная система счисления, которая использовалась египтянами вплоть до X века н. э.. В этой системе счисления было семь знаков для записи чисел: прямая черта для обозначения единицы, пятка для обозначения десяти, петля веревки для обозначения сотни, кувшинка (лотос) для обозначения тысячи, палец для обозначения десяти тысяч, жаба (личинка) для обозначения ста тысяч и человек с поднятыми вверх руками для обозначения миллиона. Числа записывались с помощью комбинации этих символов. Рисунок 2. Египетские цифры Похожую систему счисления использовали в быту индейцы Майя, но для календарных, астрономических и архитектурных расчетов у них была двадцатеричная позиционная система счисления. В этой системе было три символа для записи числе: пустая ракушка для обозначения нуля, точка для обозначения единицы и горизонтальная черта для обозначения пяти. Числа так же записывались комбинацией этих символов. Рисунок 3. Цифры Майя Около 500 лет до н. э. у этрусков появились римские цифры. Эти цифры использовались римлянами в их непозиционной системе счисления. В качестве символов для записи чисел использовались латинские буквы: I 1 V 5 X 10 C 100 D 500 M 1000 Таблица 1. – Римские цифры Числа записывались комбинацией этих символов. При этом, , если большая цифра стоит перед меньшей, то они складываются (принцип сложения), если же меньшая стоит перед большей, то меньшая вычитается из большей (принцип вычитания). Самая распространенная в мире система счисления – десятичная. Она зародилась в Индии не позднее V века. Тогда же было открыто и формализовано понятие нуля. Из индии десятичная система попала в арабские страны где получила широкое распространение, а индийские цифры видоизменили и приспособили для арабского числа. Так появились арабские цифры, которые позже попали в Европу. Десятичные цифры продолжали изменяться и со временем стали такими, какими мы используем их сейчас. Но десятичная система счисления не единственная система, которую люди используют сейчас. В компьютерной технике очень часто используется двоичная система счисления. Такую систему очень легко реализовать в электронике (полупроводниковые транзисторы и микросхемы), так как для неё требуется всего два устойчивых состояния (0 и 1). Двоичная система счисления может быть непозиционной и позиционной системой. В ней используется две цифры: 0 и 1. В реальном устройстве это может быть реализовано присутствием какого-либо физического явления или его отсутствием. Например: есть электрический заряд или его нет, есть напряжение или нет, есть ток или нет, есть сопротивление или нет, отражает свет или нет, намагничено или не намагничено, есть отверстие или нет и т.п. Недостаток двоичной системы в очень большом количестве разрядов, а так как люди не привыкли работать с большим количеством цифр были придуманы восьмиричная и шестнадцатеричная системы счисления. Они удобны как и десятичные числа тем, что для представления числа требуется меньшее количество разрядов. А по сравнению с десятичными числами, перевод в двоичное представление очень простой. 1.3 Алгоритмы перевода числе из оной системы счисления в другую. Перевод числа из одной системы в другую выполняется по универсальному алгоритму, заключающемуся в последовательном делении целой части числа и образующихся целых частных на основание новой системы счисления, записанное в исходной системе счисления, и в последующем умножении дробной части и дробных частей получающихся произведений на то же основание, записанное в исходной системе счисления. При переводе целой части получающиеся в процессе последовательного деления остатки представляют цифры целой части числа в новой системе счисления, записанные цифрами исходной системы счисления. Последний остаток является старшей цифрой переведенного числа. При переводе дробной части числа целые части чисел, получающихся при умножении, не участвуют в последующих умножениях. Они представляют собой цифры дробной части исходного числа в новой системе счисления, изображенные числами старой системы. Значение первой целой части является первой цифрой после запятой переведенного числа. Пример перевода числа 5.525 из десятичной системы счисления в двоичную показан на рисунке 4. Рисунок 4. Пример перевода числа 5.625 из десятичной системы счисления в двоичную. При переводе чисел из любой системы счисления в десятичную удобнее пользоваться формулой: X_s=A_n*S^(n-1)+A_( -1)*S^(n-2)+A_(n-2)* ^(n-3)+...+A_2*S^1+A_1 S^0 (1) где S – основание системы счисления; An – цифры числа, записанного в данной системе счисления; n – количество разрядов числа. Пример перевода числа 101.101 из двоичной системы счисления в десятичную показан на рисунке 5. Рисунок 5. Пример перевода числа 101.101 из двоичной системы счисления в десятичную. 1.4 Анализ имеющихся программных средств для перевода чисел из одной системы счисления в другую. В ходе исследования было найдено множество программных продуктов для перевода из одной системы счисления в другую. Все их можно разделить на две группы: 1– Программы, использующие в качестве алфавита систем счисления десятичные цифры и буквы латинского алфавита. Позволяют переводить числа из одной системы счисления в другую от двоичной до тридцати шетиричной. Возвращают результат в виде набора десятичных цифр и букв латинского алфавита. 2 – Программы предлагающие перевод в непозиционные, алфавитные и позиционные древние системы счисления. Например: в римскую, древнеславянскую, шестидесятеричную, систему счисления Майя и др. Возвращают результат в виде цифр, букв и изображений. ГЛАВА 2 ПРОГРАММА ДЛЯ ПЕРЕВОДА ЧИСЕЛ ИЗ ОДНОЙ СИСТЕМЫ СЧИСЛЕНИЯ В ДРУГУЮ В рамках освоения курса «основы алгоритмизации и программирование» мною была написана программа для перевода чисел из одной системы счисления в другую. 2.1 Выбор методологии разработки программного обеспечения... ЗАКЛЮЧЕНИЕ В ходе курсовой работы я: – Исследовал системы счисления и алгоритмы перевода из одной системы в другую. – Проанализировал программы для перевода числе из одной системы счисления в другую. – Сделал выводы и разработал концепцию собственного программного продукта. СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ ЛИТЕРАТУРЫ 1 – Гашков С. Б. Системы счисления и их применение. — М.: МЦНМО, 2004. — (Библиотека «Математическое просвещение»). 2 – Яглом И. Системы счисления // Квант. — 1970. — № 6. — С. 2-10. ПРИЛОЖЕНИЕ Код программы для перевода чисел из одной системы счисления в другую. import py_compile import math from tkinter import * alfavit=[0,1,2,3,4,5 6,7,8,9,A,B,C,D,E,F, ,H,I,J,K,L,M,N,O,P,Q R,S,T,U,V,W,X,Y,Z] btnalfavit=[] z=0 while z‹36: btnalfavit.append("btn +alfavit[z]) z+=1 x=0 def shifr(event): def цв_10_сс2 (st,ss,cc): st=st[::-1] prr=0 i=0 while i‹len(st): pr=alfavit2.index(st[ ]) prr=pr*(ss**i)+prr i=i+1 rez=list(str(prr))... |
Перейти к полному тексту работы |