Автор работы: Пользователь скрыл имя, 14 Декабря 2017 в 00:01, курсовая работа
Целью работы является разработка конвертера, переводящего числа из десятичной системы счисления в шестнадцатеричную и двоичную системы, на языке программирования высокого уровня С в среде программирования Borland C++ 3.1
Для достижения поставленной цели требуется осуществить следующие задачи:
1 Провести обзор языков программирования
2 Выполнить анализ предметной области
3 Разработать алгоритм и программу
Введение
1 Обзор языков программирования
1.1 История языков программирования
1.2 Обзор языка С
2 Анализ предметной области
2.1 Проектирование программы
2.2 Процедуры и функции программы
3 Разработка алгоритма и программы
3.1 Спецификации программы
3.2 Описание программы
3.3 Тестирование программы
Заключение
Список использованной литературы
Головная программа
int main()
{
int num;
printf("Enter the number: ");
scanf("%d", &num);
printf("Dec: %d\n", num);
toBin(num);
toHex(num);
}
3
Разработка алгоритма и
Исполняемый файл приложения Конвертер имеет название Main.exe.
Исходный код программы доступен в файле Main.c.
Программа предназначена для перевода чисел из десятичной системы счисления в двоичную и шестнадцатеричную. Программа функционирует на любых современных компьютерах типа IBM PC. Дополнительных устройств для работы программы не требуется.
Программа запускается с помощью запуска файла Main.exe. После открытия главного окна приложения пользователь приглашается ко вводу десятичного числа, после чего будет выведены его аналоги в 2- и 16-ричных с.с.
Для нормального функционирования программы необходим любой современный компьютер, цветной монитор, клавиатура, манипулятор типа мышь.
Запускаем файл Main.exe. Далее вводим число в десятичной системе счисления, нажимаем «Ввод» и получаем числа в 2 и 16 с.с.
Тестирование работы приложения проводится визуально, т.е. проведением операций с переводом чисел.
При тестировании программы ошибок не обнаружено.
Запускаем программу
\
Вводим необходимое нам число
Получаем результат
Исходный код программы.
#include "stdio.h"
//прототипы используемых далее функций
void toBin(int); //функция перевода в 2сс
void toHex(int); //функция перевода в 16сс
int main()
{
int num; //число, используемое для конвертации
printf("Enter the number: ");
scanf("%d", &num); //считываем введенное в консоли число
printf("Dec: %d\n", num); //выводим это число
toBin(num); //перевод в 2сс
toHex(num); //перевод в 16сс
}
void toBin(int d) //2сс
{
char temp[256], n_new[256]; //2 СИ-строки
int cur = 0; //индекс текущего элемента в строке
while (d > 0) //пока наше число больше 0
{
temp[cur] = '0' + d % 2; //записываем в строку остаток от деления числа на 2
cur++; //увеличиваем счетчик
d /= 2; //записываем в число целую часть от деления его на 2
}
for (int i = 0; i < cur; i++)
n_new[i] = temp[cur - 1 - i]; //инверсируем порядок сиволов в строке с помощью 2ого массива
n_new[cur] = 0; //конец СИ-строки
printf("Bin: %s\n", n_new); //выводим число в консоль
}
void toHex(int d) //16сс
{
char n_new[256]; //СИ-строка
int s = 1, div, cur = 0; //s-наибольшая степень 16, меньше заданного числа,
//div - целая часть от деления заданного на s, cur - счетчик
while (s < d) //находим s
s *= 16;
if (s >= 16)
s /= 16;
while (d > 0) //пока d больше 0
{
div = d / s; //целая часть
if (div >= 10 && div <= 15 //если больше 9, то записываем буквами
n_new[cur] = (char)('A' - 10 + div);
else //если нет - цифрами
n_new[cur] = '0'+div;
cur++; //увеличиваем счетчик
d = d % s; //заносим остаток от деления и работаем дальше с ним
s /= 16; //понижаем степень
}
n_new[cur] = 0; //конец СИ-строки
printf("Hex: %s\n", n_new); //вывод в консоль
Разработан конвертер, переводящий числа из десятичной системы счисления в шестнадцатеричную и двоичную системы, на языке программирования высокого уровня С.
Проведён обзор языков программирования. Язык С является языком высокого уровня, который стал основой для других языков программирования С++, С#, Java.Но несмотря на это, язык также имеет недостатки: сложная структура и некоторые синтаксические конструкции могли быть лучше.
Проведен анализ предметной области.Разработан алгоритм и скомпилирована программа. Программа Main.exe работает корректно и без ошибок.
1. Трой Д. Программирование на языке Си для персонального компьютера IBM PC: Пер. с англ. - М.: Радио и связь, 1991, - 432 с.
2. Прата С., Язык программирования C. Лекции и упражнения; Вильямс, 2015, - 928 с.
3. Керниган Б. Язык программирования Си; Вильямс, 2016 – 288 с.