Лабораторная работа №6
Разработка и использование Flash - программ
Выполнил ст. гр. СПН-99
Хорунжий О.Н.
Данный пример расчитывает формулу xi,
не xi и не не xi.(i>0;i<9)
Сначала вводятся все xi, а затем нажимается кнопка операции.
Результат выводится в нижнем текстовом поле.
Листинг программы :
Основной блок :
// Initialize the calculator variables
display = ""; // переменная поля ввода
display1 = ""; // переменная поля вывода
res=""; // переменная результата
max_el=8; // max кол-во элементов
el_cnt=0; // счетчик числа элементов
x1; // рассчитываемые переменные
x2;
x3;
x4;
x5;
x6;
x7;
x8;
stop ();
function AddDigit(digit) // ф-ция реакции на нажатие
{
// Add a digit to the display
if (clear) { // была нажата CE и все поля будут очищены
clear = false;
display = "";
}
display = display + digit; // отображение ввода
if(el_cnt == 0) // сброс всех параметров при первом
вводе
{
x1 = digit;
x2 = "";
x3 = "";
x4 = "";
x5 = "";
x6 = "";
x7 = "";
x8 = "";
display1 = "";
}
if(el_cnt == 1) // заполнение рассчитываемых переменных
x2 = digit;
if(el_cnt == 2)
x3 = digit;
if(el_cnt == 3)
x4 = digit;
if(el_cnt == 4)
x5 = digit;
if(el_cnt == 5)
x6 = digit;
if(el_cnt == 6)
x7 = digit;
if(el_cnt == 7)
x8 = digit;
}
function DoOperator(newOper) // ф-ция по нажатию кнопки
действия
{
// Perform an operation
el_cnt=0;
if (operator == "f1") { // выполнение операции f=xi
res =""+ x1 + x2 + x3 + x4 + x5 + x6 +x7 + x8;
display1 = res;
}
if (operator == "f2") { // выполнение операции f=!xi
if(x1 == "0") // инвертирование
x1 = "1";
else
if(x1 == "1")
X1 = "0" ;
if(x2 == "0")
x2 = "1";
else
if(x2 == "1")
X2 = "0" ;
if(x3 == "0")
x3 = "1";
else
if(x3 == "1")
X3 = "0" ;
if(x4 == "0")
x4 = "1";
else
if(x4 == "1")
X4 = "0" ;
if(x5 == "0")
x5 = "1";
else
if(x5 == "1")
X5 = "0" ;
if(x6 == "0")
x6 = "1";
else
if(x6 == "1")
X6 = "0" ;
if(x7 == "0")
x7 = "1";
else
if(x7 == "1")
X7 = "0" ;
if(x8 == "0")
x8 = "1";
else
if(x8 == "1")
X8 = "0" ;
res =""+ x1 + x2 + x3 + x4 + x5 + x6 +x7 + x8;
display1 = res;
}
if (operator == "f3") { // выполнение операции f=!!xi
res =""+ x1 + x2 + x3 + x4 + x5 + x6 +x7 + x8;
display1 = res;
}
clear = true;
if (newOper != null) {
operator = newOper;
operand1 = display;
}
}
Кнопка 0:
on (release) { // нажата кнопка "0"
if(el_cnt<=max_el)
{
AddDigit("0");
el_cnt++;
}
Кнопка 1:
on (release) { // нажата кнопка "1"
if(el_cnt<=max_el)
{
AddDigit("1");
el_cnt++;
}
Функциональная кнопка 1:
on (release) { // нажата кнопка "f=xi"
DoOperator("f1");
}
Функциональная кнопка 2:
on (release) { // нажата кнопка "f=!xi"
DoOperator("f2");
}
Функциональная кнопка 3:
on (release) { // нажата кнопка "f=!!xi"
DoOperator("f3");
}