Your SlideShare is downloading. ×
Metodología y Tecnología de la Programación I (II Bimestre)
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

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

2,747

Published on

Universidad Técnica Particular de Loja …

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,747
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
90
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Transcript

    • 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. 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
    • 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. Cáp. 5. Programación Modular
    • 5.
      • 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 modulo donde fue llamado.
    • 7. A B C D E F G
    • 8.
      • Conceptos Generales
        • Funciones
        • Procedimientos
        • Variables locales y globales
        • Parámetros por valor y por referencia
    • 9.
      • 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
    • 10.
      • Funciones
        • Definición
        • Función nombre (parámetros) tipodedato
        • sentencias
        • … ..
        • devolver
        • finfuncion
    • 11.
      • Procedimientos
        • Pueden o no devolver valores
        • Ejecuta un proceso especifico
        • Forma de Invocar un procedimiento
          • Nombre_procedimiento()
    • 12.
      • procedimientos
        • Definición
        • procedimiento nombre (parámetros)
        • sentencias
        • ……
        • finfunc
    • 13. 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
    • 14.
      • 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.
    • 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. 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. 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. 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. 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
      • Funcion binario (entero num) entero
      • j  1
      • res  0
      • mientras (num > 0)
      • d  residuo(num/2)
      • res  res + (d*j)
      • num  num / 2
      • j  j*10
      • finmientras
        • devolver res
      • finfunc
      • Funcion octal (entero num) entero
      • j  1
      • res  0
      • mientras (num > 0)
      • d  residuo(num/8)
      • res  res + (d*j)
      • num  num / 8
      • j  j*10
      • finmientras
        • devolver res
      • finfunc
    • 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
      • Funcion transformar (entero num, entero base) entero
      • j  1
      • res  0
      • mientras (num > 0)
      • d  residuo(num/base)
      • res  res + (d*j)
      • num  num / base
      • j  j*10
      • finmientras
        • devolver res
      • finfunc
    • 21.
      • 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
    • 22. Cáp. 6. Introducción a las estructuras de datos
    • 23.
      • Propósito
      • Conceptos Generales
      Propósito .
    • 24.
      • 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
    • 25.
      • Arreglos
        • Colección de datos del mismo tipo
        • Un nombre único
        • Indicador de posición que los diferencia
      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.
      • Arreglos unidimensionales o vectores
      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. 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. 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.
      • Arreglos multi-dimensionales
      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. 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. 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.
      • Inicio // ordenar una matriz
      • 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 de ordenacion
      • para (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]  aux
          • finsi
      • finpara
      • finpara
      • // presentar la matriz
      • para (i  1 hasta n_e)
      • presentar Mat[i]
      • finpara
      • fin
    • 33. Cáp. 7. Recursividad
    • 34.
      • Propósito
      • Conceptos Generales
      Propósito. Demostrar una manera alternativa de solución de problemas
    • 35.
      • Contenidos
        • Recursividad
        • Recursividad directa e indirecta
        • Recursividad infinita
    • 36.
      • Directa.
      • Cuando una función se llama a si misma.
      • Indirecta
      • 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)
      • Infinita
      • cuando no se logra que termine la recursion
    • 37. Cáp. 8. Programación Orientada a Objetos
    • 38.
      • 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
    • 39.
      • Contenidos
        • Objetos.
        • Clases.
        • Atributos y métodos.
        • Herencia, polimorfismo, encapsulamiento.
    • 40.  

    ×