ESCUELA : PONENTE : BIMESTRE : METODOLOG ÍA Y TEGNOLOGÍA DE LA PROGRAMACIÓN I CICLO : CIENCIAS DE LA COMPUTACIÓN II BIMEST...
Introducción <ul><li>Mayor claridad para el desarrollo de algoritmos </li></ul><ul><li>Desarrollo de programas mas complej...
Plan de Contenidos SEGUNDO BIMESTRE Capítulos de Texto Base Páginas Horas Capítulo 6. Programación Modular 205 – 238 12 Ca...
Cáp. 5.  Programación Modular
<ul><li>Propósito </li></ul><ul><li>Conceptos Generales </li></ul>Propósito  .Facilitar la comprensión del diseño modular ...
Cáp. 5. Programación Modular <ul><li>Conceptos Generales </li></ul><ul><ul><li>Técnica divide y vencerás </li></ul></ul><u...
A B C D E F G
<ul><li>Conceptos Generales </li></ul><ul><ul><li>Funciones </li></ul></ul><ul><ul><li>Procedimientos </li></ul></ul><ul><...
<ul><li>Cada lenguaje de programación tiene sus propias funciones  </li></ul><ul><li>Funciones </li></ul><ul><ul><li>Funci...
<ul><li>Funciones </li></ul><ul><ul><li>Definición </li></ul></ul><ul><ul><li>Función nombre (parámetros) tipodedato </li>...
<ul><li>Procedimientos </li></ul><ul><ul><li>Pueden o no devolver valores </li></ul></ul><ul><ul><li>Ejecuta un proceso es...
<ul><li>procedimientos </li></ul><ul><ul><li>Definición </li></ul></ul><ul><ul><li>procedimiento  nombre (parámetros) </li...
Cáp. 5. Programación Modular <ul><li>Variables locales y globales </li></ul><ul><li>Locales </li></ul><ul><ul><li>Solo tie...
<ul><li>Parámetros por valor y por referencia </li></ul><ul><li>Por valor </li></ul><ul><ul><li>Si un parámetro es modific...
Par ámetro por Valor Inicio Entero S S    0 Presentar suma(s) presentar s fin Leer numero1 Leer numero2 S    numero1 + n...
Inicio Entero S S    0 Presentar suma(s) presentar s fin Leer numero1 Leer numero2 S    numero1 + numero2 Devolver S fin...
Ejercicios Inicio entero res leer numero res    factorial (numero) fin Funcion factorial (entero numero) entero f    1 p...
Ejercicios Inicio entero bas entero exp leer bas leer exp res    potencia (bas,exp) fin Funcion potencia (entero bas,   e...
Ejercicios Inicio entero num leer num bin     binario(num) oct     octal(num) presentar “numero en binario es”, bin pres...
Ejercicios Inicio entero num leer num bin     transformar(num,2) oct     transformar(num,8) presentar “numero en binario...
<ul><li>Fácil comprensión del problema </li></ul><ul><li>Fácil comprensión de errores, pues si existe alguno solo se traba...
Cáp. 6.  Introducción a las estructuras de datos
<ul><li>Propósito </li></ul><ul><li>Conceptos Generales </li></ul>Propósito .
<ul><li>Contenidos </li></ul><ul><ul><li>Arreglos o matrices </li></ul></ul><ul><ul><li>Arreglos de una dimensión </li></u...
<ul><li>Arreglos </li></ul><ul><ul><li>Colección de datos del mismo tipo </li></ul></ul><ul><ul><li>Un nombre único </li><...
<ul><li>Arreglos unidimensionales o vectores </li></ul>Mat Mat[1] = 2 Mat[2] = 9 Mat[3] = 14 Mat[4] = 15 Mat[5] = 6 Mat[6]...
Definición: Inicio Arreglo Mat[10] ……… fin Lectura Arreglo Mat[10] … .. leer n_e // numero de elementos para (i    1 hast...
inicio Arreglo Mat[10] // ingresar numero de elementos presentar “ingrese numero de elementos” leer n_e // llenar la matri...
<ul><li>Arreglos multi-dimensionales </li></ul>MatRes MatRes[1,1] = 2 MatRes[2,4] = 5 MatRes[3,2] = 7 MatRes[1,6] = 7 MatR...
Definición: Inicio Arreglo MatRes[10,10] …… fin Lectura Arreglo Mat[10,10] … .. leer n_f // numero de filas leer n_c // nu...
inicio Arreglo Mat[10,10] // ingresar numero de elementos presentar “ingrese numero de filas” leer n_f presentar “ingrese ...
<ul><li>Inicio  // ordenar una matriz </li></ul><ul><li>Arreglo Mat[10] </li></ul><ul><li>// ingresar numero de elementos ...
Cáp. 7.  Recursividad
<ul><li>Propósito </li></ul><ul><li>Conceptos Generales </li></ul>Propósito. Demostrar una manera alternativa de solución ...
<ul><li>Contenidos </li></ul><ul><ul><li>Recursividad </li></ul></ul><ul><ul><li>Recursividad directa e indirecta </li></u...
<ul><li>Directa. </li></ul><ul><li>Cuando una función se llama a si misma. </li></ul><ul><li>Indirecta </li></ul><ul><li>C...
Cáp. 8.  Programación Orientada a Objetos
<ul><li>Propósito </li></ul><ul><li>Conceptos Generales </li></ul>Propósito. Introducir en el estudiante los conceptos de ...
<ul><li>Contenidos </li></ul><ul><ul><li>Objetos. </li></ul></ul><ul><ul><li>Clases. </li></ul></ul><ul><ul><li>Atributos ...
 
Upcoming SlideShare
Loading in...5
×

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

2,762

Published on

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

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,762
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
91
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Metodología y Tecnología de la Programación I (II Bimestre)

    1. 1. 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
    2. 2. Introducción <ul><li>Mayor claridad para el desarrollo de algoritmos </li></ul><ul><li>Desarrollo de programas mas complejos </li></ul><ul><li>Utilización de herramientas adicionales </li></ul><ul><li>Nuevos enfoques … Programación orientada a objetos </li></ul>
    3. 3. 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
    4. 4. Cáp. 5. Programación Modular
    5. 5. <ul><li>Propósito </li></ul><ul><li>Conceptos Generales </li></ul>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. 6. Cáp. 5. Programación Modular <ul><li>Conceptos Generales </li></ul><ul><ul><li>Técnica divide y vencerás </li></ul></ul><ul><ul><li>Dividirlo en subprogramas </li></ul></ul><ul><ul><li>Diseño descendente </li></ul></ul><ul><ul><li>Partes son independientes entre si </li></ul></ul><ul><ul><li>Programa principal  sub-programas </li></ul></ul><ul><ul><li>Cuando se invoca a una función/procedimiento los pasos que están definidos se ejecutan y luego vuelven al modulo donde fue llamado. </li></ul></ul>
    7. 7. A B C D E F G
    8. 8. <ul><li>Conceptos Generales </li></ul><ul><ul><li>Funciones </li></ul></ul><ul><ul><li>Procedimientos </li></ul></ul><ul><ul><li>Variables locales y globales </li></ul></ul><ul><ul><li>Parámetros por valor y por referencia </li></ul></ul>
    9. 9. <ul><li>Cada lenguaje de programación tiene sus propias funciones </li></ul><ul><li>Funciones </li></ul><ul><ul><li>Funciones definidas por el programador </li></ul></ul><ul><ul><li>Devuelve un valor </li></ul></ul><ul><ul><li>Forma de Invocar a una función </li></ul></ul><ul><ul><ul><li>Z  name_funcion() </li></ul></ul></ul><ul><ul><ul><li>Si (name_funcion() == ?) </li></ul></ul></ul><ul><ul><ul><li>Parte de una expresion </li></ul></ul></ul>
    10. 10. <ul><li>Funciones </li></ul><ul><ul><li>Definición </li></ul></ul><ul><ul><li>Función nombre (parámetros) tipodedato </li></ul></ul><ul><ul><li>sentencias </li></ul></ul><ul><ul><li>… .. </li></ul></ul><ul><ul><li>devolver </li></ul></ul><ul><ul><li>finfuncion </li></ul></ul>
    11. 11. <ul><li>Procedimientos </li></ul><ul><ul><li>Pueden o no devolver valores </li></ul></ul><ul><ul><li>Ejecuta un proceso especifico </li></ul></ul><ul><ul><li>Forma de Invocar un procedimiento </li></ul></ul><ul><ul><ul><li>Nombre_procedimiento() </li></ul></ul></ul>
    12. 12. <ul><li>procedimientos </li></ul><ul><ul><li>Definición </li></ul></ul><ul><ul><li>procedimiento nombre (parámetros) </li></ul></ul><ul><ul><li>sentencias </li></ul></ul><ul><ul><li>…… </li></ul></ul><ul><ul><li>finfunc </li></ul></ul>
    13. 13. Cáp. 5. Programación Modular <ul><li>Variables locales y globales </li></ul><ul><li>Locales </li></ul><ul><ul><li>Solo tiene valides dentro del modulo donde son declaradas </li></ul></ul><ul><li>Globales </li></ul><ul><ul><li>Se las puede utilizad en cualquier parte del programa </li></ul></ul>
    14. 14. <ul><li>Parámetros por valor y por referencia </li></ul><ul><li>Por valor </li></ul><ul><ul><li>Si un parámetro es modificado su contenido dentro del subprograma, al terminar el mismo mantendrá el valor con el que llego. </li></ul></ul><ul><li>Por referencia </li></ul><ul><ul><li>Si un parámetro es modificado su contenido dentro del subprograma, al terminar el mismo mantendrá el valor con el que se modifico. </li></ul></ul>
    15. 15. Par ámetro por Valor Inicio Entero S S  0 Presentar suma(s) presentar s fin Leer numero1 Leer numero2 S  numero1 + numero2 Devolver S finfunc principal función suma (entero s) entero ¿Qué valor se presenta en la llamada a la funcion? ¿Cuál es el valor de S ? numero1  5 numero2  8
    16. 16. Inicio Entero S S  0 Presentar suma(s) presentar s fin Leer numero1 Leer numero2 S  numero1 + numero2 Devolver 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
    17. 17. Ejercicios Inicio entero res leer numero res  factorial (numero) fin Funcion factorial (entero numero) entero f  1 para (i  1 hasta numero) f  f * i finpara devolver f finfunc
    18. 18. Ejercicios Inicio entero bas entero exp leer bas leer exp res  potencia (bas,exp) fin Funcion potencia (entero bas, entero exp) entero p  1 para (i  1 hasta exp) p  p * bas finpara devolver f finfunc
    19. 19. Ejercicios Inicio entero num leer num bin  binario(num) oct  octal(num) presentar “numero en binario es”, bin presentar “numero en octal es”, oct fin <ul><li>Funcion binario (entero num) entero </li></ul><ul><li>j  1 </li></ul><ul><li>res  0 </li></ul><ul><li>mientras (num > 0) </li></ul><ul><li>d  residuo(num/2) </li></ul><ul><li>res  res + (d*j) </li></ul><ul><li>num  num / 2 </li></ul><ul><li>j  j*10 </li></ul><ul><li>finmientras </li></ul><ul><ul><li>devolver res </li></ul></ul><ul><li>finfunc </li></ul><ul><li>Funcion octal (entero num) entero </li></ul><ul><li>j  1 </li></ul><ul><li>res  0 </li></ul><ul><li>mientras (num > 0) </li></ul><ul><li>d  residuo(num/8) </li></ul><ul><li>res  res + (d*j) </li></ul><ul><li>num  num / 8 </li></ul><ul><li>j  j*10 </li></ul><ul><li>finmientras </li></ul><ul><ul><li>devolver res </li></ul></ul><ul><li>finfunc </li></ul>
    20. 20. Ejercicios Inicio entero num leer num bin  transformar(num,2) oct  transformar(num,8) presentar “numero en binario es”, bin presentar “numero en octal es”, oct fin <ul><li>Funcion transformar (entero num, entero base) entero </li></ul><ul><li>j  1 </li></ul><ul><li>res  0 </li></ul><ul><li>mientras (num > 0) </li></ul><ul><li>d  residuo(num/base) </li></ul><ul><li>res  res + (d*j) </li></ul><ul><li>num  num / base </li></ul><ul><li>j  j*10 </li></ul><ul><li>finmientras </li></ul><ul><ul><li>devolver res </li></ul></ul><ul><li>finfunc </li></ul>
    21. 21. <ul><li>Fácil comprensión del problema </li></ul><ul><li>Fácil comprensión de errores, pues si existe alguno solo se trabajara en el modulo donde este se presente </li></ul><ul><li>Reutilización de código, para procesos similares se pueden utilizar procedimientos que ya están realizados </li></ul>
    22. 22. Cáp. 6. Introducción a las estructuras de datos
    23. 23. <ul><li>Propósito </li></ul><ul><li>Conceptos Generales </li></ul>Propósito .
    24. 24. <ul><li>Contenidos </li></ul><ul><ul><li>Arreglos o matrices </li></ul></ul><ul><ul><li>Arreglos de una dimensión </li></ul></ul><ul><ul><li>Arreglos multidimensionales </li></ul></ul>2 3 4 5 6 7 2 3 4 5 6 7 8 9 3 5 7 4 6 7 1 1 4 3
    25. 25. <ul><li>Arreglos </li></ul><ul><ul><li>Colección de datos del mismo tipo </li></ul></ul><ul><ul><li>Un nombre único </li></ul></ul><ul><ul><li>Indicador de posición que los diferencia </li></ul></ul>Mat MatRes FILAS FILAS Y COLUMNAS 2 9 4 15 6 27 31 32 33 34 35 36 2 13 4 45 6 7 8 9 53 5 37 4 26 7 100 11 4 3 1 2 3 4 5 6
    26. 26. <ul><li>Arreglos unidimensionales o vectores </li></ul>Mat Mat[1] = 2 Mat[2] = 9 Mat[3] = 14 Mat[4] = 15 Mat[5] = 6 Mat[6] = 25 FILAS 2 9 4 15 6 27 1 2 3 4 5 6
    27. 27. Definición: Inicio Arreglo Mat[10] ……… fin Lectura Arreglo Mat[10] … .. leer n_e // numero de elementos para (i  1 hasta n_e) leer Mat[i] finpara Presentar Arreglo Mat[10] … .. para (i  1 hasta n_e) presentar Mat[i] finpara Recorrer Arreglo Mat[10] … .. para (i  1 hasta n_e) Mat[i]  mat[i]*2 finpara … ..
    28. 28. inicio Arreglo Mat[10] // ingresar numero de elementos presentar “ingrese numero de elementos” leer n_e // llenar la matriz para (i  1 hasta n_e) leer Mat[i] finpara // proceso para (i  1 hasta n_e) si residuo( mat[i] /2) = 0 presentar “el numero”,mat[i], es par finsi finpara // presentar la matriz para (i  1 hasta n_e) presentar Mat[i] finpara fin
    29. 29. <ul><li>Arreglos multi-dimensionales </li></ul>MatRes MatRes[1,1] = 2 MatRes[2,4] = 5 MatRes[3,2] = 7 MatRes[1,6] = 7 MatRes[2,1] = 8 MatRes[3,5] = 4 FILAS Y COLUMNAS 31 32 33 34 35 36 2 13 4 45 6 7 8 9 53 5 37 4 26 7 100 11 4 3
    30. 30. Definición: Inicio Arreglo MatRes[10,10] …… fin Lectura Arreglo Mat[10,10] … .. leer n_f // numero de filas leer n_c // numero de columnas para (i  1 hasta n_f) para (j  1 hasta n_c leer Mat[i,j] finpara finpara Presentar Arreglo Mat[10,10] … .. para (i  1 hasta n_f) para (j  1 hasta n_c presentar Mat[i,j] finpara finpara Recorrer Arreglo Mat[10,10] … .. para (i  1 hasta n_f) para (j  1 hasta n_c Mat[i,j]  0 finpara finpara … ..
    31. 31. inicio Arreglo Mat[10,10] // ingresar numero de elementos presentar “ingrese numero de filas” leer n_f presentar “ingrese numero de filas” leer n_c // llenar la matriz para (i  1 hasta n_f) para (j  1 hasta n_c leer Mat[i,j] finpara finpara // proceso para (i  1 hasta n_f) para (j  1 hasta n_c si primo(Mat[i,j]) presentar “numero es primo” finsi finpara finpara // presentar la matriz para (i  1 hasta n_f) para (j  1 hasta n_c leer Mat[i,j] finpara finpara inicio Funcion primo(entero num) logica d  2 lim  num / 2 p  verdadero mientras (d < num) si residuo(num/d) = 0 p  falso d  lim finsi d  d + 1 finmientras devolver p finfunc
    32. 32. <ul><li>Inicio // ordenar una matriz </li></ul><ul><li>Arreglo Mat[10] </li></ul><ul><li>// ingresar numero de elementos </li></ul><ul><li>presentar “ingrese numero de elementos” </li></ul><ul><li>leer n_e </li></ul><ul><li>// llenar la matriz </li></ul><ul><li>para (i  1 hasta n_e) </li></ul><ul><li>leer Mat[i] </li></ul><ul><li>finpara </li></ul><ul><li> // proceso de ordenacion </li></ul><ul><li>para (i  1 hasta n_e) </li></ul><ul><li>para (j  1 hasta n_e) </li></ul><ul><ul><ul><li>si mat[i] < mat[j] </li></ul></ul></ul><ul><ul><ul><li> aux  mat[i] </li></ul></ul></ul><ul><ul><ul><li> mat[i]  mat [j] </li></ul></ul></ul><ul><ul><ul><li> mat[j]  aux </li></ul></ul></ul><ul><ul><ul><li>finsi </li></ul></ul></ul><ul><li>finpara </li></ul><ul><li>finpara </li></ul><ul><li> // presentar la matriz </li></ul><ul><li>para (i  1 hasta n_e) </li></ul><ul><li>presentar Mat[i] </li></ul><ul><li>finpara </li></ul><ul><li>fin </li></ul>
    33. 33. Cáp. 7. Recursividad
    34. 34. <ul><li>Propósito </li></ul><ul><li>Conceptos Generales </li></ul>Propósito. Demostrar una manera alternativa de solución de problemas
    35. 35. <ul><li>Contenidos </li></ul><ul><ul><li>Recursividad </li></ul></ul><ul><ul><li>Recursividad directa e indirecta </li></ul></ul><ul><ul><li>Recursividad infinita </li></ul></ul>
    36. 36. <ul><li>Directa. </li></ul><ul><li>Cuando una función se llama a si misma. </li></ul><ul><li>Indirecta </li></ul><ul><li>Cuando una función inicial (A) llama a una segunda función (B) y esta función (B) llama a la función inicial (A) </li></ul><ul><li>Infinita </li></ul><ul><li>cuando no se logra que termine la recursion </li></ul>
    37. 37. Cáp. 8. Programación Orientada a Objetos
    38. 38. <ul><li>Propósito </li></ul><ul><li>Conceptos Generales </li></ul>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
    39. 39. <ul><li>Contenidos </li></ul><ul><ul><li>Objetos. </li></ul></ul><ul><ul><li>Clases. </li></ul></ul><ul><ul><li>Atributos y métodos. </li></ul></ul><ul><ul><li>Herencia, polimorfismo, encapsulamiento. </li></ul></ul>
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×