Metodología y Tecnología de la Programación I (II Bimestre)

40
ESCUELA : PONENTE: BIMESTRE: METODOLOGÍA Y TEGNOLOGÍA DE LA PROGRAMACIÓN I CICLO: CIENCIAS DE LA COMPUTACIÓN II BIMESTRE Ing. Danilo Jaramillo ABRIL – AGOSTO 2007

description

Universidad Técnica Particular de Loja Ciencias de la Computación Metodología y Tecnología de la Programación I II Bimestre Abril-Agosto 2007 Ponente: Ing Danilo Jaramillo

Transcript of Metodología y Tecnología de la Programación I (II Bimestre)

Page 1: Metodología y Tecnología de la Programación I (II Bimestre)

ESCUELA:

PONENTE:

BIMESTRE:

METODOLOGÍA Y TEGNOLOGÍA DE LA PROGRAMACIÓN I

CICLO:

CIENCIAS DE LA COMPUTACIÓN

II BIMESTRE

Ing. Danilo Jaramillo

ABRIL – AGOSTO 2007

Page 2: Metodología y Tecnología de la Programación I (II Bimestre)

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 3: Metodología y Tecnología de la Programación I (II Bimestre)

Plan de Contenidos

SEGUNDO 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 4: Metodología y Tecnología de la Programación I (II Bimestre)

Cáp. 5. Programación Modular

Page 5: Metodología y Tecnología de la Programación I (II Bimestre)

• 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: Metodología y Tecnología de la Programación I (II Bimestre)

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 modulo donde fue llamado.

Page 7: Metodología y Tecnología de la Programación I (II Bimestre)

AB

C

D

E

F

G

Page 8: Metodología y Tecnología de la Programación I (II Bimestre)

• Conceptos Generales

– Funciones

– Procedimientos

– Variables locales y globales

– Parámetros por valor y por referencia

Page 9: Metodología y Tecnología de la Programación I (II Bimestre)

• 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 10: Metodología y Tecnología de la Programación I (II Bimestre)

• Funciones

– Definición

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

finfuncion

Page 11: Metodología y Tecnología de la Programación I (II Bimestre)

• Procedimientos

– Pueden o no devolver valores

– Ejecuta un proceso especifico

– Forma de Invocar un procedimiento

• Nombre_procedimiento()

Page 12: Metodología y Tecnología de la Programación I (II Bimestre)

• procedimientos

– Definición

procedimiento nombre (parámetros)sentencias……

finfunc

Page 13: Metodología y Tecnología de la Programación I (II Bimestre)

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 14: Metodología y Tecnología de la Programación I (II Bimestre)

• 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 15: Metodología y Tecnología de la Programación I (II Bimestre)

InicioEntero SS 0Presentar suma(s)presentar s

fin

Leer numero1Leer numero2S numero1 + numero2Devolver S

finfunc

principalfunción suma (entero s) entero

Parámetro por Valor

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

¿Cuál es el valor de S ?

numero1 5

numero2 8

Page 16: Metodología y Tecnología de la Programación I (II Bimestre)

InicioEntero SS 0Presentar suma(s)presentar s

fin

Leer numero1Leer numero2S numero1 + numero2Devolver S

finfunc

principal función suma (entero var s) entero

numero1 5

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

¿Cuál es el valor de S ?

Parámetro por Referencia

Page 17: Metodología y Tecnología de la Programación I (II Bimestre)

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 18: Metodología y Tecnología de la Programación I (II Bimestre)

18

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 19: Metodología y Tecnología de la Programación I (II Bimestre)

19

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 20: Metodología y Tecnología de la Programación I (II Bimestre)

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 21: Metodología y Tecnología de la Programación I (II Bimestre)

• 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

Page 22: Metodología y Tecnología de la Programación I (II Bimestre)

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

Page 23: Metodología y Tecnología de la Programación I (II Bimestre)

• Propósito

• Conceptos Generales

Propósito.

Page 24: Metodología y Tecnología de la Programación I (II Bimestre)

• 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 25: Metodología y Tecnología de la Programación I (II Bimestre)

• Arreglos

– Colección de datos del mismo tipo

– Un nombre único

– Indicador de posición que los diferencia

2 9 4 15 6 27

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

FILAS

FILAS Y COLUMNAS

Page 26: Metodología y Tecnología de la Programación I (II Bimestre)

• Arreglos unidimensionales o vectores

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

FILAS

Page 27: Metodología y Tecnología de la Programación I (II Bimestre)

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 28: Metodología y Tecnología de la Programación I (II Bimestre)

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 29: Metodología y Tecnología de la Programación I (II Bimestre)

• Arreglos multi-dimensionales

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

FILAS Y COLUMNAS

Page 30: Metodología y Tecnología de la Programación I (II Bimestre)

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 31: Metodología y Tecnología de la Programación I (II Bimestre)

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 32: Metodología y Tecnología de la Programación I (II Bimestre)

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 33: Metodología y Tecnología de la Programación I (II Bimestre)

Cáp. 7. Recursividad

Page 34: Metodología y Tecnología de la Programación I (II Bimestre)

• Propósito

• Conceptos Generales

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

Page 35: Metodología y Tecnología de la Programación I (II Bimestre)

• Contenidos

– Recursividad

– Recursividad directa e indirecta

– Recursividad infinita

Page 36: Metodología y Tecnología de la Programación I (II Bimestre)

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

Page 37: Metodología y Tecnología de la Programación I (II Bimestre)

Cáp. 8. Programación Orientada a Objetos

Page 38: Metodología y Tecnología de la Programación I (II Bimestre)

• 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 39: Metodología y Tecnología de la Programación I (II Bimestre)

• Contenidos

– Objetos.

– Clases.

– Atributos y métodos.

– Herencia, polimorfismo, encapsulamiento.

Page 40: Metodología y Tecnología de la Programación I (II Bimestre)