Glosario

Un programa que, usando un ROM, simula (o más correctamente, emula) una computadora en otra computadora. Emu48 emula casi completamente una HP4X bajo Windows, permitiendo a uno usar la calculadora en la pantalla de la computadora.

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: 139
MonedasHP: 8
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

Dante Aroní C. www.deachp.com
Todo sobre Calculadoras HP
Venta, Soporte Técnico y Cursos de Programación
UNI / Lima / Perú
Telfs: (+511)9-97111260 / (+511)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: 139
MonedasHP: 8
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

Dante Aroní C. www.deachp.com
Todo sobre Calculadoras HP
Venta, Soporte Técnico y Cursos de Programación
UNI / Lima / Perú
Telfs: (+511)9-97111260 / (+511)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: 171
MonedasHP: 0
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...