Universitariosuniminuto - COMO DISEÑAR UN ALGORTMO

INICIO
ALGORITMO
COMO DISEÑAR UN ALGORTMO
Juegos o Game
MISION
VISION
chat
Encuestas
VideoTutoriales



 

 

OBJETIVO
Diseñar algoritmos simples conjugando los conocimientos de este   y el anterior encuentro.
 
 
 
ALGORITMO
2. 2.    CONCEPTO DE ALGORITMO
 
Algoritmo es un conjunto finito de pasos o acciones que deben realizarse en una forma ordenada para llegar a un fin determinado para la solución de cualquier problema.
Cuando se tiene un problema para solucionar, primero hay que entender claramente que se pide y cuales datos se tienen para buscar la solución.
¿Que se pide? ¿Que se tiene? Estas pregunta comúnmente son el primer paso para la solución de cualquier problema (ANALISIS DEL PROBLEMA), lo cual requiere - normalmente - el máximo de imaginación y creatividad por parte del programador.
A partir de esto el programador debe identificar aquellos elementos en el problema que pueda utilizar para obtener la solución (DATOS DE ENTRADA), luego determinara los procedimientos para obtener los resultados (PROCESOS) y se concluirá con la impresión de lo que se pide. (DATOS DE SALIDA)
Ejemplo imagine que desea desarrollar un algoritmo que calcule la superficie de un rectángulo proporcionando su base y altura. Lo primero que debe plantearse y contestar son las siguientes preguntas:
-        ¿Que datos son de entrada?
-        ¿Cuantos datos se introducirán?
-        ¿Cuantos datos de entrada son validos?
-        ¿Cuales son los datos de salida?
-        ¿Cuantos datos de salida se producirán?
-        ¿Que preescisión tendrán los resultados?
 
 
La solución de un problema complejo puede requerir muchos pasos y lo mas adecuado para esto es dividir el problema en subprogramas más fáciles de resolver que el principal. A esto se le conoce como divide y vencerás y es aplicable a la resolución de algoritmos. Consideremos el problema anterior. Este problema lo dividiremos en tres subprogramas:
 
1.       Datos de entrada
2.       Calculo de la superficie (procesos)
3.       Salida de resultados
Las secuencias de instrucciones del algoritmo se puede expresar en el lenguajes natural o en forma grafica con los bloques vistos anteriormente. Aquí tenemos varios ejemplo de algoritmos en lenguajes natural:
1.1.       Un cliente ejecuta un pedido a una fabrica. La fabrica examina en su banco de datos la ficha del cliente, si el cliente es solvente entonces la empresa acepta el pedido, en caso contrario rechaza el pedido.    
a.    a.      Inicio.
b.    b.     Leer pedido.
c.    c.      Examinar ficha del cliente.
d.    d.      Si el cliente es solvente aceptar pedido; en caso contrario rechazar pedido.
e.    e.      Fin.
 
2.    2.     Realizar el algoritmo para cruzar una calle por un paso de peatones
a.    a.      Inicio.
b. b.    Mirar a la derecha y a la izquierda.
c.   c.      Si pasan coches esperar; en caso contrario cruzar la calle.
d. d.    Fin.
 
3.3.Algoritmo para cocinar un huevo duro
a.             a.                   Inicio.
b.            b.                  Encender el fogón de la cocina.
c.             c.                   Poner la olla en el fogón con agua.
d.            d.                  Esperar a que el agua hierva.
e.            e.                   Cuando el agua este hirviendo introducir el huevo.
f.             f.                   Esperar 10 minutos.
g.            g.                   Apagar el fogón.
h.            h.                   Tirar del agua.
i.              i.                    Extraer el huevo.
j.             j.                    Fin.
EJERCICIOS PROPUESTOS
 
1. 1.   Diseñar un algoritmo para cambiar la rueda de un vehículo.
2.2.Construir un algoritmo para efectuar una llamada telefónica a un amigo cuyo numero se desconoce pero viene en las paginas blancas del directorio telefónico.
3.3.Ejecutar un algoritmo que permita tomar una fotografía instantánea a una persona.
4.4.Realizar un algoritmo que permita a un pasajero de avión pasar el tiempo hasta que salga el vuelo.
 
 
 
Una vez que se ha terminado de escribir un algoritmo es necesario comprobar que realiza las tareas para las que se ha diseñado y produce el resultado correcto y esperado.
El modo más normal de comprobar un algoritmo es mediante su ejecución manual, usando datos significativos que abarquen todo el posible rango de valores y anotando en una hoja de papel las modificaciones que se producen en las diferentes fases hasta la obtención de los resultados. Este proceso se conoce como prueba del algoritmo, prueba de escritorio o seguimiento.Ä
 
 
HERRAMIENTAS DE PROGRAMACIÓN
 
La estructura de un algoritmo se puede representar en un diagrama estructurado en forma de bloques donde se muestre las diferentes tareas que deben ser ejecutadas y su relación entre ellas.
Las herramientas de programación empleadas como lenguajes algorítmicos son:
1.       Pseudocódigo.
2.       Diagrama de flujo.
3.       Diagrama de Nassi, N-S o Chapin.
 
PSEUDOCODIGO
 
Es la descripción de los pasos lógicos para la solucionar un problema en forma semejante al lenguaje de computadora utilizado, es decir un lenguaje de pseudo programación, una imitación del código de computadora o como se le conoce un pseudocódigo.
El pseudocódigo es una mezcla de lenguajes natural y símbolos, términos y otras características comúnmente utilizadas en uno o más lenguajes de alto nivel.
 
 
 
Las siguientes son las características más importantes de un pseudocódigo son:
-        Debe tener un nombre que lo identifique
                   Ejemplo       programa inventario
-        Todo pseudocódigo debe tener un inicio y un fin. No puede existir un programa con infinitas instrucciones.
-        Debe tener 0 o más datos de entrada. Pueden existir programas que no le pidan datos de entrada al usuario.
-        Los pseudocódigos deben tener 1 o más datos de salida. Un programa que no le muestre al usuario ningún resultado o respuesta, no sirve para nada.
Ejemplo 1    Se desea obtener el salario básico neto de un trabajador conociendo él numero de horas, el salario hora y la tasa de impuesto que se le debe deducir.
 
1.     1.       Programa salario_neto
2.     2.       inicio
3.     3.                lea horas_trabajadas, salario_hora, tasa
4.     4.                salario_bruto = horas_trabajadas * salario_hora
5.     5.                total_impuesto = salario_bruto * tasa
6.     6.                salario_neto = salario_bruto - total_impuesto
7.     7.                escriba salario_bruto, total_impuesto, salario_neto
8.     8.       fin
 
Ejemplo 2    Algoritmo que lea desde teclado tres números y que muestre como resultado la suma de ellos.
 
1.     1.       Programa suma
2.     2.       inicio
3.     3.                escriba “Digite tres números”
4.     4.            lea num1, num2, num3
5.     5.                suma = num1 + num2 + num3
6.     6.                escriba “La suma de los tres números es: ”, suma
7.     7.       fin
 
Ejemplo 3    Diseñar un algoritmo que lea cuatro variables y calcule e imprima su producto, su suma y su media aritmética.
 
1.     1.       Programa cálculos
2.     2.       inicio
3.     3.                lea a, b, c, d
4.     4.                producto = a * b * c * d
5.     5.                suma = a + b + c + d
6.     6.                media = (a + b + c + d)/4
7.     7.                escriba producto, suma, media
8.     8.                               fin
 
 
ENUNCIADOS DE ASIGNACIÓN
 
Es una instrucción que permite que el programa le asigne un determinado valor a una variable.
Se utilizan para indicar una acción o proceso (generalmente la asignación de un valor o un resultado de una operación a una variable)       
 
FORMATO O SINTAXIS    
variable = variable
variable = expresión (operación matemática planteada)
variable = constante (constante numérica)
variable = “constante” (constante cadena)
variable = ‘constante’ (constante carácter)
 
En un enunciado de asignación, solamente la parte izquierda varia de valor, las de la derecha conservan el valor después de ejecutado el enunciado.
 
Ejemplos:
         edad = 30
         nombre = “Juan Carlos”
         suma = suma + edad
         letra = ‘a’
 

Nota: La operación de asignación es destructiva, cuando se almacena un valor nuevo en una variable el valor que había allí se borra.

 
 
LECTURA O ENTRADA DE DATOS
 
Para la entrada de información se usara la orden lea.
Esta instrucción permite que sea el usuario del programa y no el programador el que le asigne un valor a una determinada variable.
 
FORMATO O SINTAXIS
       lea variable
       lea variable1, variable2,..., variablen

Antes de una instrucción leer se debe mostrar al usuario del programa (por pantalla) un mensaje que le indique que él debe digitar un dato y cual es.

 
RESULTADOS DE SALIDA
 
Cuando se desea que el programa le muestre al usuario un mensaje o dato por la pantalla o por la impresora, el programador debe utilizar la instrucción escriba.
      
FORMATO O SINTAXIS
       escriba “mensaje”          {para mostrar un determinado mensaje}
         escriba variable             {para mostrar el valor almacenado en una                                                              variable}
Ejemplos:
         escriba “Digite la edad del estudiante”
         lea edad
         edad = edad + 10
         escriba “La edad del estudiante en 10 años será: ”, edad
 
GLOSARIO
 
PROGRAMAS DEL USUARIO: Son aplicaciones especificas que cada persona diseña para la solución de diferentes problemas de procesamiento de la información, los programas son escritos en un lenguaje de programación, de acuerdo a las normas y sintaxis de dicho lenguaje.
El programa consta de un numero especifico de instrucciones, las cuales respetando la secuencia lógica cumplirán el objetivo de tomar unos datos de entrada, procesarlos y entregar una información como salida.
 
COMPILADOR:     Es un programa encargado de corregir todos los errores de sintaxis que tenga el programa del usuario. Este corrige los errores de sintaxis más no de lógica, puesto que esta depende únicamente del programador. Además traduce el lenguaje del usuario a lenguaje de maquina.
 
LENGUAJE DE MAQUINA:     Es un lenguaje de manejo exclusivo de la maquina, es un sistema binario (unos y ceros) basado en dos estados de prendido ON (1) y apagado OFF (0).
 
LENGUAJE DE ALTO NIVEL: Son las instrucciones que generalmente se usan en inglés y de forma sencilla para que el usuario entienda fácilmente. Ejemplo: Cobol, Basic, Pascal, etc..
 
LENGUAJE DE BAJO NIVEL: Es un lenguaje más al nivel de la máquina, los compiladores procesan estos lenguajes con mayor y más rapidez que los de alto nivel.
 
PROGRAMA FUENTE:    Es el programa escrito por el programador usando un lenguaje de alto nivel.
 
PROGRAMA OBJETO:    Es el programa que resulta de la traducción que hace el compilador del programa fuente en lenguaje de maquina.
 
ALGORITMO:       Conjunto de instrucciones finitas que deben realizarse en una forma ordenada para llegar a un fin determinado para la solución de cualquier problema.
 
DIAGRAMA:         Es una representación grafica para la definición, análisis o solución de un problema en el cual los símbolos son usados para representar una operación, flujo de datos y equipo.
 
CARÁCTER: Es la menor unidad de información.
 
DATO:        Conjunto de caracteres que hay en un campo. Ejemplo: “Carlos” es un dato, este hace parte del campo nombre.
 
CAMPO:      Área de trabajo que puede almacenar uno o varios datos. Ejemplo: en el campo Nombre se almacena: “Carlos Alberto Correa”.
 
ÁREA DE TRABAJO:      Es un espacio de memoria con la longitud que necesita el programador. Las áreas de trabajo deben tener nombres diferentes y deben ser inicializadas en cero (0).
 
REGISTRO: Es un conjunto de campos relacionados.
 
ARCHIVO:   Es un conjunto de registros relacionados entre si.
 
MEMORIA: Capacidad de guardar información y tenerla disponible para su uso.
 
VARIABLES:         Son todos aquellos valores que pueden o no cambiar en el transcurso de un programa, pueden ser numéricas, alfanuméricas y alfabéticas.
 
CONSTANTES:    Son todos aquellos valores que no cambian en el transcurso de un programa y son definidos antes de utilizarse.


Ä Este tema lo veremos mas a fondo en el encuentro No 03
 
Este sitio web fue creado de forma gratuita con PaginaWebGratis.es. ¿Quieres también tu sitio web propio?
Registrarse gratis