presentación "tópicos de programación"

45
1 de octubre de 2014 1 Ing. Cs. de la computación Sección 105 TÓPICOS DE PROGRAMACIÓN

Upload: luis-yael-mendez-sanchez

Post on 21-Jul-2015

62 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: Presentación "Tópicos de programación"

1 de octubre de 2014 1Ing. Cs. de la computación Sección 105

TÓPICOS DE

PROGRAMACIÓN

Page 2: Presentación "Tópicos de programación"

Algoritmo

1 de octubre de 2014 13Ing. Cs de la computacion Sección 10524 de septiembre de 2014 Ing. Cs. de la computación Sección 105 2

Page 3: Presentación "Tópicos de programación"

Un algoritmo es un conjunto de pasos,procedimientos o acciones que nos permitenalcanzar un resultado o resolver un problema.

Características de un Algoritmo

Precisión

Los pasos a seguir deben ser precisados claramente.

Determinismo

Dado un conjunto de datos de

entrada, siempre debe arrojar los

mismos resultados.

Finitud

Siempre tiene que finalizar tras un número finito de

acciones.

1 de octubre de 2014 Ing. Cs. de la computación Sección 105 3

Page 4: Presentación "Tópicos de programación"

Fases para el Diseño del Algoritmo

Diseño de un Algoritmo

Diseño Descendente Algoritmo Narrado

Refinamiento por pasos

Algoritmo Detallado

Herramientas de programación

-Diagramas de Flujo

-Pseudocódigo

-Pruebas de escritorio

1 de octubre de 2014 Ing. Cs. de la computación Sección 105 4

Page 5: Presentación "Tópicos de programación"

Módulos Principales

Algoritmo

Datos de Entrada

Procesamiento de los Datos

Impresión de Resultados

1 de octubre de 2014 Ing. Cs. de la computación Sección 105 5

Page 6: Presentación "Tópicos de programación"

Ejemplo: Algoritmo para cambiar un

foco fundido

• INICIO

• Situar escalera bajo el foco quemado.

• Elegir un foco de reemplazo (de la misma potencia que el anterior).

• Subir por la escalera hasta alcanzar el foco.

• Girar el foco contra las manecillas del reloj hasta que esté suelto.

• Ubicar el foco nuevo en el mismo lugar que el anterior.

• Enroscar en el sentido de las manecillas del reloj hasta que quede apretado.

• Bajar de la escalera.

• FIN

1 de octubre de 2014 Ing. Cs. de la computación Sección 105 6

Page 7: Presentación "Tópicos de programación"

Ejemplo: Cambiar la rueda de un automóvil teniendoun gato mecánico, una rueda de reemplazo y unallave inglesa.

1 de octubre de 2014 Ing. Cs. de la computación Sección 105 7

InicioPASO 1. Aflojar los tornillos de la rueda ponchada con la llave inglesa.PASO 2. Ubicar el gato mecánico en su sitio.PASO 3. Levantar el gato hasta que la rueda ponchada pueda girar libremente.PASO 4. Quitar los tornillos y la rueda ponchada.PASO 5. Poner rueda de repuesto y los tornillos.PASO 6. Bajar el gato hasta que se pueda liberar.PASO 7. Sacar el gato de su sitio.PASO 8. Apretar los tornillos con la llave inglesa.Fin

Page 8: Presentación "Tópicos de programación"

Diagrama de Flujo

1 de octubre de 2014 13Ing. Cs de la computacion Sección 10524 de septiembre de 2014 Ing. Cs. de la computación Sección 105 8

Page 9: Presentación "Tópicos de programación"

Es la esquematización gráfica de un algoritmo quemuestra gráficamente los pasos o procesos a seguirpara alcanzar la solución de un problema.

1 de octubre de 2014 Ing. Cs. de la computación Sección 105 9

Page 10: Presentación "Tópicos de programación"

Símbolos de los diagramas de flujo

1 de octubre de 2014 Ing. Cs. de la computación Sección 105 10

INICIO Y FINIMPRESIÓN DE

RESULTADOS

DIRECCIÓN DE

LAS FLECHAS

LETURA DE DATOS DECISIÓNCONECTOR DENTRO

DE PÁGINA

EXPRESIÓN DE UN

PROCESO

DECISIÓN

MÚLTIPLECONECTOR FUERA

DE PÁGINA

SI NO

Page 11: Presentación "Tópicos de programación"

Etapas en la construcción de un diagrama de Flujo

1 de octubre de 2014 Ing. Cs. de la computación Sección 105 11

Page 12: Presentación "Tópicos de programación"

Reglas para la construcción de un diagrama de flujo

Todo diagrama de flujo debe

tener un inicio y un

fin.

Las líneas utilizadas para

indicar la dirección del

flujo del diagrama deben

ser rectas, verticales y

horizontales.

Todas las líneas utilizadas para

indicar la dirección del flujo

del diagrama deben estar

conectadas a alguno de los

símbolos.

El diagrama de flujo debe

ser construido de arriba

hacia abajo y de izquierda a derecha.

Si el diagrama de flujo

requiriera más de una hoja

para su construcción,

debemos utilizar los

conectores.

1 de octubre de 2014 Ing. Cs. de la computación Sección 105 12

Page 13: Presentación "Tópicos de programación"

1 de octubre de 2014 Ing. Cs. de la computación Sección 105 13

Ejemplo: Construya un diagrama de flujo que imprima lamatrícula del alumno y el promedio de 5 calificaciones.

(Lectura de la matricula y las Calificaciones)

(Almacena en la variable PROMel promedio de las calificaciones)

(Escribe la matrícula y el promedio)

Page 14: Presentación "Tópicos de programación"

Pseudocódigo

1 de octubre de 2014 13Ing. Cs de la computacion Sección 10524 de septiembre de 2014 Ing. Cs. de la computación Sección 105 14

Page 15: Presentación "Tópicos de programación"

Lenguaje de especificación de algoritmos: Pseudocódigo

1 de octubre de 2014 Ing. Cs. de la computación Sección 105 15

Para representar algoritmos debemos utilizar un métodoindependiente al lenguaje de programación elegido.

Page 16: Presentación "Tópicos de programación"

El pseudocódigo (o falso lenguaje ) es unaherramienta de programación donde lasinstrucciones se escriben en palabras similares alingles o español, que facilitan tanto la escrituracomo la lectura de programas.

1 de octubre de 2014 Ing. Cs. de la computación Sección 105 16

Page 17: Presentación "Tópicos de programación"

Las palabras reservadas comúnmente utilizadas en pseudocódigo son:

1 de octubre de 2014 Ing. Cs. de la computación Sección 105 17

- Inicio,

- Fin,

- Leer,

- Escribir,

- Si,

- Entonces,

- Sino,

- FinSi,

- Según,

- FinSegun,

- Mientras,

- Hacer,

- FinMientras,

- Repetir,

- HastaQue,

- Para,

- FinPara,

- Desde

Page 18: Presentación "Tópicos de programación"

Características del

Pseudocódigo

1 de octubre de 2014 Ing. Cs de la computacion Sección 105 1824 de septiembre de 2014 Ing. Cs. de la computación Sección 105 18

Page 19: Presentación "Tópicos de programación"

Mantiene una sangría adecuada para facilitar laidentificación de elementos que lo componen.

1 de octubre de 2014 Ing. Cs. de la computación Sección 105 19

Inicio

Escribir ("Introduce tus 4 calificaciones")

leer c1, c2, c3, c4

promedio<-(c1+c2+c3+c4) /4

según (promedio) hacer

caso 6: escribir ("Regular")

caso 7: escribir ("Bien")

caso 8: escribir ("Muy bien")

caso 9: escribir ("Excelente")

caso 10: escribir ("Excelente")

De otro modo

escribir ("Reprobado")

FinSegun

Fin

Page 20: Presentación "Tópicos de programación"

Permite la declaración de datos (constantes y/ovariables) manipulados por el algoritmo.

1 de octubre de 2014 Ing. Cs. de la computación Sección 105 20

Inicio

Introduzca un numero entero: 7

¿Desea introducir otro numero (s/n)? s

Introduzca un numero entero: 16

¿Desea introducir otro numero (s/n)? s

Introduzca un numero entero: -3

¿Desea introducir otro numero (s/n)? n

La suma de los números ingresados es: 20

Fin

En donde (7, s, 16, -3, n, 20) son variables o constantes

Page 21: Presentación "Tópicos de programación"

Dispone de un conjunto pequeño de palabrasreservadas para expresar las acciones delalgoritmo.

1 de octubre de 2014 Ing. Cs. de la computación Sección 105 21

- Inicio,

- Fin,

- Leer,

- Escribir,

- Si,

- Entonces,

- Sino,

- FinSi,

- Según,

- FinSegun,

- Mientras,

- Hacer,

- FinMientras,

- Repetir,

- HastaQue,

- Para,

- FinPara,

- Desde

Y entre muchas otras.

Page 22: Presentación "Tópicos de programación"

Supera las 2 principales desventajas deldiagrama de flujo: Lento de crear y difícil demodificar

1 de octubre de 2014 Ing. Cs. de la computación Sección 105 22

INICIO

- CLAVE

- NUM

CLAVE

COS = NUM*8COS = NUM*6COS = NUM*5COS = NUM*2

FIN

12

18 23

29

“Costo total de la llamada”

COST

Page 23: Presentación "Tópicos de programación"

Permite el seguimiento de la lógica de un algoritmo.

1 de octubre de 2014 Ing. Cs. de la computación Sección 105 23

1.- Inicio

2.- Escribir ("Introduce tus 4 calificaciones")

3.- leer c1, c2, c3, c4

4.-

5.- promedio<-(c1+c2+c3+c4) /4

6.-

7.- según (promedio) hacer

8.- caso 6: escribir ("Regular")

9.- caso 7: escribir ("Bien")

10.- caso 8: escribir ("Muy bien")

11.- caso 9: escribir ("Excelente")

12.- caso 10: escribir ("Excelente")

13.- De otro modo

14.- escribir ("Reprobado")

15.- FinSegun

16.- Fin

Page 24: Presentación "Tópicos de programación"

1 de octubre de 2014 Ing. Cs de la computacion Sección 105 24

Estructuras

Secuenciales

24 de septiembre de 2014 Ing. Cs. de la computación Sección 105 24

Page 25: Presentación "Tópicos de programación"

También conocidas como sentencias o proposiciones son una unidad compleja, ejecutable en si misma.

La ejecución se realiza de manera secuencial, es decir, cada una a continuación de la anterior.

1 de octubre de 2014 Ing. Cs. de la computación Sección 105 25

Inicio

Si (condición) entonces

Sentencia 1

Sentencia 2

Sentencia n

FinSi

Fin

Page 26: Presentación "Tópicos de programación"

Componentes de Estructuras

1 de octubre de 2014 Ing. Cs. de la computación Sección 105 26

Asignación

Es el paso de resultados a una zona de la memoria que será reconocida con el nombre de la variable que recibe el valor. Se clasifica de la siguiente forma:

• Simples: Pasar un valor constate a una variable (a=15)

• Contador: Un verificador del número de veces que se realiza un proceso (a=a+1)

• Acumulador: Un sumador en un proceso (a=a+b)

• De trabajo: Puede recibir el resultado de una operación matemática que involucre muchas variables (a=c+b*2/4).

Page 27: Presentación "Tópicos de programación"

1 de octubre de 2014 Ing. Cs. de la computación Sección 105 27

Componentes de Estructuras

Lectura

La lectura consiste en recibir desde un dispositivo de entrada (p.ej. el teclado) un valor. Esta operación se representa en un pseudocódigo como sigue:

Leer a, b

Donde “a” y “b” son las variables que recibirán los valores

Page 28: Presentación "Tópicos de programación"

1 de octubre de 2014 Ing. Cs. de la computación Sección 105 28

Componentes de Estructuras

Escritura

Consiste en mandar por un dispositivo de salida (p.ej. monitor o impresora) un resultado o mensaje. Este proceso se representa en un pseudocódigo como sigue:

Escribe “El resultado es:”, R

Donde “El resultado es:” es un mensaje que se desea aparezca y R es una variable que contiene un valor.

Page 29: Presentación "Tópicos de programación"

En pseudocódigo una estructura secuencial se representa de la siguiente manera:

1 de octubre de 2014 Ing. Cs. de la computación Sección 105 29

PSEUDOCODIGO Nombre

VARIABLES

Nombre: Tipo de Dato

CONSTANTES

Nombre = Valor

INICIO

acción

acción1

acción2

.

.

.

acciónN

FIN

Page 30: Presentación "Tópicos de programación"

Ejemplo. Escriba un algoritmo que pregunte por dos números y muestre como resultado la suma de estos. (Use pseudocódigo)

1 de octubre de 2014 Ing. Cs. de la computación Sección 105 30

PSEUDOCODIGO Sumar

VARIABLES

Num1, Num2, Suma: Entero

INICIO

Escribir (“Introduzca dos números”)

Leer (Num1, Num2)

Suma=Num1 + Num2

Escribir (“La suma es:”, Suma)

FIN

Page 31: Presentación "Tópicos de programación"

1 de octubre de 2014 Ing. Cs. de la computación Sección 105 31

Estructuras de

decisión simple

Page 32: Presentación "Tópicos de programación"

Estas permiten seleccionar la próximasentencia a ejecutarse sobre la base de unadecisión (expresión lógica o variable lógica).

Los tipos de estructuras de decisión que podemos encontrar son:● Simples●Dobles●Múltiples

1 de octubre de 2014 Ing. Cs. de la computación Sección 105 32

Si Simple

Page 33: Presentación "Tópicos de programación"

La estructura de decisión simple es la llamada, Si_Entoncesejecuta una determinada acción cuando se cumpla una ciertacondición y en caso contrario seguir el orden secuencial.

La selección Si_Entonces evalúa la condición y de ACUERDO a los resultados:

• Si es verdadero, ejecuta una o varias opciones.

• Si es falsa, entonces no hace nada y sigue la ejecución normal del programa.

1 de octubre de 2014 Ing. Cs. de la computación Sección 105 33

Condición

Sentencia(s)

Page 34: Presentación "Tópicos de programación"

1 de octubre de 2014 Ing. Cs. de la computación Sección 105 34

Pseudocódigo

1.- Inicio2.- Escribir «Introduce la calificación»3.- Leer CAL4.- Si (CAL>8) entonces4.1 Escribir «APROBADO»

5.- Fin Si6.- Fin

Ejemplo: Dada la calificación de un alumno, escriba «Aprobado» en caso de

que la calificación sea mayor a 8.

Page 35: Presentación "Tópicos de programación"

Hay un Indicador que esuna variable o unafunción cuyo valor escomparado en cada casocon los valores "Valor",

Si en algún casocoinciden ambos valores,entonces se ejecutaránlas Instruccionescorrespondientes.

1 de octubre de 2014 Ing. Cs. de la computación Sección 105 35

Opción múltiple

Page 36: Presentación "Tópicos de programación"

1 de octubre de 2014 Ing. Cs de la computacion Sección 105 36

Pseudocódigo

1.- Inicio2.- Escribir «Introduce la calificación»3.- Leer CAL4.- Si (CAL>8) entonces4.1 Escribir «APROBADO»4.2 Si No4.3 Escribir «REPROBADO»

5.- Fin Si6.- Fin

Ejemplo: Dada la calificación de unalumno, escriba «Aprobado» si lacalificación es mayor a 8 si no escribir«Reprobado».

Page 37: Presentación "Tópicos de programación"

Estructuras de

Repetición

1 de octubre de 2014 13Ing. Cs de la computacion Sección 10524 de septiembre de 2014 Ing. Cs. de la computación Sección 105 37

Page 38: Presentación "Tópicos de programación"

Permiten la ejecución de una lista o secuencia de instrucciones en

varias ocasiones.

El número de veces que el bloque de instrucciones se ejecutará se

puede especificar de manera explícita, o a través de una condición

lógica que indica cuándo se ejecuta de nuevo y cuándo no.

A cada ejecución del bloque de instrucciones se le conoce como una

“iteración”.

1 de octubre de 2014 Ing. Cs. de la computación Sección 105 38

Page 39: Presentación "Tópicos de programación"

1 de octubre de 2014 Ing. Cs. de la computación Sección 105 39

Ciclo Para

El ciclo para ejecuta un bloque de instrucciones

un número determinado de veces. Este número

de veces está determinado por una variable

contadora (de tipo entero) que toma valores

desde

un límite inferior hasta un límite superior.

PSEUDOCODIGO

Para (<variable> := <lim_inf> hasta <lim_sup>)

hacer

<bloque instrucciones>

Fin_Para

Page 40: Presentación "Tópicos de programación"

1 de octubre de 2014 Ing. Cs de la computacion Sección 105 40

Pseudocódigo:

1.-Inicio

2.- Serie<-0

3.- i<-1

4.- Para i con paso 1 hasta N hacer

4.1 Serie<-Serie+ i**i

i<-i+1

5.-Fin Para

6.- Escribir «La serie es:», Serie

7.- Fin

Ejemplo: Lectura de un número entero N y calcula la suma de la sig. Serie

1**1+2**2+3**3….N

Page 41: Presentación "Tópicos de programación"

Ejecuta un bloque de instrucciones mientras una expresión lógica dada se

cumpla, es decir su evaluación dé como resultado verdadero.

Siempre se evalúa antes de ejecutar el bloque de instrucciones.

Si la condición se cumple, el bloque se ejecuta, después de lo cual la

instrucción vuelve a empezar, es decir, la condición se vuelve a evaluar.

1 de octubre de 2014 Ing. Cs. de la computación Sección 105 41

Ciclo Mientras

PSEUDOCODIGO

Mientras <condición> hacer

<bloque instrucciones>

Fin_mientras

Page 42: Presentación "Tópicos de programación"

1 de octubre de 2014 Ing. Cs de la computacion Sección 105 42

Pseudocódigo:

1.-Inicio

2.- Leer NUM

3.- Mientras (NUM<> -1) hacer

3.1 CUB<- NUM**3

3.2 Escribir «El Cubo del número es:», CUB

3.3 Leer NUM

4.-Fin Mientras

5.- Fin

Ejemplo: Dado un grupo de números naturales positivos, calcule e imprima el cubo de estos

números.

Page 43: Presentación "Tópicos de programación"

Aquí la condición se evalúa después de ejecutar el bloque de

instrucciones, por tanto, el bloque se ejecuta por lo menos una vez.

Este bloque se ejecuta nuevamente si la condición evalúa a verdadero,

y no se ejecuta más si se evalúa como falso.

1 de octubre de 2014 Ing. Cs. de la computación Sección 105 43

Ciclo Hacer-Mientras

PSEUDOCODIGO

Hacer

<bloque instrucciones>

Mientras <condición>

Page 44: Presentación "Tópicos de programación"

1 de octubre de 2014 Ing. Cs de la computacion Sección 105 44

Pseudocódigo:

1.-Inicio

2.- SUMGAS<-0

3.- Leer GASTO

4.- Mientras ( GASTO<> -1) hacer

4.1 SUMGAS<- SUMGAS+GASTO

4.2 Leer GASTO

5.- Fin Mientras

6.- Fin

Ejemplo: Obtener la suma de los gastos que hicimos en un último viaje, pero no se saben

exactamente cuántos fueron esos gastos.

Page 45: Presentación "Tópicos de programación"

http://informaticaingqmi.blogspot.mx/2010/11/estructuras-de-decision-

simples-y.html

http://es.slideshare.net/Picasagrupo3/estructura-de-decisin-simple

http://mrch26-programacion.blogspot.mx/2010/10/decisiones-son-

estructuras-de-control.html

http://algorinteco.blogspot.mx/2011/04/si-anudado-y-estructuras-

secuenciales.html

http://mis-algoritmos.com/aprenda-a-crear-diagramas-de-flujo

http://www.monografias.com/trabajos40/pseudo-codigo/pseudo-

codigo.shtml

1 de octubre de 2014 Ing. Cs. de la computación Sección 105 45

Bibliografía