Glosario

Protocolo de transferencia de datos usado por las HP48 y la mayoría de los programas de comunicación. La implementación del Kermit en la HP48 es muy lenta, y es incapaz de transmitir a más de 2400bps, aunque la implementación en computadora es mucho más rápida. Kermit es el único protocolo de transferencia que acepta el modo de transferencia ASCII en vez de tan sólo modo binario. La Universidad de Columbia tiene los derechos sobre el Kermit. El nombre Kermit viene de Kermit la Rana, de los Muppets.

Vinculacion del comando CHOOSE con INFORM

6 respuestas [Último envío]
Integró: 27/06/2009
Envíos: 37
MonedasHP: 0
Imagen de XTIAN1963
Calc: HP50
Vinculacion del comando CHOOSE con INFORM
 
Vie, 03/07/2009 - 09:30

Estimados Socios Adictos.
Me vengo transformando en un adicto y quiero aprender a hacer mis
propios programas.
Es por esto que solicito ayuda para resolver el siguiente mini programa
en el cual uso CHOOSE para despues hacer un INFORM para el calculo final

Si alguien me puede ayudar y revisar el programa que he hecho :

«
"ESTDSTICA DESCRIPTIVA"
{
{ "Media ni" 1 }
{ "As" 2 }
}
1
CHOOSE
CLLCD
«
IF '1'
THEN
«
"CALCULO PARA LA MEDIA CON ni"
{
{ "LI50%" "LIMITE INFERIOR DE LA CLASE 50%" 0 }
{ "n" "NUMERO TOTAL DE DATOS" 0 }
{ "ai" "AMPLITUD DE LA CLASE" 0 }
{ "Ni-1" "FRECUENCIA ACUMULADA ANTERIOR" 0 }
{ "ni" "NUMERO DE DATOS DE LA CLASE 50%" 0 }
}
{ 2 4 }
{ }
{ }
INFORM
IF
THEN
OBJ
DROP  A B C D E
«
'A+(B/2-D)*(C/E)' EVAL 4 RND
STR "MEDIA:" SWAP + CLLCD MSGBOX
»
ELSE
"CANCELADO"CLLCD MSGBOX
END
»
END
»

IF '2'
THEN
«
"COEFICIENTE DE PEARSON"
{
{ "" "PROMEDIO DE LOS DATOS" 0 }
{ "Me" "MEDIA DE LOS DATOS" 0 }
{ "S" "DESV.STND DE LOS DATOS" 0 }
}
{ 2 4 }
{ 0 0 0 }
{ 0 0 0 }
INFORM
IF
THEN
OBJ
DROP  A B C
«
'(3/C)*(A-B)' EVAL 4 RND
STR "Coef.Pearson As:" SWAP + CLLCD MSGBOX
»
ELSE
"CANCELADO"CLLCD MSGBOX
END
»
END
»

Top
Integró: 28/06/2003
Envíos: 181
MonedasHP: 78
Imagen de deachp
 
#1
Vie, 03/07/2009 - 10:24

Saludos a XTIAN1963 y a todos los miembros del grupo,

XTIAN1963, aquí te muestro dos formas, puedes basarte en cualquiera de ellas para mejorar tu código:

Ejemplo #1: « "Escoger" { { "A" 1 } { "B" 2 } { "C" 3 } } 1 CHOOSE IF THEN -> opc « CASE 'opc==1' THEN "Escogiste A" END 'opc==2' THEN "Escogiste B" END 'opc==3' THEN "Escogiste C" END END » END »

Ejemplo #2: « "Escoger" { { "A" « "Escogiste A" » } { "B" « "Escogiste B" » } { "C" « "Escogiste C" » } } 1 CHOOSE IF THEN EVAL END »

Puedes reemplazar los textos que dicen "Escogiste A", "Escogiste B" ó "Escogiste C" por los códigos que contienen tus INFORMs e incluso añadir más opciones a escoger.

Atte. Dante Aroní C. www.deachp.com

DEACHP Software www.deachp.com
Todo sobre Calculadoras HP
Ventas, Soporte Técnico y Cursos de Programación
UNI / Lima / Perú
Telfs: (+51)997111260 (+51)4810146

Top
Integró: 27/06/2009
Envíos: 37
MonedasHP: 0
Imagen de XTIAN1963
Calc: HP50
 
#2
Vie, 03/07/2009 - 11:48

Hola Dante.,

Gracias por tu pronta respuesta.

Mira estuve probando los programas que me enviaste
el primero funciono con CHOOSE sin ningun problema,
el segundo no me anduvo.

Lo otro es que trate de que al hacer la seleccion con CHOOSE
el programa se pasara a la plantilla de INFORM pero no lo logrè.

A ver si me hechas una mano, tengo varios INFORM que quiero que
se activen con CHOOSE.

Te dejo una copia de lo que hice con lo que me enviaste.

Saludos.

« "Escoger"
{ { "A" 1 } { "B" 2 } { "C" 3 } } 1 CHOOSE
IF THEN
opc
«
CASE
'opc==1' THEN "CALCULO PARA LA MEDIA CON ni"
«
"CALCULO PARA LA MEDIA CON ni"
{
{ "LI50%" "LIMITE INFERIOR DE LA CLASE 50%" 0 }
{ "n" "NUMERO TOTAL DE DATOS" 0 }
{ "ai" "AMPLITUD DE LA CLASE" 0 }
{ "Ni-1" "FRECUENCIA ACUMULADA ANTERIOR" 0 }
{ "ni" "NUMERO DE DATOS DE LA CLASE 50%" 0 }
}
{ 2 4 }
{ }
{ }
INFORM
IF
THEN
OBJ
DROP  A B C D E
«
'A+(B/2-D)*(C/E)' EVAL 4 RND
STR "MEDIA:" SWAP + CLLCD MSGBOX
»
ELSE
"CANCELADO"CLLCD MSGBOX
END
»
END
'opc==2' THEN "Escogiste B" END
'opc==3' THEN "Escogiste C" END
END
»
END
»

Top
Integró: 28/06/2003
Envíos: 181
MonedasHP: 78
Imagen de deachp
 
#3
Vie, 03/07/2009 - 12:27

Hola denuevo,

Aquí la modificación que hice a tu programa:

« "Escoger"
{ { "A" 1 } { "B" 2 } { "C" 3 } } 1 CHOOSE
IF THEN
 opc
«
CASE
'opc==1' THEN
"CALCULO PARA LA MEDIA CON ni"
{
{ "LI50%" "LIMITE INFERIOR DE LA CLASE 50%" 0 }
{ "n" "NUMERO TOTAL DE DATOS" 0 }
{ "ai" "AMPLITUD DE LA CLASE" 0 }
{ "Ni-1" "FRECUENCIA ACUMULADA ANTERIOR" 0 }
{ "ni" "NUMERO DE DATOS DE LA CLASE 50%" 0 }
}
{ 2 4 }
{ }
{ }
INFORM
IF
THEN
OBJ
DROP  A B C D E
«
'A+(B/2-D)*(C/E)' EVAL 4 RND
STR "MEDIA:" SWAP + CLLCD MSGBOX
»
ELSE
"CANCELADO" CLLCD MSGBOX
END
END
'opc==2' THEN "Escogiste B" END
'opc==3' THEN "Escogiste C" END
END
»
END
»

Nota: Código listo para copiar y pegar en el HPUserEdit ó el emulador.

Errores corregidos: 1) Uniste la variable opc con la flecha. 2) Colocaste innecesariamente los límites « » entre THEN y END del primer CASE.

Atte. Dante Aroní C. www.deachp.com

DEACHP Software www.deachp.com
Todo sobre Calculadoras HP
Ventas, Soporte Técnico y Cursos de Programación
UNI / Lima / Perú
Telfs: (+51)997111260 (+51)4810146

Top
Integró: 27/06/2009
Envíos: 37
MonedasHP: 0
Imagen de XTIAN1963
Calc: HP50
 
#4
Vie, 03/07/2009 - 15:11

Grande Dante.,

Gracias.,

Cristian

Top
Integró: 31/07/2008
Envíos: 72
MonedasHP: 10
Imagen de Netfast
 
#5
Vie, 03/07/2009 - 19:42

Otra forma es incluyendo las plantillas INFORM directamente al comando CHOOSE, te dejo el código para que lo tomes en cuenta para tus próximos programas :

«
"INFORMS"
{
{ "Media" «
"CALCULO PARA LA MEDIA CON ni"
{
{ "LI50%" "LIMITE INFERIOR DE LA CLASE 50%" 0 }
{ "n" "NUMERO TOTAL DE DATOS" 0 }
{ "ai" "AMPLITUD DE LA CLASE" 0 }
{ "Ni-1" "FRECUENCIA ACUMULADA ANTERIOR" 0 }
{ "ni" "NUMERO DE DATOS DE LA CLASE 50%" 0 }
}
{ 2 4 }
{ }
{ }
INFORM
IF
THEN
OBJ
DROP  A B C D E
«
'A+(B/2-D)*(C/E)' EVAL 4 RND
STR "MEDIA:" SWAP + CLLCD MSGBOX
» END
» }
{ "Pearson" «
"COEFICIENTE DE PEARSON"
{
{ "" "PROMEDIO DE LOS DATOS" 0 }
{ "Me" "MEDIA DE LOS DATOS" 0 }
{ "S" "DESV.STND DE LOS DATOS" 0 }
}
{ 2 4 }
{ 0 0 0 }
{ 0 0 0 }
INFORM
IF
THEN
OBJ
DROP  A B C
«
'(3/C)*(A-B)' EVAL 4 RND
STR "Coef.Pearson As:" SWAP + CLLCD MSGBOX

»
END » }
{ "Inform N" «
"InformN"
{
""
}
{ 1 0 }
{ }
{ }
INFORM
IF
THEN

ELSE
END
» }
}
1
CHOOSE
IF
THEN
EVAL
END
»

Espero que te sirva

Saludos

Top
Integró: 23/02/2008
Envíos: 173
MonedasHP: 4
Imagen de Martin89
 
#6
Sáb, 04/07/2009 - 08:50

Me parece mucho mas cómodo y apropiado manejar los subprogramas fuera de la estructura del CHOOSE
... para efectos revisión y compresión en códigos que son bastante extensos.

Saludos Wink

=================================================================
http://www.hpmartin.net84.net/ Cool
=================================================================

Top

Twitter

Cargando...

CAPTCHA
Esta pregunta es para probar si usted es un visitante humano y así evitar el spam automatizado.
2 + 0 =
Solucione este simple problema matemático e ingrese el resultado. Por ejemplo: para 1+3, ingrese 4.