Модернизация калькуляторов

Поиск по сайту
Поиск на сайте

Обратная связь
Гостевая книга
Мыло
Навигация по сайту
Главная
Модернизация калькуляторов CITIZEN
Модернизация калькуляторов CASIO
Модернизация калькуляторов других производителей
Модернизация калькуляторов SHARP
Сравнение производительности калькуляторов
Параметры калькуляторов CITIZEN
Инструкции к калькуляторам
Полезные ссылки по теме

Программы для графического калькулятора CITIZEN SRP-325G

ПРЕДУПРЕЖДЕНИЕ: Автор этой статьи не несёт никакой ответственности за результаты использования данного метода. Все действия производятся пользователем на свой страх и риск

Здесь приведены несколько программ для графического калькулятора CITIZEN SRP-325G. Программы достаточно простые, но они приведены в качестве примера задач, для которых имеет смысл повысить производительность аппарата (например, "разогнать" его).

 

1.) Численное дифференцирование (дифференцируемая функция в PROG 9 в виде Y=f(X)):

I=0.00000001;
INPUT X;
GOSUB PROG 9;
A=Y;X=X+I;
GOSUB PROG 9;
B=Y;
D=(B-A)/I;
D=RND(D);
PRINT "f'=",D
END

 

2.) Численное интегрирование (Формула левых прямоугольников):

X=0;Y=0;I=0;I
INPUT A,B,N;
H=(B-A)/N;X=A;
FOR(L=0;L<N;L++)
{
GOSUB PROG 9;
I=I+(Y*H);
X=X+H;
}
PRINT "I=",I;

3.) Часы:

INPUT H,M,S;
Lbl 1:
IF(S>59)THEN{M++;S=0;}
IF(M>59)THEN{H++;M=0;}
S++;
PRINT H,":",M,":",S;
SLEEP(1.0);
GOTO 1;
END

Примечание: Единицы параметра оператора SLEEP() на самом деле не строго соответствуют секундам. Наиболее оптимальный вариант - использованиеопытным путём полученной комбинации SLEEP(0.1);SLEEP(0.1);SLEEP(0.5) вместо SLEEP(1.0);Минус в том, что эта комбинация является оптимальной лишь для моего экземпляра SRP-325G, и это ещё не значит, что она является оптимальной для всех таких калькуляторов. Так что, здесь есть поле для эксперимента. Также непонятно, зачем нужна возможность задания дробного параметра в этом опреаторе, т.к. он работает достаточно странно: SLEEP(0.1);SLEEP(0.1); не эквивалентно SLEEP(0.2);Ещё один способ повышения точности отсчёта временных интервалов - калибровка резистора R2, упомянутая в этой статье.

4.) Построение графиков в полярных координатах - вариант первый (быстрый, но иногда глючный):

F=0;D=Pi/18;Lbl0:
GOSUB PROG 9;
X=P>Rx (R,F);Y= P>Ry (R,F);

PLOT(X,Y);
F=F+D ;
IF(F>=2Pi) THEN {GOTO 1;};
GOTO 0;LBL 1:
END;

Функция вида R=g(F) сохраняется в программной ячейке номер 9

5.) Построение графиков в полярных координатах - вариант второй (лагучий, зато надёжный):

PRINT "POLAR GRAPH";INPUT N,M; U=2Pi*M; F=0; D=Pi/N; Lbl0:
GOSUB PROG 9;
X=R*COS(F);Y= R*SIN(F);

PLOT(X,Y);
F=F+D ;
IF(F>=U) THEN {GOTO 1;};
GOTO 0;LBL 1:
END;

Здесь: N - число точек на один поворот луча (на 2пи),
M - Число оборотов луча (определяет максимальный угол равный 2пи*M) - актуально для фигур типа спирали Архимеда и т.д.
Примеры красивых функций для проверки программы:

R=0.1*F; END - Cпираль Архимеда;
R=SQRT(2*2*cos(2*F));; END - Лемниската Бернулли для c=SQRT(2);
R= 2*sin (3F/4); END; - одна из кривых Гранди (Тут лучше взять N не менее 18 и M побольше (где-то 6- 8))

6.) Суммирование рядов (Функция должна находиться в PROG9 в виде Y=f(X), E - это необходимая точность вычислений)

PRINT " SIGMA "
X=1;S=0;F=0;
INPUT E;
lbl 0:
GOSUB PROG 9;
S=S+Y;X++;
IF(ABS(F-Y)<=E)THEN
{
GOTO 1;
}
F=Y;
GOTO 0;
Lbl1:
PRINT " S " ,S;
END

 

7.) Табулирование функций:

PRINT "TABLE";SLEEP (1);INPUT A,B,N;
H=(B-A)/H;
FOR(X=A;X<=B;X=X+H)
{
GOSUB PROG 9;
PRINT "F(",X,")=",Y;
};
END;

Здесь: A и B - границы интервала, на котором рассматривается функция,
H- Число промежуточных точек, в которых вычислять значения.

 

 

 

(c) 2007 by Svin


Главная

Rambler's Top100 Рейтинг@Mail.ru

Используются технологии uCoz