Your SlideShare is downloading. ×

Lógica de la programación

232

Published on

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

  • Be the first to like this

No Downloads
Views
Total Views
232
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
14
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. 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. SECCIÓN 1  Algoritmos orientados a datos y miniespecificaciones
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. Traducción a mini especificación (2) 9. total = horas * cHora 10. << “Debe pagar “ + Total 11. Fin
  • 13. SECCIÓN 2  Estructuras de decisión y control
  • 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. 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. 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. Aspectos clave  Condicional Compuesta Si edad >= 18 Entonces << “Es mayor de edad” De lo Contrario << “Es menor de edad” Fin Si
  • 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. 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. 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. 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. 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. 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. SECCIÓN 3  Diagramas de flujo
  • 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. Ejemplo
  • 27. Ejemplo Uso de Día: https://projects.gnome.org/dia/
  • 28. Ejemplo
  • 29. Ejemplo
  • 30. Practiquemos con preguntas
  • 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. 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. 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. 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. 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. 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. Pregunta 6 ¿Qué tipo de sentencia representa el siguiente diagrama?
  • 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. 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. 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.

×