Escolar Documentos
Profissional Documentos
Cultura Documentos
Antes de empezar
Arreglos (Arrays)
Vectores y Matrices
Las variables tipo matriz pueden tener una longitud variable, las
posiciones no iniciadas se completan con 0, puesto que este es el
valor que se de ne por defecto a datos no iniciados, respetándose la
sintaxis de sólo contener datos tipo real.
Pero existe una forma especial para retirar datos con el uso de una
lista como parámetro, siendo el caso de obtener un intervalo de
vectores o un intervalo de sub-índices, en ambos casos
obteniéndose una matriz bidimensional aun si sólo se hace
referencia a un dato. Este caso es exclusivo para la salida de datos, no
es funcional para la asignación de datos.
Listas
Boolean?
RESPONDER
RESPONDER
RESPONDER
Gracias.
Roland
RESPONDER
EXPORT GUIDE()
BEGIN
LOCAL Fx:='X';
LOCAL X1:=0,X2:=9,INF,DF;
PRINT;
INPUT({{Fx,[8],{35,45,2}},{X1,[0],{50,20,3}},{X2,[0],
{50,20,4}}},"INTEGRALES",{"F(x) =","Xinicial =","X nal
="},{"Ingrese la F(x) en funcion de X","Ingrese Limite
Inferior de Integracion","Ingrese Limite Superior de
Integracion"});
INF:=CAS.int(Fx,X, X1,X2);
DF:=diff(Fx,X);
PRINT(INF);
PRINT(DF);
WAIT(-1);
END;
RESPONDER
RESPONDER
RESPONDER
Ejemplo:
INPUT({
{X1,[0],{35,12,1}},
{X2,[0],{49,12,1}},
{X3,[0],{63,12,1}}
},
"GGMMSS",
{"Dato:","",""},
{"Grados","Minutos","Segundos"}
)
RESPONDER
EXPORT FRICCION()
BEGIN
IF INPUT({{Q,[0],{10,30,0}},
{D,[0],{50,30,0}},
{K,[0],{10,30,1}},
{V,[0],{50,30,1}}},
"CALCULO DE FRICCION",
{"Q:","D:","K:","V:"},
{"Ingrese caudal (m3/s)","Ingrese diametro (pulg)",
"Ingrese rugosidad (m)", "Ingrese viscosidad(m2/s)"}
) THEN
)
print("ok");
END;
END;
RESPONDER
RESPONDER
RESPONDER
RESPONDER
RESPONDER
RESPONDER
RESPONDER
EDGARD PAUCAR VILLALOBOS 6/12/17 14:20
Saludos Carlos.
Felicidades por el aporte y éxito.
Tengo di cultades para programar en CAS, tienes
algun blog,portal o info de que tanto varía la
programación con respecto a la convencional?
y una segunda consulta.
hal algun forma de mostrar el resultado de una matriz
en su forma convenccional y no linealmente?
ejm:
RESPONDER
RESPONDER
RESPONDER
#cas
programa(mat):=
// matriz de 4x4
BEGIN
LOCAL lista:={},ele,A;
FOR A FROM 1 to 4 DO
ele:=mat(A,A);
lista(A):=ele;
END;
RETURn lista;
END;
#end
Respuesta larga:
Preferiría que no se pregunte sobre
programación CAS aquí, pero es una
pregunta después de todo. Te recomendaría
que no uses una función CAS para esto, ya
que usar una función de HP PPL en CAS no
tienen ningún problema pero deberás
considerar las conversiones de tipo que
existen entre ambos lenguajes.
En programación CAS existen estos
formatos como lista 1,2,3 [1,2,3] {1,2,3},
todos son considerados DOM_LIST así que
los ejemplos anteriores son muy similares.
La declaración con LOCAL en CAS acepta el
formato 1,2,3; es decir que al hacer LOCAL
lista:={},ele,A; se esta creando a lista={},ele,A
y no variables por separado, para ello se usa
LOCAL (lista:={}),ele,A;
Cuando se usa una variable no creada en
CAS, esta se crea automáticamente; con el
error anterior "ele" se esta creando como
error anterior ele se esta creando como
variable global CAS y no como LOCAL. (Es
decir que puede ser encontrado desde la
lista de variables CAS externas)
A una lista se puede acceder con
lista(indice) o lista[indice], por ejemplo
lista(1) o lista[2]:=8.
En CAS el formato
Variable(variable):=Expresión, es
considerado un formato para creación de
funciones, por lo tanto lista(A):=5 signi cará
"(A)-->5" una función lista que recibe como
parámetro una variable A que se reemplaza
en 5. Por ejemplo f(x):=x^2, crea una función
f "(x)->x^2", si se ejecuta f(8) se obtiene 64.
Cuando se usa variables como índices de
una lista, se debe usar solo el formato con
corchetes lista[A].
Función corregida:
prograMat(mat):=
BEGIN
LOCAL (lista:=[]),ele,A;
for A from 1 to 4 do
ele:=mat[A,A];
lista[A]:=ele;
end;
return lista;
END;
RESPONDER
RESPONDER
RESPONDER
FOR I FROM 1 TO 3 DO
TEXTOUT_P("RESULTADOS",30+I,20+I,3,RGB(25,255,0)
);
END;
FOR I FROM 1 TO 2 DO
TEXTOUT_P(LI(I),14,25+15*I,2,RGB(255,255,255));
TEXTOUT_P(":",180,25+15*I,2,RGB(255,255,255));
TEXTOUT_P(LR(I),185,25+15*I,2,RGB(255,255,255));
END;
WAIT(-1)
END;
UNTIL MENU==4;
END;
RESPONDER
Escribe un comentario...
Lo más visto
Á
LEER MÁS
LEER MÁS
Historial de publicacion…
Tweets by
@ElAmigoCarlosCG
ElAmigoCarlos
@ElAmigoCarlosCG
HP Prime - Omisiones en
sintaxis. Formas alternativas de
escribir el código de un
programa con una ligera
supresión y reemplazo de
carácteres y símbolos. carlos-
icg.blogspot.com/2018/05/hp-
pri…
YouTube @YouTube
Denunciar abuso