Metodología y Tecnología de la Programación I (II Bimestre)
-
Upload
videoconferencias-utpl -
Category
Documents
-
view
2.786 -
download
0
description
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)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/1.jpg)
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)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/2.jpg)
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)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/3.jpg)
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)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/4.jpg)
Cáp. 5. Programación Modular
![Page 5: Metodología y Tecnología de la Programación I (II Bimestre)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/5.jpg)
• 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)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/6.jpg)
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)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/7.jpg)
AB
C
D
E
F
G
![Page 8: Metodología y Tecnología de la Programación I (II Bimestre)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/8.jpg)
• 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)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/9.jpg)
• 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)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/10.jpg)
• 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)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/11.jpg)
• 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)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/12.jpg)
• procedimientos
– Definición
procedimiento nombre (parámetros)sentencias……
finfunc
![Page 13: Metodología y Tecnología de la Programación I (II Bimestre)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/13.jpg)
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)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/14.jpg)
• 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)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/15.jpg)
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)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/16.jpg)
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)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/17.jpg)
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)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/18.jpg)
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)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/19.jpg)
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)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/20.jpg)
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)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/21.jpg)
• 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)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/22.jpg)
Cáp. 6. Introducción a las estructuras de datos
![Page 23: Metodología y Tecnología de la Programación I (II Bimestre)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/23.jpg)
• Propósito
• Conceptos Generales
Propósito.
![Page 24: Metodología y Tecnología de la Programación I (II Bimestre)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/24.jpg)
• 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)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/25.jpg)
• 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)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/26.jpg)
• 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)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/27.jpg)
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)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/28.jpg)
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)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/29.jpg)
• 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)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/30.jpg)
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)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/31.jpg)
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)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/32.jpg)
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)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/33.jpg)
Cáp. 7. Recursividad
![Page 34: Metodología y Tecnología de la Programación I (II Bimestre)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/34.jpg)
• 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)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/35.jpg)
• Contenidos
– Recursividad
– Recursividad directa e indirecta
– Recursividad infinita
![Page 36: Metodología y Tecnología de la Programación I (II Bimestre)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/36.jpg)
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)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/37.jpg)
Cáp. 8. Programación Orientada a Objetos
![Page 38: Metodología y Tecnología de la Programación I (II Bimestre)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/38.jpg)
• 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)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/39.jpg)
• Contenidos
– Objetos.
– Clases.
– Atributos y métodos.
– Herencia, polimorfismo, encapsulamiento.
![Page 40: Metodología y Tecnología de la Programación I (II Bimestre)](https://reader034.fdocumento.com/reader034/viewer/2022052311/559a1bac1a28ab727b8b45ba/html5/thumbnails/40.jpg)