PROGRAMAS BASIC PARA CASIO PB−1000,
FX−850P Y FX−880P
1. ECUACIONES SIMULTANEAS.
Resuelve x1−xn en las siguientes n ecuaciones simultaneas al entrar los coeficientes a1−an , b1−bn , ..., e
y1−yn.
Las soluciones pueden ser no exactas para coeficientes con una diferencia en exceso de 1x1010 debido al
redondeo interno.
PROGRAMA EN BASIC:
10 CLEAR:CLS
20 INPUT "Numero de incognitas";I
30 DIM X(I,(I+1)):DIM Y(I+1)
40 FOR J=1 TO I
50 FOR K=1 TO I+1
60 PRINT "X(";J;",";K;")";:INPUT X(J,K)
70 NEXT K
75 CLS
80 NEXT J
90 CLS:PRINT "Su operacion se esta calculando,espere un momento, por favor";
100 FOR L=1 TO I−1
105 IF X(L,L)=0 THEN GOSUB 1000
109 FOR J=L+1 TO I
110 IF X(J,L)=0 THEN IF L=I−1 THEN 400 ELSE 150
115 A=X(J,L)
1
120 FOR K=L TO I+1
130 X(J,K)=X(J,K)*X(L,L)−X(L,K)*A
140 NEXT K
150 NEXT J
160 NEXT L
400 FOR K=1 TO I
410 Y(K)=1
420 NEXT K
500 FOR J=1 TO 1 STEP−1
505 A=0
510 FOR K=1 TO I
520 A=X(J,K)*Y(K)+A
530 NEXT K
535 IF X(J,J)=0 THEN CLS:PRINT"El sistema no es compatible determinado":END
540 Y(J)=(X(J,I+1)+X(J,J)−A)/X(J,J)
550 NEXT J
560 CLS
570 FOR K=1 TO I
580 PRINT "X(";K;")=";Y(K);
585 IF INKEY$="" THEN 585
590 NEXT K
600 END
1000 REM BUSCAR PIVOTE DISTINTO DE 0
1015 A=1
1020 FOR K=1 TO I+1
1025 Y(K)=X(L,K)
2
1030 NEXT K
1040 FOR K=1 TO I+1
1047 ON ERROR GOTO 5000
1050 X(L,K)=X(L+A,K)
1060 NEXT K
1070 FOR K=1 TO I+1
1080 X(L+A,K)=Y(K)
1092 NEXT K
1095 IF X(L,L)<>0 THEN RETURN ELSE A=A+1:GOTO 1020
5000 PRINT "Alguna de estas ecuaciones son combinacion lineal de las otras":END
Nota sobre el programa:
El programa se ejecuta en comando basic por lo tanto funcionara tanto en calculadoras casio
(FX−850P/FX−880P/PB−1000) como en PC (GWBASIC, BASIC,TURBO BASIC).
Para las FXs ya lo tienen incorporado en su librería pero sólo resuelven 7 ecuaciones, mientras que el
programa en teoria resulave infinitas(limitado por la memoria),no se estrañe que tarde mucho tiempo en dar la
solución no es un PC a 200Mh.
2. ECUACION CUADRATICA.
Determina la solución o soluciones para ecuaciones de segundo grado entrando los coeficientes a, b y c de la
ecuación cuadrática ax2+bx+c=0.
Para determinar la solución se usan las ecuaciones de la raíz:
Cuando d=b2−4ac:
•
Cuando d>0 o d=0, hay dos raíces reales presentes:
Cuando d=0 hay una raíz real múltiple presente.(X1=X2)
•
Cuando d<0 hay dos raíces imaginarias presente:
3
PROGRAMA EN BASIC:
5 CLS : CLEAR
10 PRINT "RESOLUCION DE ECUACIONES DE SEGUNDO GRADO"
20 PRINT "ax^2+bx+C=0"
30 INPUT "a="; A
40 INPUT "b="; B
50 INPUT "c="; C
60 D = B * B − (4 * A * C)
70 SX = −B / (2 * A)
80 IF D >= 0 THEN GOTO 100
90 IF D < 0 THEN GOTO 130
100 FY = (SQR(D)) / (2 * A)
110 PRINT "S1="; SX + FY
120 PRINT "S2="; SX − FY
125 END
130 FZ = (SQR(−D)) / (2 * A)
140 PRINT "S1="; SX; "+"; FZ; "i"
150 PRINT "S2="; SX; "−"; FZ; "i"
160 END
Nota sobre el programa:
Para FX−850P o FX−880P este programa ya lo tiene incorporado en la librería.
3. ECUACIONES CUBICAS.
Determina la solución o soluciones para ecuaciones de tercer grado entrando los coeficientes a, b, c y d de la
ecuación cubica ax3+bx2+cx+d=0.
La transformación y3+3py+q=0 puede ser efectuada cuando:
4
se sustituye en ax3+bx2+cx+d=0.
En este caso sustituyendo resulta en lo siguiente:
i) Cuando c>0, se encuentra una raiz real, y dos raices imaginarias:
ii) Cuando c=0 y p=0 se encuentra una raiz real.
iii) Cuando c=0 y p<>0 se encuentra dos raices reales.
•
Cuando c<0 se encuentra tres raices reales.
PROGRAMA EN BASIC:
4. NUMEROS COMPLEJOS.
POLARES Y RECTANGULARES.
Permite pasar de rectangulares a polarea y viceversa. En las calculadoras FXs tiene tienen una función propia
que es POL(X1,X2) y REC(X1,X2).
La operación matemática es la siguiente:
5
Donde (a+bj) es la forma rectangular y modulo, angulo la polar.
De rectangular a polar:
De polar a rectangular:
Se tiene en cuenta en los programas que las calculadoras sólo utilizan senos y coseno en el primer cuadrante.
PROGRAMA EN BASIC:
100 CLS:CLEAR
110 INPUT "DE POL−>REC(1);DE REC−>POL(2)";N
140 IF N=1 THEN GOTO 340
170 INPUT "X−>";X
180 INPUT "Yj−>";Y
190 R=SQR(X^2+Y^2)
200 IF X=0 AND Y=0 GOTO 240
210 IF X=0 THEN X=(.1)^30
220 IF X>0 AND Y=0 GOTO 240
230 W=Y/X
240 V=0
250 V=ATN(W)
260 IF X<0 THEN V=V+180
270 IF V<0 THEN V=V+2*180
300 PRINT "MODULO=";R
310 PRINT "ANGULO=";V;"GRAD"
320 END
6
340 INPUT "MODULO=";R
360 INPUT "ANGULO=";W
380 X=R*COS(W)
390 Y=R*SIN(W)
400 IF Y<0 GOTO 405 ELSE GOTO 410
405 PRINT "REC.−> "
406 PRINT X;Y;"j"
407 END
410 PRINT "REC.−> ";
411 PRINT X;"+";Y;"j"
420 END
PROGRAMA PARA PB−1000:
10 CLS:CLEAR:ANGLE 0
20 LOCATE 0,0:PRINT"Numeros complejos"
30 LOCATE 0,1:PRINT"[ R−>P ]";
40 LOCATE 0,3:PRINT"[ P−>R ]";
50 A$=INKEY$
60 IF A$=CHR$(244) THEN 100
70 IF A$=CHR$(252) THEN 200
60 GOTO 50
100 CLS:PRINT"R−>P (a+bj)"
110 INPUT "a";A
120 INPUT "b";B
130 MO=SQR((A^2+B^2)
140 IF A=0 THEN A=A+0.000000001
150 ANG=ATN(B/A)
7
160 IF A<0 THEN ANG=ANG+180
170 PRINT"Modulo=";ROUND(MO,−5)
180 PRINT"Angolo=";ROUND(ANG,−4)
190 END
200 CLS:PRINT"P−>R modulo e^j angulo"
210 INPUT "Modulo=";MO
220 INPUT "Angulo=";ANG
230 A=MO*COS(ANG)
240 B=MO*SIN(ANG)
250 PRINT"(";ROUND(A,−5);"+";ROUND(B,−5);"j)"
260 END
6. NUMEROS COMPLEJOS.
OPERACIONES ARITMETICAS.
En este apartado presentamos una serie de programas para operar con numeros complejos:
1 Programa:
Este programa permite sumar, restar, multiplicar, dividir, elevar al cuadrado e invertir números complejos.
También tiene una función de guardar en memoria.
FX 850−P y FX 880−P:
5 'NUMEROS COMPLEJOS BY:CANASSO
7 CLEAR
10 DIM R(3,1),P(3,1),M$(0)
15 GOTO 610
20 'PASA DE RECTANGULAR A POLAR
22 IF R(X0,Y0)=0 AND R(X1,Y1)=0 THEN P(X0,Y0)=0:P(X1,Y1)=0:GOTO 35
25 Z=POL(R(X0,Y0),R(X1,Y1))
30 P(X0,Y0)=X:P(X1,Y1)=Y
35 RETURN
8
40 'PASA DE POLAR A RECTANGULAR
45 Z=REC(P(X0,Y0),P(X1,Y1))
50 R(X0,Y0)=X:R(X1,Y1)=Y
55 RETURN
60 'GUARDA EN MEMORIA
65 R(X0,0)=R(0,0):R(X0,1)=R(0,1)
70 P(X0,0)=P(0,0):P(X0,1)=P(0,1)
75 RETURN
80 'SACA EL CONTENIDO DE LA MEMORIA
85 R(0,0)=R(X0,0):R(0,1)=R(X0,1)
90 P(0,0)=P(X0,0):P(0,1)=P(X0,1)
95 GOSUB 835
100 RETURN
105 'CAMBIA A POR B
110 X=R(0,0):Y=R(0,1)
115 R(0,0)=R(1,0):R(0,1)=R(1,1)
120 R(1,0)=X:R(1,1)=Y
125 X=P(0,0):Y=P(0,1)
130 P(0,0)=P(1,0):P(0,1)=P(1,1)
135 P(1,0)=X:P(1,1)=Y
140 GOSUB 835
145 RETURN
150 'PRESENTACION
155 CLS
165 LOCATE 31,0
170 PRINT M$(0);">A,I,S,^,+,−,*,/,Me,mE,Ld,lD,C?";
9
175 RETURN
180 'RECIBE DATOS EN RECTANGULARES
185 CLS
190 PRINT "NUMERO COMPLEJO A(a+bj) a="R(0,0);
195 INPUT "";R(0,0)
200 CLS
205 PRINT "NUMERO COMPLEJO A(a+bj) bj="R(0,1);
210 INPUT "";R(0,1):CLS
215 X0=0:Y0=0:X1=0:Y1=1
220 GOSUB 20
225 GOSUB 150
227 GOSUB 835
230 RETURN
235 'RECIBE DATOS EN FORMA FASORIAL
240 CLS
245 PRINT "FASOR A(r¥e^j) r="P(0,0);
250 INPUT "";P(0,0)
255 CLS
260 PRINT "FASOR A(r¥e^j) ="P(0,1);
265 INPUT "";P(0,1):CLS
270 GOSUB 795
274 X0=0:Y0=0:X1=0:Y1=1
275 GOSUB 40
280 GOSUB 150
282 GOSUB 835
285 RETURN
10
290 'CALCULA LA INVERSA DE A
292 IF P(0,0)=0 THEN BEEP 0:GOTO 320
295 P(0,0)=1/P(0,0)
300 P(0,1)=P(0,1)*(−1)
302 GOSUB 795
305 X0=0:Y0=0:X1=0:Y1=1
310 GOSUB 40
315 GOSUB 835
320 RETURN
325 'CALCULA EL CUADRADO DE A
330 P(0,0)=P(0,0)*P(0,0)
335 P(0,1)=P(0,1)*2
337 GOSUB 795
340 X0=0:Y0=0:X1=0:Y1=1
345 GOSUB 40
350 GOSUB 835
355 RETURN
360 'CALCULA LA RAIZ CUADRADA DE A
365 P(0,0)=SQR(P(0,0))
370 P(0,1)=P(0,1)/2
375 X0=0:Y0=0:X1=0:Y1=1
380 GOSUB 40
385 GOSUB 835
390 RETURN
395 'RECIBE EL NUMERO B
400 CLS
11
405 X0=1:Y0=0:X1=1:Y1=1
410 IF M$(0)="R" THEN 415 ELSE 435
415 PRINT "NUMERO COMPLEJO B(c+dj) c="R(1,0);
420 INPUT "";R(1,0)
425 CLS:PRINT "NUMERO COMPLEJO B(c+dj) dj="R(1,1);:INPUT "";R(1,1):CLS
429 GOSUB 20
430 GOTO 445
435 PRINT "FASOR B(r¥e^j) r="P(1,0);:INPUT "";P(1,0)
440 CLS:PRINT "FASOR B(r¥e^j) ="P(1,1);:INPUT "";P(1,1):CLS
442 IF (P(1,0)=0 AND P(1,1)=0) THEN R(1,0)=0:R(1,1)=0:GOTO 445
444 GOSUB 40
445 RETURN
450 'CALCULA A+B
455 GOSUB 395
460 R(0,0)=R(0,0)+R(1,0)
465 R(0,1)=R(0,1)+R(1,1)
470 X0=0:Y0=0:X1=0:Y1=1
475 GOSUB 20
480 GOSUB 150
482 GOSUB 835
485 RETURN
490 'CALCULA A−B
495 GOSUB 395
500 R(0,0)=R(0,0)−R(1,0)
505 R(0,1)=R(0,1)−R(1,1)
510 X0=0:Y0=0:X1=0:Y1=1
12
515 GOSUB 20
520 GOSUB 150
522 GOSUB 835
525 RETURN
530 'CALCULA A*B
535 GOSUB 395
540 P(0,0)=P(0,0)*P(1,0)
545 P(0,1)=P(0,1)+P(1,1)
547 GOSUB 795
550 X0=0:Y0=0:X1=0:Y1=1
555 GOSUB 40
560 GOSUB 150
562 GOSUB 835
565 RETURN
570 'CALCULA A/B
575 GOSUB 395
577 IF P(1,0)=0 THEN BEEP 0:GOTO 600
580 P(0,0)=P(0,0)/P(1,0)
585 P(0,1)=P(0,1)−P(1,1)
587 GOSUB 795
590 X0=0:Y0=0:X1=0:Y1=1
595 GOSUB 40
600 GOSUB 150
602 GOSUB 835
605 RETURN
610 'PROGRAMA PRINCIPAL
13
615
M$(0)="R":R(0,0)=0:R(0,1)=0:R(1,0)=0:R(1,1)=0:R(2,0)=0:R(2,1)=0:P(0,0)=0:P(0,1)=0:P(1,0)=0:P(1,1)=0:P(2,0)=0:P(2,1)=0
617 MODE4:M=4
618 CLS:LOCATE 4,0:PRINT "NUMEROS COMPLEJOS V2.1";
619 LOCATE 3,1:PRINT "(`SPC'æENTRAR ; `X'æSALIR)";
620 Q$=INPUT$(1)
621 IF Q$=" " THEN GOSUB 150:GOSUB 835 ELSE 620
625 K$=INPUT$(1)
630 IF K$="A" THEN IF M$(0)="R" THEN GOSUB 180 ELSE GOSUB 235
635 IF K$="I" THEN GOSUB 290
640 IF K$="S" THEN GOSUB 360
645 IF K$="^" THEN GOSUB 325
650 IF K$="+" THEN GOSUB 450
655 IF K$="−" THEN GOSUB 490
670 IF K$="*" THEN GOSUB 530
675 IF K$="/" THEN GOSUB 570
680 IF K$="R" AND M$(0)="P" THEN M$(0)="R":GOSUB 150:GOSUB 835
685 IF K$="P" AND M$(0)="R" THEN M$(0)="P":GOSUB 150:GOSUB 835
690 IF K$="M" THEN X0=2:GOSUB 60
695 IF K$="L" THEN X0=2:GOSUB 80
700 IF K$="C" THEN GOSUB 105
705 IF K$="D" THEN X0=3:GOSUB 80
710 IF K$="E" THEN X0=3:GOSUB 60
715 IF K$="X" THEN CLS:LOCATE 2,0:PRINT "PROGRAMATED BY : CANASSO!`96";:END
720 IF K$="4" AND M=5 THEN MODE4:M=4:C=(180/PI):GOSUB 740
725 IF K$="5" AND M=4 THEN MODE5:M=5:C=(PI/180):GOSUB 740
735 GOTO 625
14
740 'CAMBIA LA UNIDAD DE ANGULO
745 FOR I=0 TO 3
750 P(I,1)=P(I,1)*C
75
Comentarios de: Programas Basic para Casio PB-1000, FX-850P Y FX-880P (0)
No hay comentarios