• Like
Presentacion ip algoritmia_2011_p4
Upcoming SlideShare
Loading in...5
×

Presentacion ip algoritmia_2011_p4

  • 678 views
Uploaded on

 

More in: Technology , Design
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
678
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
24
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Algoritmia (II) Departamento de ingeniería
  • 2. 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
  • 3. Pasos que deben seguirse en laElaboració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.
  • 4. Ejemplo:- Elaborar un algoritmo que calcule elpromedio de edad de los estudiantesdel salón de clase, de acuerdo alnumero de estudiantes. Departamento de ingeniería
  • 5. Terminador Inicio Diagrama de Entrada de Datos Leer (numero) Flujo. contador  0 Proceso acumulador  0 Decisión SI NO contador < numero NO SI contador > 0 contador  contador + 1 promedio  acumulador/contador promedio  0 Leer (edad) Salida de Datos Escribir (promedio)acumulador  acumulador + edad Departamento de ingeniería Fin
  • 6. INICIO Pseudo Código 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)FIN Departamento de ingeniería
  • 7. 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
  • 8. Que es una Constante?• Constantes son todos aquellos valores que no cambian en el transcurso de un algoritmo. Ejemplo : num_pi  3.14• En determinados casos, se puede presentar que el 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.07 Departamento de ingeniería
  • 9. Expresiones Aritméticas (I).• 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 / – Resta - – Suma +• Ejemplo: salario_neto  salario_bruto – iss + bono Departamento de ingeniería
  • 10. Expresiones Aritméticas.Operador div (/): división entera. Se utiliza sólo si los operandos son enteros. Ejm. 5 div 2 = 2 (cociente)Operador mod (%): representa el resto de la división entera. Ejm. 5 mod 2 = 1 (residuo) Departamento de ingeniería
  • 11. Expresiones Relacionales.• Expresión relacional es un conjunto de variables y/o constantes unidas o relacionadas por operadores relacionales.• Los operadores relacionales son los siguientes: – MAYOR QUE > – MENOR QUE < – DIFERENTE QUE <> – IGUAL A = – MAYOR O IGUAL >= – MENOR O IGUAL <=• Ejemplo: descuento >= pago Departamento de ingeniería
  • 12. Funciones internas (I)Las funciones internas son operadores especiales,adicionales a los operadores básicos. Departamento de ingeniería
  • 13. Funciones internas (I)Las funciones internas son operadores especiales,adicionales a los operadores básicos.Utilizar las funciones internas par obtener la solución a laeducación cuadrática ax^2 + bx + c = 0 x1 = (-b + raiz2(b^2- 4*a*c))/(2*a) x2 = (-b - raiz2(b^2- 4*a*c))/(2*a) Departamento de ingeniería
  • 14. Enunciados o Instrucciones Departamento de ingeniería
  • 15. Instrucciones y tipos de instrucciones Es importante en un programa definir las instrucciones que resolverán el problema. Lineal Instrucciones se ejecutan linealmente.Programa No lineal La secuencia se interrumpe con “instrucciones de bifurcación ó de decisión”. El tipo de instrucciones dependen del tipo de lenguaje, sin embargo se tienen instrucciones básicas (Independientes del lenguaje). Departamento de ingeniería
  • 16. Instrucciones y tipos de instrucciones Inicio / fin Inicio, fin AsignaciónInstrucciones Lectura Escritura Bifurcación o decisión Departamento de ingeniería
  • 17. Enunciado de Lectura. El enunciado de lectura se utiliza para introducir datos que se van a utilizar en la solución de un algoritmo. Se almacena en la variable el valor ingresado por el usuario. Ejemplo: ◦ Leer(edad) ◦ Si el usuario digita 5, la variable edad almacena este valor. Departamento de ingeniería
  • 18. Enunciado de Escritura. El enunciado de escritura se utiliza para presentar los resultados que se esperaban obtener al ejecutarse el algoritmo. Ejemplo: ◦ Escribir(edad) ◦ Presenta el valor correspondiente con edad. Departamento de ingeniería
  • 19. Enunciado de Asignación (I).• 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 cambiar el 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
  • 20. Enunciado de Asignación (II).Asignación aritmética. Las expresiones en las operaciones son aritméticasEjm. Instrucciones Traza 1) N 3 1) La variable N toma el valor de 3 2) N N+1 2) La variable N toma el valor de 4 3) S 2 3) La variable S toma el valor de 2 4) S N+5 4) La variable S toma el valor de 9 Departamento de ingeniería
  • 21. Enunciado de Asignación (III).Asignación lógica. La expresión que se evalúa en la operación de asignación es lógicaEjm. Instrucciones Traza 1) M 31 < 2 1) La variable M toma el valor de falso 2) P P o (2 <= 12) 2) La variable P toma el valor de verdadero 3) Q MyP 3) La variable S toma el valor de falso Departamento de ingeniería
  • 22. Enunciado de Asignación (III).Asignación de cadena de caracteres. La expresión que se evalua es de tipo cadena.Ejm. x ‘Linterna Verde’La acción de asignación asigna a la variable tipo cadena x, la cadena de caracteres „Linterna verde‟.Asignación múltiple. La sintaxis que se utiliza es<variable> <variable> <operador> <expresión> Departamento de ingeniería
  • 23. Reglas para la construcción deenunciados de asignación (I).Toda variable que aparezca al lado derecho de un enunciado de asignación debe estar definida.• Ejemplo 1: edad  25 contador  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
  • 24. Reglas para la construcción deenunciados de asignación (II).  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  25 contador  0 contador  contador + edad Departamento de ingeniería
  • 25. Reglas para la construcción deenunciados de asignación (III). 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  1000 bono  120 salario_neto  salario + bono Departamento de ingeniería
  • 26. Reglas para la construcción deenunciados de asignación (IV). 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  0 edad  25 acumulador  acumulador + edad Departamento de ingeniería
  • 27. 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
  • 28. Enunciado de Decisión – Si.. SinoDiagrama de Flujo SI NO <comparación> SI <comparación> ENTONCES Pseudo Código VERDADERO Enunciado(s) SINO FALSO Enunciado(s) FIN SI Departamento de ingeniería
  • 29. Enunciado de Decisión – SI .. SinoDiagrama de Flujo SI NO contador > 0 promedio  acumulador/contador promedio  0 SI contador >0 ENTONCES Pseudo Código promedio  acumulador/contador SINO promedio  0 FIN SI Departamento de ingeniería
  • 30. Enunciado de Repetición. Son los enunciados que permiten repetir varias 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
  • 31. Enunciado de Repetición - MientrasDiagrama de Flujo SI NO <comparación> MIENTRAS <comparación> HACER Pseudo Código VERDADERO Enunciado(s) a repetir FIN MIENTRAS FALSO Enunciado(s) Departamento de ingeniería
  • 32. Enunciado de Repetición - MientrasDiagrama de Flujo SI contador < numero NO contador  contador + 1 promedio  acumulador/contador Leer(edad) Escribir (promedio)acumulador  acumulador + edad Fin MIENTRAS contador < numero HACER Pseudo Código contador  contador +1 leer(edad) acumulador  acumulador + edad FIN MIENTRAS promedio  acumulador/contador Departamento de ingeniería escribir(promedio)
  • 33. Enunciado de Repetición – Haga .. MientrasDiagrama de Flujo SI NO <comparación> HAGA Pseudo Código VERDADERO Enunciado(s) a repetir MIENTRAS <comparación> FALSO Enunciado(s) Departamento de ingeniería
  • 34. Enunciado de Repetición – Haga .. MientrasDiagrama de Flujo Leer SI (Edad) NO Promedio  Edad > 0 acumulador/contador contador  contador + 1 Acumulador  acumulador + edad Escriba(promedio) HAGA Pseudo Código leer (edad) contador  contador + 1 Acumulador  acumulador + edad MIENTRAS edad > 0 promedio  acumulador/contador Escriba (promedio) Departamento de ingeniería
  • 35. Escritura de algoritmos (programas) Cabecera del programa Comienza por la palabra algoritmo Bloque algorítmico Acciones de declaración Var tipo: lista de identificadoresAlgoritmo Const: tipo: lista de identificadores = valor Inicio sentencia 1 // Listado se entencias sentencia 1 … fin Departamento de ingeniería
  • 36. Escritura de algoritmos (programas) Cabecera del programa Comienza por la palabra algoritmo Bloque algorítmico Acciones de declaración Var entero: num1 // Declaración variable numérica Const:Algoritmo real: PI= 3.141592 // Declaración constante real carácter: estrella = ‘*’ //Declaración carácter cadena: nombre[20] //Declaración de una cadena de máximo 20 caracteres. Inicio sentencia 1 // Listado se entencias sentencia 1 … fin Departamento de ingeniería
  • 37. Ejemplo algoritmo para “sumar dos números”Entrada:Dos números (num1, num2)Salida:Resultado de la suma de los dos números.Proceso:Se reciben los dos números, luego en una variablenum_suma se el asigna el resultado de la suma delos números. Se imprime el resultado.
  • 38. Ejemplos de diagramas de flujo Inicio Num_suma 0 Leer num1 Leer num2 Num_suma num1+ num2 Escribir num_suma Fin Departamento de ingeniería
  • 39. ActividadEn un diagrama de flujo, representar unalgoritmo para dividir dos números. Si elsegundo número que se recibe es “0”, sedebe presentar un mensaje.
  • 40. Pseudocódigo (II)Es muy importante la indentación (sangría en el margenizquierdo) de las diferentes líneas del algoritmo.Elementos básicos◦Inicio. Se coloca al empezar el pseudocódigo◦Fin. Se coloca al finalizar el pseudocócigo◦//. Se utiliza para colocar comentarios. Se utiliza para realizar una asignación. Ejemplo: num_suma num1 + num2 Leer (y): Se utiliza para solicitar información y
  • 41. Pseudocódigo (II)Escribir (y): Se utiliza para solicitar escribir un dato y.Escribir(’mensaje’): Se utiliza para escribir la palabra mensaje. Si sentencia entonces Si sentencia instrucciones 1 entonces Si_no instrucciones instrucciones 2 fin si fin si
  • 42. Pseudocódigo (II)Si sentencia1 entonces instrucciones1sino si sentencia2 entonces instrucciones 2 sino si sentencia3 entonces instrucciones3 sino instrucciones4 fin si fin sifin simientras sentencia haga instruccionesfin mientras
  • 43. Ejemplo de pseudocódigoEscribir en pseudocódigo un algoritmo que pida el nombre deuna persona e imprima en pantalla el nombre ingresado.Var Carácter: nombre;inicio Escribir („Ingrese su nombre‟) Leer (nombre) //En nombre se guardara la información que se ingrese Escribir („El nombre ingresado es:‟, nombre)fin
  • 44. Actividad en ClaseEscribir en pseudocódigo los algoritmos de sumar dos números yel de dividir dos números.Escribir un algoritmo que: «Dados tres números determina si lasuma de dos de ellos es igual al otro número. En caso de quesean iguales escribir «iguales», en caso de ser desigualesescribir «desiguales».Los algoritmos deben ser presentados en diagrama de flujo y enpseudocódigo.
  • 45. 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
  • 46. Solución completa utilizando Pseudo CódigoINICIO leer(numero) contador 0 acumulador 0 cont_mujeres  0 cont_hombres  0 acum_mujeres  0 acum_hombres 0 MIENTRAS contador < numero HACER contador  contador +1 leer(edad) leer(sexo) SI sexo = „mujer‟ ENTONCES cont_mujeres  cont_mujeres +1 acum_mujeres  acum_mujeres + edad SINO cont_hombres  cont_hombres +1 acum_hombres  acum_hombres + edad FIN SI acumulador  acumulador + edad FIN MIENTRAS Departamento de ingeniería
  • 47. Solución completa utilizando Pseudo Código SI contador >0 ENTONCES promedio  acumulador/contador SINO promedio  0 FIN SI SI cont_mujeres >0 ENTONCES prom_mujeres  acum_mujeres/cont_mujeres SINO prom_mujeres  0 FIN SI SI cont_hombres >0 ENTONCES prom_hombres  acum_hombre/cont_hombres SINO prom_hombres  0 FIN SI escribir(promedio) escribir(prom_mujeres) escribir(prom_hombres)FIN Departamento de ingeniería
  • 48. Gracias!!! Departamento de ingeniería