Разработка программы "Логический калькулятор"

Разработка программы-иллюстратора действий над целочисленными данными типа longint с представлением результатов в десятичной, двоичной и шестнадцатеричной формах. Описание входных и выходных данных, алгоритма работы программы, процедур и функций.

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

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

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

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

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

Министерство образования и науки Украины

Национальный аэрокосмический университет им. Н.Е. Жуковского

Кафедра информационных технологий проектирования

Пояснительная записка к домашнему заданию

по дисциплине "Основы программирования и алгоритмические языки"

2014

СОДЕРЖАНИЕ

1. Задание

2. Введение

3. Описание применения

3.1 Назначение программы

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

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

3.4 Алгоритм работы программы

3.5 Описание процедур и функций

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

5. Руководство программиста

Заключение

Список литературы

1. ЗАДАНИЕ

В задании предполагается разработать программу-иллюстратор действий над целочисленными данными типа longint с представлением результатов в десятичной, двоичной и шестнадцатеричной формах, запрограммировав следующие операции:

1) +, -, *, div, mod;

2) and, or, xor;

3) shl, shr.

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

Меню в этом задании не предполагается.

программа longint целочисленный алгоритм

2. ВВЕДЕНИЕ

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

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

3. ОПИСАНИЕ ПРИМЕНЕНИЯ

3.1 Назначение программы

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

1) +, -, *, div, mod;

2) and, or, xor;

3) shl, shr.

Данную программу можно использовать в качестве учебного пособия по курсу «Основы программирования и алгоритмические языки».

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

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

Ввод входных данных организован в режиме диалога «Вопрос-ответ».

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

-А типа longint, диапазон допускаемых значений -2 147 483 648+2 147 483 647, используется для хранения значения операнда;

-B типа longint, диапазон допускаемых значений -2 147 483 648+2 147 483 647, используется для хранения значения второго операнда;

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

Выходным данным является результат вычисления операции между двумя операндами - С типа longint, диапазон допускаемых значений -2 147 483 648+2 147 483 647. Результат представлен в следующем виде:

Рисунок 3.1 - Результат

3.4 Алгоритм работы программы

На экран выводится сообщение «Выберите СС первого операнда (Нажмите «Enter»)», после чего пользователь должен нажать требуемую клавишу. На экране представляется выбор систем счисления. При помощи клавиш «вверх» и «вниз» пользователь может выбрать нужный ему пункт и нажать «Enter». В зависимости от выбора пользователя, на экран выводится запрос ввода первого операнда в выбранном формате. После ввода числа оно считывается в переменную А. Если число было введено в двоичном или шестнадцатиричном формате, то переменной присваивается функция Perevod_2_10 или Perevod_16_10 соответственно, которая переведет данное число в десятичный формат. Далее на экран выводится второе меню, в котором предлагается ряд операций. При помощи клавиш «влево» и «вправо» пользователь может выбирать нужную ему операцию, после чего должен нажать «Enter». Выбранная операция присваивается переменной action. Далее пользователю предлагается выбрать систему счисления второго операнда, и, после выбора, выводится сообщение с запросом ввести второй операнд. Введенное число считывается в переменную В и, если оно было введено в двоичном или шестнадцатиричном формате, то переменной присваивается функция Perevod_2_10 или Perevod_16_10, которая переведет данное число в десятичный формат. Программа производит вычисления, в зависимости от входных данных и выбора операции и результат присваивается переменной С. На экран выводится предложение выбрать формат вывода результата и, в зависимости от выбора пользователя, результат выводится в десятичной, шестнадцатиричной или двоичной системе счисления. Если пользователь выбрал двоичную или шестнадцатиричную систему счисления, то переменной С присвоится функция Perevod_10_2 или Perеvod_16_2 соответственно, которая переведет число С в нужный формат.

При попытке ввода неверных данных программа не выведет результат на экран.

3.5 Описание процедур и функций

В программе используются следующие процедуры и функции:

1) Procedure Menu(Var Item:Byte) и Procedure Menu2(Var Item:Byte), которые предназначены для вывода на экран меню выбора системы счисления операндов и результата или выбора операции над операндами. Входным данным является переменная Item типа Byte, диапазон допустимых значений - 0...255, используется для выбора между пунктами меню.

Алгоритм работы процедуры:

-переменной Item присваивается значение 1:

-на чистом экране в заданную позицию выводятся варианты меню, которые были описаны в области описаний главной программы;

-при “перемещении» на один из пунктов этот пункт подсвечивается другим цветом;

-переменной Ch присваивается функция Readkey;

-если пользователь ввел символ с кодом 80, то переменная Item увеличивается на 1, если пользователь ввел символ с кодом 72, то переменная Item уменьшается на 1.

-если Item становится больше конечного результата, то этой переменной присваивается этот результат и если Item становится меньше начального результата, то этой переменной присваивается начальное значение.

-процедура повторяется до тех пор, пока пользователь не введет символ с кодом 13 и этот символ не будет считан в переменную ch.

Процедуры используют следующие глобальные описания:

- константы Х и Х2, которым присваивается количество пунктов соответствующего меню;

-константы TEMA и TEMA2, типа array of string, используются для хранения пунктов меню.

2) Function Perevod_2_10(s:string):integer используется для перевода числа из двоичной системы счисления в десятичную. Входным данным является строка S типа String. Выходным данным является переменная Res типа longint.

Алгоритм работы функции:

-функции присваивается переменная ВаdResult, которая была описана в области констант, и которой присвоили значение 0;

-переменной результата присваивается 0;

-переменной P присваивается 1;

-в цикле с проверкой условия (i>0) выполняются следующие действия:

-переменной Ch присваивается последний символ строки;

-если Сh является символом «1», то уведичивается значение результата и перемнная Р на один, иначе - выход из процедуры;

-значение Р увеличивается в два раза при помощи процедуры shl;

-если Р меньше или равно нулю, то предусматривается выход из процедуры;

-уменьшается переменная i;

-после выхода из цикла функции присваивается результат Res.

3) Function Perevod_16_10(S:String):longint, используется для перевода числа из шестнадцатиричной системы счисления в десятичную. Входным данным является строка S типа String. Выходным данным является переменная Res типа longint.

Алгоритм работы функции:

-из переданной строки удаляются все пробелы;

-при помощи процедуры Val('S'+S,N,K) строка символов `$'+S преобразовывается в целую переменную Res;

-если переменная K не возвращает ноль, то на экран выводится сообщение об ошибке ввода;

-функции присваивается значение Res.

4) Function Perevod_10_2(N:Longint):String, используется для перевода числа из десятичной системы счисления в двоичную. Входным данным является N типа longint, а выходным - строка типа String.

Алгоритм работы функции:

-переменной результата присваивается пустая строка;

-до тех пор, пока передаваемое число N не равняется нулю переменной d присвоить значение остатка от деления числа N на 244

-увеличить счетчик результата на с[d];

-N поделить на 2;

-при выходе из цикла функции присвоить результат Res.

5) Function Perevod_10_16(N:longint):string, используется для перевода числа из десятичной системы счисления в шестнадцатиричную. Входным данным является N типа longint, а выходным - строка типа String

Алгоритм работы функции:

-переменной результата присваивается пустая строка;

-до тех пор, пока передаваемое число N больше нуля, переменной Т присваивается остаток от деления входного числа на 16 и если Т входит в диапазон от 10 до 15, то при помощи оператора выбора 10 присвоить символ «А», 11 присвоить символ «В», 12 присвоить символ «С» и так далее, иначе переменной Ch присвоить преобразование значения ord('0')+T в символ;

-в счетчик Res добавить значение ch;

-переменную N делаить на 16;

-при выходе из цикла функции присвоить результат Res.

4. РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

Исходный файл программы «Logical_calculator.exe»

При запуске программы на экране появляется окно с сообщением «Выберите СС первого операнда (Нажмите «Enter»)». После нажатия на «Enter» на экран выведется меню:

Рисунок 4.1 - Выбор СС

Здесь пользователь может при помощи клавиш «вверх» и «вниз» выбирать пункты меню. Выбранный пункт подсвечивается белым цветом. Выбор осуществится после нажатия на «Enter».

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

Рисунок 4.2 - Запрос ввода

После нажатия на «Enter» на экране появится сообщение «Выберите операцию (Нажмите «Enter»)», затем выведется меню с выбором операций:

Рисунок 4.2 - Выбор операций

При помощи клавиш «влево» и «вправо» пользователь может выбирать операцию. Выбранный пункт подсвечивается белым цветом. Выбор осуществится после нажатия кнопки «Enter». На экране появляется окно с сообщением «Выберите СС второго операнда (Нажмите «Enter»)». После нажатия на «Enter» на экран выведется меню, в котором можно будет выбрать систему счисления второго операнда. После выбора пользователю выводится запрос ввода второго операнда в выбранной системе счисления, после чего надо нажать «Enter». После ввода второго операнда на экран выводится сообщение «Выберите СС результата (Нажмите «Enter»)», затем выводятся предлагаемые форматы вывода результата на экран. Пользователь должен выбрать нужный формат и нажать «Еnter».

На экране появится результат, например:

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

5. Руководство программиста

Имя исходного файла программы «Logical_calculator.pas».

Основными переменными программы являются:

-А типа longint, для хранения первого операнда в десятичной системе счисления;

-В типа longint, для хранения второго операнда в десятичной системе счисления;

-С типа longint, для хранения результата в десятичной системе счисления;

-Action типа T_Action, которая хранит операцию;

- константы Х и Х2, которым присваивается количество пунктов соответствующего меню;

-константы TEMA и TEMA2, типа array of string, используются для хранения пунктов меню.

ЗАКЛЮЧЕНИЕ

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

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

Программа была выполнена на языке Pascal в интегрированной среде разработки Free Pascal IDE.

СПИСОК ЛИТЕРАТУРЫ

Сайты: http://algolist.manual.ru/maths/teornum/count_sys.php

http://www.coolreferat.com/Типы_данных_в_Паскале

Книга: Фарнов В.В. TurboPascal 7.0 // начальный курс // учебное пособие. -М, 2000.-575с.

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

...

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

  • Разработка эскизного и технического проектов программы, ее назначение и область применения, описание алгоритма, организация входных и выходных данных. Выбор состава технических и программных средств, разработка рабочего проекта, спецификация программы.

    курсовая работа [159,8 K], добавлен 26.01.2010

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

    курсовая работа [355,7 K], добавлен 21.09.2010

  • Разработка программы тестирования студентов по MS PowerPoint с кодом на языке Delphi. Создание алгоритма для решения функциональных требований задачи. Описание переменных, вспомогательных процедур, входных и выходных данных для реализации программы.

    курсовая работа [1,5 M], добавлен 21.09.2010

  • Разработка программы игры в крестики-нолики. Примеры игровой ситуации на игровом поле. Описание входных и выходных данных, переменных и функций программы. Реализация алгоритма работы программы на языке C++. Текст программы и примеры ее выполнения.

    курсовая работа [352,8 K], добавлен 14.04.2011

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

    курсовая работа [717,6 K], добавлен 17.01.2013

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

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

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

    реферат [687,5 K], добавлен 28.10.2011

  • Разработка эскизного и технического проектов программы "Шифр Цезаря": назначение и область применения, описание алгоритма, организация входных и выходных данных. Выбор состава технических и программных средств, разработка, тест и внедрение программы.

    курсовая работа [563,7 K], добавлен 15.07.2012

  • Разработка эскизного и технического проектов программы, ее назначение и область применения, описание алгоритма, организация входных и выходных данных. Выбор состава технических и программных средств, разработка рабочего проекта, спецификация программы.

    курсовая работа [700,6 K], добавлен 26.01.2010

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

    курсовая работа [93,8 K], добавлен 11.02.2012

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

    курсовая работа [240,6 K], добавлен 17.06.2013

  • Разработка программы "Калькулятор" для работы с вещественными числами. Алгоритм работы программы. Набор тестов и варианты исполнения программы. Порядок ввода текста, стандартные ошибки в работе программы. Программная документация, текст программы.

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

  • Общее описание и структура программы, ее компоненты и функции, сферы практического применения. Требования к функциональным возможностям. Характеристика логической структуры, используемые технические средства. Исследование входных и выходных данных.

    курсовая работа [94,7 K], добавлен 30.01.2016

  • Разработка эскизного и технического проектов программы, ее назначение и область применения, технические характеристики. Организация входных и выходных данных, выбор состава технических и программных средств. Текст программы, ее описание и тестирование.

    курсовая работа [1,3 M], добавлен 15.11.2009

  • Организация вычислительных процессов и программирования на алгоритмическом языке. Создание программы "Калькулятор". Выбор языка и среды программирования. Функциональная схема работы программы, описание разработанных алгоритмов. Способы устранения ошибок.

    курсовая работа [434,1 K], добавлен 27.08.2012

  • Разработка программного кода и алгоритма действий приложения "калькулятор". Использование функций в программе Matlab. Разработка кнопок, опций, интерфейса, оформление. Части кода Matlab и тестовый набор. Инструкция пользователя по работе программы.

    курсовая работа [527,1 K], добавлен 27.09.2014

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

    курсовая работа [460,1 K], добавлен 26.06.2015

  • Разработка Windows-приложения, представляющего собой компьютерную игру "Кости". Организация входных и выходных данных. Минимальные требования. Выбор состава технических и программных средств. Спецификация программы, ее описание и внедрение, тестирование.

    курсовая работа [475,8 K], добавлен 18.07.2012

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

    курсовая работа [1,2 M], добавлен 19.02.2015

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

    контрольная работа [150,4 K], добавлен 03.05.2014

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