Video Segundo Bimestre Metodologia Abierta

39
1 Metodología y Tecnología de la Programación I Asesoría Virtual – Segundo Bimestre Ing. Danilo Jaramillo H [email protected] 2570-275 ext. 2637

description

Video de la presentación de la Materia de Metodología y Tecnologia de la Programacion I

Transcript of Video Segundo Bimestre Metodologia Abierta

Page 1: Video Segundo Bimestre Metodologia Abierta

1

Metodología y Tecnología de la Programación I

Asesoría Virtual – Segundo Bimestre

Ing. Danilo Jaramillo [email protected]

2570-275 ext. 2637

Page 2: Video Segundo Bimestre Metodologia Abierta

2

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 3: Video Segundo Bimestre Metodologia Abierta

3

Introducción

• Mayor claridad para el desarrollo de algoritmos

• Desarrollo de programas mas complejos• Utilización de herramientas adicionales

• Nuevos enfoques … Programación orientada a objetos

Page 4: Video Segundo Bimestre Metodologia Abierta

4

Plan de ContenidosSEGUNDO BIMESTRE

Capí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 5: Video Segundo Bimestre Metodologia Abierta

5

Cáp. 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 6: Video Segundo Bimestre Metodologia Abierta

6

Cáp. 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/procedimiento los pasos que están definidos se ejecutan y luego vuelven al módulo donde fue llamado.

Page 7: Video Segundo Bimestre Metodologia Abierta

7

AB

C

D

E

F

G

Page 8: Video Segundo Bimestre Metodologia Abierta

8

principal Procedimiento/función

Procedimiento/función

Procedimiento/función

Llamada procedimiento

Llamada procedimiento

Llamada procedimiento

Llamada procedimiento

Llamada procedimiento

Page 9: Video Segundo Bimestre Metodologia Abierta

9

Cáp. 5. Programación Modular

• Conceptos Generales– Funciones– Procedimientos

– Variables locales y globales – Parámetros por valor y por referencia

Page 10: Video Segundo Bimestre Metodologia Abierta

10

Cáp.. 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 expresion

Page 11: Video Segundo Bimestre Metodologia Abierta

11

• Funciones– Definición

Cáp.. 5. Programación Modular

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

finfuncion

Page 12: Video Segundo Bimestre Metodologia Abierta

12

Cáp. 5. Programación Modular

• Procedimientos– Pueden o no devolver valores– Ejecuta un proceso especifico

– Forma de Invocar un procedimiento• Nombre_procedimiento()

Page 13: Video Segundo Bimestre Metodologia Abierta

13 – hojas

• procedimientos– Definición

Cáp.. 5. Programación Modular

procedimiento nombre (parámetros)sentencias……

finfunc

Page 14: Video Segundo Bimestre Metodologia Abierta

14

Cáp. 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 15: Video Segundo Bimestre Metodologia Abierta

15

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 16: Video Segundo Bimestre Metodologia Abierta

16

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

Cáp. 5. Programación Modular

Page 17: Video Segundo Bimestre Metodologia Abierta

17

Cáp. 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 mantendrá el valor con el que llego.

• Por referencia– Si un parámetro es modificado su contenido

dentro del subprograma, al terminar el mismo mantendrá el valor con el que se modifico.

Page 18: Video Segundo Bimestre Metodologia Abierta

18

InicioEntero SS 0Presentar suma(s)presentar s

fin

Leer numero1Leer numero2S numero1 + numero2Devolver S

finfunc

principal función suma (entero s) entero

Cáp. 5. Programación Modular

¿Qué valor se presenta en la llamada a la funcion?

¿Cuál es el valor de S ?

numero1 5

numero2 8

Page 19: Video Segundo Bimestre Metodologia Abierta

19

InicioEntero SS 0Presentar suma(s)presentar s

fin

Leer numero1Leer numero2S numero1 + numero2Devolver S

finfunc

principal función suma (entero var s) entero

Cáp. 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 20: Video Segundo Bimestre Metodologia Abierta

20

Ejercicios

Inicio entero res

leer numerores factorial (numero)

fin

Funcion factorial (entero numero) enterof 1para (i 1 hasta numero)

f f * ifinparadevolver f

finfunc

Page 21: Video Segundo Bimestre Metodologia Abierta

21

Ejercicios

Inicio entero bas

entero expleer basleer expres potencia (bas,exp)

fin

Funcion potencia (entero bas, entero exp) entero

p 1para (i 1 hasta exp)

p p * basfinparadevolver f

finfunc

Page 22: Video Segundo Bimestre Metodologia Abierta

22

EjerciciosInicio 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 23: Video Segundo Bimestre Metodologia Abierta

23

EjerciciosInicio 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 24: Video Segundo Bimestre Metodologia Abierta

24

• 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

Cáp. 5. Programación Modular

Page 25: Video Segundo Bimestre Metodologia Abierta

25

Cáp. 6. Introducción a las estructuras de datos

• Propósito• Conceptos Generales

Propósito.

Page 26: Video Segundo Bimestre Metodologia Abierta

26

Cáp. 6. Introducción a las estructuras de datos

• Contenidos– Arreglos o matrices– Arreglos de una

dimensión– 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 27: Video Segundo Bimestre Metodologia Abierta

27

• Arreglos– Colección de datos del

mismo tipo– Un nombre único– Indicador de posición

que los diferencia 2 9 4 15 6 27

Cáp. 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 28: Video Segundo Bimestre Metodologia Abierta

28

• Arreglos unidimensionales o vectores

Cáp. 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 29: Video Segundo Bimestre Metodologia Abierta

29

Definición:Inicio

Arreglo Mat[10]………

fin

LecturaArreglo 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 30: Video Segundo Bimestre Metodologia Abierta

30

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 31: Video Segundo Bimestre Metodologia Abierta

31

• Arreglos multi-dimensionales

Cáp.. 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 32: Video Segundo Bimestre Metodologia Abierta

32

Definición:Inicio

Arreglo MatRes[10,10]……

fin

LecturaArreglo 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 33: Video Segundo Bimestre Metodologia Abierta

33

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 34: Video Segundo Bimestre Metodologia Abierta

34

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 35: Video Segundo Bimestre Metodologia Abierta

35

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 36: Video Segundo Bimestre Metodologia Abierta

36

Cáp. 7. Recursividad

• Propósito• Conceptos Generales

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

Page 37: Video Segundo Bimestre Metodologia Abierta

37

• Contenidos– Recursividad– Recursividad directa e indirecta

– Recursividad infinita

Cáp. 7. Recursividad

Page 38: Video Segundo Bimestre Metodologia Abierta

38

Directa.Cuando 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 recursion

Cáp. 7. Recursividad

Page 39: Video Segundo Bimestre Metodologia Abierta

39

Cáp. 7. Recursividad

• Trabaja con estructuras selectivas• Se da a nivel de procedimientos o

funcionesFuncion factorial(entero n) :enteroInicio

if n = 1retornar 1

sinoretornar n * factorial(n-1)

finfuncion