Автор работы: Пользователь скрыл имя, 22 Мая 2013 в 08:02, курсовая работа
В первой главе данной курсовой работы рассматриваются: история создания систем счисления, а также правила перевода целых и дробных чисел из одной системы счисления в другую. Во второй главе описываются этапы разработки программы: постановка задачи и алгоритм реализации.
В заключении сделаны выводы по курсовой работе, отмечены достоинства и недостатки визуальных методов программирования.
Введение …………………………………………………………………… 3
1 Системы счисления ……………………………………………………... 6
1.1 История создания систем счисления ………………………………… 6
1.2 Виды систем счисления ……………………………………………….. 8
1.3 Перевод чисел из одной системы счисления в другую …………… 13
2 Проектная часть ………………………………………………………... 16
2.1Постановка задачи ……………………………………………………. 16
2.2 Входные и выходные данные ……………………………………….. 16
2.3 Описание алгоритма ………………………………………………….. 17
2.4 Тестирование ………………………………………………………….. 21
Заключение ………………………………………………………………… 22
Глоссарий ………………………………………………………………….. 24
Список использованных источников
uses //служебное (зарезервированное слово), определяет подключенные модули
crt; //crt – содержит процедуры и функции, обеспечивающие управление текстовым режимом работы экрана.
var //служебное слово, определяет раздел описания глобальных переменных
num_sys1,num_sys2:integer; //целочисленные переменные, которые будут хранить основания систем счисления – исходная и итоговая, задаются пользователем
e:integer;// целочисленная переменная- для хранения точности вычисления
chislo,ch_c,ch_d:string; //строковые переменные, которые будут хранить число для перевода, целую часть числа и дробную часть числа соответственно
const //служебное слово, определяет раздел описания констант
number:string[16]='
Описание функций. Структура описания функций до некоторой степени похожа на структуру Pascal-программы: у них также имеются заголовок, раздел описаний и исполняемая часть. Раздел описаний содержит те же подразделы, что и раздел описаний программы: описания констант, типов, меток, процедур, функций, переменных. Исполняемая часть содержит собственно операторы процедур.
Так как целая и
дробная части числа
Функция перевода целой части десятичного числа в любую систему счисления:
function FromDec(n,p:integer):string; //описание заголовка функции – служебное слово function Имя_функции(набор параметров: тип параметров): тип результата
var //раздел описания внутренних переменных
s:String; //переменная для хранения результата
begin //начало функции
s:=''; //создаем пустую строку
repeat //в цикле выполняем
s:=number[(n mod p)+1]+s; // в начало строки помещаем очередной остаток от деления числа на основание итоговой системы счисления
n:=n div p; //берем целую часть от деления числа на основание итоговой системы счисления
until n=0;//пока число не будет равно 0
FromDec:=s;//присваиваем результат функции
end; //конец функции
Функция перевода дробной части десятичного числа в любую систему счисления:
function DrFromDec(n:real;p,k:integer):
var
s:String; //переменная для хранения результата
i:integer; //счетчик для цикла for
begin //начало функции
s:=''; //создаем пустую строку
for i:=1 to k do //в цикле выполняем до заданной точности
begin
s:=s+number[trunc(n*p)+1]; // в конец строки помещаем целую часть от умножения числа на основание итоговой системы счисления
n:=frac(n*p); //берем остаток от умножения числа на основание итоговой системы счисления
end;
DrFromDec:=s; //присваиваем результат функции
end; //конец функции
Функция перевода целой части числа любой системы счисления в десятичное:
function ToDec(n:string;p:integer):
var //раздел описания внутренних переменных
s,i:integer;//целочисленные переменные – s-результат, i-счетчик для цикла
begin //начало функции
s:=0; //обнуляем результат
for i:=1 to length(n) do //пробегая в цикле символы числа
s:=s*p+pos(n[i],number)-1; //вычисляем сумму
ToDec:=s; //присваиваем результат функции – итоговое число
end; //конец функции
Функция перевода дробной части числа любой системы счисления в десятичное:
function DrToDec(n:string;p:integer):
var //раздел описания внутренних переменных
s,i:integer;//целочисленные переменные – s-результат, i-счетчик для цикла
begin //начало функции
s:=0; //обнуляем результат
for i:=length(n) downto 1 do //пробегая в цикле символы числа с конца к началу
s:=(s+pos(n[i],number)-1)/p; //вычисляем сумму
DrToDec:=s; //присваиваем результат функции – итоговое число
end; //конец функции
Основная программа
begin //начало программы//процедура очистки экрана
clrscr; //вывод текста
writeln('Из какой системы счисления:');
repeat //считываем основание исходной системы счисления
readln(num_sys1);
until (num_sys1>=2) and (num_sys1<=16); //пока не введут от 2 до 16
writeln('Введите исходное число:'); //вывод текста
readln(chislo); //считываем число для перевода
writeln('В какую систему счисления:'); //вывод текста
repeat //считываем основание итоговой системы счисления
readln(num_sys2);
until (num_sys2>=2) and (num_sys2<=16); //пока не введут от 2 до 16
writeln('Точность перевода (знаков после запятой)'); //вывод текста
readln(e); //считываем требуемую точность вычисления
while chislo[1]='0' do //пока в начале числа стоят 0
delete(chislo,1,1); //удаляем 0
if pos('.',chislo)=0 then //если в числе нет точки, т.е. число целое,то
begin
ch_c:=chislo; //целой частью будет все число
ch_d:='';//дробная часть пустая
end
else // иначе, т.е. число дробное, выделяем целую и дробную части
begin
ch_c:=copy(chislo,1,pos('.',
ch_d:=copy(chislo,pos('.',
end;
writeln('Перевод ',chislo,' из ',num_sys1,' системы счисления в ',num_sys2,' систему счисления:'); //вывод текста
writeln(FromDec(ToDec(ch_c,
readln;//для задержки экрана
end.//конец программы
Тестирование любой
программы заключается в
После запуска программы запрашиваются входные данные и выводится результат. При неверном вводе данных программа сбрасывает неверно введенное и предоставляет возможность повторить ввод.
Проверка работы программы на разных наборах входных данных (Приложение Б).
Владея развитой компьютерной теорией, компьютерные специалисты иногда забывают о той роли, которую сыграли системы счисления в истории компьютеров.
В какой системе счисления лучше записывать числа - это вопрос удобства и традиций. С технической точки зрения, в ЭВМ удобно использовать двоичную систему, так как в ней для записи числа используется всего две цифры 0 и 1, которыми можно представить двумя легко различимыми состояниями «нет сигнала» и «есть сигнал».
Различные системы счисления окружают нас повсюду. Сами того не замечая мы ежедневно пользуемся не только десятичной системой счисления, а так же двенадцатеричной, когда хотим узнать время или покупаем в магазине пуговицы.
Сейчас системы счисления очень распространены в электронно-вычислительной технике, многие коды и шифры созданы на их основе.
В результате выполнения данной курсовой работы был получен программный продукт, названный «Программа перевода целых и дробных чисел из одной системы счисления в другую» на языке высокого уровня Турбо Паскаль (программа находится в приложении В).
При написании курсовой работы были пополнены теоретические сведения о современном техническом и программном обеспечении офисной деятельности; произведено знакомство с реферативными журналами и другими информационными источниками по объектно-ориентированному и системному программированию с целью анализа состояния решаемой задачи; усовершенствованы практические навыки работы с операционными системами, программными оболочками, разнообразными служебными и сервисными средствами, были углублены и закреплены знания по алгоритмизации, программированию и решению в интегрированной визуальной среде программирования.
При написании программы использовался язык программирования высокого уровня Turbo Pascal. Этот язык является мощным инструментальным средством написания прикладных программ и его можно использовать в реальной работе. Разработчиком языка Turbo Pascal является фирма Borland. Программное обеспечение в среде Turbo Pascal реализуется на процедурно- ориентированном языке Паскаль. Язык Turbo Pascal предоставляет расширенные возможности объектно-ориентированного программирования: абстрактность, модульность, наибольшую структурность, встроенные непосредственно в язык.
Программа «Перевод целых и дробных чисел из одной системы счисления в другую» может быть использована в образовательных учреждениях для перевода чисел в различные системы счисления при обучении.
Достоинствами моей программы являются:
1. Программе не требуется
2. Алгоритм программы
3. Алгоритм программы подходит для перевода целых и дробных чисел с заданной точностью.
4. Программный продукт малотребователен к системным ресурсам компьютера.
В результате исследования были выявлены следующие недостатки полученного программного продукта:
1. В данной программе при
2. Пользовательский графический интерфейс примитивен.
В результате учета всех сделанных выше замечаний разработанная мною программа может быть улучшена, на что потребуется минимум изменений исходного кода программы.
№ п/п |
Понятие |
Определение |
11. |
Система счисления |
Это способ записи чисел и соответствующие ему правила действия над числами. |
4. |
Позиционная система счисления |
Система в которой количественное значение, обозначаемое цифрой в записи числа, зависит от позиции в цифры в числе. |
5. |
Непозиционная система счисления |
Система, в которой от положения знака числа не зависит количественное значение, которое он обозначает |
6. |
Алгоритм |
Точное предписание, определяющее вычислительный процесс, ведущий от варьируемых начальных данных к искомому результату |
7. |
Программирование |
Процесс определения последовательности инструкций, которые должен выполнить компьютер |
11. |
Составной оператор |
Последовательность |
12. |
Условный оператор |
Оператор с ключевыми словами IF-THEN-ELSE для программирования алгоритмов разветвляющей структуры |
13. |
Целый тип (INTEGER) |
Элементы подмножества целых чисел |
1 |
Марченко, А.И. Программирование в среде Turbo Pascal 7.0 [Текст] / А.И. Марченко, Л.А. Марченко. – СПб.: КОРОНА принт, 2004. – 464 с. ISBN 966-7140-32-6. |
2 |
Иванова, Галина Сергеевна. Основы программирования [Текст]: учебник для вузов / - 3-е изд., испр.- М.: Изд-во МГТУ им. Н.Э. Баумена, 2004.- 416 с.: ил. (Сер. Информатика в техническом университете.) ISBN 5-7038-2487-7 |
3 |
Милов А.В. Основы программирования в задачах и примерах: Учебный курс. Фолио, 2002, 400 стр. ISBN 966-03-1717-4 |
4 |
Семакин, Игорь Геннадьевич. Информатика и ИКТ 9 класс - М.: Издательство БИНОМ. Лаборатория знаний 2009, 341стр. ISBN978-5-9963-0027-3. |
5 |
Марысаев В.Б. Персональный компьютер: Программное обеспечение. РИК Русанова Познавательная книга плюс, 2000, 192 стр. ISBN 5-8321-0077-8 |
6 |
Федоренко Ю. Алгоритмы и программы на Turbo Pascal. Учебный курс - Издательство Питер 2001, 240стр, ISBN 5-318-00102-5 . |
7 |
Павловская Т.А. Паскаль: Программирование на языке высокого уровня: Практикум. Издательство Питер, 2006, 317 стр. ISBN 5-94723-008-6 |
8 |
Перминов О.Н. Программирование на языке Паскаль. — Издательство «Радио и связь», 1988, 221 стр. ISBN: 5-256-00158-2 |
9 |
Фаронов В. В. Turbo Pascal 7.0. Практика программирования. Учебное пособие Издательство «Нолидж»,1999 ,ISBN: 5-89251-012-3 |
10 |
Ускова О. Ф. Программирование на языке Паскаль: задачник -Издательство Питер, 2002, ISBN 5-318-00553-5 |
А |
|
Б |
|
В |
|
Информация о работе Программа перевода чисел из одной системы счисления в другую