Your SlideShare is downloading. ×
Video Segundo Bimestre Metodologia Abierta
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Video Segundo Bimestre Metodologia Abierta

739
views

Published on

Video de la presentación de la Materia de Metodología y Tecnologia de la Programacion I

Video de la presentación de la Materia de Metodología y Tecnologia de la Programacion I

Published in: Business, Real Estate

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

  • Be the first to like this

No Downloads
Views
Total Views
739
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
13
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. Metodología y Tecnología de la Programación I Asesoría Virtual – Segundo Bimestre Ing. Danilo Jaramillo H [email_address] 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 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
    • 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. A B 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) tipodedato
        • sentencias
        • … ..
        • 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.
      • procedimientos
        • Definición
      Cáp.. 5. Programación Modular – hojas
        • 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. Cáp. 5. Programación Modular principal Procedimiento/función Procedimiento/función Procedimiento/función Llamada procedimiento Llamada procedimiento Llamada procedimiento Entero numero Presentar numero numero = 25 global
    • 16. Cáp. 5. Programación Modular 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 = 25 Llamada procedimiento local
    • 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. Cáp. 5. Programación Modular 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 parametro por valor ¿Qué valor se presenta en la llamada a la funcion? ¿Cuál es el valor de S ? numero1  5 numero2  8
    • 19. Cáp. 5. Programación Modular 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 parametro por referencia 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 numero res  factorial (numero) fin Funcion factorial (entero numero) entero f  1 para (i  1 hasta numero) f  f * i finpara devolver f finfunc
    • 21. 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
    • 22. 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
    • 23. 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
    • 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
      Cáp. 6. Introducción a las estructuras de datos 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
    • 28.
      • Arreglos unidimensionales o vectores
      Cáp. 6. Introducción a las estructuras de datos Mat filas Mat[1] = 2 Mat[2] = 9 Mat[3] = 14 Mat[4] = 15 Mat[5] = 6 Mat[6] = 25 2 9 4 15 6 27 1 2 3 4 5 6
    • 29. 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 … ..
    • 30. 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
    • 31.
      • Arreglos multi-dimensionales
      Cáp.. 6. Introducción a las estructuras de datos MatRes filas y columnas MatRes[1,1] = 2 MatRes[2,4] = 5 MatRes[3,2] = 7 MatRes[1,6] = 7 MatRes[2,1] = 8 MatRes[3,5] = 4 31 32 33 34 35 36 2 13 4 45 6 7 8 9 53 5 37 4 26 7 100 11 4 3
    • 32. 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 … ..
    • 33. 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
    • 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 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
    • 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.
      • 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
      Cáp. 7. Recursividad
    • 39. Cáp. 7. Recursividad
      • Trabaja con estructuras selectivas
      • Se da a nivel de procedimientos o funciones
      Funcion factorial(entero n) :entero Inicio if n = 1 retornar 1 sino retornar n * factorial(n-1) finfuncion