Beruflich Dokumente
Kultur Dokumente
Diseo de Algoritmos
Unidad II
Definicin de algoritmo
Es un conjunto o secuencia de instrucciones o reglas bien definidas,
ordenadas y finitas que permite realizar una actividad mediante pasos
sucesivos que no generen dudas a quien deba realizar dicha actividad.
Las caractersticas fundamentales que debe cumplir todo algoritmo son:
Debe ser preciso. Indicar el orden de realizacin de cada paso.
Debe ser definido. Si se sigue un algoritmo dos veces, se debe obtener el
mismo resultado cada vez.
Debe ser finito. Si se sigue un algoritmo, se debe terminar en algn momento
La definicin de un algoritmo debe describir tres partes:
Entrada, Proceso y Salida.
Este se utiliza para representar el inicio o el fin de un algoritmo. Tambin puede representar una parada o
una interrupcin programada que sea necesaria realizar en un programa.
Este se utiliza para un proceso determinado, es el que se utiliza comnmente para representar una
instruccin, o cualquier tipo de operacin que origine un cambio de valor.
Este smbolo es utilizado para representar una entrada o salida de informacin, que sea procesada o
registrada por medio de un perifrico.
Este es utilizado para la toma de decisiones, ramificaciones, para la indicacin de operaciones lgicas o
de comparacin entre datos.
IMPRIMIR
Este es utilizado para representar una salida de datos. Visualiza informacin como resultados o mensajes.
ACTIVIDADES
1. Hacer el diagrama de flujo para calcular el rea de un triangulo
2. Hacer el diagrama de flujo que dadas 3 calificaciones de una materia
calcule el promedio
Lenguaje Natural de Programacin
Son aqullos que estn orientados a la solucin de problemas que se
definen de una manera precisa. Generalmente son aplicados para la
elaboracin de frmulas o mtodos cientficos.
Tiene las siguientes caractersticas:
Evita la ambigedad (algo confuso que se puede interpretar de varias
maneras).
Son precisos y bien definidos.
Utilizan trminos familiares al sentido comn.
Elimina instrucciones innecesarias.
Ejemplo
Hacer un programa que calcule la suma de dos nmeros
//calcula la suma de dos numeros
var suma,num1,num2:numerico
inicio
cls()
imprimir("introduce un numero")
leer(num1)
imprimir("introduce otro numero")
leer(num2)
suma= num1 + num2
imprimir( "La suma de los dos numeros es ",suma)
fin
ACTIVIDADES
1. Hacer un pseudocdigo que dados dos nmeros enteros calcule las
operaciones bsicas
2. Hacer un pseudocdigo que realice la conversin de minutos a
segundos
Lenguaje de Programacin
Es un conjunto de smbolos, reglas sintcticas y semnticas, que definen su
estructura, el significado de sus elementos y expresiones, es usado para
controlar el comportamiento fsico y lgico de una computadora.
ACTIVIDADES
1. Hacer un programa en java que dados dos nmeros enteros calcule las
operaciones bsicas
2. Hacer un programa que realice la conversin de minutos a segundos
Metodologa de la programacin
A fin de resolver un problema utilizando sistemas de cmputo, debe
seguirse una serie de pasos que permiten avanzar por etapas bien definidas
hacia la solucin.
Estas etapas son las siguientes:
Definicin del problema
Anlisis de los datos
Diseo de la solucin
Codificacin
Prueba y depuracin
Documentacin
Mantenimiento
Definicin del problema
Est dada en s por el enunciado del problema, el cual debe ser claro y
complejo. Es importante que conozcamos exactamente "que se desea
obtener al final del proceso" ; mientras esto no se comprenda no puede
pasarse a la siguiente etapa.
Enunciado: Hacer un Pseudo cdigo que calcule el rea de un triangulo.
Anlisis de los datos
Para poder definir con precisin el problema, se requiere que las
especificaciones de entrada y salida sean descritas con detalle ya que esto es
un requisito para lograr una solucin eficaz.
Una vez que el problema ha sido definido y comprendido, deben analizarse los
siguientes aspectos:
Los resultados esperados
Los datos de entrada disponibles.
Herramientas a nuestro alcance para manipular los datos y alcanzar un
resultado (frmulas, tablas, accesorios diversos).
Ejemplo
Anlisis
rea del triangulo
Entradas: base, altura (variables).
Area = (base * Altura)/ 2
Diseo de la solucin
Programa Fuente
Est escrito en un lenguaje de programacin. (pascal, C++,C, Java etc). Es
entendible por el programador.
Ejemplo
import java.io.*;
import java.util.Scanner;
class area
{
public static void main (String args[])
{
Scanner leer=new Scanner(System.in);
int base,altura,area_res;
System.out.println("Introduce la base");
base=leer.nextInt();
System.out.println("Introduce la altura");
altura=leer.nextInt();
area_res=(base*altura)/2;
System.out.println("El resultado de calcular el area del triangulo
es:"+area_res);
}
}
#include <stdio.h>
#include <conio.h>
main ()
{
int area, base, altura;
printf(Introduce la altura );
scanf(%d, &altura);
printf(Introduce la base );
scanf(%d, &base);
area= (base * altura )/2;
printf(el resultado es %d , area);
getch();
}
Prueba y depuracin
Una vez que se ha obtenido el programa ejecutable, este es sometido a
prueba a fin de determinar si resuelve o no el problema planteado en forma
satisfactoria.
Las pruebas que se le aplican son de diversa ndole y generalmente
dependen del tipo de problema que se est resolviendo. Comnmente se inicia
la prueba de un programa introduciendo datos vlidos, invlidos e
incongruentes y observando como reacciona en cada ocasin.
El proceso de depuracin consiste en localizar los errores y corregirlos en
caso de que estos existan. Si no existen errores, puede entenderse la
depuracin como una etapa de refinamiento en la que se ajustan detalles para
optimizar el desempeo del programa.
Ejemplo
Documentacin
Debido a que el programa resultante en esta etapa se encuentra
totalmente depurado (sin errores), se procede a la utilizacin para resolver
problemas del tipo que di origen a su diseo.
En vista de que esta utilizacin no podr ser supervisada en todas las
ocasiones por el programador, debe crearse un manual o gua de operacin
que indique los pasos a seguir para utilizar el programa.
Ejemplo
import java.io.*;
import java.util.Scanner;
class area
{
public static void main (String args[])
{
Scanner leer=new Scanner(System.in);
int base,altura,area_res;// declaracion de variables
// Autora: Angeles Hernandez
/* Programa realizado en java que calcula el area de un triangulo*/
// versin 1.0
System.out.println("Introduce la base");/** datos de entrada */
base=leer.nextInt(); // variable que va a almacenar el resultado
System.out.println("Introduce la altura");/** datos de entrada */