50053 (Перевод чисел из различных систем счисления)

2016-07-30СтудИзба

Описание файла

Документ из архива "Перевод чисел из различных систем счисления", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "50053"

Текст из документа "50053"

Курсовая работа

На тему

"Перевод чисел из различных систем счисления"

Рязань 2009


Введение

В данной курсовой работе возникает задача разработки приложения, позволяющего выполнять перевод чисел из различных систем счисления, с применением средств ассемблера процессора x86.


1. Техническое задание

1.1 Основания для разработки программы

Разработка программ ведется на основании следующих документов:

  1. ГОСТ 19.001–77

Единая система программной документации. Общие положения

  1. ГОСТ 19.101–77

Единая система программной документации. Виды программ и программных документов

  1. ГОСТ 19.201–78

Единая система программной документации. Техническое задание. Требования к содержанию и оформлению

  1. ГОСТ 19.202–78

Единая система программной документации. Спецификация. Требования к содержанию и оформлению

  1. ГОСТ 19.301–79

Единая система программной документации. Программа и методика испытаний. Требования к содержанию и оформлению

  1. ГОСТ 19.401–78

Единая система программной документации. Текст программы. Требования к содержанию и оформлению

  1. ГОСТ 19.402–78

Единая система программной документации. Описание программы

  1. ГОСТ 19.404–79

Единая система программной документации. Пояснительная записка. Требования к содержанию и оформлению

  1. ГОСТ 19.503–79

Единая система программной документации. Руководство системного программиста. Требования к содержанию и оформлению

  1. ГОСТ 19.504–79

Единая система программной документации. Руководство программиста. Требования к содержанию и оформлению

  1. ГОСТ 19.505–79

Единая система программной документации. Руководство оператора. Требования к содержанию и оформлению

  1. ГОСТ 19.701–90

Единая система программной документации. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения

1.2 Назначение разработки

Программа служит для перевода чисел из систем счисления с основанием 2, 8, 10, 16.

1.3 Требования к программе

В программе организация входных данных осуществляется в виде поля для ввода числа и переключателей для выбора системы счисления. Организация выходных данных осуществляется в виде метки.

1.4 Требования к надежности

В программе обеспечивается контроль правильности ввода числа. Если число введено не корректно, то выводится сообщение об ошибке.


2. Описание разработанной программы

2.1 Общие сведения

Наименование и обозначение программы «perevod».

Для выполнения программы необходима ОS Windows 9x/2000/XP/vista/7

Программа написана с использованием Delphi 7, TASM32.

2.2 Описание логической структуры

  1. Окно формы в начале выполнения программы:

Окно формы при выполнении

Алгоритмы обработчиков событий для программы:

1) Событие С1 – для выхода из программы. Выполнение обработчика происходит при нажатии кнопки «Выход».

Блок-схема алгоритма обработчика события Button2Click

2) Событие С2 – перевод числа из одной системы счисления в другую (Рис. 3.2). Выполнение обработчика происходит при нажатии кнопки «Выполнить».

Описание алгоритма:

Определяется выходная система счисления i при помощи переключателей RadioButton, копируется содержимое Edit1.text в параметр s, вызывается ассемблерная процедура, в которую передаются параметры s и i. После выполнения проверяется наличие ошибок, и если ошибки находятся, то выводится сообщение о соответствующей ошибке, иначе выводится результат выполнения процедуры.

3) Процедура Perevod – внешняя процедура(external), написанная на языке ассемблера. Модель памяти маленькая(small), передача параметров регистровым способом(register). Находится в модуле modul.obj.

Параметрами являются строка типа shortstring (указатель на строку), передается через регистр eax; число типа integer, передается через регистр ecx.

Объявляются локальные параметры: srt – массив, элементы которого типа byte, iss – параметр типа dword, для хранения входной системы счисления, oss – параметр типа dword, для хранения выходной системы счисления; flag – параметр типа dword, для хранения кода ошибки.

Блок-схема алгоритма обработчика события Button1Click

Описание алгоритма:

Определяем длину строки (нулевой элемент строки). Если длина равна нулю, то выходим из процедуры и передаем код ошибки 1, иначе вызываем процедуру inputss, в которой определяется входная разрядность и генерируется код ошибки. Далее проверяется код ошибки, если он не равен нулю, то выходим из процедуры и передаем код ошибки, иначе вызываем процедуру verinput, в которой проверяется правильность ввода, производится перевод символов в числа и генерируется код ошибки. Далее проверяется код ошибки, если он не равен нулю, то выходим из процедуры и передаем код ошибки, иначе вызываем процедуру perepolnenie, в которой производится окончательный перевод строки в число, происходит проверка на превышение допустимых значений входного числа, перевод в другую систему счисления, создание новой строки и генерация кода ошибки.

Далее проверяется код ошибки, если он не равен нулю, то выходим из процедуры и передаем код ошибки, иначе выходим из процедуры и передаем новую.

Блок-схема процедуры Perevod

4) Процедура inputs. Находится в модуле modul.obj.

Параметрами являются строка типа указатель на строку – ebx, длина строки – edi.

Описание алгоритма:

Считываем последний символ строки. Если его код находится в диапазоне 30h – 39h, то возвращаем 10, как основание входной системы счисления. Если код последнего символа 62h, то возвращаем 2, как основание входной системы счисления. Если код последнего символа 6аh, то возвращаем 8, как основание входной системы счисления. Если код последнего символа 68h, то возвращаем 16, как основание входной системы счисления. Иначе возвращаем код ошибки равный 2.

5) Процедура verinput. Находится в модуле modul.obj.

Описание алгоритма:

Считываем первый символ строки. Если его код 30h, то возвращаем код ошибки 4. Если основание входной системы счисления 16, то проверяем каждый элемент массива в диапазоны: если входит в диапазон 0..9, то вычитаем 30h, если входит в диапазон A..F, то вычитаем 37h, если входит в диапазон a..f, то вычитаем 57h, иначе возвращаем код ошибки 3.

6) Процедура perepolnenie. Находится в модуле modul.obj.

Описание алгоритма:

От младших адресов к старшим прибавляем элементы массива к результату и умножаем на основании системы счисления. Если результат больше 7fffffffh, то возвращаем код ошибки 5. Иначе делим результат на основание выходной системы счисления, пока результат не станет равным нулю и записываем остатки от деления в массив. Далее прибавляем к элементам массива 30h, если он входит в диапазон 1..9, или прибавляем 57h, если нет.

Блок-схема процедуры inputss

2.3 Используемые технические средства

При выполнении данной курсовой работы используется персональный компьютер поколения Intel. Данный компьютер оснащен всеми устройствами необходимыми для работы в среде разработки Delphi 7, и последующем запуске полученных программ.


2.4 Вызов и загрузка

Программа №1 начинает свою работу при запуске приложения с именем «perevod.exe».

2.5 Входные данные

Для программы входными данными являются строка edit1.text и переключатели radiobutton1, radiobutton2, radiobutton3, radiobutton4.

2.6 Выходные данные

В программе выходными данными будет являться строка label1.caption.


3. Программа и методика испытаний

3.1 Объект испытаний

Объектами испытаний являются три разработанных приложения: perevod.exe.

3.2 Цель испытаний

Целью испытаний данных приложений является выяснение возможных ошибок во время выполнения программы, которые не были обнаружены на стадии разработки.

3.3 Требования к программе

Программы должны надежно работать и выполнять свои функции при любых возможных наборах исходных данных, выдавая результат за конечное время.

3.4 Требования к программной документации

Техническое задание – ГОСТ 19.201–78

Программа и методика испытаний – ГОСТ 19.301–79

Текст программы – ГОСТ 19.401–78

Описание программы – ГОСТ 19.402–78

3.5 Средства испытаний

Для проведения испытаний используется IBM-совместимый персональный компьютер с операционной системой семейства Windows.


3.6 Методы испытаний

  • Входные данные:

строка: «»

переключатель: десятичная

Результат: сообщение «пустая строка»

  • Входные данные:

строка: «12345q»

переключатель: десятичная

Результат: сообщение «неверный завершающий символ»

  • Входные данные:

строка: «ffffffffh»

переключатель: десятичная

Результат: сообщение «превышение допустимого диапазона»

  • Входные данные:

строка: «123nv23»

переключатель: десятичная

  • Результат: сообщение «строка введена не корректно»

  • Входные данные:

строка: «012345»

переключатель: десятичная

  • Результат: сообщение «строка начинается с нуля»

  • Входные данные:

строка: «12345»

переключатель: десятичная

  • Результат: 12345

  • Входные данные:

строка: «12345»

переключатель: двоичная

  • Результат: 11000000111001b

  • Входные данные:

строка: «12345»

переключатель: восьмеричная

  • Результат: 30071o

  • Входные данные:

строка: «12345»

переключатель: шестнадцатеричная

  • Результат: 3039h

  • Входные данные:

строка: «12345h»

переключатель: десятичная

  • Результат: 74565

  • Входные данные:

строка: «12345h»

переключатель: двоичная

  • Результат: 10010001101000101b

  • Входные данные:

строка: «12345h»

переключатель: восьмеричная

  • Результат: 221505o

  • Входные данные:

строка: «12345h»

переключатель: шестнадцатеричная

  • Результат: 12345h

  • Входные данные:

строка: «12345o»

переключатель: десятичная

  • Результат: 5349

  • Входные данные:

строка: «12345o»

переключатель: двоичная

  • Результат: 1010011100101b

  • Входные данные:

строка: «12345o»

переключатель: восьмеричная

  • Результат: 12345o

  • Входные данные:

строка: «12345h»

переключатель: шестнадцатеричная

  • Результат: 14E5h

  • Входные данные:

строка: «1011001010b»

переключатель: десятичная

  • Результат: 714

  • Входные данные:

строка: «1011001010b»

переключатель: двоичная

  • Результат: 1011001010b

  • Входные данные:

строка: «1011001010b»

переключатель: восьмеричная

  • Результат: 1312o

  • Входные данные:

строка: «1011001010b»

переключатель: шестнадцатеричная

  • Результат: 2CAh


4. Руководство оператора (пользователя)

4.1 Назначение и условия применения программ

Программа служит для перевода чисел из систем счисления с основанием 2, 8, 10, 16. Для того чтобы программа работала и выполняла соответствующие функции, компьютер должен иметь определенные технические средства, а именно:

1) Windows 9x/2000/Me/Xp

2) Процессор не ниже PENTIUM 2 400

3) ОП 64 мб

4.2 Обращение к программам для запуска

Для запуска программы необходимо запустить приложение «perevod.exe».

4.3 Входные и выходные данные

Для программы входными данными являются число и переключатели.

Выходным данным будет число, переведенное в систему счисления.

4.4 Сообщения оператору

1) если поле ввода пусто, то выводится сообщение:

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Нашёл ошибку?
Или хочешь предложить что-то улучшить на этой странице? Напиши об этом и получи бонус!
Бонус рассчитывается индивидуально в каждом случае и может быть в виде баллов или бесплатной услуги от студизбы.
Предложить исправление
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5120
Авторов
на СтудИзбе
444
Средний доход
с одного платного файла
Обучение Подробнее