UTPL-LÓGICA DE LA PROGRAMACIÓN-II BIMESTRE-(abril agosto 2012)
Metodología y Tecnología de la Programación I (II Bimestre)
-
Upload
videoconferencias-utpl -
Category
Documents
-
view
2.763 -
download
0
description
Transcript of 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
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.