metodología y tecnología de la programación i (ii bimestre)

Post on 06-Jul-2015

2.786 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

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

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

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

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.

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.

AB

C

D

E

F

G

• Conceptos Generales

– Funciones

– Procedimientos

– Variables locales y globales

– Parámetros por valor y por referencia

• 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

• Funciones

– Definición

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

finfuncion

• Procedimientos

– Pueden o no devolver valores

– Ejecuta un proceso especifico

– Forma de Invocar un procedimiento

• Nombre_procedimiento()

• procedimientos

– Definición

procedimiento nombre (parámetros)sentencias……

finfunc

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

• 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.

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

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

Ejercicios

Inicio entero res

leer numerores factorial (numero)

fin

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

f f * ifinparadevolver f

finfunc

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

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

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

• 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. 6. Introducción a las estructuras de datos

• Propósito

• Conceptos Generales

Propósito.

• 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

• 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

• 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

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…..

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

• 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

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…..

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

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

Cáp. 7. Recursividad

• Propósito

• Conceptos Generales

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

• Contenidos

– Recursividad

– Recursividad directa e indirecta

– Recursividad infinita

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. 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

• Contenidos

– Objetos.

– Clases.

– Atributos y métodos.

– Herencia, polimorfismo, encapsulamiento.

top related