[HP-Prime] Introduccion a la programacion - compsystems - 01-19-2014 07:53 PM
Ejemplo #1 esqueleto de un programa
Code:
// * Este ejemplo es simplemente para ver el esqueleto de un programa.
export sin_titulo()
begin
print("\tHola\nMundo");
end;
Ejemplo #2 definicion de algunos tipos de variables
Code:
// definicion de algunos tipos de variables
export sin_titulo() // Proceso sin_titulo
begin // Inicio Proceso
print(); // limpiar pantalla
print( "*** Ejecución Iniciada. ***" );// sentencia opcional
local a; // definir a, no requiere especificar el tipo
local b,c,d,f,p; // hay que definir todas las variables de este bloque
a:=1; // a<-1; // entero
print(a); // Escribir a;
b:=2.5; // real
print(b);
c:=true; // bool
print(c);
d:=false; // bool
print(d);
f:="Hola Mundo"; // cadena
print(f);
print("\tHello\nworld");
input(p); // Leer p;
print(p); // Escribir p;
print( "*** Ejecución Finalizada. ***" ); // sentencia opcional
end; // FinProceso
Ejemplo #3 definiciones, lectura, impresion de datos uno a uno y multiples
Code:
// definiciones, lectura, impresion de datos uno a uno y multiples
export sin_titulo() // Proceso sin_titulo
begin // Inicio Proceso
print(); // limpiar pantalla
print( "*** Ejecución Iniciada. ***" ); // sentencia opcional
// definiciones de a uno
local a; // definir a
local b; // definir b
local c; // definir c
local d; // definir d
// definiciones multiples
local a,b,c,d; // definir a, b, c ...
// leer de a uno
input( a ); // Leer a
input( b ); // Leer b
input( c ); // Leer c
input( d ); // Leer d
// escribir de a uno
print( a ); // imprimir a
print( b ); // imprimir b
print( c ); // imprimir c
print( d ); // imprimir d
// lecturas múltiples
input( { a,b,c,d } );
// escrituras múltiples
print( a+" "+b+" "+c+" "+d );
print( "*** Ejecución Finalizada. ***" ); // sentencia opcional
// escritura sin salto de linea al final NO SOPORTADO
end; // Fin Proceso
Ejemplo #4 estructuras condicionales y repetitivas más simples
En el siguiente ejemplo, el ciclo "ciclo repeat2" no esta realizando lo que debe hacer por que? (BUG de la calculadora?) quien me ayuda a descubrir el problema
Code:
// Este ejemplo es para observar las estructuras condicionales y
// repetitivas más simples
export sin_titulo() // Proceso sin_titulo
begin // Inicio Proceso
print(); // limpiar pantalla
print( "*** Ejecución Iniciada. ***" ); // sentencia opcional
Local c; // varible del contador
print( "ciclo while");
c:=0;
while c<=10 do
c:=c+1;
print( c );
end; // FinMientras
print( "ciclo repeat");
c:=0;
repeat // Repetir
c:=c+1;
print( c );
until c=10; // Mientras que
print( "ciclo repeat2");
c:=0;
repeat // Repetir
c:=c+1;
print( c );
until c<10; // Mientras que
print( "condicional if then");
if c=10 then
print("Si");
end; // FinSi
print( "condicional if then else");
if c=10 then
print("Si");
else
print("No");
end; // FinSi
print( "*** Ejecución Finalizada. ***" ); // sentencia opcional
end; // Fin Proceso
ejemplo #5 manipulacion de arreglos, pero no se por que me falla en leer de uno y multiples usando input (BUG de la calculadora?), por favor revisar codigo
Code:
// manipulacion de arreglos
export sin_titulo() // Proceso sin_titulo
begin // Inicio Proceso
print(); // limpiar pantalla
print( "*** Ejecución Iniciada. ***" ); // sentencia opcional
// definiciones de a uno
local a:= makeMat( 0, 10 ); // definir y crea una arreglo unidimensional de 0s de dimension de 10 elementos
local b:= makeMat( 0, 20, 30 ); // definir y crea una arreglo bidimensional de 0s de dimension de 20*30 elementos;
// definiciones multiples no soportado
local c:= makeMat( 0, 40 );
local d:= makeMat( 0, 50, 5 );
// escribir de a uno
print( a(1) ); // Imprime el elemento 1 del arreglo a, => 0
print( a(1)+8.5 ); // Imprime el elemento 1 del arreglo a 8.5 => 0+8.5
print( a(10) ); // Imprime el elemento 10 del arreglo a => 0
print( b(1,1) ); // Imprime el elemento (1,1) del arreglo b => 0
// dimension dada por usuario
local n; // requiere predefinir la variable antes
input( n );
print(n);
local ee:= makeMat( 0, n ); // crea una arreglo con dimension entrada por pantalla
print( ee(1)+2.4 ); // Imprime el elemento 1 del arreglo e => 0+2.4
// asignación arreglo unidimensional
a(1):=0.3
a(10):=a(1);
print( a(10) );
// asignacion arreglo bidimensional
b(10,10):= 0.9;
print( b(10,10) );
print( b(10,10)+0.2 );
// leer de a uno
input( a(1) );
print( a(1) );
// lecturas múltiples
input( { a(2), a(3) } );
print( a(2)+" "+a(3) );
print( "*** Ejecución Finalizada. ***" ); // sentencia opcional
end; // Fin Proceso
ejemplo #6; asignacion de valores en un arreglo por medio de for
Code:
// asignacion de valores en un arreglo por medio de for
el ultimo bloque for no esta imprimiendo, cual es la causa?
export sin_titulo() // Proceso sin_titulo
begin // Inicio Proceso
print(); // limpiar pantalla
print( "*** Ejecución Iniciada. ***" ); // sentencia opcional
local a:= makeMat( 0, 10 );
local c;
for c from 1 to 10 do
a(c) := c*10;
end;// FinPara
print( "impreme los 10 elementos de a");
for c from 1 to 10 do
print ( a(c) ); // imprime cada elemento
end; // FinPara
local b:= makeMat( 0, 3, 6 );
c:=0;
local fila,column;
for fila from 1 to 3 do
for column from 1 to 6 do
c:=c+1;
b(fila,column):=c;
end;// FinPara
end;// FinPara
print( "impreme los 18 elementos de b");
local fila,column;
for fila from 1 to 3 do
for column from 1 to 6 do
print (b(fila,column));
end;// FinPara
end;// FinPara
local fila,column;
print( "impreme las columnas 1, 3, 5 y las filas 3, 2, 1");
for fila from 3 to 1 step -1 do
for column from 1 to 5 step 2 do
print ( b(fila,column) );
end;// FinPara
end;// FinPara
// salida 13, 15 17 7 9 11 1 3 5
end; // FinProceso
ejemplo 8: Este ejemplo es para observar la estructura segun:
Code:
// * Este ejemplo es para observar la estructura segun:
Proceso sin_titulo()
local c; // definir la varible de consulta, puede ser de cualquier tipo
input(c); // Leer c;
case
if c == 1 // 1:
then
print("1");
end;
if c == 3 or c == 5 or c == 9 // 3,5,9:
then
print("3, 5 o 9");
end;
if c == 7 then // 7:
print("7");
end;
default // De otro modo: // opcional
print("ni 1, ni 3, ni 5, ni 7, ni 9");
end; //FinSegun
end; // FinProceso
|