Resolución de problemas
|
|
|
- Eva María Olivera Fernández
- hace 7 años
- Vistas:
Transcripción
1 Resolución de problemas IC-1800 Introducción a la programación I semestre,
2 Algoritmo Una definición bastante usada: Una secuencia de pasos con los que se obtiene un resultado en una cantidad finita de tiempo. Cantidad finita de tiempo... por qué? Es una solución particular a un problema. khwarizmi Dominio Público Wikimedia Commons)
3 Algoritmo El término viene del nombre del matemático persa: Abu Abdallah Muḥammad ibn Mūsā al-jwārizmī ( ) Algoritmo de Euclides Máximo común divisor de un par de números Viene del 300 a.c. khwarizmi Dominio Público Wikimedia Commons)
4 Algoritmo Una definición bastante usada: Una secuencia de pasos con los que se obtiene un resultado en una cantidad finita de tiempo. Cantidad finita de tiempo... por qué? Google Doodle Turing Machine for Alan Turing Centenary CC BY 2.0 flickr)
5 Algoritmo Una definición bastante usada: Una secuencia de pasos con los que se obtiene un resultado en una cantidad finita de tiempo. Representaciones de algoritmos: Lenguaje natural Diagramas de flujo Pseudocódigo Lenguaje de programación A manera de ejemplo cotidiano: las recetas de cocina son algoritmos que nos permiten solucionar el problema que surge cuando tenemos hambre.
6 Algoritmo: Diagramas de Flujo En inglés se les conoce como Flowchart Es una técnica visual para representar el flujo de las operaciones que se realizan para completar un algoritmo. LampFlowchart-es Dominio Público Wikipedia)
7 Algoritmo: Diagramas de Flujo Se utilizan cajas, símbolos y flechas para representar la secuencia de las instrucciones. Cuál es el problema que se está solucionando? Quien o qué resuelve el problema? LampFlowchart-es Dominio Público Wikipedia)
8 Algoritmo: Pseudocódigo Es una mezcla entre lenguaje natural y lenguaje de programación. Es muy flexible pues aprovecha las facilidades de expresión del lenguaje natural y las reglas de los lenguajes de programación de alto nivel. Pseudocódigo Diagrama de Flujo Si condición P es cierta instrucciones1 Si no entonces instrucciones2 Fin
9 Características de un Algoritmo Finito debe terminar después de una serie de pasos. Precisión cada operación o paso debe ser especificado de una forma clara (sin ambigüedad). Entradas Qué requiere el programa para su ejecución? (podría ser que nada )
10 Características de un Algoritmo Salidas Qué quiero al finalizar la ejecución?. Eficacia se deben poder seguir las operaciones de forma exacta y en un tiempo finito por una persona utilizando papel y lápiz. Características propuestas por Donald Knuth (The art of programming, 1968)
11 Suit up CC-BY-ND flickr) Un Buen Algoritmo Idealmente los algoritmo buenos intentan: Minimizar el tiempo de ejecución (eficiencia de tiempo) Minimizar los recursos utilizados: menor cantidad de memoria y espacio en disco, etc. (eficiencia en consumo de recursos) Adaptable / Generalista: debe estar preparado para conjuntos de datos distintos. His Majesty With His People CC- BY-NC-SA flickr)
12 Suit up CC-BY-ND flickr) Un Buen Algoritmo Idealmente los algoritmo buenos intentan: Simple y Elegante: este punto es completamente subjetivo. Normalmente se define culturalmente y en programación se hace mediante estándares. Legibilidad: se desea que el algoritmo pueda ser leído y comprendido por otros programadores. His Majesty With His People CC- BY-NC-SA flickr)
13 Ciclo de solución de problemas Una serie de pasos que se deben seguir para intentar solucionar un problema por medio de un algoritmo. Comprobable: se puede probar que los resultados son correctos? Eficaz: son los resultados esperados?, se resuelve el problema? Eficiente: cuantos recursos/tiempo consume? Jeff Schmidt Peralta
14 Cómo vamos a abordar los problemas? Paso 1: Entender el problema Fundamental! Y a la vez una de las principales causas de fallas en la creación de software. Las características de un programa son llamadas requerimientos, se obtienen de los usuarios, enunciados (examen) y de la observación de ejemplos. Jeff Schmidt Peralta
15 Cómo vamos a abordar los problemas? Paso 1: Entender el problema 3 Elementos vitales: entradas, salidas y restricciones (o limitaciones). La identificación correcta de los elementos involucrados en el programa es una forma de asegurarnos de estar comprendiendo el problema. Jeff Schmidt Peralta
16 Entradas, salidas y restricciones? Coffe Machine and Grinder CC BY-NC-ND 2.0 flickr)
17 Cómo vamos a abordar los problemas? Paso 2: Pensar un algoritmo Modelar mentalmente o utilizando alguna herramienta, el problema a solucionar. Es una destreza que se fortalece con la práctica y el estudio de soluciones a problemas clásicos. Jeff Schmidt Peralta
18 Cómo vamos a abordar los problemas? Se puede utilizar el análisis por casos: buscar todos los posibles casos y sus soluciones y determinar una solución general. Normalmente este proceso requiere pensamiento abstracto, creatividad e ingenio. Jeff Schmidt Peralta
19 Cómo vamos a abordar los problemas? Paso 3: Formular algoritmo Escribir la solución en algún lenguaje de programación. También se le llama proceso de codificación. Los algoritmos deben ser independientes del lenguaje de programación, sin embargo según el algoritmo algunos lenguajes son más aptos. Jeff Schmidt Peralta
20 Cómo vamos a abordar los problemas? Paso 4: Pruebas y evaluación del programa En caso de que las pruebas o la evaluación no sea satisfactoria entonces se debe regresar a algún paso anterior para corregir los problemas. Jeff Schmidt Peralta
21 Cómo vamos a abordar los problemas? Como probar: De forma manual (papel y lápiz) En el computador (vía práctica, pruebas automatizadas) Pruebas matemáticas (inducción) Aspectos a tomar en cuenta: Eficiencia tiempo, CPU, RAM Jeff Schmidt Peralta
22 Mantenimiento Una vez que los programas están listos y se ha comprobado su funcionalidad, se dice que éstos son puestos en producción o sea se ponen en el ambiente real de uso. Mantenimiento: Lo normal en el ciclo de vida de los programas es que sea necesario realizar cambios ya sea por un cambio en los requerimientos o por errores que no se detectaron a tiempo. Fundamental: las buenas prácticas de programación y la documentación determinarán en gran medida el éxito del proceso de mantenimiento.
23 Ejercicios: ciclo de solución de problemas En parejas: se le presenta como problema ir a la soda de la universidad a comprar un refresco natural. Desarrolle la solución y asegúrese de que la solución funciona. Individual: describa de forma algorítmica (secuencial) las actividades que usted realiza para ubicar latitud y longitud en un mapa. Tarea: Haga un diagrama de flujo para la solución al problema retirar dinero de un cajero automático, además enumere cada uno de los pasos. Hágalo desde la perspectiva de la persona primero y luego desde la perspectiva de la aplicación de software (No olvide las validaciones que debe realizar).
24 Ejemplo: calcule el área de un círculo Comprenda el problema. qué se requiere? Determinar: Entradas Salidas Limitaciones (restricciones) Piense en el algoritmo. Diseñe pruebas Corrobore que el algoritmo funciona.
25 Referencias y Lecturas Complementarias Material suministrado por el profesor Jeff Schmidt, Instituto Tecnológico de Costa Rica. I semestre 2011.
26 Las presentaciones para el curso IC-1800: "Introducción a la Programación" por Ing. En Computación Alajuela se distribuyen bajo una Licencia Creative Commons Atribución-Compartir Igual 3.0 Costa Rica *La licencia de la presentación no cubre las imágenes utilizadas*
27 Resolución de problemas IC-1800 Introducción a la programación I semestre,
28 Algoritmo Una definición bastante usada: Una secuencia de pasos con los que se obtiene un resultado en una cantidad finita de tiempo. Cantidad finita de tiempo... por qué? Es una solución particular a un problema. khwarizmi Dominio Público Wikimedia Commons) El término algoritmo proviene del matemático Muhammad ibn Musa al-khwarizmi (Abu Abdallah Muḥ ammad ibn Mūsā al-jwārizmī), que vivió aproximadamente entre los años 780 y 850 d.c., en la actual nación Irán y que describió la realización de operaciones elementales en el sistema de numeración decimal. De al-khwarizmi se obtuvo la derivación algoritmo. Algoritmo de euclides (300 a.c): utiliza el algoritmo de la división junto al hecho que el MCD de dos números también divide al resto obtenido de dividir el mayor entre el más pequeño. Por ejemplo, si se divide 60 entre 48 dando un cociente de 1 y un resto de 12, el m.c.d. será por tanto divisor de 12. Después se divide 48 entre 12 dando un resto de 0,
29 Algoritmo El término viene del nombre del matemático persa: Abu Abdallah Muḥammad ibn Mūsā al-jwārizmī ( ) Algoritmo de Euclides Máximo común divisor de un par de números Viene del 300 a.c. khwarizmi Dominio Público Wikimedia Commons) El término algoritmo proviene del matemático Muhammad ibn Musa al-khwarizmi (Abu Abdallah Muḥ ammad ibn Mūsā al-jwārizmī), que vivió aproximadamente entre los años 780 y 850 d.c., en la actual nación Irán y que describió la realización de operaciones elementales en el sistema de numeración decimal. De al-khwarizmi se obtuvo la derivación algoritmo. Algoritmo de euclides (300 a.c): utiliza el algoritmo de la división junto al hecho que el MCD de dos números también divide al resto obtenido de dividir el mayor entre el más pequeño. Por ejemplo, si se divide 60 entre 48 dando un cociente de 1 y un resto de 12, el m.c.d. será por tanto divisor de 12. Después se divide 48 entre 12 dando un resto de 0,
30 Algoritmo Una definición bastante usada: Una secuencia de pasos con los que se obtiene un resultado en una cantidad finita de tiempo. Cantidad finita de tiempo... por qué? Google Doodle Turing Machine for Alan Turing Centenary CC BY 2.0 flickr) Un sistema computacional debe ser finito. - recursos computacionales son finitos (la espera de una solución también) - Problemas que no se pueden resolver en tiempo finito son de una complejidad desmedida Máquina de Turing: rthday Ojo: la clase se refiere a algoritmos secuencias y NO paralelos.
31 Algoritmo Una definición bastante usada: Una secuencia de pasos con los que se obtiene un resultado en una cantidad finita de tiempo. Representaciones de algoritmos: Lenguaje natural Diagramas de flujo Pseudocódigo Lenguaje de programación A manera de ejemplo cotidiano: las recetas de cocina son algoritmos que nos permiten solucionar el problema que surge cuando tenemos hambre. Un sistema computacional debe ser finito. - recursos computacionales son finitos - Máquina de Turing: rthday Ojo: la clase se refiere a algoritmos secuencias y NO paralelos.
32 Algoritmo: Diagramas de Flujo En inglés se les conoce como Flowchart Es una técnica visual para representar el flujo de las operaciones que se realizan para completar un algoritmo. LampFlowchart-es Dominio Público Wikipedia) Cuál es el problema que se está solucionando? - Problema: no tengo luz en una lámpara Quien o qué resuelve el problema? - Un ser humano, Cómo sabemos eso? Por el tipo de instrucciones que se le están dando ###Esto debo mejorarlo mucho más. El tema de los diagramas de flujo ayuda mucho a comprender como enfrentarse a un problema computacional. ### Hacer más ejercicios de diagramas de flujo y pseudocódigo. Poner énfasis al fin del algoritmo señalado con el círculo rosado.
33 Algoritmo: Diagramas de Flujo Se utilizan cajas, símbolos y flechas para representar la secuencia de las instrucciones. Cuál es el problema que se está solucionando? Quien o qué resuelve el problema? LampFlowchart-es Dominio Público Wikipedia) Cuál es el problema que se está solucionando? - Problema: no tengo luz en una lámpara Quien o qué resuelve el problema? - Un ser humano, Cómo sabemos eso? Por el tipo de instrucciones que se le están dando ###Esto debo mejorarlo mucho más. El tema de los diagramas de flujo ayuda mucho a comprender como enfrentarse a un problema computacional. ### Hacer más ejercicios de diagramas de flujo y pseudocódigo. Poner énfasis al fin del algoritmo señalado con el círculo rosado.
34 Algoritmo: Pseudocódigo Es una mezcla entre lenguaje natural y lenguaje de programación. Es muy flexible pues aprovecha las facilidades de expresión del lenguaje natural y las reglas de los lenguajes de programación de alto nivel. Pseudocódigo Diagrama de Flujo Si condición P es cierta instrucciones1 Si no entonces instrucciones2 Fin
35 Finito Características de un Algoritmo debe terminar después de una serie de pasos. Precisión cada operación o paso debe ser especificado de una forma clara (sin ambigüedad). Entradas Qué requiere el programa para su ejecución? (podría ser que nada ) Un algoritmo infinito no es una solución adecuada a ningún problema. La precisión: ejemplo de impreciso si hace frío póngase abrigo, algo preciso sería si hace 20 póngase abrigo. Acá es importante tener en cuanta quien o qué ejecuta el algoritmo. Un algoritmo eficaz es uno que hace lo que tiene que hacer. Un goleador eficaz
36 Salidas Características de un Algoritmo Qué quiero al finalizar la ejecución?. Eficacia se deben poder seguir las operaciones de forma exacta y en un tiempo finito por una persona utilizando papel y lápiz. Características propuestas por Donald Knuth (The art of programming, 1968) Un algoritmo infinito no es una solución adecuada a ningún problema. La precisión: ejemplo de impreciso si hace frío póngase abrigo, algo preciso sería si hace 20 póngase abrigo. Acá es importante tener en cuanta quien o qué ejecuta el algoritmo. Un algoritmo eficaz es uno que hace lo que tiene que hacer. Un goleador eficaz
37 Un Buen Algoritmo Idealmente los algoritmo buenos intentan: Minimizar el tiempo de ejecución (eficiencia de tiempo) Minimizar los recursos utilizados: menor cantidad de memoria y espacio en disco, etc. (eficiencia en consumo de recursos) Adaptable / Generalista: debe estar preparado para conjuntos de datos distintos. His Majesty With His People CC- BY-NC-SA flickr) Suit up CC-BY-ND flickr) Eficaz y eficiente son dos cosas distintas!!! En cuanto al tema de simple y elegante, utilizar las imágenes para ilustrar que es algo cultura. En la imagen superior está el rey de bhutan vestido de la forma más formal y elegante dentro de la cultura de ese país, abajo por otra parte tenemos el concepto de elegancia y formalidad para occidente. Hay otros factores que se evalúan: - funcionalidad, - modularidad, - mantenibilidad - el tiempo del programador.
38 Un Buen Algoritmo Idealmente los algoritmo buenos intentan: Simple y Elegante: este punto es completamente subjetivo. Normalmente se define culturalmente y en programación se hace mediante estándares. Legibilidad: se desea que el algoritmo pueda ser leído y comprendido por otros programadores. His Majesty With His People CC- BY-NC-SA flickr) Suit up CC-BY-ND flickr) Eficaz y eficiente son dos cosas distintas!!! En cuanto al tema de simple y elegante, utilizar las imágenes para ilustrar que es algo cultura. En la imagen superior está el rey de bhutan vestido de la forma más formal y elegante dentro de la cultura de ese país, abajo por otra parte tenemos el concepto de elegancia y formalidad para occidente. Hay otros factores que se evalúan: - funcionalidad, - modularidad, - mantenibilidad - el tiempo del programador.
39 Ciclo de solución de problemas Una serie de pasos que se deben seguir para intentar solucionar un problema por medio de un algoritmo. Comprobable: se puede probar que los resultados son correctos? Eficaz: son los resultados esperados?, se resuelve el problema? Eficiente: cuantos recursos/tiempo consume? Jeff Schmidt Peralta
40 Cómo vamos a abordar los problemas? Paso 1: Entender el problema Fundamental! Y a la vez una de las principales causas de fallas en la creación de software. Las características de un programa son llamadas requerimientos, se obtienen de los usuarios, enunciados (examen) y de la observación de ejemplos. Jeff Schmidt Peralta
41 Cómo vamos a abordar los problemas? Paso 1: Entender el problema 3 Elementos vitales: entradas, salidas y restricciones (o limitaciones). La identificación correcta de los elementos involucrados en el programa es una forma de asegurarnos de estar comprendiendo el problema. Jeff Schmidt Peralta
42 Entradas, salidas y restricciones? Coffe Machine and Grinder CC BY-NC-ND 2.0 flickr) Haga en listado de las entradas, salidas y restricciones necesarias para resolver el problema de hacer una taza de café Entradas: café, una taza, agua, corriente eléctrica Salidas: café vertido sobre una taza, mensaje indicado si se está haciendo el café o si hay un error y no se puede hacer el café Restricciones: debe haber café, agua y corriente eléctrica. La taza no la pongo entre las restricciones pues en principio una máquina de café hace el café indistintamente de si existe taza o no, pero evidentemente es deseable que exista la taza.
43 Cómo vamos a abordar los problemas? Paso 2: Pensar un algoritmo Modelar mentalmente o utilizando alguna herramienta, el problema a solucionar. Es una destreza que se fortalece con la práctica y el estudio de soluciones a problemas clásicos. Jeff Schmidt Peralta Análisis por casos una forma de divide y vencerás, se analizan casos particulares para una solución compleja. Muchos de los ejercicios al iniciar a programar están pensados específicamente en desarrollar estas destrezas (lo cual puede ser un poco doloroso )
44 Cómo vamos a abordar los problemas? Se puede utilizar el análisis por casos: buscar todos los posibles casos y sus soluciones y determinar una solución general. Normalmente este proceso requiere pensamiento abstracto, creatividad e ingenio. Jeff Schmidt Peralta Análisis por casos una forma de divide y vencerás, se analizan casos particulares para una solución compleja. Muchos de los ejercicios al iniciar a programar están pensados específicamente en desarrollar estas destrezas (lo cual puede ser un poco doloroso )
45 Cómo vamos a abordar los problemas? Paso 3: Formular algoritmo Escribir la solución en algún lenguaje de programación. También se le llama proceso de codificación. Los algoritmos deben ser independientes del lenguaje de programación, sin embargo según el algoritmo algunos lenguajes son más aptos. Jeff Schmidt Peralta Esta parte se puede decir que es mecánica porque lo fundamental es un diseño adecuado.
46 Cómo vamos a abordar los problemas? Paso 4: Pruebas y evaluación del programa En caso de que las pruebas o la evaluación no sea satisfactoria entonces se debe regresar a algún paso anterior para corregir los problemas. Jeff Schmidt Peralta Eficiencia en tiempo, la solución debe darse en un tiempo razonable. Por ejemplo si entramos al correo cuanto tiempo es el prudente para que un usuario espere antes de que se desespere.
47 Cómo vamos a abordar los problemas? Como probar: De forma manual (papel y lápiz) En el computador (vía práctica, pruebas automatizadas) Pruebas matemáticas (inducción) Aspectos a tomar en cuenta: Eficiencia tiempo, CPU, RAM Jeff Schmidt Peralta Eficiencia en tiempo, la solución debe darse en un tiempo razonable. Por ejemplo si entramos al correo cuanto tiempo es el prudente para que un usuario espere antes de que se desespere.
48 Mantenimiento Una vez que los programas están listos y se ha comprobado su funcionalidad, se dice que éstos son puestos en producción o sea se ponen en el ambiente real de uso. Mantenimiento: Lo normal en el ciclo de vida de los programas es que sea necesario realizar cambios ya sea por un cambio en los requerimientos o por errores que no se detectaron a tiempo. Fundamental: las buenas prácticas de programación y la documentación determinarán en gran medida el éxito del proceso de mantenimiento.
49 Ejercicios: ciclo de solución de problemas En parejas: se le presenta como problema ir a la soda de la universidad a comprar un refresco natural. Desarrolle la solución y asegúrese de que la solución funciona. Individual: describa de forma algorítmica (secuencial) las actividades que usted realiza para ubicar latitud y longitud en un mapa. Tarea: Haga un diagrama de flujo para la solución al problema retirar dinero de un cajero automático, además enumere cada uno de los pasos. Hágalo desde la perspectiva de la persona primero y luego desde la perspectiva de la aplicación de software (No olvide las validaciones que debe realizar).
50 En Python: Ejemplo: calcule el área de un círculo Comprenda el problema. qué se requiere? Determinar: Entradas Salidas Limitaciones (restricciones) Piense en el algoritmo. Diseñe pruebas Corrobore que el algoritmo funciona. Comprender el problema es sumamente sencillo, basta con buscar la fórmula para hacer el cálculo que nos están solicitando, área = π r 2 Entradas: radio del círculo, valor de PI (constante, pero debe darse al algoritmo) Salidas: área Restricciones: el radio debe ser mayor a cero. (y pi?) Algoritmo: 1. obtener radio y valor de PI 2. Revisar si los valores son mayores a cero. (si es así devolver un error) 3. aplicar la fórmula del área del círculo 4. mostrar el resultado. 5. Fin del problema
51 Referencias y Lecturas Complementarias Material suministrado por el profesor Jeff Schmidt, Instituto Tecnológico de Costa Rica. I semestre 2011.
52 Las presentaciones para el curso IC-1800: "Introducción a la Programación" por Ing. En Computación Alajuela se distribuyen bajo una Licencia Creative Commons Atribución-Compartir Igual 3.0 Costa Rica *La licencia de la presentación no cubre las imágenes utilizadas*
Primeros Pasos en Python 3
Primeros Pasos en Python 3 Introducción a la programación I semestre, 2016 1 Escribir Programas en Python Un programador debe utilizar expresiones, funciones y métodos de forma combinada para obtener soluciones
Estructuras de datos, vectores y matrices. Introducción a la programación
Estructuras de datos, vectores y matrices Introducción a la programación I semestre, 2016 Estructuras de datos Una estructura de datos es una forma de organizar conjuntos de datos con el objetivo de facilitar
Recursividad... un análisis posterior. Aurelio Sanabria Introducción a la programación
Recursividad... un análisis posterior Aurelio Sanabria Introducción a la programación II semestre, 2016 Construyendo Programas Buscar soluciones a problemas (pensar en un algoritmo) requiere de una etapa
Introducción a Sistemas numéricos. Taller de programación
Introducción a Sistemas numéricos Taller de programación I semestre, 2016 Sistemas numéricos Son un conjunto de reglas y símbolos que permiten construir representaciones numéricas. Los símbolos son repetidos
IFTS N 18 - Prof. Leandro E. Colombo Viña. Diagramación Lógica. Algoritmos y Representaciones. v.1.0.1
Diagramación Lógica Algoritmos y Representaciones v.1.0.1 En el S. XII (aprox.) el matemático persa Abu Abdallah Muḥammad ibn Mūsā al-jwārizmī, más conocido como Al-Juarismi, desarrolla el concepto de
Introducción a la programación: Algoritmos
Introducción a la programación: Algoritmos Algoritmo La palabra algoritmo proviene del nombre del matemático persa del siglo IX Muhammad ibn Musa al-jwarizmi Un algoritmo es una secuencia ordenada de pasos,
Sistemas numéricos - otras representaciones - Taller de programación
Sistemas numéricos - otras representaciones - Taller de programación I semestre, 2016 Temas Otros sistemas numéricos BCD, Gray Representación de otros tipos de datos Codificación de la Información Tipos
Sistemas numéricos -aritmética- Taller de programación
Sistemas numéricos -aritmética- Taller de programación I semestre, 2016 Aritmética en sistemas numéricos Temas Precisión En computadoras todas las operaciones se dan entre números binarios con tamaño finito,
Recursividad... un análisis posterior. Jaime Gutiérrez Alfaro Introducción a la programación
Recursividad... un análisis posterior Jaime Gutiérrez Alfaro Introducción a la programación I semestre, 2015 Agenda Introducción Cálculos por aproximación Tipos de recursión Concepto de error Depuración
Tema 2. Concepto de Algoritmo
Tema 2. Concepto de Algoritmo Objetivos Definir el concepto de algoritmo Resolver problemas sencillos mediante el diseño de un algoritmo Conocer los tipos de datos elementales y las operaciones sobre ellos
Recursividad. Introducción a la programación
Recursividad Introducción a la programación I semestre, 2016 Recursividad Las reglas fundamentales para resolver problemas recursivos: Definir el caso base (solución trivial) Cuál es la solución que no
Recursividad. Introducción a la programación
Recursividad Introducción a la programación I semestre, 2017 Recursividad Las reglas fundamentales para resolver problemas recursivos: Definir el caso base (solución trivial) Cuál es la solución que no
Primeros Pasos en Python 3 Parte II. Introducción a la programación
Primeros Pasos en Python 3 Parte II Introducción a la programación I semestre, 2016 1 Estructuras de Control Cómo se hace cuando hay restricciones que validar? los flujos alternos? las acciones repetitivas?
Introducción a la programación: Contenido. Introducción
Introducción a la programación: Contenido Introducción a la programación:... 1 Introducción... 1 1. Procesamiento automatizado de información... 1 2. Concepto de algoritmo.... 2 3. Lenguajes de programación....
TEMA 1: Algoritmos y programas
TEMA 1: Algoritmos y programas 1.1.-Introducción La razón principal para utilizar un ordenador es para resolver problemas (en el sentido más general de la palabra), o en otras palabras, procesar información
Tema 01: Algoritmia y diagramas de flujo. Estructuras de datos (Prof. Edgardo A. Franco)
Tema 1 Estructuras de datos (Prof. Edgardo A. Franco) Contenido Algoritmia Qué es un algoritmo? Métodos algorítmicos Diagrama de flujo Símbolos utilizados en los diagramas de flujo Reglas para la construcción
ALGORITMO. Podemos encontrar muchas definiciones de algoritmo en los textos de programación, todas ellas muy similares:
Nuestra herramienta mental más importante para competir con la complejidad es la abstracción. Por tanto, un problema no deberá considerarse inmediatamente en términos de instrucciones de un lenguaje, sino
INSTITUTO SUPERIOR DE EDUCACION RURAL ISER FUNDAMENTOS DE PROGRAMACION
INTRODUCCIÓN A LA PROGRAMACIÓN POR COMPUTADORA Muchos usuarios creen que la programación es simplemente teclear palabras en una computadora. Eso es una parte, pero de ninguna manera todo. La programación
SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos
TEMA 2 Diseño de Algoritmos 7 2. DISEÑO DE ALGORITMOS 2.1. Concepto de Algoritmo En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus
Recursividad. Introducción a la programación
Recursividad Introducción a la programación I semestre, 2016 Concepto general Un concepto que está definido utilizando para este propósito el propio concepto que se está definiendo. Es un proceso de repetición
ALGORITMO, ESTRUCTURAS Y PROGRAMACIÓN I. Prof.
ALGORITMO, ESTRUCTURAS Y PROGRAMACIÓN I E-mail: [email protected] http://yesikamedina.wordpress.com Prof. Yesika Medina . 1. Algoritmos. 2. Pseudocódigos. 3. Análisis de Problemas. 4. Representación
Fundamentos de programación. Organización de una computadora
Fundamentos de programación Organización de una computadora Datos Una computadora procesa datos Los convierte en información significativa Datos >> Computadora >> Información Calculadora Una calculadora
INSTITUTO NACIONAL SUPERIOR DEL PROFESORADO TÉCNICO - TÉCNICO SUPERIOR EN INFORMÁTICA APLICADA - PROGRAMACIÓN I
RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS La principal razón para que las personas aprendan lenguajes de programación es utilizar una computadora como una herramienta para la resolución de problemas. Cinco
Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo
Algoritmos En general, no hay una definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten
Algoritmos y solución de problemas. Fundamentos de Programación Otoño 2008 Mtro. Luis Eduardo Pérez Bernal
Algoritmos y solución de problemas Fundamentos de Programación Otoño 2008 Mtro. Luis Eduardo Pérez Bernal Introducción Departamento de Electrónica, Sistemas e Informática En las ciencias de la computación
M.S.C. Elvia Cristina Márquez Salgado. Unidad 1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
M.S.C. Elvia Cristina Márquez Salgado Unidad 1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS Definición del Problema Esta fase está dada por el enunciado del problema, el cual requiere una definición clara
Capítulo 3 CICLO DE VIDA DE UN PROGRAMA. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"
Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C" Autor: Carlos Javier Pes Rivas ([email protected]) Capítulo 3 CICLO DE VIDA DE UN PROGRAMA 1 OBJETIVOS Saber qué es la Ingeniería
PRÁCTICA FUNDAMENTOS DE ALGORITMOS I. Objetivos
Objetivos El alumno conocerá las estructuras básicas para el diseño de algoritmos 1. Conocerá las estructuras secuenciales y de decisión para construir algoritmos 2. Diseñará algoritmos utilizando las
Instituto José Manuel Estrada - Villa de Soto. Asignatura: Desarrollo de Soluciones Informáticas. Curso: 5to I. Docente: Contreras, María Elena
- Villa de Soto Asignatura: Desarrollo de Soluciones Informáticas Curso: 5to I Docente: Contreras, María Elena Contenido Algoritmos... 1 Diagramas de flujo... 2 Programar... 3 Programación... 10 Scratch...
2.3 DEFINICIÓN DE LENGUAJES ALGORÍTMICOS
2.3 DEFINICIÓN DE LENGUAJES ALGORÍTMICOS Características de los algoritmos Las características fundamentales que debe cumplir todo algoritmo son: Un algoritmo debe ser preciso e indicar el orden de realización
Diseño estructurado de algoritmos. Sesión 1: Conceptos de algoritmos
Diseño estructurado de algoritmos Sesión 1: Conceptos de algoritmos conceptos de algoritmos Tienes idea de por qué el tema de los algoritmos es tan importante para todos? Debes saber que los algoritmos
Tema 2 Conceptos básicos de programación. Fundamentos de Informática
Tema 2 Conceptos básicos de programación Fundamentos de Informática Índice Metodología de la programación Programación estructurada 2 Pasos a seguir para el desarrollo de un programa (fases): Análisis
PRESENTACIÓN DEL ALGORITMO
PRESENTACIÓN DEL ALGORITMO Puede ser en distintas formas, analizaremos cuatro: a) Descripción Narrada b) Pseudocódigo c) Diagramas de Flujo d) Diagramas N- S (Nassi-Schneiderman o de Chapin) Descripción
Bloque 2. Algoritmos y pseudocódigo
Bloque 2. Algoritmos y pseudocódigo Autores Manuel José Blanco Bargé Todo el documento está sujeto a los siguientes términos de la licencia Creative Commons Reconocimiento-CompartirIgual 4.0 Internacional
Objetivo específico: Maneja los elementos básicos de algoritmos utilizados para resolver un problema por computadora.
Objetivo específico: Maneja los elementos básicos de algoritmos utilizados para resolver un problema por computadora. La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi,
Principios de Algoritmia
Formación de Desarrolladores Revolucionarios Principios de Algoritmia preparando los programadores que la patria necesita [email protected] Fundamentos de Algoritmia Concepto de Algoritmo Tipos de Algoritmo
2.1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
2.1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS El proceso de resolución de un problema con una computadora conduce a la escritura de un programa y su ejecución en la misma. Aunque el proceso de diseñar
SERVICIO NACIONAL DE APRENDIZAJE SENA SISTEMA INTEGRADO DE GESTIÓN Procedimiento Ejecución de la Formación Profesional Integral GUÍA DE APRENDIZAJE
Código: F004-P006- GFPI Nº 1 1. IDENTIFICACIÓN DE LA GUIA DE APRENDIZAJE Programa de Formación: Técnico Programación De Software Nombre del Proyecto: Sistema De Información Para La Gestión Empresarial
Conceptos Básicos Programación I (Plan 1999) Algoritmos y Estructuras de Datos II (Plan 2009) Mgter. Oscar Adolfo Vallejos FaCENA - UNNE
Conceptos Básicos Programación I (Plan 1999) Algoritmos y Estructuras de Datos II (Plan 2009) Mgter. Oscar Adolfo Vallejos FaCENA - UNNE Solución de problemas mediante programas Los computadores desempeñan
Qué es un Diagrama de Flujo?
Qué es un Diagrama de Flujo? Un diagrama de flujo, también llamado Flujograma de Procesos o Diagrama de Procesos, representa la secuencia o los pasos lógicos (ordenados) para realizar una tarea mediante
7/1/18. Algoritmos RESOLVIENDO PROBLEMAS. Libro en línea. Cuál es el objetivo del libro? Ing. Roberto Martínez Román -
Algoritmos RESOLVIENDO PROBLEMAS Libro en línea Cuál es el objetivo del libro? [email protected] 1 Tareas que hace la computadora Las tareas que pueden hacer las computadoras son: a) Leer/escribir datos
Algoritmos. Libro en línea 3/8/18. Ing. Roberto Martínez Román - 1 RESOLVIENDO PROBLEMAS. Cuál es el objetivo del libro?
Algoritmos RESOLVIENDO PROBLEMAS ROBERTO MARTÍNEZ ROMÁN - [email protected] 1 Libro en línea Cuál es el objetivo del libro? Roberto Martínez Román - [email protected] 2 [email protected] 1 Tareas que hace
UNIDAD CURRICULAR: ALGORITMICA Y PROGRAMACIÓN UNIDAD I. ALGORITMOS Y PROGRAMAS. Características y elementos para construir un algoritmo
UNIDAD CURRICULAR: ALGORITMICA Y PROGRAMACIÓN UNIDAD I. ALGORITMOS Y PROGRAMAS CONTENIDO: Concepto de Algoritmos y Programas Lenguaje algorítmico y de programación Partes de un algoritmo Características
CAPITULO ALGORITMOS Y PROGRAMAS CONTENIDO
CAPITULO 1 ALGORITMOS Y PROGRAMAS CONTENIDO 1.1. Los sistemas de procesamiento de la información. 1.2. Concepto de algoritmo. 1.3. Los lenguajes de programación. 1.4. Datos, tipos de datos y operaciones
Tema II: Metodología para la construcción de programas. Profesora: Nelly García Mora
Tema II: Metodología para la construcción de programas Profesora: Nelly García Mora 1. Metodologías de Programación Metodología de programación: es un conjunto o sistema de métodos, principios y reglas,
Titulo de hoy 25/09/2017 COLEGIO SAN ANTONIO MARIA CLARET 1
Titulo de hoy 25/09/2017 COLEGIO SAN ANTONIO MARIA CLARET 1 COMPETENCIAS BÁSICAS Utilizar el lenguaje como una herramienta comunicativa (habla, lectura, escritura, escucha) para construir su propio conocimiento
INFORMATICA TECNICATURA DE NIVEL SUPERIOR ALGUNOS EJERCICIOS DE SELECCIÓN E ITERACION
INFORMATICA TECNICATURA DE NIVEL SUPERIOR ALGUNOS EJERCICIOS DE SELECCIÓN E ITERACION DIIAGRAMAS DE FLUJO Un diagrama de flujo es un dibujo que utiliza símbolos estándar de diagramación de algoritmos para
TEMA2:LAS HERRAMIENTAS DE PROGRAMACION
TEMA2:LAS HERRAMIENTAS DE PROGRAMACION 1.Las herramienta de programación. 1.1.Análisis de problemas. 1.2.Diseño de algoritmos. 1.3.Introducción a la plataforma.net Framework Objetivos Definir y comprender
Diseño Estructurado de Algoritmos
Diseño Estructurado de Algoritmos 1 Sesión No. 1 Nombre: Conceptos de algoritmos Objetivo de la sesión: Al concluir la sesión el estudiante identificará los conceptos básicos sobre la definición de algoritmos
[TEMA #2. ETAPAS Y TÉCNICAS PARA EL DESARROLLO DE PROBLEMAS CON AYUDA DEL COMPUTADOR.]
La resolución de un problema mediante una computadora consiste en el proceso que a partir de la descripción de un problema, expresado habitualmente en lenguaje natural y en términos propios del dominio
Programación estructurada
Programación estructurada Esta metodología de programación : Permite utilizar sentencias de bifurcación condicional estandarizadas. Facilita leer la codificación del programa de inicio a fin en forma continua.
INTRODUCCION A LA PROGRAMACION (C.U.) PROGRAMACION (T.I.G.)
INTRODUCCION A LA PROGRAMACION (C.U.) PROGRAMACION (T.I.G.) PRESENTACION: Lic. Jaquelina Jallés Comisión 1: Lunes 8-10 OBJETIVOS: Martes 10-12 Jueves 8-12 A) Desarrollar el pensamiento lógico y estructurado
Algoritmos. Fundamentos de Programación
Algoritmos Fundamentos de Programación Comunicarnos con el computador No es una tarea fácil. Instrucciones Debemos aprender a realizar las instrucciones de forma correcta para que el computador lo entienda
Las características fundamentales que debe cumplir todo algoritmo son:
QUÉ ES UN ALGORITMO?. El diccionario de la Real Academia Española define problema como un conjunto de hechos o circunstancias que dificultan la consecución de algún fin. Proposición dirigida a averiguar
Tema II: Metodología para la construcción de programas
Tema II: Metodología para la construcción de programas Semestre: A-2012 Profesora: Nelly García Mora Agenda 1. Definición 2. Análisis E P S 3. Construcción de Algoritmos 4. Diagramas de Flujo 5. Codificación
M.S.C. Elvia Cristina Márquez Salgado. Unidad 1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
M.S.C. Elvia Cristina Márquez Salgado Unidad 1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS Definición del Problema Esta fase está dada por el enunciado del problema, el cual requiere una definición clara
Prof. María Alejandra Quintero. Informática Año
Prof. María Alejandra Quintero Informática Año 2014-2015 Es la acción de escribir programas de computación con el objetivo de resolver un determinado problema. Implica escribir instrucciones para indicarle
Algoritmo. Programa. Lenguaje algorítmico
ESCUELA DE EDUCACION SECUNDARIA TECNICA N 3 LENGUAJE ELECTRONICO PROFESOR: PAOLO, MARCOS GERMAN TEMA: ALGORITMOS Algoritmo Es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y
INSTITUTO TECNOLÓGICO
INSTITUTO TECNOLÓGICO DE NUEVO LAREDO Con la Ciencia por la Humanidad Introducción a la Ingeniería en Sistemas Computacionales y al Diseño de Algoritmos Curso propedéutico Instructor: Bruno López Takeyas
C a l ses P P y y NP C a l se P C a l se N P N P [No N n o -De D te t rmin i i n s i ti t c i Polynomial-tim i e]
Análisis y Diseño de Algoritmos Introducción Análisis y Diseño de Algoritmos Concepto de algoritmo Resolución de problemas Clasificación de problemas Algorítmica Análisis de la eficiencia de los algoritmos
Computación Avanzada. Ing. Daniel Capriles M.
Computación Avanzada. Ing. Daniel Capriles M. Es un modelo que engloba a ciertos lenguajes que comparten elementos estructurales o metodológicos similares. Según Robert Floyd quien habló por primera vez
BLOQUE 1 Diseñas y elaboras algoritmos para la solución de problemas
INFORMATICA II BLOQUE 1 Diseñas y elaboras algoritmos para la solución de problemas TEMATICA Bloque I: Diseñas y elaboras algoritmos para la solución de problemas 1.1 Problema 1.1.1 Concepto 1.3 Algoritmos
Nombre de la asignatura: Diseño Estructurado de Algoritmos. Carrera: Ingeniería en Sistemas Computacionales. Clave de la asignatura: SCB-9316
. D A T O S D E L A A S I G N A T U R A Nombre de la asignatura: Diseño Estructurado de Algoritmos Carrera: Ingeniería en Sistemas Computacionales Clave de la asignatura: SCB-9 Horas teoría Horas práctica
Programación de Ordenadores
Programación de Ordenadores Ingeniería Química David Pelta Depto de Ciencias de la Computación e I.A. Universidad de Granada Índice Resolución de Problemas con Ordenadores Algoritmo Metodología de la programación
Adentrándonos a la Programación
! Adentrándonos a la Programación Definición de Algoritmo Es un conjunto pre-escrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos
Maquina de Turing. 5. Fundamentos de algoritmos. Turing TURING TURING 10/08/2010. MI Elizabeth Fonseca Chávez
Maquina de Turing 5. Fundamentos de algoritmos MI Elizabeth Fonseca Chávez matemático inglés Alan Turing Turing Definición de algoritmo: conjunto ordenado de operaciones que permite hallar la solución
ANÁLISIS DE SISTEMAS. Prof. Eliz Mora
ANÁLISIS DE SISTEMAS Prof. Eliz Mora Programa Fundamentos del Análisis de Sistemas Estilos Organizacionales y su impacto en los Sistemas de Información Rol del Analista de Sistema Determinación de Factibilidad
Expositor: Mauricio Galvez Legua
ó Expositor: Mauricio Galvez Legua [email protected] 1 Qué es la ó La Robótica es una ciencia aplicada que se ocupa del estudio, desarrollo y aplicaciones de los robots. El estudio de la robótica
PROGRAMACIÓN PLAN 2008
GUÍA DE APRENDIZAJE PROGRAMACIÓN COMPETENCIA GENERAL REALIZA PROGRAMAS COMPUTACIONALES BAJO UN ENFOQUE ESTRUCTURADO Y UN LENGUAJE DE PROGRAMACIÓN EN EL CAMPO DE LAS TELECOMUNICACIONES COMPETENCIAS PARTICULARES
Proceso de información en la computadora
1.1 Introducción La computadora no solamente es una maquina que puede realizar procesos para darnos resultados, sin que tengamos la noción exacta de las operaciones que realiza para llegar a esos resultados.
2. RESOLUCIÓN DE PROBLEMAS Definición del modelo computacional (Parte I)
2. RESOLUCIÓN DE PROBLEMAS 2.3. Definición del modelo computacional (Parte I) QUE ES UN MODELO COMPUTACIONAL? Es un modelo matemático en las ciencias de la computación que requiere extensos recursos computacionales
Este método de diseño de algoritmos en etapas, yendo de los conceptos generales a los de detalle, se conoce como método descendente (top-down).
PLANTEMAIENTO DEL PROBLEMA Identificación de entradas y salidas Un algoritmo puede ser definido como la secuencia ordenada de pasos, sin ambigüedades, que conducen a la resolución de un problema dado y
ETAPA Cómo se llaman los profesionales que escriben el código de los programas? Programadores.
ETAPA 1 1. A qué se le llama programa? Es un conjunto de instrucciones, comandos, órdenes o procedimientos escritos en un lenguaje de programación para que una computadora pueda realizar una tarea determinada
Diseño estructurado de algoritmos. Sesión 8: Estructuras Algorítmicas
Diseño estructurado de algoritmos Sesión 8: Estructuras Algorítmicas Contextualización A qué crees se refiere el término estructura? Como recordaremos, un algoritmo puede ser aplicado en todo, con el único
Elementos de Programación (P02) Ing. Alvaro Torres Tatis
Página 1 de 6 I. OBJETIVOS II. TEMARIO Elementos de Programación (P02) Ing. Alvaro Torres Tatis 1. Saber hacer una descripción completa de un problema de programación medianamente complejo. 2. Resolver
LÓGICA COMPUTACIONAL. Descripción del CURSO
LÓGICA COMPUTACIONAL Descripción del CURSO Antes de entrar en el maravilloso mundo de la programación debemos de conocer cómo trabaja internamente nuestra computadora. Este curso cubre las necesidades
Conceptos. Generales ALGORITMOS
Conceptos 1 Generales ALGORITMOS Que es un Algoritmo? 2 Es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos
TEMA 1. PROGRAMACIÓN DE UN COMPUTADOR
Tema 1. Programación de un computador TEMA 1. CIÓN DE UN COMPUTADOR 1. CONCEPTO DE 2. LENGUAJES DE CIÓN 2.1. LENGUAJE MÁQUINA 2.2. LENGUAJE ENSAMBLADOR 2.3. LENGUAJE DE ALTO NIVEL 3. ALGORITMOS. REPRESENTACIÓN
Algoritmos, pseudocódigo y diagramas de flujo: una introducción (CU00123A)
aprenderaprogramar.com Algoritmos, pseudocódigo y diagramas de flujo: una introducción (CU00123A) Sección: Cursos Categoría: Curso Bases de la programación Nivel I Fecha revisión: 2024 Autor: Mario R.
PROGRAMACIÓN I C++ Problemas, algoritmos y programas. Grado en Estadística Aplicada. EUE. Introducción. Introducción
1 2 Problemas, algoritmos y programas Introducción Programación Algoritmo PROGRAMACIÓN I C++ Características de los algoritmos Lenguajes algorítmicos Lenguajes de programación Desarrollo de programas Grado
