ppt5 presentacion ip algoritmia_2011_p2
TRANSCRIPT
Algoritmia (II)
Departamento de ingeniería
Tipos de algoritmos (II)
Algoritmos cuantitativos
Son todos aquellos pasos o instrucciones que involucran cálculos numéricos para llegar a un resultado satisfactorio.
• Ej.: Multiplicar dos números, ordenar una cantidad de números en forma ascendente, dividir dos números, encontrar de un conjunto de números el mayor, etc.
Departamento de ingeniería
Pasos que deben seguirse en la Elaboración de un Algoritmo.1. Leer el enunciado del problema cuantas veces sea necesario, hasta entenderlo
completamente, si tiene duda sobre el significado de alguna pregunta o condición aclararla, ojala se aprenda de memoria el enunciado.
2. Determinar claramente con que datos de entrada se cuenta para la solución del problema.
3. Aclarar y determinar la información o resultados que se soliciten.1. Información Intermedia.2. Información Final.
4. Definir que cálculos y/o comparaciones se necesitan para llegar al resultado final.1. Cálculos y comparaciones intermedias.2. Cálculos y comparaciones finales.
5. Tener en cuenta toda clase de condiciones y restricciones para la solución del problema.
Todos los pasos tienen la misma importancia, la falta de analisis de alguno de ellos causara problemas en el transcurso del desarrollo del algoritmo.
Ejemplo: - Elaborar un algoritmo que calcule el promedio de edad de los estudiantes del salón de clase, de acuerdo al numero de estudiantes.
Departamento de ingeniería
Inicio
Fin
Terminador
Leer (numero)Entrada de Datos
contador 0acumulador 0Proceso
contador < numero
Decisión
contador contador + 1
Leer (edad)
acumulador acumulador + edad
SI
Escribir (promedio)
NO
contador > 0
promedio 0promedio acumulador/contador
SINO
Diagrama de Flujo.
Salida de Datos
Departamento de ingeniería
Pseudo CódigoINICIO
leer(numero)
contador 0
acumulador 0
MIENTRAS contador < numero HACER
contador contador +1
leer(edad)
acumulador acumulador + edad
FIN MIENTRAS
SI contador >0 ENTONCES
promedio acumulador/contador
SINO
promedio 0
FIN SI
escribir(promedio)
FINDepartamento de ingeniería
Que es una Variable?• Variable son todos aquellos valores que pueden o no
cambiar en transcurso de un algoritmo. Usualmente son introducidas como datos.
• Toda variable se compone de dos partes.
• NOMBRE: Es el conjunto de caracteres, letras y números, con los cuales se identifica un valor en un momento determinado.
• VALOR: Es la cantidad que una variable representa o tiene asociada en un determinado momento.
• Ejemplo : contador 0 Departamento de ingeniería
Que es una Constante?
• Constantes son todos aquellos valores que no cambian en el transcurso de un algoritmo y son introducidos en el momento de utilizarse.
• En determinados casos se puede presentar que le valor de una variable no cambie en el transcurso de un algoritmo; pero este hecho no se considera constante, sigue siendo una variable, porque puede cambiar su valor y las constantes no lo pueden hacer.
• Cuando se presenta esta situación se dice que es una variable que se comporta como una constante.
• Ejemplo : retención pagobruto * 0.07Departamento de ingeniería
Expresiones Aritméticas.• Expresión aritmética es un conjunto de variables y/o
constantes unidas o relacionadas por operadores aritméticos.
• Los operadores aritméticos son los siguientes:– Exponenciación **– Multiplicación *– División /– Menos -– Mas +– Modulo %
• Ejemplo: salario_neto salario_bruto – iss + bono
Departamento de ingeniería
Expresiones Relacionales.
• Expresión relacional es un conjunto de variable y/o constantes unidas o relacionadas por operadores relacionales.
• Los operadores relacionales son los siguientes:– MAYOR QUE > Complemento <=– MENOR QUE < Complemento >=– DIFERENTE QUE <> Complemento =– IGUAL A = Complemento <>– MAYOR O IGUAL >= Complemento <– MENOR O IGUAL <= Complemento >
• Ejemplo: descuento >= pagoDepartamento de ingeniería
Enunciado de Lectura.
El enunciado de lectura se utiliza para introducir datos que se van a utilizar en la solución de un algoritmo.
Ejemplo:◦Leer(edad)
Departamento de ingeniería
Enunciado de Escritura.
El enunciado de escritura se utiliza para informar los resultados que se esperaban obtener al ejecutarse el algoritmo.
Ejemplo:◦Escribir(promedio)
Departamento de ingeniería
Enunciado de Asignación.
• Es una acción o proceso por el cual se le asigna un valor (constante o variable) o el resultado de una operación (expresión) a una variable. Los enunciados de asignación se utilizan generalmente para cambiarle de valor a una variable o definirla.
• Definir una variable consiste en asignarle o darle por primera vez un valor; y puede hacerse de dos maneras:– Por medio de una lectura de datos, o– Utilizando un enunciado de asignación.
• Ejemplo:leer(edad) edad 25
Departamento de ingeniería
Reglas para la construcción de enunciados de asignación.
• Toda variable que aparezca al lado derecho de un enunciado de asignación debe estar definida.
• Ejemplo 1: edad 25contador 0 contador contador + edad
• Las variables edad y contador se definieron correctamente• Ejemplo 2:
contador 0 contador contador + edad
• La variable edad nunca fue definida.
Departamento de ingeniería
Reglas para la construcción de enunciados de asignación.
En un enunciado de asignación la variable de la izquierda es la única que cambia de valor cuando con anterioridad tiene un valor asignado.
Ejemplo :edad 25contador 0 contador contador + edad
Departamento de ingeniería
Reglas para la construcción de enunciados de asignación.Las variables que aparecen en la parte
derecha de un enunciado de asignación conservan su valor después de ejecutarse la asignación.
Ejemplo :salario 1000bono 120salario_neto salario + bono
Departamento de ingeniería
Reglas para la construcción de enunciados de asignación.
Si la variable de la parte izquierda del enunciado se encuentra también en el lado derecho, esta variable cambia de valor por aparecer en la izquierda.
Ejemplo :acumulador 0edad 25acumulador acumulador + edad
Departamento de ingeniería
Enunciado de Decisión.Los enunciados de decisión se utilizan
para tomar una acción o conocer el estado de alguna situación especial, que generalmente toman un valor Verdadero o Falso.
Departamento de ingeniería
Enunciado de Decisión – Si.. Sino
SI <comparación> ENTONCESVERDADEROEnunciado(s)
SINOFALSOEnunciado(s)
FIN SI
<comparación>SI NODiagrama de Flujo
Pseudo Código
Departamento de ingeniería
Enunciado de Decisión – SI .. Sino
SI contador >0 ENTONCESpromedio acumulador/contador
SINOpromedio 0
FIN SI
contador > 0
promedio 0promedio acumulador/contador
SI NODiagrama de Flujo
Pseudo Código
Departamento de ingeniería
Enunciado de Repetición.
Son los enunciados que permiten repetir varias o muchas veces un conjunto de enunciados según se necesite de acuerdo a una condición.
Se les conoce también como ciclos.
Departamento de ingeniería
Enunciado de Repetición - Mientras
MIENTRAS <comparación> HACERVERDADEROEnunciado(s) a repetir
FIN MIENTRASFALSOEnunciado(s)
<comparación>SI NO
Diagrama de Flujo
Pseudo Código
Departamento de ingeniería
Enunciado de Repetición - Mientras
MIENTRAS contador < numero HACERcontador contador +1leer(edad)acumulador acumulador + edad
FIN MIENTRASpromedio acumulador/contadorescribir(promedio)
Fin
contador < numero
contador contador + 1
Leer(edad)
acumulador acumulador + edad
SI
promedio acumulador/contador
Escribir (promedio)
NODiagrama de Flujo
Pseudo Código
Departamento de ingeniería
Enunciado de Repetición – Haga .. Mientras
HAGAVERDADEROEnunciado(s) a repetir
MIENTRAS <comparación> FALSOEnunciado(s)
<comparación>
SINO
Diagrama de Flujo
Pseudo Código
Departamento de ingeniería
Enunciado de Repetición – Haga .. Mientras
HAGA leer (edad)
contador contador + 1 Acumulador acumulador + edadMIENTRAS edad > 0promedio acumulador/contadorEscriba (promedio)
Edad > 0 Promedio acumulador/contador
Escriba(promedio)
Leer (Edad)
contador contador + 1Acumulador acumulador +
edad
SINO
Diagrama de Flujo
Pseudo Código
Departamento de ingeniería
Representación de Algoritmos.
• Ejemplo: A. Elaborar un algoritmo que calcule el
promedio de edad de los estudiantes del salón de clase, de acuerdo al numero de estudiantes.
B. Calcule ademas el promedio de edad de los hombres y mujeres del salón.
Departamento de ingeniería
INICIOleer(numero)contador 0 acumulador 0
cont_mujeres 0cont_hombres 0acum_mujeres 0acum_hombres 0
MIENTRAS contador < numero HACERcontador contador +1leer(edad)leer(sexo)
SI sexo = ‘mujer’ ENTONCEScont_mujeres cont_mujeres +1acum_mujeres acum_mujeres + edad
SINOcont_hombres cont_hombres +1acum_hombres acum_hombres + edad
FIN SI
acumulador acumulador + edadFIN MIENTRAS
Solución completa utilizando Pseudo Código
Departamento de ingeniería
SI contador >0 ENTONCESpromedio acumulador/contador
SINOpromedio 0
FIN SI
SI cont_mujeres >0 ENTONCESprom_mujeres acum_mujeres/cont_mujeres
SINOprom_mujeres 0
FIN SI
SI cont_hombres >0 ENTONCESprom_hombres acum_hombre/cont_hombres
SINOprom_hombres 0
FIN SI
escribir(promedio)escribir(prom_mujeres)escribir(prom_hombres)
FIN
Solución completa utilizando Pseudo Código
Departamento de ingeniería
Gracias!!!
Departamento de ingeniería