lógica de la programación

Post on 11-Jul-2015

289 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

SECCIÓN 1

Algoritmos orientados a datos y miniespecificaciones

2

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

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

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

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

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

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

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

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

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

Traducción a mini especificación (2)

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

12

SECCIÓN 2

Estructuras de decisión y control

13

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

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

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

Aspectos clave

Condicional Compuesta

Si edad >= 18 Entonces

<< “Es mayor de edad”De lo Contrario

<< “Es menor de edad”Fin Si

17

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

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

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

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

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

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

SECCIÓN 3

Diagramas de flujo

24

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.

Ejemplo

26

Ejemplo

27

Uso deDía:

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

Ejemplo

28

Ejemplo

29

30

Practiquemos con preguntas

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

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

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

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

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

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

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

37

Pregunta 6

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

38

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”

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.

top related