View
763
Download
4
Category
Preview:
DESCRIPTION
Video de la presentación de la Materia de Metodología y Tecnologia de la Programacion I
Citation preview
1
Metodología y Tecnología de la Programación I
Asesoría Virtual – Segundo Bimestre
Ing. Danilo Jaramillo Hdjaramillo@utpl.edu.ec
2570-275 ext. 2637
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.
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
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
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.
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.
7
AB
C
D
E
F
G
8
principal Procedimiento/función
Procedimiento/función
Procedimiento/función
Llamada procedimiento
Llamada procedimiento
Llamada procedimiento
Llamada procedimiento
Llamada procedimiento
9
Cáp. 5. Programación Modular
• Conceptos Generales– Funciones– Procedimientos
– Variables locales y globales – Parámetros por valor y por referencia
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
11
• Funciones– Definición
Cáp.. 5. Programación Modular
Función nombre (parámetros) tipodedatosentencias…..devolver
finfuncion
12
Cáp. 5. Programación Modular
• Procedimientos– Pueden o no devolver valores– Ejecuta un proceso especifico
– Forma de Invocar un procedimiento• Nombre_procedimiento()
13 – hojas
• procedimientos– Definición
Cáp.. 5. Programación Modular
procedimiento nombre (parámetros)sentencias……
finfunc
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
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
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
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.
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
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 ?
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
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
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
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
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
25
Cáp. 6. Introducción a las estructuras de datos
• Propósito• Conceptos Generales
Propósito.
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
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
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
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…..
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
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
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…..
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
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
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
36
Cáp. 7. Recursividad
• Propósito• Conceptos Generales
Propósito. Demostrar una manera alternativa de solución de problemas
37
• Contenidos– Recursividad– Recursividad directa e indirecta
– Recursividad infinita
Cáp. 7. Recursividad
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
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
Recommended