domingo, 14 de diciembre de 2014

Tablas de multiplicar algoritmo

  En un principio se utilizaba el ábaco pero cuando las cantidades eran demasiado grandes esto suponía un problema para ir registrando los resultados de la contabilidad y entonces los grandes matemáticos del pasado inician la sumatoria simplificada que es la multiplicación o sea sumar un numero n veces por si mismo para evitar hacer el procedimiento de cada una de las iteraciones.

  Hoy vamos a desarrollar un pequeño algoritmo para imprimir las ya famosas tablas de multiplicar del 1 al 10, para esto realizamos dos ciclos en el Proceso tablasMultiplicar y un ciclo más en el SubProceso ajustarCadena que retorna una cadena de texto limitada en caracteres para tener una mejor presentación de las tablas. 




Algoritmo en PSeInt:


Proceso tablasMultiplicar
Definir i,n Como Entero;
Definir linea,espacio Como Texto;
tabla<-"";i<-1;n<-1;
espacio<-"  ";
Mientras (i<11) Hacer
linea<-"";
Para n<-1 Hasta 10 Con Paso 1 Hacer

linea<-linea+ajustarCadena(ConvertirATexto(n)+" x "+ConvertirATexto(i)+" = "+ConvertirATexto(n*i));

Fin Para
Escribir linea;
i<-i+1;
Fin Mientras
FinProceso

SubProceso cadAjustada<-ajustarCadena(cad)
Definir cadAjustada Como Texto;
Definir i Como Entero;

cadAjustada<-"";
Para i<-0 Hasta 12 Con Paso 1 Hacer
cad<-cad+" "
Fin Para
cadAjustada<-Subcadena(cad,0,12);
FinSubProceso

sábado, 13 de diciembre de 2014

Crear menú de opciones PSeInt

Hay gran variedad de aplicaciones de consolas o CLI (Command Line Interface) por sus siglas en ingles; en modo de texto que requieren de una forma de efectuar tareas múltiples sin tener que estar abriendo y cerrando una aplicación cada que se termina de ejecutar, por tal motivo se crean los menús y/o submenús de opciones.

  Hoy les vengo a mostrar un sencillo ejemplo en PSeInt de como implementar un pequeño menú de opciones básicas de operaciones matemáticas (suma, resta, multiplicación y división de dos números).

Screenshot:


Algoritmo:

Proceso MenuPrincipal
Definir op Como Entero;
op<-0;
Repetir
Limpiar Pantalla;
menu();
leer op;
Segun op Hacer
1:
operar(op);
2:
operar(op);
3:
operar(op);
4:
operar(op);
De Otro Modo:
Escribir "FIN...";
FinSegun
Hasta Que (op<1 || op>4);
FinProceso

SubProceso menu()
Escribir "1.- SUMA";
Escribir "2.- RESTA";
Escribir "3.- MULTIPLICACIÓN";
Escribir "4.- DIVISIÓN";
Escribir "5.- SALIR";
Escribir "";
Escribir "OPCIÓN: ";
FinSubProceso

SubProceso operar(opdr)
Definir op1,op2 como Real;
Escribir "operando 1:";
leer op1;
Escribir "operando 2:";
leer op2;
Segun opdr Hacer
1:
op1<-op1+op2;
2:
op1<-op1-op2;
3:
op1<-op1*op2;
4:
op1<-op1/op2;
De Otro Modo:

FinSegun
Escribir "Resultado: ",op1;
Esperar Tecla;
FinSubProceso