Metodologia Y Tecnologia De La Programacion I

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Metodologia Y Tecnologia De La Programacion I - Presentation Transcript

    1. METODOLOGIA Y TECNOLOGIA DE LA PROGRAMACION I ESCUELA: Ciencias de la Computación NOMBRES Ing. Danilo Jaramillo H PERíODO: Abril – Agosto 2009 1
    2. INDICACIONES  Ingreso a campus y contestar los foros, revisar ejercicios.  Importancia de realizar las evaluaciones a distancia  Foros (EVA) 2 puntos  Parte objetiva 2 puntos  Parte de ensayo 2 puntos  Evaluación Presencial  parte objetiva 8 puntos  parte ensayo 6 puntos 2
    3. INDICACIONES  Uso de sangrías.  Poner encabezados  Resolver en pseudo-código  Entender que es lo que se pide en los ejercicios de la evaluación presencial. 3
    4. QUE HAREMOS HOY  Mayor claridad para el desarrollo de algoritmos  Desarrollo de programas mas complejos  Nuevos enfoques … Programación orientada a objetos 4
    5. PLAN DE CONTENIDOS SEGUNDO BIMESTRE Capítulo 6. Estructuras de datos: Arreglos 163 - 192 12 Capítulo 7. Utilización de los Métodos 203 - 236 10 Capítulo 8. Programación Orientada a objetos aplicando 241 - 254 8 diagramas de clases Capítulo 9. Programación Orientada a objetos aplicando 257- 342 10 secuenciación, selección, repetición 40 5
    6. ESTRUCTURAS DE DATOS  Contenidos  Arreglos de una dimensión (vector) 2 3 4 5 6 7  Arreglos de dos dimensiones o matrices 2 3 4 5 6 7  Arreglos multidimensionales 8 9 3 5 7 4 6 7 1 1 4 3 6
    7. ESTRUCTURAS DE DATOS  Arreglos  Colección de datos del mismo tipo  Un nombre único  Indicador de posición que diferencia a cada elemento MatRes Mat 2 9 4 15 6 27 2 13 4 45 6 7 1 2 3 4 5 6 8 9 53 5 37 4 26 7 10 11 4 3 7 31 32 33 34 35 36
    8. ESTRUCTURAS DE DATOS  Arreglos unidimensionales o vectores Mat 2 9 4 15 6 27 1 2 3 4 5 6 Mat[1] = 2 Mat[2] = 9 Mat[3] = 14 Mat[4] = 15 Mat[5] = 6 Mat[6] = 25 8
    9. ESTRUCTURAS DE DATOS Declar nombrevariable : Arreglo[tamaño] tipo de dato Algoritmo matrices Clase matriz 1. Método Principal a. declaraciones Variables Mat: Arreglo [30] Entero 9
    10. ESTRUCTURAS DE DATOS TIPOS Algoritmo matrices Clase matriz 1. Método Principal a. declaraciones Tipos Vector : Arreglo [30] Entero Variables A, B. C : Vector 10
    11. Algoritmo matrices Clase matriz 1. Método Principal a. declaraciones Variables Mat: Arreglo [30] Entero b. imprimir “ingrese numero de elementos” c. leer n_e d. for (i = 1; i <= n_e; i++) 1. leer Mat[i] e. endfor f. for (i = 1; i <= n_e; i++) 1. if (mat[i] mod 2) = 0 then imprimir “el numero”,mat[i], es par 2. endif g. endfor h. for (i = 1; i <= n_e; i++) imprimir Mat[i] e. endfor h. fin método principal 11 fin clase matriz
    12. ESTRUCTURAS DE DATOS  Arreglos multi-dimensionales MatRes 2 13 4 45 6 7 8 9 53 5 37 4 MatRes[1][1] = 2 MatRes[2][4] = 5 26 7 100 11 4 3 MatRes[3][2] = 7 31 32 33 34 35 36 MatRes[1][6] = 7 MatRes[2][1] = 8 MatRes[3][5] = 4 12
    13. ESTRUCTURAS DE DATOS Declaracion nombrevariable : Arreglo[tamaño_f][tamaño_c] tipo de dato Algoritmo matrices Clase matriz 1. Método Principal a. declaraciones Variables Mat: Arreglo [30][10] Entero 13
    14. ESTRUCTURAS DE DATOS TIPOS Algoritmo matrices Clase matriz 1. Método Principal a. declaraciones Constantes L = 30 Tipos Matrices : Arreglo [L][L] Entero Variables A, B. C : Matrices 14
    15. Algoritmo matrices Clase matriz 1. Método Principal a. declaraciones Variables Mat: Arreglo [30][10] Entero b. imprimir “ingrese numero de filas y columnas” c. leer n_f,n_c d. for (i=1; i<=n_f; i++) 1. for (j=1:j<=n_c;j++) i. leer Mat[i][j] 2. endfor e. endfor f. for (i=1; i<=n_f; i++) 1. for (j=1:j<=n_c;j++) if (Mat[i][j] mod 2 = 0) then imprimir “numero es par” endif 2. endfor g. endfor 15 2. fin método principal
    16. 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 16
    17. Método Principal a. Declaraciones Mat[10] : Arreglo[10] entero b. imprimir “ingrese numero de elementos” c. leer n_e d. for(i=1; i<= n_e; i++) 1. leer Mat[i] e. endfor f. for(i=1; i<= n_e; i++) 1. for(j=1; j<= n_e; j++) if (mat[i] < mat[j]) then aux  mat[i] mat[i]  mat [j] mat[j]  aux endif 2.endfor g. endfor h. for(i=1; i<= n_e; i++) 1. imprimir Mat[i] i. endfor j. fin método principal 17
    18. METODOS Conceptos Generales Propósito .como utilizar mas de un método dentro de una clase. Comprender el trabajo con variables de clase, variables locales y paso de parámetros entre métodos. 18
    19. METODOS  Conceptos Generales  Técnica divide y vencerás  Ejecutar una tarea especifica  Cada método es independientes  método principal  sub-rutinas (función, rutina, sub-algoritmo)  Cuando se invoca a un método las instrucciones que están definidas se ejecutan y luego vuelven al método donde fue invocado. 19
    20. B B A D F A D 20
    21. matriculación Sistema de Ingresar Ficha Gestión matriculación del estudiante Académica Registro de Notas y Asistencia Verificar cédula Registro de Notas y Ingresar Asistencia Notas 21
    22. Metodo principal Metodo xxxx Metodo Principal Llamada método Llamada método Método yyyy Llamada método Llamada al método sEjemeemp1 Llamada método Método zzzz Llamada método 22
    23. Métodos Algoritmo sumar Clase suma 1. Método Principal a. imprimir “la suma es”, suma() 2. fin método principal 3. Método suma: entero a. Declaraciones variables Suma, x , y: entero b. leer x, y c. Suma = x + y d. Return Suma 4. Fin Método suma Fin clase suma fin 23
    24. Métodos  Conceptos  Métodos que no retornan valor  Métodos que retornar valor  Variables de clase y locales  Parámetros por valor y por referencia 24
    25. Métodos  Métodos que no retornan valor  Pueden o no devolver valores  Ejecuta un proceso especifico  Forma de Invocar a estos métodos  NombredelMetodo() 25
    26. Métodos  Métodos que no retornan valor  Definición Método nombre (parámetros) a. Declaraciones Variables Constantes b. Acción c. Acción d. Acción e. Fin Método 26
    27. Métodos  Métodos que retornan valor  Devuelve un valor  Forma de Invocar a un Metodo No Retorna Valor  Z  nombremetodo()  Si (nombremetodo() == ?)  Imprimir nombremetodo  Parte de una expresión 27
    28. Métodos  Metodos que retornan Valor  Definición Método nombre (parámetros): tipo de dato a. Declaraciones Variables Constantes b. Acción c. Acción d. return valor e. Fin Método 28
    29. Métodos  Variables: locales y clase  Locales  Solo tiene valides dentro del método donde son declaradas  De clase  Se las puede utilizad en cualquier parte de la clase 29
    30. Métodos Algoritmo sumar Clase suma Variables 1. declaraciones variables de clase y : entero 2. Método Principal a. Leer y b. imprimir “la suma es”, suma() 3. fin método principal 4. Método suma: entero a.Declaraciones Suma = x + y variables Suma, x: entero •x = 5 •Suma = x + y •Return Suma 5. Fin Método suma Fin clase suma fin 30
    31. Métodos Algoritmo sumar Clase suma 1. Método Principal a. declaraciones variables y : entero b. Leer y Variables c. imprimir “la suma es”, suma() d. imprimir x locales e. fin método principal 4. Metodo suma: entero a. Declaraciones variables Suma, x entero •x=5 • Suma = x + y • Return Suma e. Fin Método suma Fin clase suma 31 31 fin
    32. Métodos  Parámetros por valor y por referencia.. Enlazar variables entre métodos  Por valor  Si un parámetro es modificado su contenido dentro del subprograma, al terminar el mismo mantiene el valor  Por referencia  Si un parámetro es modificado su contenido dentro del subprograma, al terminar el mismo mantendrá el valor con el que se modificó. 32
    33. Métodos Algoritmo Sumatoria PARAMETROS POR VALOR Clase Suma 1.Metodo principal a. declaraciones …………. S : entero 2. método suma (val s: entero) : entero b. S = 0 a. Leer numero1 c. imprimir suma(s) b. Leer numero2 d. imprimir s c. s = numero1 + numero2 e. Fin método principal d. return S ……. e. Fin método suma Fin clase suma fin ¿Qué valor se presenta en la numero1  5 llamada a la función? numero2  8 33 ¿Cuál es el valor de S ?
    34. Métodos Algoritmo Sumatoria PARAMETROS POR REFERENCIA Clase Suma 1.Metodo principal a. declaraciones …………. S : entero 2. método suma (ref s: entero) : entero b. S = 0 a. Leer numero1 c. imprimir suma(s) b. Leer numero2 d. imprimir s c. s = numero1 + numero2 e. Fin método principal d. return S ……. e. Fin método suma Fin clase suma fin ¿Qué valor se presenta en la numero1  5 llamada a la función? numero2  8 34 ¿Cuál es el valor de S ?
    35. Ejercicios Métodos Algoritmo Factorial …………………. Clase factorial 2. método factorial (val s: entero) : entero 1. Metodo principal a. declaraciones a. declaraciones f : entero res, numero : entero b. leer numero b. f = 1 c. res = factorial (numero) c. for (i = 1; i<= numero; i++) d. imprimir res f=f*i e. Fin metodo principal d. endfor …………… e. return f Fin clase suma f. Fin metodo factorial fin 35
    36. Ejercicios Métodos Algoritmo Potencia Clase Potencia ……………. 1. Método principal 2. método potencia (entero bas, a. declaraciones entero exp) : entero bas, exp, res: entero a. declaraciones b. leer bas p : entero c. leer exp b. p = 1 d. res = potencia (bas,exp) c. for (i=1; i<=exp; i++) e. imprimir res p  p * bas Fin metodo principal d. endfor …………… f. return p Fin clase suma g. fin método potencia fin 36
    37. Algoritmo transformacion Clase transforma 1. Metodo principal a. leer num b. bin = binario(num) c. oct = octal(num) d. imprimir “numero en binario es”, bin e. imprimir “numero en octal es”, oct f. fin metodo principal fin 2. método binario (val num:entero) entero 3. método octal (val num: entero) entero a. j = 1 a. j = 1 b. res = 0 b. res = 0 c. while (num > 0) do c. while (num > 0) do 1. d = residuo(num/2) 1. d = residuo(num/8) 2. res = res + (d*j) 2. res = res + (d*j) 3. num = num / 2 3. num = num / 8 4. j = j*10 4. j = j*10 d. endwhile d. endwhile e. return res e. return res 37 f. Fin metodo binario f. Fin metodo octal
    38. Algoritmo transformación Clase transforma 1. Método principal a. leer num b. bin  transformar(num,2) c. oct  transformar(num,8) d. presentar “numero en binario es”, bin e. presentar “numero en octal es”, oct f. Fin Método Principal fin 2. Método transformar (num: entero, base:entero): entero a. j = 1 b. res = 0 c. while (num > 0) do 1. d = residuo(num/base) 2. res = res + (d*j) 3. num = num / base 4. j = j*10 d. endwhile e. return res 38 f. Fin Método Transformar
    39. Algortimo matrices Clase matriz …………………… 1. Método Principal 2. Método primo(entero num) boolean a. declaraciones a. declaraciones Variables variables Mat: Arreglo [30][10] Entero d, lim : real b. imprimir “ingrese numero de filas y columnas” p : boolean c. leer n_f,n_c b. d = 2 d. for (i=1; i<=n_f; i++) c. lim = num / 2 1. for (j  1 hasta n_c d. p  true i. leer Mat[i,j] e. while (d < num) 2. endfor 1. if(num modd) = 0 e. endfor p = falso f. for (i=1; i<=n_f; i++) d = lim 1. for (j  1 hasta n_c 2. Endif if primo(Mat[i,j]) 3. d  d + 1 imprimir “numero es primo” f. enddo endif g. return p 2. endfor h. Fin método primo g. endfor Fin clase h. fin método principal fin ……….. 39
    40. METODOS - resumen  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 40
    41. PROGRAMACIÓN ORIENTADA A OBJETOS  Contenidos  Estudiar los conceptos básicos de la programación orientada a objetos.  Objetos.  Clases.  métodos.  encapsulamiento. 41
    42. PROGRAMACIÓN ORIENTADA A OBJETOS  Innovación en los lenguajes de programación  Es mas estructurada que las que se han estudiado  Mas modular y abstracta que lo que se ha hecho con respecto a abstracción y ocultamiento  La POO, está formada por una colección de objetos interaccionando conjuntamente para representar y solucionar un problema 42
    43. PROGRAMACIÓN ORIENTADA A OBJETOS  Objetos  Datos .. Atributos .. descripción  Métodos .. Comportamiento … manipulación de los datos Objeto Dato1 Dato2 dato3 Metodo1() Metodo2() Metodo3() 43
    44. PROGRAMACIÓN ORIENTADA A OBJETOS  Clase  Representación abstracta que describen un conjunto de objetos  Representa un {} de objetos que tienen los mismos métodos y los mismos datos  Plantilla o molde para crear todos los objetos Empleado Nombre apellidos Leernombre() 44 Leerapellido()
    45. PROGRAMACIÓN ORIENTADA A OBJETOS  Métodos y encapsulación  Acciones que se implementan el comportamiento de un objeto, manipular los datos  Encapsulación colocar juntos los datos y los métodos dentro de un objeto  El programador debe pensar en el código y los datos juntos durante el diseño del programa  No hay vacio entre datos y métodos 45
    46.  Modificadores de acceso  Visibilidad que tendran los datos o los metodos, desde que parte seran visibles para ser utilizados  -privado (datos,metodos)  #protegido (datos,metodos)  +publico (datos,metodos)  _estatico (datos,metodos)  *abstracto (metodos) 46
    47. Instanciación Empleado Nombre apellidos Leernombre() Leerapellido() ObjetoEmpleado ObjetoEmpleado Nombre: Juan Nombre: Juan Apellidos: perez Apellidos: perez Leernombre() Leernombre() Leerapellido() Leerapellido() 47
    48. ejercicio  Se desea calcular el sueldo de un empleado, teniendo su nombre, apellido, horas trabajadas, costo por hora de 5 dólares y bajo las siguientes condiciones:  Horas trabajadas <=40 no tiene bonificacion  Horas trabajadas <=50, 20% de bonificacion  Horas trabajadas <=60, 30% de bonificacion  Horas trabajadas >=60, 40%  Nadie puede ganar menos de 100 y mas de 400 dólares 48
    49. ObjetoEmpleado ObjetoEmpleado ObjetoEmpleado Nombre: Juan Nombre: danilo Nombre: Juan Apellidos: perez Apellidos: jaramillo Apellidos: perez Horastrab: 30 Horastrab: 10 Horastrab: 40 Sueldo: 150 Sueldo: (50) = 100 Sueldo: 200 establecerombre() establecerombre() establecerombre() establecerapellido() establecerapellido() establecerapellido() Calcularsueldo() Calcularsueldo() Calcularsueldo() ObjetoEmpleado ObjetoEmpleado ObjetoEmpleado Nombre: Juan Nombre: Juan Nombre: Juan Apellidos: perez Apellidos: perez Apellidos: perez Horastrab: 45 Horastrab: 54 Horastrab: 65 Sueldo: 225+45=270 Sueldo: 270+81=351 Sueldo: 325+130=400 establecerombre() establecerombre() establecerombre() establecerapellido() establecerapellido() establecerapellido() Calcularsueldo() Calcularsueldo() Calcularsueldo() 49
    50. Empleado Nombre Apellidos Horastrab Sueldo Establecernombre() Establecerapellido() Establecerhoras() Calcularsueldo() obtenerDatosempleados() Obtenersueldo() 50
    51. Algoritmo sueldo 1. Método Establecernombre(nom :cadena) Clase empleado • NomEmp = nom a. Declaraciones • Fin Método establecernombre datos NomEmp: cadena 2. Método Establecerapellido (ape:cadena) ApeEmp: cadena • ApeEmp = nom NumHor: real • Fin Método establecerapellido sueldo: real constante costohora=5 3. Método Establecerhoras (hor:real) ……………… a. numhor = hor b. Fin Método Establecerhoras 51
    52. 4. Método Calcularsueldo () a. Sueldo = NumHor * costohora b. If (NumHor > 40) and (NumHor <=50) then Sueldo = sueldo + (sueldo*0.20) c. endif d. If (NumHor > 50) and (NumHor <=60) then Sueldo = sueldo + (sueldo*0.30) h. If (sueldo < 100) then e. endif sueldo = 100 f. If (NumHor > 60) then Sueldo = sueldo + (sueldo*0.40) i. Endif g. Endif j. If (sueldo > 300) then sueldo = 300 ………. k. Endif l. Fin Método 52 calcularrsueldo
    53. 5. Método obtenerDatosempleados() :cadena a. return (NomEmp+ “ “+ApeEmp) b. Fin Método obtenerDatosempleados 6. Método Obtenersueldo(): Real a. return sueldo b. Fin Método Obtenersueldo Finclase Empleado 53
    54. ……………… Clase Manipulaempleado Método Principal a. Declaraciones ……………… nombre: cadena f. Objemp.establecernombre(nombre) apellido: cadena g. Objemp.establecerapellido(apellido) horas: real h. Objemp.establecerhoras(horas) e. Declarar crear el objeto i. Objemp.calcularsueldo() f. empleado objemp = new j. Imprimir Objemp.obtenerempleado empleado() k. Imprimir objemp.obtenersueldo g. Imprimir “ingrese nombres y apellidos, y horas trabajadas” l. Fin Método Principal h. Leer nombre, apellido, horas Fin clase Manipulaempleado ……………………… Fin (algoritmo) 54
    55. contacto  Email: djaramillo@utpl.edu.ec  Skype: danilo.jaramillo.h  msn: djaramilloh@hotmail.com  Teléfono: 07-250275 ext 2637 55
    56. 56

    + videoconferenciasvideoconferencias, 4 months ago

    custom

    476 views, 0 favs, 1 embeds more stats

    Arreglos de una dimensión (vector)
    Arreglos de dos more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 476
      • 441 on SlideShare
      • 35 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 9
    Most viewed embeds
    • 35 views on http://eva.utpl.edu.ec

    more

    All embeds
    • 35 views on http://eva.utpl.edu.ec

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories