Algoritmos y diagramas de flujoInformática I (2015-2) Departamento de Ingeniería Electrónica y de Telecomunicaciones Facultad de Ingeniería 2015-2 Informática.

Slides:



Advertisements
Presentaciones similares
Nuestro reto es educar al pensamiento, para que razone de acuerdo a ciertas reglas; con ello podremos ser más eficientes al momento en que ordenamos.
Advertisements

ESTRUCTURA DE DECISION LOGICA
Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios
ALGORITMOS Y LENGUAJES Estructuras de Control CONDICIONAL
Estructuras de Decisión I IF - THEN - ELSE
Unidad 1 DISEÑO DE ALGORITMOS ING. Nelwi Baez. MSC
Estructuras de Repetición Algoritmos
Introducción a los Algoritmos
UNIDAD II: ALGORITMOS Y LENGUAJES
Elementos de Pascal Escribir un programa en Pascal que lea los valores de los catetos de un triángulo rectángulo y calcule y muestre la hipotenusa. program.
Resolución de Problemas Algoritmos y Programación
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Técnico en programación de Software
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
Metodología de la Programación
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Estructuras de Control
Introducción a la Programación
Estructuras de Repetición
Tema 6. Conceptos básicos de programación
PSEUDOCÓDIGO. DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE REPRESENTACIÓN DE ALGORITMOS.
Matemáticas Discretas y Algoritmos
ESTRUCTURAS DE CONTROL
INTRODUCCIÓN A LA COMPUTACIÓN 12va Semana – 19va Sesión Miércoles 18 de Mayo del 2005 Juan José Montero Román
Programación de Computadores
ALGORITMOS.
Academia de Informática
Introducción a la Programación “Conceptos de Algoritmo”
FUNDAMENTOS DE PROGRAMACIÓN
Capítulo 1 “Elementos de Programación”
Algoritmos ¿Que es un algoritmo?
ESTRUCTURA DE DECISION LOGICA
ESTRUCTURA DE DATOS ESD-243
Tema 6. Conceptos básicos de programación (Repaso) Prof. María Alejandra Quintero Informática Año 2013.
Juego de Preguntas y Respuestas
Teoría – Alejandro Gonzalez
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
ESTRUCTURAS REPETITIVAS
Estructuras de Control.
Introducción a la Ingeniería de Sistemas
Metodología para solución de problemas
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
ALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió.
ESTRUCTURA DE DECISION LOGICA
A continuación… Repaso Repaso Estructuras de Decisión Ejemplos
Programación de Computadores (IWI-131)
Sesión 12: Python (3) – Estructura Decisión. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática.
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
Sesión 13: Python (4) – Estructura Repetición. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática.
Operadores Lógicos Y (Conjunción): Tanto P como Q (Ambas). O (Disyunción): Puede ser que P o Q o ambas (mínimo 1)
Entendiendo las partes
 Un lenguaje se puede definir como un conjunto de palabras y formas de expresión por medio de las cuales se comunican y relacionan miembros de una comunidad.
PRINCIPIOS DE PROGRAMACIÓN
Elaboración de algoritmos usando lógica de programación
Presente un cuestionario con los aspectos mas importantes sobre los
Metodología de la programación
Prueba de escritorio Computación y Sistemas de Información.
* Cuando nos permite desarrollar un programa que necesitamos para tomar un conjunto de buenas prácticas para hacer eso. Esto se debe a que podemos ahorrar.
Lenguaje Programación
Conceptos Generales Programación I Docente: Ing. Marleny Soria M.
Ciclo de desarrollo del software
Universidad Domingo Savio
David A Salamanca Díaz. DEFINICIÓN  Se define como una serie de pasos organizados que describen el proceso que se debe seguir, para dar solución a un.
Conceptos Generales PROGRAMACIÓN I DOCENTE: ING. MARLENY SORIA M. 1.
Presenta: Dr. Jorge Rodríguez Arce.
INFORMÁTICA II TEMA: DISEÑA Y ELABORA ALGORITMOS DOCENTE: MARÍA DOLORES GARCÍA PONCE CAMPUS TONALÁ JALISCO.
Facultad de Ingeniería Ciclo Algoritmos ¿Qué son? Universidad de Mendoza – Fac.Ingeniería INFORMATICA (0009) – Betina Cárcano.
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Facultad de Ingeniería de Sistemas Computacionales Programa de Lic. en Informática Educativa Computación.
ALGORITMOS Asignatura: Informática. Algoritmos Conjunto de instrucciones ordenadas de forma lógica y precisa, con un inicio y fin que permite resolver.
Transcripción de la presentación:

Algoritmos y diagramas de flujoInformática I (2015-2) Departamento de Ingeniería Electrónica y de Telecomunicaciones Facultad de Ingeniería Informática I Algoritmos y diagramas de flujo

Informática I (2015-2) Solving problems A partir del planteamiento de un problema, es conveniente usar una metodología para la resolución del problema, que tendrá como objetivo final el algoritmo que dará una solución. 2

Algoritmos y diagramas de flujoInformática I (2015-2) Polya’s method George Polya, Matemático húngaro, autor del libro How to solve it (1945). En él, Polya propone cuatro pasos generales para la solución de un problema: 1. Entienda el problema : parece obvio pero es con frecuencia un gran obstáculo. – ¿Entiende todas las palabras de la formulación del problema? – ¿Qué le están pidiendo que encuentre? – ¿Puede usted reformular el problema en sus propias palabras? – ¿Puede hacer un dibujo que represente el problema? – ¿Hay suficiente información para encontrar la solución? 3

Algoritmos y diagramas de flujoInformática I (2015-2) Polya’s method 2. Diseñe un plan : escoja una estrategia para resolver el problema (divida el problema en problemas más simples, elimine posibilidades, aproveche simetrías, suponga y verifique, etc). 3. Implemente el plan : más fácil que el paso 2, sólo requiere mucho cuidado en los detalles y paciencia. 4. Revise : haga una pausa, revise y reflexione sobre el trabajo hecho. 4

Algoritmos y diagramas de flujoInformática I (2015-2) Algorithms Recordemos que, un algoritmo es un proceso preciso, computable y finito que paso a paso lleva a la solución de un problema. Todo algoritmo debe tener tres partes: 5 Inputs Process Outputs

Algoritmos y diagramas de flujoInformática I (2015-2) Examples of algorithms 6 ¿Cómo ingresar a la Universidad de Antioquia? 1.Comprar formulario de inscripción 2.Elegir carrera 3.Presentar examen 4.Si no pasa, volver al paso 1 5.Pagar matrícula 6.Elegir materias ¿Cómo dibujar una parábola en el plano cartesiano (-10,10)? 1.Asignar a x el valor Asignar a y el valor de x 2 3.Dibujar un punto en la coordenada x,y 4.Sumar 1 a x 5.Si x es menor o igual a 10, vaya al paso 2

Algoritmos y diagramas de flujoInformática I (2015-2) Data in an algorithm Variable : espacio de memoria asociado con un identificador (nombre) que almacena un valor que puede ser modificado por instrucciones del algoritmo. – De entrada y salida – Variables auxiliares Una variable puede representar un número decimal, un numero entero, un arreglo de números o de caracteres, etc. 7 Constante: un dato del algoritmo que no puede ser modificado

Algoritmos y diagramas de flujoInformática I (2015-2) Algorithm design Calcular el área de un triángulo Análisis: – ¿Cuál es el objetivo buscado? Calcular el área de un triángulo – ¿Cuáles son los datos de entrada? Base y altura – ¿Cuáles son los datos de salida? Área de un triángulo – ¿Qué cálculos/procesos deben llevarse a cabo? Área = (base * altura)/2 8 Inputs Process Outputs Base, altura Área

Algoritmos y diagramas de flujoInformática I (2015-2) Another algorithm Se requiere diseñar un algoritmo que calcule el número de meses que hay entre los años A y B. 9 Datos de entrada: los años especificados (A y B) Datos de salida: numero total de meses transcurridos Definición de variables: A: primer año B: segundo año years: años transcurridos months: meses transcurridos Algoritmo 1.Capturar valores de A y B 2.Asignar a years la operación B-A 3.Asignar a months la operación years * 12 4.Muestre el valor de months

Algoritmos y diagramas de flujoInformática I (2015-2) Algorithms represented as flowcharts Escriba un algoritmo que calcule el área de un rectángulo dada la longitud de sus lados. 10 Finish Start Print area Read width Read height area  width * height Datos de entrada: longitud de los lados Datos de salida: área del rectángulo Definición de variables: width: ancho height: alto area: área ¿Proceso?: multiplicar el ancho por el alto

Algoritmos y diagramas de flujoInformática I (2015-2) yes Flowcharts 11 Decision Read/Print Process Finish Start Read/Print no indica el punto único donde empieza el algoritmo indica la lectura (recepción) o impresión (envío o salida) de datos desde o hacia afuera del sistema flechas indican la secuencia entre dos secciones del algoritmo indica un proceso secuencial de operaciones o cálculos indica la evaluación de una condición para determinar el flujo del algoritmo indica el punto donde termina el algoritmo Read/Print

Algoritmos y diagramas de flujoInformática I (2015-2) condicional Conditional euro-peso conversion Escriba un algoritmo que convierta una cantidad en euros a su equivalente en pesos, de ayer o de hoy, según se especifique. Asuma que el precio del euro ayer fue 2450 y el de hoy es no day == ‘Ayer’ Finish Start Print cop Read day Read eur yes cop  eur * 2450cop  eur * 2500 Datos de entrada: día (ayer u hoy) y cantidad de euros a convertir Datos de salida: valor en pesos Definición de variables: day: día eur: cantidad en euros cop: cantidad en pesos ¿Proceso?: dependiendo del día elegido, multiplicar eur por 2450 o por 2500

Algoritmos y diagramas de flujoInformática I (2015-2) Conditionals Sirven para representar alternativas de ejecución, es decir, que se haga una cosa u otra dependiendo del valor de una expresión lógica. SI (expresión lógica) Instrucciones que se realizan si la expresión es verdadera DE LO CONTRARIO Instrucciones que se realizan si la expresión es falsa FIN SI 13 no condición yes proceso 2proceso 1

Algoritmos y diagramas de flujoInformática I (2015-2) Leap year algorithm Se requiere un algoritmo que al ser preguntado por un año cualquiera, diga si éste es un año bisiesto o no. Atención: no todos los años múltiplos de 4 son bisiestos. Si es múltiplo de 100 no es bisiesto, a no ser que sea también múltiplo de 400. Use el operador módulo (%). 14 Datos de entrada: número entero year Datos de salida: mensaje Definición de variables: year: número entero (año) ¿Proceso?: verificar si el año ingresado es divisible por 400, por 100 y por 4 para decidir si es bisiesto o no.

Algoritmos y diagramas de flujoInformática I (2015-2) Diagrama de flujo para el algoritmo del año bisiesto Hacer pruebas con: year  2013 year  1200 year  200 year  4 15 yes no Finish Start Print ’ Sí!’ Read year year%400==0 yes year%100==0 yes year%4==0 no Print ’ No!’ Print ’ Sí!’ Print ’ No!’

Algoritmos y diagramas de flujoInformática I (2015-2) iteración Sum of the first N integers Escriba un algoritmo que calcule la suma de los primeros N números enteros, donde N es un dato de entrada. 16 Datos de entrada: número entero N Datos de salida: suma de los primeros N números Definición de variables: N: número entero num: número que se va incrementando (contador auxiliar) sum: suma ¿Proceso?: generar los números consecutivos desde el 1 hasta el N e irlos sumando num<N+1 Finish Start Print sum num  1 sum  0 Read N yes no sum  sum + num num  num +1

Algoritmos y diagramas de flujoInformática I (2015-2) Nnumsum Prueba de escritorio Es una prueba manual que se hace de un algoritmo para verificar su funcionamiento num<N+1 Finish Start Print sum num  1 sum  0 Read N yes no sum  sum + num num  num +1

Algoritmos y diagramas de flujoInformática I (2015-2) Iteration Sirven para indicar la repetición de una o varias instrucciones mientras que se cumpla una condición. 18 MIENTRAS (expresión lógica) Instrucciones que se realizan mientras que la expresión sea verdadera FIN MIENTRAS Instrucciones que se realizan luego de que la expresión se vuelva falsa no condición yes proceso 2 proceso 1 proceso 3

Algoritmos y diagramas de flujoInformática I (2015-2) Counter and accumulator variables Variable contador : sirve para contar cuantas veces se dá una condición o evento -> cuántas veces se repite un ciclo iterativo, cuantas veces una variable supera un límite, etc. count  count + 1 Variable acumulador : sirve para acumular los resultados de una operación que se repite -> corregir sum  sum + res sum  sum * res 19

Algoritmos y diagramas de flujoInformática I (2015-2) Block diagrams 20 Proceso C Proceso B Lista de estudiantes Lista de notas Nota para ganar Desencriptar Contraseña Calcular la nota promedio Listar los estudiantes que no pasaron Notas desencriptadas Proceso A Lista de estudiantes Nota para ganar Nota promedio Lista de estudiantes que no pasaron Desencriptar las notas AUXILIARES Múltiples cadenas de letras Arreglo de números decimales Número decimal (escalar) Primer paso para identificar entradas, salidas y bloques funcionales (o procesos), entre otros. Ej: Dada una lista de estudiantes y sus notas encriptadas, calcule la nota promedio del grupo y la lista de estudiantes que no pasaron. Se conoce además la contraseña y la nota mínima para pasar.