Разработка приложения для выполнения математических операций и вычислений
Разработка приложения на базе скриптового языка программирования 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