Программа "Строковый калькулятор"

Проект автоматизированного решения арифметической задачи, путем написания ее на языке программирования С++. Реализация программы "Строковый калькулятор" в среде программирования Borland C++. Основные действия: сложение, вычитание, умножение, деление.

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

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

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

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

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

к курсовой работе по дисциплине

«Программирование на алгоритмических языках»

Рудный 2008

Содержание

Введение

1. Математическая часть

2. Описание алгоритма решения задачи

3. Описание переменных

4. Анализ результатов вычислений

Заключение

Список использованных источников

Приложение

Введение

Слово алгоритм является латинским (от algorithmi) - транслитерация имени математика аль-Хорезми. Это способ решения вычислительных и др. задач, точно предписывающий, как и в какой последовательности получить результат, однозначно определяемый исходными данными.

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

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

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

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

1. Математическая часть

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

В калькуляторе должны выполняться такие действия, как: сложения, вычитание, умножение, деление.

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

Реализовать программу «Строковый калькулятор» необходимо в среде программирования Borland C++.

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

2. Описание алгоритма решения задачи

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

3. Описание переменных

арифметический программирование строковый калькулятор

При написании блок-схемы решения задачи использованы следующие обозначения переменных:

MN - Введенное выражение

s2 - Выражение в скобках

L - Длина строки выражения

S - Открытие скобки

E - Закрытие скобки

ds - Длина выражения в скобках

Rp - Результат произведения

Rc - Результат частного

Rs - Результат суммы

Rr - Результат разности

x1p,x2p - Множители

x1c,x2c - Делимое и делитель

x1s,x2s - Слагаемые

x1r,x2r - Вычитаемые

y - Результат выражения в скобках

MR - Итоговый результат

4. Анализ результатов вычислений

После запуска программы «Строковый калькулятор» появляется окно, представленное на рисунке 1, в котором необходимо ввести строку для вычисления.

Рисунок 1 - Ввод выражения

После ввода выражения и нажатия на кнопку «Enter» на экране появится окно, представленное на рисунке 2, в котором отображается результат произведения (pro), частного (cha), суммы (sum) и итогового результата.

Рисунок 2 - Результат решения задачи «Строковый калькулятор»

Заключение

Данная курсовая работа демонстрирует автоматизированное решение арифметической задачи, путём написания ее на языке программирования С++. Язык C++ явился мощным и стремительным рывком в развитии программирования. C++ и по сей день занимает господствующее положение среди языков программирования в мире. Огромное множество профессиональных программистов использует именно его при разработке разного рода проектов. Очевидно, этот язык будет сохранять свое солидное положение ещё не один год, при этом по-прежнему развиваясь и совершенствуясь.

При помощи ЭВМ возможно более быстрое вычисление результатов различных задач, учитывая некоторые условия, вводимые пользователем. Автоматизация позволяет сократить время решения задачи.

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

Список использованных источников

1. Конспект лекций по дисциплине «Программирование на алгоритмических языках».

2. Леонтьев В. Новейшая энциклопедия персонального компьютера. - М.: ОЛМА-ПРЕСС, 1999.

3. Методические указания к выполнению курсовой работы по дисциплине «Программирование на алгоритмических языках». Составитель: Барышникова Т.А. Рудный, 2008

4. http://revolution.allbest.ru/programming/000010648.html

5. http://revolution.allbest.ru/programming/00000757.html

6. Практикум по программированию: Практ. пособие / В. Е. Алексеев, А. С. Ваулин, Г. Б. Петрова; Под ред. А. В. Петрова. - М.: Высш. шк., 1991.: ил.

Приложение

Код программы

#include <stdio.h>

#include <conio.h>

#include <string.h>

main()

{

char MN [32];

char s2 [32];

int N,j,i,L,S,E,ds;

int x1p,x2p,Rp=0;

float Rc=0,Rs=0,Rr=0,x1c,x2c,x1s,x2s,x1r,x2r,y,MR=0;

printf ("o_O\n");

gets (MN);

L=strlen (MN);

for (i=0;i<L;i++)

{

if (MN[i]=='(')

{

S=i;

for (i=S;i<L;i++)

{

if (MN[i]==')')

{

E=i;

}

}

}

}

N=0;

for (i=S+1;i<E;i++)

{

s2[N]=MN[i];

N=N+1;

}

//printf ("stroka %s\n",s2);

//printf ("ns %d\n",S);

//printf ("ks %d\n",E);

ds=E-S;

//umnojenie

for (i=0;i<ds;i++)

{

if (s2[i]=='*')

{

x1p=s2[i-1]-48;

x2p=s2[i+1]-48;

//printf ("\nX1p=%d",x1p);

//printf ("\nX2p=%d",x2p);

Rp=(x1p)*(x2p);

printf("\npro=%d",Rp);

}

}

//delenie

for (i=0;i<ds;i++)

{

if (s2[i]=='/')

{

x1c=s2[i-1]-48;

x2c=s2[i+1]-48;

if (Rp!=0)

{

if (x1c==x2p)

{

x1c=Rp;

}

if (x2c==x1p)

{

x2c=Rp;

}

}

//printf ("\nX1 %d",x1c);

//printf ("\nX2 %d",x2c);

Rc=(x1c)/(x2c);

printf("\ncha=%f",Rc);

}

}

//summa

for (i=0;i<ds;i++)

{

if (s2[i]=='+')

{

x1s=s2[i-1]-48;

x2s=s2[i+1]-48;

if (Rp!=0)

{

if (x1s==x2p)

{

x1s=Rp;

}

if (x2s==x1p)

{

x2s=Rp;

}

}

if (Rc!=0)

{

if (x1s==x2c)

{

x1s=Rc;

}

if (x2s==x1c)

{

x2s=Rc;

}

}

//printf ("\nX1 %f",x1s);

//printf ("\nX2 %f",x2s);

Rs=(x1s)+(x2s);

printf("\nsum=%f",Rs);

}

}

//raznost

for (i=0;i<ds;i++)

{

if (s2[i]=='-')

{

x1r=s2[i-1]-48;

x2r=s2[i+1]-48;

if (Rp!=0)

{

if (x1r==x2p)

{

x1r=Rp;

}

if (x2r==x1p)

{

x2r=Rp;

}

}

if (Rc!=0)

{

if (x1r==x2c)

{

x1r=Rc;

}

if (x2r==x1c)

{

x2r=Rc;

}

}

if (Rs!=0)

{

if (x1r==x2s)

{

x1r=Rs;

}

if (x2r==x1s)

{

x2r=Rs;

}

}

//printf ("\nX1 %f",x1r);

//printf ("\nX2 %f",x2r);

Rr=(x1r)-(x2r);

printf("\nraz=%f",Rr);

}

}

if (Rp!=0) { y=Rp; } //itog

if (Rc!=0) { y=Rc; }

if (Rs!=0) { y=Rs; }

if (Rr!=0) { y=Rr; }

if (MN[E+1]=='*')

{

MR=y*(MN[E+2]-48);

}

if (MN[E+1]=='/')

{

MR=y/(MN[E+2]-48);

}

if (MN[E+1]=='+')

{

MR=y+(MN[E+2]-48);

}

if (MN[E+1]=='-')

MR=y-(MN[E+2]-48);

printf ("\nrezultat=%f",MR);

getchar ()

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


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

  • Разработка приложения "Калькулятор с переходом в строковый калькулятор" с применением объектно-ориентированного программирования. Концепция и понятия объектно-ориентированного программирования. Язык программирования Java. Листинг программы "Калькулятор".

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

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

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

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

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

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

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

  • Основные способы создания в среде Lazarus на языке программирования Pascal программ "Калькулятор" и "Лабиринт". Создание программы "Простейший калькулятор". Вычисление значения выражения, сумм ряда чисел, системы функций "Логическая развилка".

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

  • Разработка программы для редактирования в оперативной памяти текстовых ASCII-файлов размером не более 40 килобайт, на языке программирования Pascal в среде разработки Turbo Pascal 6.0. Инструкция для пользователя. Листинг разработанной программы.

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

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

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

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

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

  • Создание программы для выполнения простейших математических функций с применением языка программирования ObjectPascal. Проектирование графического интерфейса Калькулятора двоичных и шестнадцатеричных систем. Описание алгоритма на естественном языке.

    курсовая работа [115,4 K], добавлен 19.05.2014

  • Создание программы "Калькулятор". Возможность выбора типа калькулятора: обычный или инженерный. Главный модуль проекта CALC. Программа Calc for win (calc4win.exe), разработанная в среде Delphi версии 6. Руководство пользователя. Результаты моделирования.

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

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