etapas y metodologia de los algoritmos
DESCRIPTION
Algoritmica y programacionTRANSCRIPT
Estructura
Datos
• Corresponden a los datos requeridos para realizar el algoritmo (datos de entrada) y los datos que son generados (datos de salida)
Procesos
• Conforma el grupo de instrucciones que realizan las operaciones con los datos
Estructuras de control
• Determinan la organización de las instrucciones que deben ser realizadas.
Elementos• Las instrucciones que
se van a realizar deben estar bien estructuradas y tener un orden lógico, con el fin de evitar inconsistencias en el resultado.
• Es necesario identificar que datos se necesitan ingresar, cuales sirven de forma auxiliar y cuales se van a generar.
Definición de variables y constantes
ProcesoEstructuras de control
Entrada Salida
Cuerpo del algoritmo
¿Cómo se hace un algoritmo?
• El NO programador haría lo siguiente:• Buscar la página de cines en el diario local y
mirar si ve la película anunciada. Si la ve anunciada mira en qué cine la hacen y se va a verla. Si no la ve anunciada, espera a los estrenos de lasemana que viene.
El programador sin embargo, lo haría de este otro modo:
Buscar la página de cines en el diario local, con fecha de hoy
Revisar la cartelera de arriba abajo y de izquierdaa derecha, buscando entre los títulos existentes.Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el nombre del cine, su dirección y los horarios
Si no se encuentra el título en la cartelera, esperar una semana y volver a empezar el proceso a partir del punto 1 de esta lista.
1
2
3
4
Técnicas de diseño
• Está técnica permite dividir el problema en pequeñas partes, a las cuales se les da solución por separado, luego se integran las soluciones para resolver el problema principal.
Top Down
Divide y vencerás
Técnicas de representación
•Es una técnica que permite representar gráficamente las operaciones y estructuras que se van a realizar, mediante una simbología estándar, con un único punto de inicio y uno de finalización.
Diagrama de flujo
•Está técnica permite representar el algoritmo mediante un lenguaje más estructurado, facilitando su posterior codificación.
Pseudocódigo
Pseudocódigo: ¿Cómo se hace?Cada instrucción que se va a realizar debe comenzar por un verbo, ejemplo: Muestre, Haga, Lea, etc.
Se debe mantener una identación o sangría sobre el margen izquierdo para identificar fácilmente el comienzo y final de las estructuras
La representación de las estructuras son similares u homónimas de los lenguajes de programación, ejemplo: inicio, fin, mientras que, repita hasta, si entonces sino, etc.
1
2
3
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables desde un dispositivo estándar de entrada.
Calcular : Denota la realización de cualquier operación aritmética que genere valores para ser
almacenados en una variable.
Imprimir : Representa la acción de enviar datos desde variables a un dispositivo estándar de salida.
Fin: Denota el punto de finalización del algoritmo.
Faces de diseño
Análisis del problema
Definición del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
Alg
ori
tmo
Definición del problema
Está dada por el enunciado del problema, el cuál debe ser claro y
completo
Es importante que conozcamos exactamente que se desea.
Mientras qué esto no se comprenda, no tiene caso pasar a la siguiente etapa.
Análisis del problema
Entendido el problema para resolverlo es preciso analizar
Los datos de salida o
resultados que se esperan
Los datos de entrada que nos
suministran
Áreade
Trabajo
Fórmulas Recursos
Selección alternativa
Analizado el problema Posiblemente tengamos varias formas de resolverlo
Solución ..1
Solución ..2
Solución ..3
Solución ..5
Lo importante es determinar cuál
es la mejor alternativa
La que produce los resultados Esperados en el menor tiempo y al menor
costo
Se debe tener en cuenta el principio de que las
cosas siempre se podrán hacer de una mejor
forma.
Diagramación
Una vez que
sabemos
cómo resolver el
problema
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Plasmar la
solución
mediante el
Pseudocódigo
Prueba de escritorio
Esta prueba consiste en:
Dar diferentes datos
de entrada al programa
seguir la secuencia indicada
hasta
obtener los resultados
Tipos de datos
Tipos de
Datos
Carácter
Real
Entero
Booleano
cadena
Numéricos
Lógicos
Carácter
Operadores
Aritméticos
Lógicos
Relacionales
+- >
<=
NoY &&O ||
/ ^
%>=<=
!= <>
Fue un celebre matemático y astrónomo árabe, llamado el padre del Algebra, escribió un tratado en el siglo IX que explica como resolver problemas de matemáticas y hoy se aplica en informática con el nombre de algoritmos.
Mohamed Ibn Al-juarizmi
símbolo Función Símbolo Función
Terminal Indicar el inicio y fin del diagrama
Teclado Introducir datos manualmente por el teclado
Entrada/salida Entrada o salida simple de información
Decisión Indica operaciones lógicas o de comparación y tienen dos salidas dependiendo del resultado.
Proceso Realizar cualquier operación o calculo con la información
Salida a Impresora Salida de informacion a la impresora
Conectores Une dos partes del diagrama a la misma o diferente página
Salida a Pantalla Mostrar información de salida a la pantalla
Flechas de Flujo Indica la direccion del flujo de la información
Símbolos utilizados para elaborar diagramas de flujo
Utilizan símbolos estandarizados para representar de forma clara el flujo de acciones definidas en un algoritmo, existen reglas para su elaboración y la idea es que cualquier persona que conozca los pueda emplear.
Diagramas de flujo
A,B
A>B«El mayor
es:» B
«El mayor es:» A
Impr
ime
el m
ayor
de
2 nú
mer
os
inicio
Fin
No
Sí
1.Identificación del problema• Entender claramente el
problema
2.Planteamiento de alternativas de solución• Con la información que
se tiene, se buscan posibles soluciones.
3. Elección de una alternativa• Se elije la mejor
alternativa
4. Desarrollo de la solución• Crear un diagrama o
pseudocódigo
5. Evaluación de la solución• Verificar y ajustar la
solución
Metodología para la solución de problemas
Estructuras de control
secuencial Selección Iteración
Se ejecutan sucesivamente
Se ejecuta una u otra operación dependiendo de
la condición
Se repiten las operaciones en un ciclo mientras cumpla una
condición
La estructuras de control permiten modificar el flujo de las instrucciones de un programa con el fin de llegar a una solución
Cambiar la
llanta de un auto
móvil
•Inicio•1. Asegurar el vehículo.
•2. Colocar señalamientos
•3. Sacar la llanta de repuesto y gato y llave de cruz
•4. Aflojar los birlos•5. Colocar el gato y levantarlo
•6. Quitar los birlos•7. Reemplazar la llanta
•8. Enroscar los birlos
•9. Bajar el gato y retirarlo
•10 Apretar los birlos
•11. Levantar la llanta, el gato, la llave y los señalamientos.
•Fin
Calcular el área
de un rectángulo
• inicio• 1.
Obtener las medidas de la base y de la altura
• 2. Multiplicar base por altura
• 3. Obtener el resultado
• fin
Ejemplos de algoritmo
1.- Desarrolle un algoritmo que permita leer dos valores distintos, determinar cual de los dos valores es el mayor y escribirlo.
a.- Realizar un algoritmo que permita leer dos valores, determinar cual de los dos valores es el menor y escríbalo
b.- Realizar un algoritmo que sume dos números.
2.- Desarrolle un algoritmo que permita leer tres valores y almacenarlos en las variables A, B y C respectivamente. El algoritmo debe imprimir cual es el mayor y cual es el menor. Recuerde constatar que los tres valores introducidos por el teclado sean valores distintos. Presente un mensaje de alerta en caso de que se detecte la introducción de valores iguales.
3.- Desarrolle un algoritmo que realice la sumatoria de los números enteros comprendidos entre el 1 y el 10, es decir, 1 + 2 + 3 + …. + 10.
a. Desarrolle un algoritmo que realice la sumatoria de los números enteros múltiplos de 5, comprendidos entre el 1 y el 100, es decir, 5 + 10 + 15 +…. + 100. El programa deberá imprimir los números en cuestión y finalmente su sumatoriab. Desarrolle un algoritmo que realice la sumatoria de los números enteros pares comprendidos entre el 1 y el 100, es decir, 2 + 4 + 6 +…. + 100. El programa deberá imprimir los números en cuestión y finalmente su sumatoriac. Desarrolle un algoritmo que lea los primeros 300 números enteros y determine cuántos de ellos son impares; al final deberá indicar su sumatoria.
Ejercicios en casa