Lógica de la programación

875 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
875
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
24
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Lógica de la programación

  1. 1. Lógica de la ProgramaciónLógica de la Programación TITULACIÓN: Titulación de Ciencias de la Computación BIMESTRE: Segundo NOMBRES: René Rolando Elizalde Solano
  2. 2. SECCIÓN 1  Algoritmos orientados a datos y miniespecificaciones
  3. 3. Aspectos clave  Un algoritmo orientado a datos especifica las operaciones que se debe realizar con los datos.  Su finalidad es hacer conocer al desarrollador los datos que estarán involucrados.  Un algoritmo orientado a datos puede traducirse a miniespecificación. Ejemplo: Se pregunta la edad de un estudiante (edad,i[1-n])
  4. 4. Aspectos clave (2)  Para poder representar la información a usar en los algoritmos orientados a datos tenemos: (Nombre Variable, SímboloTipo [Dominio]) (edad,i[1-n])
  5. 5. Aspectos clave (2)  La asignación de una variable se la realiza de la siguiente manera. NombreVariable Expresión← calificacion 10←  Se puede usar lo siguiente: (calificacion,i[1-n]) 10←
  6. 6. Aspectos clave (3)  La representación simbólica de una petición de datos es la siguiente: >> NombreVariable Ejemplo: >> edad SE USA PUNTA DE FLECHA DOBLE HACIA LA DERECHA
  7. 7. Aspectos clave (3) La forma en que se presenta simbólicamente la muestra de datos es la siguiente: << Expresión Ejemplo << edad ó << “la edad de la persona es” + edad SE USA PUNTA DE FLECHA DOBLE HACIA LA IZQUIERDA
  8. 8. Ejemplo  Se desea construir un programa para calcular el sueldo de una persona en función de las horas trabajadas y el valor de la hora.
  9. 9. Algoritmo del análisis 1. Inicio 2. Se pregunta el total de horas trabajadas. 3. Se pregunta el costo por hora. 4. Se calcula el valor a pagar multiplicando las horas trabajadas por el costo hora. 5. Se muestra el valor a pagar. 6. Fin
  10. 10. Traducción a orientado a datos 1. Inicio 2. Se pregunta las horas trabajadas(Horas,i[1-n]) 3. Se pregunta el costo horas (cHora,i[1-n]) 4. Se calcula el total (total, i[1-n]) multiplicando el costo por las horas. 5. Se muestra el total 6. Fin.
  11. 11. Traducción a mini especificación 1. Inicio 2. (horas,i[1-n]) 3. (cHora,i[1-n]) 4. (total,i[1-n]) 5. << “Indique el total de horas trabajo” 6. >> horas 7. << “Indique el costo hora” 8. >> cHora
  12. 12. Traducción a mini especificación (2) 9. total = horas * cHora 10. << “Debe pagar “ + Total 11. Fin
  13. 13. SECCIÓN 2  Estructuras de decisión y control
  14. 14. Aspectos clave  Estructuras de decisión: estructura de código en la cual una expresión lógica determina la ejecución por ÚNICA VEZ de un bloque La clásica de las estructuras de decisión es la condicional ( Simple y Compuesta)
  15. 15. Aspectos clave  Condicional SIMPLE Si ExpresiónLógica Entonces Ejecutar parte del algoritmo si la Expresión es Verdadera Fin Si Si edad >= 18 Entonces << “Es mayor de edad” Fin Si
  16. 16. Aspectos clave  Condicional Compuesta Si ExpresiónLógica Entonces Ejecutar parte del algoritmo si la expresión es Verdadera De lo Contrario Ejecutar parte del algoritmo si la expresión es Falsa Fin Si
  17. 17. Aspectos clave  Condicional Compuesta Si edad >= 18 Entonces << “Es mayor de edad” De lo Contrario << “Es menor de edad” Fin Si
  18. 18. Aspectos clave  Contadores Técnicas de cambio de estado en donde una variable puede contar las veces en que su estado cambia. Variable Variable + 1← − Ejemplo i i + 1← i i + 1← i i + 1← ÚTIL YA QUE PERMITE CONOCER CUANTAS VECES UN PROGRAMA HA PASADO POR UNA DETERMINADA LÍNEA
  19. 19. Aspectos clave  Acumuladores • Técnicas de cambio de estado en donde una variable tiene la posibilidad de acumular un valor al valor que ya posee Variable Variable + Expresión← − Ejemplo i i + 10← i i + 5← i i + 3← ÚTIL YA QUE PERMITE REALIZAR SUMATORIAS DE VALORES
  20. 20. Aspectos clave  Estructuras de Control Es la estructura de código que permite que una expresión lógica determine la ejecución reiterada de un bloque de código
  21. 21. Aspectos clave  Bucle de comparación al INICIO: Se ejecutará siempre y cuando la expresión lógica sea VERDADERA (True) j 1← Mientras j <= 10 Entonces << “Al pasar por aquí el valor de i es: ” + j j j + 1← Fin Mientras
  22. 22. Aspectos clave  Estructuras de Control • Bucle de comparación al FINAL: Se ejecutará hasta que la expresión lógica sea VERDADERA (True) j 1← Inicio << “Al pasar por aquí el valor de i es: ” + j j j + 1← Hasta que j > 10
  23. 23. Aspectos clave (2)  Una estructura anidada es aquella que se encuentra dentro de otra estructura de control.  Las pruebas de escritorio permiten verificar el funcionamiento correcto del algoritmo.
  24. 24. SECCIÓN 3  Diagramas de flujo
  25. 25. SECCIÓN 3  Ayudan a visualizar la lógica del programa.  Facilitan la comunicación con otras personas.  Existen equivalencias entre los símbolos y las operaciones de un algoritmo.
  26. 26. Ejemplo
  27. 27. Ejemplo Uso de Día: https://projects.gnome.org/dia/
  28. 28. Ejemplo
  29. 29. Ejemplo
  30. 30. Practiquemos con preguntas
  31. 31. Pregunta 1 Las siguientes son sentencias en miniespecificación. ¿Cuál declarción establece una la variable valor como entera con valores del 1 al 2000, excepto los múltiplos de 10? a. (valor, i[1-n]) b. (valor, i[1-2000]) c. (valor, i[{1-2000}, !{10,20,30,..}]) d.(valor,b[{1-2000}, !{10,20,30,..}])
  32. 32. Pregunta 2 ¿Cuántas veces se ejecuta el código dentroCuántas veces se ejecuta el código dentro del siguiente bucle? Siendo m = 10del siguiente bucle? Siendo m = 10 Mientras (m < 5) Entonces << “Este es un bucle” Fin mientras a.2 b.0 c. 1 d. Infinito
  33. 33. Pregunta 3 En un bucle de comparación al inicio es posible que: a.Se ejecutan al menos una vez. b.No se ejecuten las sentencias nunca. c. Solo ciertas sentencias se ejecuten. d. Se ejecuten secuencialmente.
  34. 34. Pregunta 4 ¿Cuál sentencia se ejecuta si lado vale 10? Si lado >=10 Entonces AreaCuadrado  = lado**2 De lo contrario << “El lado no puede ser menor a uno” Fin si
  35. 35. Pregunta 4 a. << “El lado no puede ser menor a diez” b. >> “El lado no puede ser menor a diez” c. AreaCuadrado  lado^2 d. Ninguna.
  36. 36. Pregunta 5 Siendo x una variable entera ¿Cuál de las siguientes sentencias permite su uso como acumulador? a. x = x ^ 2 b. x = x *y c. x = x – y d. x = x + 3
  37. 37. Pregunta 6 ¿Qué tipo de sentencia representa el siguiente diagrama?
  38. 38. Pregunta 6 a. Flujo secuencial b. Una flujo condicional c. Un bucle de comp. al inicio. d. Un bucle de comp. al final.
  39. 39. Donde podemos prácticar. Raptor Software http://es.wikipedia.org/wiki/Raptor_Software http://raptor.martincarlisle.com/ Python http://python.org/ Texto “Python para Todos”
  40. 40. PROGRAMA: Tutoría Lógica de la Programación Titulación: Informática Fecha: 2 de Julio de 2013 Docente: Ing. René Rolando Elizalde Solano Hora Inicio: 18:00 Hora Final:19:00 GUIÓN DE PRESENTACIÓN Puntos de la Presentación Intervienen Duración Aprox. en minutos Material de Apoyo Saludo inicial y presentación de la materia Ing. René Rolando Elizalde Solano • 5 Sin material. -Desarrollo del contenido: - Presentación de temas -Resolución de preguntas Ing. René Rolando Elizalde Solano • 45 minutos Diapositivas (cambios cada 5 seg.), Cámara documentos. - Preguntas - Despedida Ing. René Rolando Elizalde Solano •10 minutos Correo, teléfono, ext, horario de tutoría.

×