Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Algoritmos
Analizar problemas y representar su solucin mediante algoritmos.
1. Anlisis de problemas. 2. Representacin de algoritmos: grfica y pseudocdigo. 3. Diseo de algoritmos aplicados a problemas. 4. Diseo algortmico de funciones
Actividades de Aprendizaje
Explicar los conceptos bsicos para la formulacin de algoritmos, as como sus ventajas y desventajas. Generar un catalogo de problemas para su anlisis y solucin.
Introduccin
Clases. En el contexto del anlisis y el diseo, una clase es una categora o grupo de cosas que tienen atributos y comportamientos comunes. La accin de agrupar los objetos de acuerdo a sus caractersticas comunes se llama clasificacin y es una habilidad que utilizamos los humanos para organizar el conocimiento. La clasificacin puede verse como la accin de colocar cada objeto en un casillero etiquetado exprofeso para alojar a todos los objetos de esa clase.
Objetos. Un objeto es una instancia o caso particular de una clase. Un objeto contiene atributos y mtodos. Los atributos identifican el estado del objeto (su identidad) y los mtodos establecen su comportamiento (funcionamiento). Normalmente un objeto tiene una identidad personal que lo distingue de los dems objetos. De esta forma, un objeto tiene estado, comportamiento e identidad.
UML ( Lenguaje Unificado de Modelado ) es un lenguaje de modelado estndar que se usa para describir los planos del software. UML permite a los creadores de sistemas generar diseos que capturen sus ideas en una forma convencional y fcil de comprender, para comunicarlas a otras personas.
Diagramas de UML
http://en.wikipedia.org/wiki/Unified_Modeling_Language
Diagramas de UML
Tarea:
Buscar cuantos tipos de diagramas diferentes existen en UML Buscar ejemplos de los diagramas en UML
Nombre
Atributos
Mtodos
Al modelar un sistema orientado a objetos, el mundo puede dividirse al menos en un par de formas. En primer lugar est la divisin entre clase y objeto. Una clase es una abstraccin y un objeto es una manifestacin de una clase.
OBJETO CLASE
Los diagramas de clases facilitan las representaciones a partir de las cuales los desarrolladores podrn trabajar. Los diagramas de clases colaboran en lo referente al anlisis. Permite al analista hablarle a los clientes en su propia terminologa, lo cual hace posible que los clientes indiquen importantes detalles de los problemas que requieren ser resueltos.
Ejemplo:
"El Tecnolgico X nos ha contratado para desarrollar un sistema de software para administrar su biblioteca. La biblioteca utiliza un programa que data de 1960, escrito en un lenguaje obsoleto. Con ese programa se llevan a cabo algunas tareas sencillas de gestin de libros y la bsqueda de usuarios por medio de un ndice de credenciales. Se requiere construir un sistema que mantenga estos dos aspectos en lnea"
Debido a que la informacin que arroja la narrativa anterior es muy escasa, se hace una investigacin ms detallada para averiguar hechos que ayuden a desarrollar un mejor sistema. Como podras obtener mas informacin? Quien es el responsable de proporcionar la informacin? Como almacenaras la informacin? Como organizaras la informacin?
Tarea
Traer un manual de usuario para compartirlo en la clase. Describir:
Que contiene? Como esta organizado? Para que sirve? Quienes deben leerlo? Quien lo elaboro?
En la vida cotidiana empleamos algoritmos en multitud de ocasiones para resolver diversos problemas. Ejemplos:
Usar de una lavadora (se siguen las instrucciones). Cocinar un platillo (se siguen los pasos de la receta). Lavarse los dientes. Calcular el cociente de dos nmeros. Calcular el mximo comn divisor de dos enteros positivos. Encontrar la ruta mas corta entre dos ciudades Etc.
Descripcin Narrada
Este algoritmo describe textualmente cada una de las actividades a realizar. Ejemplo 1 Algoritmo para asistir a clases:
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Levantarse Baarse Vestirse Desayunar Cepillarse los dientes Salir de casa Tomar el autobs Llegar al ITC Buscar el aula Ubicarse en un asiento
Descripcin en Pseudocdigo
El pseudocdigo es una imitacin y versin abreviada de instrucciones reales para las computadoras. Utiliza un pseudolenguaje muy parecido a nuestro idioma, pero que respeta las directrices y los elementos de los lenguajes de programacin.
Ejemplo
Algoritmo que acepta como entrada cuatro valores numricos y calcula e imprime su producto, suma y media aritmtica.
inicio leer (a, b, c, d) producto <-- (a * b * c * d) suma <-- (a + b + c + d) media <-- (a + b + c + d) / 4 escribir (producto, suma, media) fin
Diagramas N-S
Son una herramienta que favorece la programacin estructurada y rene caractersticas grficas propias de diagramas de flujo y lingsticas propias de pseudocdigos. Constan de una serie de cajas contiguas que se leern siempre de arriba-abajo.
Estructuras selectivas
Estructuras de repeticin
Ejemplo
Algoritmo que acepta como entrada cuatro valores numricos y calcula e imprime su producto, suma y media aritmtica.
Diagramas de Flujo
Son la representacin grfica de la solucin algortmica de un problema. Se utilizan smbolos o figuras que representan a cada una de las acciones de un proceso, los cuales estn unidos por flechas que indican el flujo de ejecucin. Se dibujan de arriba hacia abajo y de izquierda a derecha. Siempre se usan flechas verticales u horizontales Evitar cruce de flujos Cada paso expresa una accin concreta
Smbolos grficos
Algoritmo que acepta como entrada cuatro valores numricos y calcula e imprime su producto, suma y media aritmtica.
Algoritmos secuenciales
Ejercicios de conversiones
Monedas- Pesos a dlares Temperaturas- Grados Celsius a Fahrenheit Distancia- Metros a pies Pesos- Kilogramos a libras Etc.
Ejercicios
La empresa Todo a $10 vende a sus clientes artculos al mismo precio. Escribe un algoritmo que lea la cantidad de artculos a vender y obtenga el total a pagar, agregando el 10% de iva. Escribe un algoritmo para la CFE que reciba como entrada la cantidad de kw consumidos por un usuario y obtenga la cantidad a pagar. Para obtener la cantidad a pagar cada kw tiene un costo de $0.68 Escribe un algoritmo para obtener la cantidad a pagar de un usuario de la JAPAC, toma como entrada la cantidad de m3 de agua consumidos (cada m3 se cobra a $4.50 y se agrega el 15% de iva)
Conversiones
Multiplicar
Metros Metros Centmetros X X X
Por
3.28 39.37 0.3937 = = =
Para Obtener
Pies Pulgadas Pulgadas
Milmetros
Pies Pies Pies
X
X X X
0.0394
0.3048 30.48 300.48
=
= = =
Pulgadas
Metros Centmetros Milmetros
En la POO los programas son clases que contienen atributos que describen a los objetos, mtodos que definen la funcionalidad de los objetos y constructores que se utilizan para generar nuevos objetos. En la programacin estructurada un programa se compone de un bloque inicial (donde inicia la ejecucin del programa) que llama a subprogramas (funciones o procedimientos) de nivel mas bajo, que a su vez pueden llamar a otros subprogramas para solucionar un problema.
Ejercicios propuestos
1. La empresa Todo a $10 vende artculos al mismo precio. Escribe un algoritmo que lea la cantidad de artculos a vender y obtenga el total a pagar, agregando el 10% de iva, lea la cantidad pagada y obtenga en cambio que debe recibir el cliente. Escribe un algoritmo para obtener la cantidad a pagar de un usuario de la CFE, la tarifa depende de los Kw consumidos (ve un recibo de CFE) Escribe un algoritmo para obtener la cantidad a pagar de un usuario de la JAPAC, la tarifa depende de los m3 consumidos (ve un recibo de JAPAC) Escribe un algoritmo que lea de teclado un numero entero y determine si es par o impar. Escribe un algoritmo que obtenga el nmero de letras que contiene un string. Lee de teclado la edad de 50 personas y obtn como resultado el promedio de las edades.
2. 3. 4. 5. 6.
7. 8. 9. 10.
11.
Escribe un algoritmo que lea de teclado nombre y edad de 20 personas y obtenga el nombre de la persona mayor. Lee de teclado x nmeros enteros hasta que el nmero ledo sea 0. Escribe un algoritmo que lea de teclado un string y obtenga el total de caracteres que son dgitos. Escribe un algoritmo que reciba como parmetro un nmero entero y obtenga como resultado un valor boolean, verdadero si el nmero es par y falso si es impar. Escribe un algoritmo que reciba como parmetro un entero y determine si este es o no un nmero primo. Los nmeros primos son aquellos que solo tienen dos divisores (ellos mismos y la unidad) Escribe un algoritmo que reciba un nmero del 0 al 10 y regrese como resultado el nmero en letras. Escribe una clase Alumno que contenga atributos para nombre, apellido, sexo, promedio y mtodos getNombre, getSexo, getEdad. Escribe un algoritmo que lea de teclado los datos de 50 objetos tipo Alumno y regrese como resultado el numero de mujeres que hay en el grupo.
15. Escribe un algoritmo que lea de teclado los datos de 50 objetos de tipo Alumno y regrese el promedio de todo el grupo. 16. Escribe un algoritmo que lea de teclado los datos de 50 objetos de tipo Alumno y regrese como resultado el total de alumnos reprobados con promedio menor que 70. 17. Escribe un algoritmo que lea de teclado un entero entre 0 y 99 y obtenga el nmero de decenas que contiene. 18. Escribe un algoritmo que lea de teclado una cantidad en pesos y regrese como resultado la cantidad en dlares, el tipo de cambio es 11.17 pesos por dlar. 19. Escribe un algoritmo que reciba lea de teclado una cantidad en dlares y regrese como resultado la cantidad en pesos, el tipo de cambio es 11.17 pesos por dlar. 20. Escribe un algoritmo que lea de teclado un numero y regrese como resultado un mensaje indicando si el nmero esta en el rango de 0 a 100. 21. Escribe un algoritmo que lea de teclado un string y regrese un mensaje indicando si el string es un palndromo. 22. Escribe un algoritmo que lea de teclado un string y obtenga como resultado el nmero de palabras que contiene. 23. Escribe un algoritmo que lea de teclado un nmero entero y regrese como resultado en pantalla todos sus divisores.