Программа кодирования русских текстов в Base64

Алгоритмы преобразования десятичных чисел в числа двоичной системы счисления. Программная реализация алгоритма на основе языка программирования С++ (технические характеристики и область применения). Консольная программа, производящая кодирование чисел.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 28.04.2014
Размер файла 280,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

ВВЕДЕНИЕ

Объектом исследования курсового проекта являются алгоритмы преобразования десятичных чисел в числа двоичной системы счисления. Предметом исследования данного курсового проекта является программная реализация алгоритма преобразования чисел десятичной системы счисления в числа двоичной системы. Актуальность данной темы подтверждается тем, что двоичная система счисления наиболее употребительна в информатике, вычислительной технике и смежных отраслях. Используя всего две цифры 0 и 1 она находит своё применение в алгебре логике и вычислительной технике на уровне систем способных сохранять одно из двух состояний (триггеров). Таким образом любая информация в вычислительной технике хранящаяся в регистрах памяти компьютера может быть записана только в виде последовательности «включенных» или «выключенных» триггеров, то есть условно единиц и нулей.

Целью курсового проекта является создание и программная реализация эффективного алгоритма перевода чисел десятичной системы счисления в двоичные числа. десятичный двоичный программирование консольный

Для программной реализации был выбран язык программирования C++. Средой разработки служила Microsoft Visual Studio 2010 Express Edition.

1. АНАЛИЗ СИСТЕМ СЧИСЛЕНИЯ

1.1 Детальное изучение систем счисления

Десятичная система счисления использует десять обычных цифр - 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9, а также символы «+» и «-» для обозначения знака числа и запятую (точку) для разделения целой и дробной частей числа.

Двоичная система счисления в настоящий момент - наиболее употребительная в информатике, вычислительной технике и смежных отраслях система счисления. Использует две цифры - 0 и 1, а также символы «+» и «-» для обозначения знака числа и запятую (точку) для разделения целой и дробной части. Таким образом, в двоичном счислении любое число можно представить двумя числами: 0 и 1. Для представления этих чисел в цифровых системах достаточно иметь электронные схемы, которые могут принимать два состояния, четко различающиеся значением какой-либо электрической величины - потенциала или тока. Одному из значений этой величины соответствует цифра 0, другому 1. Относительная простота создания электронных схем с двумя электрическими состояниями и привела к тому, что двоичное представление чисел доминирует в современной цифровой технике. При этом 0 обычно представляется низким уровнем потенциала, а 1 - высоким уровнем. Такой способ представления называется положительной логикой.

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

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

ВЫВОД ПО ГЛАВЕ

В результате исследования были более детально рассмотрены исследуемые системы счисления и алгоритм преобразования чисел одной системы в числа другой.

2. ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

2.1 Введение

Целью данного курсового проект является приобретение и закрепление навыков в организации вычислительных процессов и программирования на алгоритмическом языке C++.

В языке С++ полностью поддерживаются принципы объектно-ориентированного программирования, включая три кита, на которых оно стоит: инкапсуляцию, наследование и полиморфизм. Инкапсуляция в С++ поддерживается посредством создания нестандартных (пользовательских) типов данных, называемых классами. Язык С++ поддерживает наследование. Это значит, что можно объявить новый тип данных (класс), который является расширением существующего.

Хотя язык С++ справедливо называют продолжением С и любая работоспособная программа на языке С будет поддерживаться компилятором С++, при переходе от С к С++ был сделан весьма существенный скачок. Язык С++ выигрывал от своего родства с языком С в течение многих лет, поскольку многие программисты обнаружили, что для того, чтобы в полной мере воспользоваться преимуществами языка С++, им нужно отказаться от некоторых своих прежних знаний и приобрести новые, а именно: изучить новый способ концептуальности и решения проблем программирования. Перед тем как начинать осваивать С++, Страуструп и большинство других программистов, использующих С++ считают изучение языка С необязательным.

C++ в настоящее время считается господствующим языком, используемым для разработки коммерческих продуктов, 90% игр пишутся на С++ с применением DirectX. Поэтому программа для кодирования десятичных чисел в двоичные реализована на C++

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

2.2 Назначение и область применения

Программа представляет собой специальное программное обеспече-ние, выполняемое на электронной вычислительной машине (ЭВМ) автомати-зированных систем (АС) и предназначенное для преобразования чисел десятичной системы счисления в двоичные числа. Программа выполнена в виде консольного приложения.

2.3 Технические характеристики

2.3.1 Постановка задачи

Необходимо разработать консольное приложение для перевода чисел десятичной системы счисления в двоичные числа.

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

2.3.2 Описание алгоритма и/или функционирования программы

Цель проектирования - понятное представление алгоритма программы для его дальнейшей реализации в среде разработки С++.

В начале работы с приложением пользователь вводит с клавиатуры преобразуемые числа в текстовый документ input.txt разделяя значения знаком пробела или переносом строки клавишей Enter. Числа не разделённые знаком пробела или переносом строки считаются одним числом. (Рис 1).

Рисунок 1 - Ввод данных, подлежащих переводу.

Далее программа инициирует считывание данных из файла, преобразование в двоичную систему и запись результата в файл result.txt. Это происходит посредством запуска исполняемого файла Program.exe. (Рис 2).

Рисунок 2 - Работа программы.

Процесс перевода не требует от пользователя никаких дополнительных действий кроме запуска исполняемого файла. Программа в автоматически считывает данные из файла input.txt и преобразовав их записывает результаты в result.txt. Если файл result.txt по каким либо причинам отсутствует то он будет автоматически создан в той же директории что и исполняемый файл. По завершении работы программы сессии чтения и записи завершаются программой автоматически для того что бы не возникало возможных проблем с последующим редактированием файлов input.txt и result.txt.

Вывод результата работы приложения происходит методом записи результатов в текстовый файл в момент окончания обработки входных данных. (Рис 3).

Рисунок 3 - Вывод результата кодирования

2.3.3 Организация входных и выходных данных

Требования к организации входных данных

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

Требования к организации выходных данных

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

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

2.3.4 Состав технических и программных средств

Программное обеспечение ПЭВМ, на которых устанавливается ПО, до-лжны удовлетворять следующим требованиям:

1) операционной среде Windows XP и поздние;

2) обеспечивать возможность взаимодействия ПЭВМ с периферийными техническими средствами.

3) ПО должно работать на ПЭВМ, которое имеет технические характери-стики:

4) оперативная память 1ГБайт и более;

5) тип системы: 32 разрядная операционная система;

6) процессор с тактовой частотой не менее 1 ГГц;

7) разрешение экрана не менее 1024х768.

ВЫВОД ПО ГЛАВЕ

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

Приложение А

Листинг кода программы

#include "stdafx.h"

#include <stdio.h>

#include <conio.h>

#include <iostream>

#include <fstream>

using namespace std;

#define _SIZE 64

int main()

{

setlocale(0, "");

const char* filename[2] = { "input.txt", "result.txt" };

ifstream ifs(filename[0], ifstream::in);

ofstream ofs(filename[1], ofstream::out);

int num = 0;

while ((!ifs.eof()) && (ifs>>num))

{

int d = 0; ofs<<num<<" = ";

int* digits = new int[_SIZE];

memset((void*)digits, 0x00, _SIZE * sizeof(int));

do { digits[d++] = num % 2;

}while ((num /= 2) > 0);

for (int i = d; i >= 0; i--)

ofs<<digits[i]; ofs<<endl;

}

ifs.close();

ofs.close();

cout<<"Преобразование выполнено!"<<endl;

cout<<"результат записан в файл result.txt автоматически созданный в директории"<<endl;

cout<<"где расположен исполняемый файл."<<endl;

cout<<"Для завершения нажмите любую клавишу.";

_getch();

return 0;

}

Приложение Б

Приложение В

ТЕХНИЧЕСКОЕ ЗАДАНИЕ

1.2 Основание для разработки

Освоение методов программирования в соответствии с требованиями учебных программ вуза. Тема утверждена 15.02.2013 года.

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

Данный программный продукт предназначен для преобразования данных (чисел десятичной системы счисления) в двоичную форму.

Результаты выполнения программы приведены на рисунке 3

Рисунок 3 - Результат преобразования чисел 2, 7, 4, 5, 6, 8, 9.

1.4 Требования к программе или программному изделию

1.4.1 Требования к функциональным характеристикам

Программа должна осуществить перевод введённых пользователем данных (чисел десятичной системы счисления) в двоичную фурму.

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

Программа защищена от неправильного ввода данных. Некорректные входные данные (любые данные не представляющие из себя десятичные числа) игнорируются при работе программы.

1.4.3 Условия эксплуатации

Климатические условия эксплуатации

Климатические условия эксплуатации, при которых должны обеспечиваться заданные характеристики, должны удовлетворять требованиям, предъявляемым к техническим средствам в части условий их эксплуатации.

Требования к численности требуемого для работы персонала

Минимальное количество персонала, требуемого для работы программы, должно составлять не менее 1 штатной единицы.

1.4.4.Требования к составу и параметрам технических средств

Персональные ЭВМ, на которых устанавливается ПО, должны удовлетворять следующим требованиям:

- иметь необходимый объем памяти для хранения и использования данных;

- обеспечивать достаточную скорость обработки информации;

- обеспечивать возможность взаимодействия ПЭВМ с периферийными техническими средствами.

ПО должно работать на ПЭВМ, которое имеет следующие технические характеристики:

- процессор с тактовой частотой не менее 1 ГГц;

- оперативная память 1ГБайт и более;

- тип системы: 32 разрядная операционная система:

- разрешение экрана не менее 1024х768.

1.4.5 Требования к информационной и программной совместимости

При разработке и создании ПО должна быть обеспечена работа в опера-ционной среде Windows XP и поздние. Программа разрабатывалась на языке C++ в программе Microsoft Visual 2010 Express Edition.

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

Состав программной документации должен включать в себя:

1) титульный лист;

2) задание;

3) техническое задание;

4) описание программы;

5) пояснительная записка;

1.6 Технико-экономические показатели

Технико-экономические показатели должны определяться заказчиком без участия исполнителя.

Программу реализовать на любом алгоритмическом языке программирования. Требования к аппаратной части: IBM-совместимый персональный компьютер.

1.7 Стадии и этапы разработки

Стадии разработки

Разработка должна быть проведена в три стадии:

1) разработка технического задания;

2) рабочее проектирование;

3) внедрение.

Этапы разработки

На стадии разработки технического задания должен быть выполнен этап разработки, согласования и утверждения настоящего технического задания.

 На стадии рабочего проектирования должны быть выполнены перечисленные ниже этапы работ:

1) разработка программы;

2) разработка программной документации;

3) испытания программы.

 На стадии внедрения должен быть выполнен этап разработки - подготовка и передача программы.

Содержание работ по этапам

На этапе разработки технического задания должны быть выполнены перечисленные ниже работы:

1) постановка задачи;

2) определение требований к программе;

3) определение стадий, этапов и сроков разработки программы и документации на неё;

4) выбор языков программирования; 

5) согласование и утверждение технического задания;

На этапе разработки программы должна быть выполнена работа по программированию и отладке программы.

На этапе испытаний программы должны быть выполнены перечисленные ниже виды работ:

1) разработка, согласование и утверждение программы и методики испытаний;

2) проведение приемо-сдаточных испытаний;

3) корректировка программы и программной документации по результатам испытаний.

 На этапе подготовки и передачи программы должна быть выполнена работа по подготовке и передаче программы и программной документации в эксплуатацию.

1.8 Порядок контроля и приемки

Виды испытаний

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

Испытания и тестирование программы должны проводиться в процессе создания программы самим разработчиком:

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

2. Путем пошагового исполнения программы или модуля в соответствии с набором тестовых примеров и сравнения полученных в процессе тестирования значений с контрольными значениями тестовых примеров.

Испытания и тестирование программы должны проводиться после заве-ршения создания программы заказчиком:

1. С использованием проверочных тестов, составляемых заказчиком за-благовременно.

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

3. В организации заказчика с привлечением сторонних экспертов.

Общие требования к приёмке

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

Размещено на Allbest.ru


Подобные документы

  • Целые числа в позиционных системах счисления. Недостатки двоичной системы. Разработка алгоритмов, структур данных. Программная реализация алгоритмов перевода в различные системы счисления на языке программирования С. Тестирование программного обеспечения.

    курсовая работа [593,3 K], добавлен 03.01.2015

  • Анализ двоичной, восьмеричной и шестнадцатеричной систем счисления и перевода десятичных чисел. Форматы хранения чисел с плавающей точкой. Программа для преобразования массива констант в формат числа с плавающей точкой на эмуляторе микро-ЭВМ СМ-1800.

    курсовая работа [266,9 K], добавлен 24.12.2013

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

    контрольная работа [37,3 K], добавлен 13.02.2009

  • Двоичный код, особенности кодирования и декодирования информации. Система счисления как совокупность правил записи чисел с помощью определенного набора символов. Классификация систем счисления, специфика перевода чисел в позиционной системе счисления.

    презентация [16,3 K], добавлен 07.06.2011

  • Описание логической структуры программы "perevod" для перевода числа из одной системы счисления в другую. Блок-схема алгоритма обработчика события Button1Click. Разработка и испытание приложений. Назначение и условия применения программы, листинг.

    курсовая работа [945,5 K], добавлен 03.01.2011

  • Факты появления двоичной системы счисления - позиционной системы счисления с основанием 2. Достоинства системы: простота вычислений и организации чисел, возможность сведения всех арифметических действий к одному - сложению. Применение двоичной системы.

    презентация [1,5 M], добавлен 10.12.2014

  • Запись прямого и обратного кода для числа 10010 и -10010. Получение дополнительного кода числа для 16-разрядной ячейки. Перевод в двоичную систему счисления десятичных чисел: 10, 45, 7, 33. Запись в обратном и дополнительном кодах числа -67, -43, -89.

    практическая работа [13,7 K], добавлен 19.04.2011

  • Поиск взаимно простых чисел. Алгоритм Евклида для целых чисел. Описание выбранного языка программирования. Алгоритм решения задачи. Обзор средств программирования. Текст и описание программы. Руководство оператора, программа и методика испытаний.

    курсовая работа [843,5 K], добавлен 15.06.2011

  • Характеристика методов представления заданных чисел в двоичной, шестнадцатеричной, восьмеричной системе счисления. Представление указанного числа в четырехбайтовом IEEE формате. Разработка алгоритма обработки одномерных и двумерных числовых массивов.

    контрольная работа [138,9 K], добавлен 05.06.2010

  • Решение задачи средствами прикладных программ. Разработка алгоритмов и структур данных. Реализация задачи определения статистических данных по успеваемости на факультете на языке программирования C#. Программа перевода чисел в различные системы счисления.

    курсовая работа [519,9 K], добавлен 03.01.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.