Lógica de la programación

41
Lógica de la Programación Lógica de la Programación TITULACIÓN: Titulación de Ciencias de la Computación BIMESTRE: Segundo NOMBRES: René Rolando Elizalde Solano

Transcript of Lógica de la programación

Page 1: Lógica de la programación

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

Page 2: Lógica de la programación

SECCIÓN 1

Algoritmos orientados a datos y miniespecificaciones

2

Page 3: Lógica de la programación

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.

3

Ejemplo: Se pregunta la edad de un estudiante (edad,i[1-n])

Page 4: Lógica de la programación

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])

4

Page 5: Lógica de la programación

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←

5

Page 6: Lógica de la programación

Aspectos clave (3)

La representación simbólica de una petición de datos es la siguiente:

>> NombreVariableEjemplo:>> edad

SE USA PUNTA DE FLECHA DOBLE HACIA LA DERECHA

6

Page 7: Lógica de la programación

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

7

Page 8: Lógica de la programación

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.

8

Page 9: Lógica de la programación

Algoritmo del análisis

1. Inicio2. 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

9

Page 10: Lógica de la programación

Traducción a orientado a datos

1. Inicio2. 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 total6. Fin.

10

Page 11: Lógica de la programación

Traducción a mini especificación

1. Inicio2. (horas,i[1-n])3. (cHora,i[1-n])4. (total,i[1-n])5. << “Indique el total de horas trabajo”6. >> horas7. << “Indique el costo hora”8. >> cHora

11

Page 12: Lógica de la programación

Traducción a mini especificación (2)

9. total = horas * cHora10. << “Debe pagar “ + Total11. Fin

12

Page 13: Lógica de la programación

SECCIÓN 2

Estructuras de decisión y control

13

Page 14: Lógica de la programación

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)

14

Page 15: Lógica de la programación

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

15

Page 16: Lógica de la programación

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

16

Page 17: Lógica de la programación

Aspectos clave

Condicional Compuesta

Si edad >= 18 Entonces

<< “Es mayor de edad”De lo Contrario

<< “Es menor de edad”Fin Si

17

Page 18: Lógica de la programación

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

18

Page 19: Lógica de la programación

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

19

Page 20: Lógica de la programación

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

20

Page 21: Lógica de la programación

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

21

Page 22: Lógica de la programación

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

22

Page 23: Lógica de la programación

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.

23

Page 24: Lógica de la programación

SECCIÓN 3

Diagramas de flujo

24

Page 25: Lógica de la programación

SECCIÓN 3

25

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.

Page 26: Lógica de la programación

Ejemplo

26

Page 27: Lógica de la programación

Ejemplo

27

Uso deDía:

https://projects.gnome.org/dia/

Page 28: Lógica de la programación

Ejemplo

28

Page 29: Lógica de la programación

Ejemplo

29

Page 30: Lógica de la programación

30

Practiquemos con preguntas

Page 31: Lógica de la programación

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,..}])

31

Page 32: Lógica de la programación

Pregunta 2

¿Cuántas veces se ejecuta el código dentro Cuá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.2b.0c. 1

d. Infinito

32

Page 33: Lógica de la programación

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.

33

Page 34: Lógica de la programación

Pregunta 4

¿Cuál sentencia se ejecuta si lado vale 10?Si lado >=10 Entonces AreaCuadrado = lado**2De lo contrario << “El lado no puede ser menor a uno”

Fin si

34

Page 35: Lógica de la programación

Pregunta 4

a. << “El lado no puede ser menor a diez”b. >> “El lado no puede ser menor a diez”c. AreaCuadrado lado^2d. Ninguna.

35

Page 36: Lógica de la programación

Pregunta 5

Siendo x una variable entera ¿Cuál de las siguientes sentencias permite su uso como acumulador?

a. x = x ^ 2b. x = x *yc. x = x – yd. x = x + 3

36

Page 37: Lógica de la programación

Pregunta 6¿Qué tipo de sentencia representa el siguiente diagrama?

37

Page 38: Lógica de la programación

Pregunta 6

a. Flujo secuencialb. Una flujo condicionalc. Un bucle de comp. al inicio.d. Un bucle de comp. al final.

38

Page 39: Lógica de la programación

Donde podemos prácticar.

39

Raptor Software

http://es.wikipedia.org/wiki/Raptor_Software

http://raptor.martincarlisle.com/

Python

http://python.org/

Texto “Python para Todos”

Page 40: Lógica de la programación
Page 41: Lógica de la programación

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.