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

Разработка приложения на базе скриптового языка программирования JavaScript, с использованием каскадных таблиц стилей CSS в среде программирования Bluefish Editor. Обоснование выбора инструментов. Применение клавиш управления памятью калькулятора.

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

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

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

<META http-equiv="Content-Type" content="text/html; charset=UTF-8">

<style type="text/css">

<!--настраиваем стили для отображения документа -->

<!--

body {font-family: helvetica}

p {font-size: 12pt}

.redText {color: red}

.blueText {color: blue}

-->

</style>

<SCRIPT LANGUAGE="JavaScript">

// описание функций используемых программой JsCalculator

//<!-- Begin

var Mem = 0; // переменная для хранения значений в памяти между операциями

var Digit1 = ""; // первый операнд

var Digit2 = ""; // второй операнд

var Status = "blank"; // переменная -- флаг состояний

var CurrOper = ""; // переменная для хранения операций

function out2Display(displaynumber) // функция выводящая на дисплей результат

{

document.calculator.answer.value = displaynumber;

}

function clearMem() // функция очистки памяти

{

Mem = 0;

document.calculator.mem.value = "";

}

function recallMem(answer) // функция вызова значения из памяти

{

if(Status != "blank") {

Digit2 += answer;

}

else

{

Digit1 = answer;

}

Status = "blank";

out2Display(answer);

}

function subtrMem(answer) // функция вычитания текущего значения из значения в памяти

{

Mem = Mem - eval(answer);

}

function addMem(answer) // функция сложения значения хранящегося в памяти с текущим числом

{ // или записи в память нового значения

Mem = Mem + eval(answer);

document.calculator.mem.value = " M ";

Status = "blank";

}

function clearCalc() // функция сброса состояний - очищает все переменные

{

Digit1 = "";

Digit2 = "";

Status = "blank";

out2Display("");

}

function Backspace(answer) // функция стирания последних набранных символов

{

answerlength = answer.length;

answer = answer.substring(0, answerlength - 1);

if (Digit2 != "")

{

Digit2 = answer.toString();

out2Display(Digit2);

}

else

{

Digit1 = answer.toString();

out2Display(Digit1);

}

}

function ceCalc() // функция сброса последнего набранного числа

{

Digit2 = "";

Status = "yes";

out2Display("");

}

function numControl(answer) // функция выполняющая вывод цифры на дисплей

{

if(answer == ".") {

Number = document.calculator.answer.value;

if(Number.indexOf(".") != -1)

{

answer = "";

}

}

if(Status == "yes")

{

Digit2 += answer;

out2Display(Digit2);

}

else

{

if(Status == "blank")

{

Digit1 = answer;

Digit2 = "";

Status = "no";

}

else

{

Digit1 += answer;

}

out2Display(Digit1);

}

}

function operPlus(x) // функция выполняющая операцию сложения

{

if(x == 1) operEqual();

if(Digit2 != "")

{

Digit1 = parseFloat(Digit1) + parseFloat(Digit2);

}

Status = "yes";

CurrOper = '+';

out2Display(Digit1);

}

function operMinus(x) // функция выполняющая операцию вычитания

{

if(x == 1) operEqual();

if(Digit2 != "")

{

Digit1 = parseFloat(Digit1) - parseFloat(Digit2);

}

Status = "yes";

CurrOper = '-';

out2Display(Digit1);

}

function operMult(x) // функция выполняющая операцию умножение

{

if(x == 1) operEqual();

if(Digit2 != "")

{

Digit1 = parseFloat(Digit1) * parseFloat(Digit2);

}

Status = "yes";

CurrOper = '*';

out2Display(Digit1);

}

function operDiv(x) // функция выполняющая операцию деление

{

if(x == 1) operEqual();

if(Digit2 != "")

{

Digit1 = parseFloat(Digit1) / parseFloat(Digit2);

}

Status = "yes";

CurrOper = '/';

out2Display(Digit1);

}

function operSqrt() // функция выполняющая операцию извлечения квадратного корня

{

Digit1 = Math.sqrt(Digit1);

Status = "blank";

out2Display(Digit1);

}

function operPercent() // функция выполняющая операцию вычисления процента

{

if(Status != "blank")

{

Digit2 *= .01;

Status = "blank";

out2Display(Digit2);

}

}

function operRecip() // вычисление функции f(x) = 1/x

{

Digit1 = 1/Digit1;

Status = "blank";

out2Display(Digit1);

}

function operNegative() // функция изменяющая знак операнда

{

Digit1 = parseFloat(-Digit1);

Status = "no";

out2Display(Digit1);

}

function operEqual() // функция клавиши = выполняющая вызов функций соответствующих операций

{

if(CurrOper == '+') operPlus(0);

if(CurrOper == '-') operMinus(0);

if(CurrOper == '*') operMult(0);

if(CurrOper == '/') operDiv(0);

Digit2 = "";

CurrOper = "";

}

// End -->

</script>

</head>

<body bgcolor="#EDEDED" text="#000000" link="#000000" topmargin="0" leftmargin="0">

<center>

<!-- создаем калькулятор в виде обычной формы html-страницы

которую помещаем в таблицу для получения привычного вида -->

<form name="calculator">

<table bgcolor="#aaaaaa" width=220> <!-- задаем цвет фона -->

<tr><td>

<table bgcolor="#cccccc" border=1>

<tr><td>

<table border=0 cellpadding=0>

<tr><td bgcolor="#000000"><center><b style="color:white">JsCalculator</b></center></td></tr>

<tr><td>

<table width="100%" border=0>

<!-- создаем текстовое поле с именем answer которое будет выполнять

функции LCD-дисплея, для большей схожести включаем для этого поля режим "только для чтения", чтобы пользователь не мог ввести в это поле данные минуя клавиатуру калькулятора -->

<tr><td colspan=6><input type="text" name="answer" size=40 maxlength=30 onChange="numControl(this.value)" readonly></td></tr>

<tr><td colspan=6>

<table border=0 cellpadding=0>

<tr><td>

<!-- создаем поле "только для чтения" в котором будет выводиться сообщение "М" которое говорит о сохранении в промежуточной ячейке памяти некоторого значения -->

<input type="text" name="mem" size=3 maxlength=3 readonly>

<!-- создаем 3 клавиши:

Backspace - для забоя введенных цифр,

СЕ - для очистки последнего введенного числа,

С - для полной очистки всех состояний

и назначаем им функции-обработчики запускаемые

по событию onClick -->

<input type="button" name="backspace" class="redText" value=" Backspace " onClick="Backspace(document.calculator.answer.value); return false;">

<input type="button" name="CE" class="redText" value=" CE " onClick="ceCalc(); return false;">

<input type="reset" name="C" class="redText" value=" C " onClick="clearCalc(); return false;">

</td></tr>

</table>

</td></tr>

<!-- создаем клавишу МС - для очистки данных сохраненных в памяти и назначаем функцию обработчик нажатия клавиши clearMem -->

<tr><td><input type="button" name="MC" class="redText" value=" MC " onClick="clearMem(); return false;"></td>

<!-- создаем цифровые клавиши 7,8,9 с назначением функции-обработчика numControl -->

<td><input type="button" name="calc7" class="blueText" value=" 7 " onClick="numControl('7'); return false;"></td>

<td><input type="button" name="calc8" class="blueText" value=" 8 " onClick="numControl('8'); return false;"></td>

<td><input type="button" name="calc9" class="blueText" value=" 9 " onClick="numControl('9'); return false;"></td>

<!-- создаем клавиши деления, вычисления квадратного корня

и вызова содержимого из ячейки памяти с назначением функций-обработчиков -->

<td><input type="button" name="divide" class="redText" value=" / " onClick="operDiv(1); return false;"></td>

<td><input type="button" name="sqrt" class="blueText" value="sqrt" onClick="operSqrt(); return false;"></td></tr>

<tr><td><input type="button" name="MR" class="redText" value=" MR " onClick="recallMem(Mem); return false;"></td>

<!-- создаем цифровые клавиши 4,5,6 с назначением функции-обработчика numControl -->

<td><input type="button" name="calc4" class="blueText" value=" 4 " onClick="numControl('4'); return false;"></td>

<td><input type="button" name="calc5" class="blueText" value=" 5 " onClick="numControl('5'); return false;"></td>

<td><input type="button" name="calc6" class="blueText" value=" 6 " onClick="numControl('6'); return false;"></td>

<!-- создаем клавиши умножения, вычисления процентов

и вычитания содержимого из ячейки памяти с назначением функций-обработчиков -->

<td><input type="button" name="multiply" class="redText" value=" * " onClick="operMult(1); return false;"></td>

<td><input type="button" name="percent" class="blueText" value=" % " onClick="operPercent(); return false;"></td></tr>

<tr><td><input type="button" name="MS" class="redText" value=" MS " onClick="subtrMem(document.calculator.answer.value); return false;"></td>

<!-- создаем цифровые клавиши 1,2,3 с назначением функции-обработчика numControl -->

<td><input type="button" name="calc1" class="blueText" value=" 1 " onClick="numControl('1'); return false;"></td>

<td><input type="button" name="calc2" class="blueText" value=" 2 " onClick="numControl('2'); return false;"></td>

<td><input type="button" name="calc3" class="blueText" value=" 3 " onClick="numControl('3'); return false;"></td>

<!-- создаем клавиши вычитания, вычисления функции f(x) = 1/x

и сложения содержимого с ячейкой памяти с назначением функций-обработчиков -->

<td><input type="button" name="minus" class="redText" value=" - " onClick="operMinus(1); return false;"></td>

<td><input type="button" name="recip" class="blueText" value="1/x " onClick="operRecip(); return false;"></td></tr>

<tr><td><input type="button" name="Mplus" class="redText" value=" M+ " onClick="addMem(document.calculator.answer.value); return false;"></td>

<!-- создание цифровой клавиши 0 с назначением функции-обработчика numControl -->

<td><input type="button" name="calc0" class="blueText" value=" 0 " onClick="numControl('0'); return false;"></td>

<!-- создаем клавиши задания знака операнда, ввода точки разделяющей целую и дробную части числа, сложения и равно с назначением функций-обработчиков -->

<td><input type="button" name="negate" class="blueText" value="+/- " onClick="operNegative(); return false;"></td>

<td><input type="button" name="dot" class="blueText" value=" . " onClick="numControl('.'); return false;"></td>

<td><input type="button" name="plus" class="redText" value=" + " onClick="operPlus(1); return false;"></td>

<td><input type="button" name="equal" class="redText" value=" = " onClick="operEqual(); return false;"></td>

</tr>

</table>

</td></tr>

</table>

</td></tr>

</table>

</td></tr>

</table>

</form>

</body>

</html>

ПРИЛОЖЕНИЕ Б

Рисунок 1. Блок-схема работы приложения

Список использованной литературы

1. Кастро Э. HTML и CSS для создания web-страниц. Издательство «НТ Пресс», 2006г. - 144 стр.

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


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

  • Исследование возможностей и областей использования языка программирования JavaScript. Сравнительный анализ языков программирования JavaScript и PHP. Разработка интерактивного Web-приложения на примере теста по теме "Программирование на языке Delphi".

    практическая работа [26,0 K], добавлен 04.02.2015

  • Сравнительная характеристика, возможности и функции языков программирования JavaScript и PHP. Основные области их использования. Разработка интерактивного Web-приложения с применением JavaScript на примере теста по теме "Программирование на языке Delphi".

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

  • Изучение инструментальной графической среды программирования промышленных контроллеров и языка программирования FBD. Разработка приложения, реализующего вычисление арифметических и логических выражений. Проверка работы приложения программой "Maple".

    контрольная работа [2,2 M], добавлен 26.05.2015

  • Описание основных используемых технологий и языков программирования. Язык программирования JavaScript. Таблица стилей CSS. Общая схема работы web-приложения. API система "1С-Битрикс: Управление сайтом". Формирование требований к сценариям работы.

    дипломная работа [186,4 K], добавлен 30.04.2014

  • Разработка приложения для работы с базой данных с использованием объектно-ориентированного и визуального программирования. Обзор языка элементов языка программирования Delphi. Проектирование базы данных автозаправки. Клиентская система приложения.

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

  • Рассмотрение особенностей выбора инструментов. Изучение архитектуры приложений Laravel. Характеристика модели использованной базы данных. Определение каскадных таблиц стилей. Постановка решаемых задач. Выставление билета на продажу и его покупка.

    дипломная работа [746,9 K], добавлен 11.08.2017

  • Обзор некоторых сведений о матрицах. Описание этапов работы с функциями. Проектирование программы для выполнения вычислений над матрицами в среде программирования MSVisualStudio 2008, при помощи языка программирования C++. Проверка результатов в Mathcad.

    курсовая работа [182,0 K], добавлен 06.04.2013

  • Классификация компьютерных сетей. Схема подключения к Интернету, каналы передачи и приема информации. Разработка сайта с использованием скриптового языка программирования PHP и базы данных MySQL (база данных о квартирах, предназначенных для продажи).

    контрольная работа [3,6 M], добавлен 09.05.2012

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

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

  • Технология создания многопоточных приложений в современных системах программирования с использованием языка C# в Visual Studio.NET. Разработка алгоритма и структуры программы. Описание и особенности тестирования приложения с разным количеством потоков.

    курсовая работа [773,0 K], добавлен 14.03.2013

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