ADVERTENCIA: LOS SIGUIENTES ALGORITMO SE ENTREGA "COMO SON" ("AS IS") SiN GARANTIA DE NINGUN TIPO. DEBE REALIZAR LAS VERIFICACIONES CORRESPONDIENTES ANTES DE EMPLEARLOS PARA CUALQUIER FIN. SOLO TIENEN UNA FINALIDAD EDUCATIVA.

martes, 13 de noviembre de 2012

Ejemplo de algoritmo que efectua el Calculo del Promedio po rCategoria

Proceso CalculoPromedioPorCategoria


Definir categorias como entero;
Definir cantidad_elementos como entero;
Definir cantidad_categorias como entero;
Definir promedio como real;
Definir elemnto como real;
Definir nombre_categoria  como cadena;
Definir i como entero;
Definir j como entero;

Escribir "Introduzca cantidad de elementos por categoria";
Leer cantidad_elementos;



Escribir "Ingrese la cantidad de categorias";
Leer cantidad_categorias;

Dimension promedio [cantidad_categorias];
Dimension nombre_categoria[cantidad_categorias];

Dimension categorias[cantidad_categorias,cantidad_elementos];

//El promedio de la categoria es la suma de sus elementos dividido enter su cantidad
//El Por ello hacemos un Para en el que recorremos  a lo elemento de la categoria
//Adicionalmente realizamos un ciclo en ek que recorremos las categorias ya que el ciclo anteior es por ca categoria


Para i<- 1 Hasta cantidad_categorias Con Paso 1 Hacer //Hacemos un ciclo para recorrer las categorias
promedio[i-1] <- 0;
Escribir "Ingrese nombre categoria";
Leer nombre_categoria[i-1];

//En este ciclo vamos sumando en la variable promedio los elementos que vamos recibiendo de la categoria

Para j<- 1 Hasta cantidad_elementos Con Paso 1 Hacer
Escribir "Ingrese valor del elemento ",j," para la categoria ",nombre_categoria[i-1];
Leer elemnto;
promedio[i-1] <- promedio[i-1] +  elemnto;
FinPara

//Calculamos el promedio de la categoria dividiendo su suma almacenada temporalmente en prompedio entre la cantidad de elementos
promedio[i-1] <- promedio[i-1]/cantidad_elementos;

FinPara


//Mostramso los promedios

Para i<- 1 Hasta cantidad_categorias Con Paso 1 Hacer
Escribir "El promedio de la categoria ",nombre_categoria[i-1]," es: ",promedio[i-1];
FinPara

//Fin

FinProceso

lunes, 12 de noviembre de 2012

Ejemplo de algoritmo que calcula el producto de N números enteros positivos


Proceso ProductoNNaturales
Definir n como entero;
Definir prod como entero;
Definir i como entero;


Escribir "Ingrese la cantidad de numeros: ";
Leer n;
prod <- 1;

Para i<-1 Hasta n Con Paso 1 Hacer
prod <- prod * i;
FinPara

Escribir "El producto de los ",n," primeros numeros positivos es: ",prod;

FinProceso

Ejemplo de Algoritmo que calcula suma de numero pares e impares en el rango de 1 a 1000 inclusive


Proceso SumaNumerosParaImpar
Definir mn como entero;
Definir i como entero;
Definir sui como entero;
Definir sp como entero;
Definir paridad como entero;
Definir continuar como logico;

continuar <- verdadero;

Mientras continuar Hacer
Escribir "Escribir ingrese el valor del mayor numero (1-1000): ";
Leer mn;
Si mn > 0 & mn <= 1000 Entonces
continuar <- falso;
Sino
Escribir "El numero mn debe ser mayor a cero y menor o igual a 1000";
FinSi

FinMientras


sp <- 0;
sui <- 0;

Para i <- 1 Hasta mn con paso 1 Hacer
paridad <- i % 2;

Si paridad = 1 Entonces
sui <- sui + i;
Sino
sp <- sp + i;
FinSi


FinPara


Escribir "La suma de los numero pares hasta ",mn," es : ",sp;
Escribir "La suma de los numero impares hasta ",mn," es :",sui;

FinProceso

viernes, 9 de noviembre de 2012

Ejemplo de algoritmo en PseInt para la revisión de la validez del ISBN-13


Proceso checkISBN

 Definir ISBN como cadena;
 Definir multiplicando como entero;
 Definir no_es_numero como Logico;
 Definir continuar como logico;
 Definir suma como entero;
 Definir dig como caracter;
 Definir check como entero;
 Definir check_i como entero;
 Definir i como entero;

 continuar <- verdadero;
 Mientras continuar Hacer



 Escribir "Ingrese ISBN de 13 digitos (solo primeros 12 digitos):";
 Leer ISBN;
 Escribir "Ingrese el ultimo digito";
 Leer check_i;


 Dimension array [12];
 Dimension array_n[12];

 Para i<-0 Hasta 11 Con Paso 1 Hacer
  dig <- Subcadena(ISBN,i,i);
  no_es_numero <- ~(dig = "1" | dig = "2" | dig = "3" | dig = "4" | dig = "5" | dig = "6" | dig = "7" | dig = "8" | dig = "9" |  dig = "0");
  dig <- Subcadena(ISBN,i,i);
  Si no_es_numero Entonces
   Escribir "Error: ",dig," no es numero";
   i <- i + 16;
  FinSi
 FinPara

 Si no_es_numero Entonces
 
  continuar <- verdadero;
 
 Sino
  continuar <- falso;
 
 FinSi

 FinMientras

 multiplicando <- 1;

 suma <- 0;


 Para i<-0 Hasta 12 Con Paso 1 Hacer
  dig <- Subcadena(ISBN,i,i);
  Si dig = "1" Entonces
   suma <- suma + multiplicando;
  FinSi
  Si dig = "2" Entonces
   suma <- suma + 2*multiplicando;
  FinSi
  Si dig = "3" Entonces
   suma <- suma + 3*multiplicando;
  FinSi
  Si dig = "4" Entonces
   suma <- suma + 4*multiplicando;
  FinSi
  Si dig = "5" Entonces
   suma <- suma + 5*multiplicando;
  FinSi
  Si dig = "6" Entonces
   suma <- suma + 6*multiplicando;
  FinSi
  Si dig = "7" Entonces
   suma <- suma + 7*multiplicando;
  FinSi
  Si dig = "8" Entonces
   suma <- suma + 8*multiplicando;
  FinSi
  Si dig = "9" Entonces
   suma <- suma + 9*multiplicando;
  FinSi
  Si multiplicando = 3 Entonces
   multiplicando <- 1;
  Sino
   multiplicando <- 3;
  FinSi
 FinPara

 check <- suma % 10;



 Si 10 - check_i = check Entonces
  Escribir "El ISBN es Valido";
 Sino
  Escribir "El ISBN es invalido \n El utimo digito deberia ser: ", (10 - check_i);
 
 FinSi


FinProceso

martes, 6 de noviembre de 2012

Ejemplo de Algorimo de Ordenamiento Por Inserción por PseInt


Proceso OrdenamientoPorInsercion
Definir elementos como entero;
Definir continuar como logico;
Definir item como entero;
Definir n como entero;
Definir lista como entero;
Definir posicion como entero;
Definir i como entero;
Definir j como entero;

Dimension elementos [1001];

Para i<-0 Hasta 1000 Con Paso 1 Hacer
elementos[i] <- -1;
FinPara
n <- 0;

continuar <- verdadero;

Mientras continuar Hacer
Si n < 1001 Entonces
Escribir "Ingrese elemento ",(n+1)," :";
Leer item;
Si item < 1 Entonces
item <- item*-1;
FinSi
elementos[n] <- item;
n <- n + 1;
Escribir "¿Continuar?: [1] Si [2]No";
Leer item;
Si item = 2 Entonces
continuar <- falso;
FinSi
FinSi
FinMientras

Dimension lista[n];



Para i<-1 Hasta n - 1 Con Paso 1 Hacer




item <- elementos[i];
posicion <- i;

Mientras posicion > 0 & elementos[i - 1] > item Hacer
elementos[posicion] <- elementos[posicion-1];
posicion <- posicion -1;
FinMientras
elementos[posicion] <- item;

FinPara


Para j<-0 Hasta n - 1 Con Paso 1 Hacer
Escribir "Elemento ordenado en ",j," :",elementos[j];
FinPara


FinProceso


Basado en el algoritmo de Ordenamiento por Inserción presentado en : Wikipedia.com 

domingo, 4 de noviembre de 2012

EN PRUEBA: Solucionador de sitemas de ecuaciones lineales

El siguiente script es capaz de solucionar ecuaciones lineales de 3 y 2 incognitas

Advertencia: No se garantiza la fiabilidad de los resultados arrojados por el programa ya que esta en prueba. este programa se entrega como es, sin garantía de ningún tipo.

Si lo usa debe verificar los resultados.