Segundo Bimestre

42
ESCUELA: Ciencias de la Computación NOMBRES METODOLOGIA Y TECNOLOGIA DE LA PROGRAMACION I FECHA: Ing. Danilo Jaramillo H OCTUBRE – MARZO 2009 1

description

Diapositivas del segundo bimestre de la asesoria virtaul

Transcript of Segundo Bimestre

Page 1: Segundo Bimestre

ESCUELA: Ciencias de la Computación

NOMBRES

METODOLOGIA Y TECNOLOGIA DE LA PROGRAMACION I

FECHA:

Ing. Danilo Jaramillo H

OCTUBRE – MARZO 2009

1

Page 2: Segundo Bimestre

2

INDICACIONES

Ingreso a campus y contestar los foros, revisar ejercicios.

Importancia de realizar las evaluaciones a distancia Foros (EVA) 2 puntos Parte objetiva 2 puntos Parte de ensayo 2 puntos

Evaluación Presencial parte objetiva 8 puntos parte ensayo 6 puntos

Page 3: Segundo Bimestre

3

INDICACIONES

Uso de sangrías. Utilizar comentarios para la

documentación. Entender que es lo que se pide en los

ejercicios de la evaluación presencial.

Page 4: Segundo Bimestre

4

INTRODUCCION

Mayor claridad para el desarrollo de algoritmos

Desarrollo de programas mas complejos Nuevos enfoques … Programación

orientada a objetos

Page 5: Segundo Bimestre

5

PLAN DE CONTENIDOS

SEGUNDO BIMESTRECapítulos de Texto Base Páginas Horas

Capítulo 6. Programación Modular 205 – 238 12

Capítulo 7. Una introducción a las estructuras de datos 247 - 269 10

Capítulo 8. Recursividad 537 - 567 8

Capítulo 9. Introducción a la Programación Orientada a Objetos

575 - 608 10

Total 40

Page 6: Segundo Bimestre

6

CAP. 5 PROGRAMACIÓN MODULAR

Propósito Conceptos Generales

Propósito .Facilitar la comprensión del diseño modular para lograr el desarrollo de programas complejos de manera sencilla permitiendo la reutilización de fragmentos de un programa.

Page 7: Segundo Bimestre

7

Cap. 5 PROGRAMACIÓN MODULAR

Conceptos Generales Técnica divide y vencerás Dividirlo en subprogramas Diseño descendente Partes son independientes entre si Programa principal sub-programas Cuando se invoca a una función O

procedimiento los pasos que están definidos se ejecutan y luego vuelven al módulo donde fue llamado.

Page 8: Segundo Bimestre

8

AB

C

D

E

F

G

Page 9: Segundo Bimestre

9

principal Procedimiento/función

Procedimiento/función

Procedimiento/función

Llamada procedimiento

Llamada procedimiento

Llamada procedimiento

Llamada procedimiento

Llamada procedimiento

Page 10: Segundo Bimestre

10

Cap. 5 PROGRAMACIÓN MODULAR

Conceptos Generales Funciones Procedimientos Variables locales y globales Parámetros por valor y por referencia Parámetros de entrada y salida

Page 11: Segundo Bimestre

11

Cap. 5 PROGRAMACIÓN MODULAR

Cada lenguaje de programación tiene sus propias funciones

Funciones Funciones definidas por el programador Devuelve un valor Forma de Invocar a una función

Z name_funcion()Si (name_funcion() == ?) Parte de una expresión

Page 12: Segundo Bimestre

12

Funciones Definición

Cap. 5 PROGRAMACIÓN MODULAR

Tipodedato Función nombre (parámetros)sentencias…..devolver

finfuncion

Page 13: Segundo Bimestre

13

Cap. 5 Programación Modular

Procedimientos Pueden o no devolver valores Ejecuta un proceso especifico Forma de Invocar un procedimiento

Nombre_procedimiento()

Page 14: Segundo Bimestre

14

procedimientos Definición

Cap. 5 Programación Modular

procedimiento nombre (parámetros)sentencias……

finfunc

Page 15: Segundo Bimestre

15

Cap. 5 PROGRAMACIÓN MODULAR

Variables: locales y globales Locales

Solo tiene valides dentro del modulo donde son declaradas

Globales Se las puede utilizad en cualquier parte

del programa

Page 16: Segundo Bimestre

16

principal Procedimiento/función

Procedimiento/función

Procedimiento/función

Llamada procedimiento

Llamada procedimiento

Llamada procedimiento

Entero numero

Presentar numero

numero = 25

Cáp. 5 PROGRAMACIÓN MODULAR

Page 17: Segundo Bimestre

17

principal Procedimiento/función

Procedimiento/función

Llamada procedimiento

Llamada procedimiento

Llamada procedimiento

Entero numero

Presentar numero

Procedimiento/función

Numero = 25

Procedimiento/función

numero = 25Llamada procedimiento

Page 18: Segundo Bimestre

18

Cap. 5 PROGRAMACIÓN MODULAR

Parámetros por valor y por referencia Por valor

Si un parámetro es modificado su contenido dentro del subprograma, al terminar el mismo mantiene el valor

Por referencia Si un parámetro es modificado su

contenido dentro del subprograma, al terminar el mismo mantendrá el valor con el que se modificó.

Page 19: Segundo Bimestre

19

Algoritmo SumatoriaInicio

Entero SS 0Presentar suma(s)presentar s

fin

entero función suma (entero s)Leer numero1Leer numero2S numero1 + numero2Devolver S

finfunc

Cap. 5 PROGRAMACIÓN MODULAR

¿Qué valor se presenta en la llamada a la función?

¿Cuál es el valor de S ?

numero1 5

numero2 8

Page 20: Segundo Bimestre

20

Algoritmo sumaInicio

Entero SS 0Presentar suma(s)presentar s

fin

función suma (entero var s) enteroLeer numero1Leer numero2S numero1 + numero2Devolver S

finfunc

Cap. 5 PROGRAMACIÓN MODULAR

numero1 5

numero2 8

¿Qué valor se presenta en la llamada a la función?

¿Cuál es el valor de S ?

Page 21: Segundo Bimestre

21

Ejercicios

Algoritmo FactorialInicio entero res

entero numeroleer numerores factorial (numero)imprimir res

fin

entero función factorial (entero numero)entero ff 1para (i 1 hasta numero)

f f * ifinparadevolver f

finfunc

Cap. 5 PROGRAMACIÓN MODULAR

Page 22: Segundo Bimestre

22

Ejercicios

Algoritmo potenciaInicio entero bas

entero expentero resleer basleer expres potencia (bas,exp)imprimir res

fin

entero función potencia (entero bas, entero exp)

entero pp 1para (i 1 hasta exp)

p p * basfinparadevolver f

finfunc

Cap. 5. PROGRAMACIÓN MODULAR

Page 23: Segundo Bimestre

23

Algoritmo transformacionInicio entero num

leer numbin binario(num)oct octal(num)presentar “numero en binario es”, binpresentar “numero en octal es”, oct

fin

Funcion binario (entero num) enteroj 1res 0mientras (num > 0)

d residuo(num/2)res res + (d*j)num num / 2j j*10

finmientrasdevolver res

finfunc

Funcion octal (entero num) enteroj 1res 0mientras (num > 0)

d residuo(num/8)res res + (d*j)num num / 8j j*10

finmientrasdevolver res

finfunc

Page 24: Segundo Bimestre

24

Algoritmo TransformacionInicio entero num

leer numbin transformar(num,2)oct transformar(num,8)presentar “numero en binario es”, binpresentar “numero en octal es”, oct

fin

Funcion transformar (entero num, entero base) enteroj 1res 0mientras (num > 0)

d residuo(num/base)res res + (d*j)num num / basej j*10

finmientrasdevolver res

finfunc

Page 25: Segundo Bimestre

25

Fácil comprensión del problema Fácil comprensión de errores, pues si

existe alguno solo se trabajara en el modulo donde este se presente

Reutilización de código, para procesos similares se pueden utilizar procedimientos que ya están realizados

Cap. 5 PROGRAMACIÓN MODULAR

Page 26: Segundo Bimestre

26

Cap. 6 INTRODUCCIÓN A LAS ESTRUCTURAS DE DATOS

Propósito Conceptos Generales

Propósito.

Page 27: Segundo Bimestre

27

Cap. 6 INTRODUCCIÓN A LAS ESTRUCTURAS DE DATOS

Contenidos Arreglos o matrices Arreglos de una

dimensión (vector) Arreglos

multidimensionales

2 3 4 5 6 7

2 3 4 5 6 7

8 9 3 5 7 4

6 7 1 1 4 3

Page 28: Segundo Bimestre

28

Arreglos Colección de datos del mismo tipo Un nombre único Indicador de posición que los diferencia

2 9 4 15 6 27

Cap. 6 INTRODUCCIÓN A LAS ESTRUCTURAS DE DATOS

Mat

31 32 33 34 35 36

2 13 4 45 6 7

8 9 53 5 37 4

26 7 100 11 4 3

MatRes1 2 3 4 5 6

Page 29: Segundo Bimestre

29

Arreglos unidimensionales o vectores

Cap. 6 INTRODUCCIÓN A LAS ESTRUCTURAS DE DATOS

2 9 4 15 6 27

Mat

1 2 3 4 5 6

Mat[1] = 2Mat[2] = 9Mat[3] = 14Mat[4] = 15Mat[5] = 6Mat[6] = 25

Page 30: Segundo Bimestre

30

Definición:Inicio

Arreglo Mat[10]………

finLectura

Arreglo Mat[10]…..leer n_e // numero de elementos

para (i 1 hasta n_e)leer Mat[i]

finpara

PresentarArreglo Mat[10]…..para (i 1 hasta n_e)

presentar Mat[i]finpara

RecorrerArreglo Mat[10]…..

para (i 1 hasta n_e)Mat[i] mat[i]*2

finpara…..

Page 31: Segundo Bimestre

31

inicioArreglo Mat[10]// ingresar numero de elementospresentar “ingrese numero de elementos”leer n_e// llenar la matrizpara (i 1 hasta n_e)

leer Mat[i]finpara // procesopara (i 1 hasta n_e)

si residuo(mat[i]/2) = 0 presentar “el numero”,mat[i], es parfinsi

finpara // presentar la matrizpara (i 1 hasta n_e)

presentar Mat[i]finpara

fin

Page 32: Segundo Bimestre

32

Arreglos multi-dimensionales

Cap. 6 INTRODUCCIÓN A LAS ESTRUCTURAS DE DATOS

31 32 33 34 35 36

2 13 4 45 6 7

8 9 53 5 37 4

26 7 100 11 4 3

MatRes

MatRes[1,1] = 2MatRes[2,4] = 5MatRes[3,2] = 7MatRes[1,6] = 7MatRes[2,1] = 8 MatRes[3,5] = 4

Page 33: Segundo Bimestre

33

Definición:Inicio

Arreglo MatRes[10,10]……

finLectura

Arreglo Mat[10,10]…..leer n_f // numero de filasleer n_c // numero de columnas

para (i 1 hasta n_f) para (j 1 hasta n_c

leer Mat[i,j] finparafinpara

PresentarArreglo Mat[10,10]…..para (i 1 hasta n_f) para (j 1 hasta n_c

presentar Mat[i,j] finparafinpara

RecorrerArreglo Mat[10,10]…..

para (i 1 hasta n_f) para (j 1 hasta n_c

Mat[i,j] 0 finparafinpara…..

Page 34: Segundo Bimestre

34

inicioArreglo Mat[10,10]// ingresar numero de elementospresentar “ingrese numero de filas”leer n_fpresentar “ingrese numero de filas”leer n_c// llenar la matrizpara (i 1 hasta n_f) para (j 1 hasta n_c

leer Mat[i,j] finparafinpara // procesopara (i 1 hasta n_f) para (j 1 hasta n_c

si primo(Mat[i,j]) presentar “numero es primo”finsi

finparafinpara // presentar la matrizpara (i 1 hasta n_f) para (j 1 hasta n_c

leer Mat[i,j] finparafinpara

inicio

Funcion primo(entero num) logicad 2lim num / 2p verdaderomientras (d < num) si residuo(num/d) = 0

p falsod lim

finsi d d + 1finmientrasdevolver p

finfunc

Page 35: Segundo Bimestre

35

EJERCICIOS

Ordenar un vector Buscar elementos repetidos en un

vector Ordenar una matriz de dos dimensiones Buscar elementos repetidos en una

matriz dos dimensiones Multiplica dos matrices

Page 36: Segundo Bimestre

36

Inicio // ordenar una matrizArreglo Mat[10]// ingresar numero de elementospresentar “ingrese numero de elementos”leer n_e// llenar la matrizpara (i 1 hasta n_e)

leer Mat[i]finpara // proceso de ordenacionpara (i 1 hasta n_e)

para (j 1 hasta n_e)si mat[i] < mat[j] aux mat[i] mat[i] mat [j] mat[j] auxfinsi

finparafinpara // presentar la matrizpara (i 1 hasta n_e)

presentar Mat[i]finpara

fin

Page 37: Segundo Bimestre

37

Cap. 7 RECURSIVIDAD

Propósito Conceptos Generales

Propósito. Demostrar una manera alternativa de solución de problemas

Page 38: Segundo Bimestre

38

Contenidos Recursividad Recursividad directa e indirecta Recursividad infinita

Cap. 7 RECURSIVIDAD

Page 39: Segundo Bimestre

39

DirectaCuando una función se llama a si misma.

IndirectaCuando una función inicial (A) llama a una segunda función (B) y esta función (B) llama a la función inicial (A)

Infinitacuando no se logra que termine la recursividad

Cap. 7 RECURSIVIDAD

Page 40: Segundo Bimestre

40

Cap. 8 PROGRAMACIÓN ORIENTADA A OBJETOS

Propósito Conceptos Generales

Propósito. Introducir en el estudiante los conceptos de una nueva manera de realizar la programación, basado en la metodología de orientación a objetos

Page 41: Segundo Bimestre

41

Contenidos Objetos. Clases. Atributos y métodos. Herencia, polimorfismo,

encapsulamiento.

Cap. 8 PROGRAMACIÓN ORIENTADA A OBJETOS

Page 42: Segundo Bimestre

42