Top Banner
Fecha: 13/04/14 Diap. 1 Unidad 2: Algoritmos y Diagramas de Flujo. Por: Lic. Edgar Hernández García Instituto Tecnológico Superior de Zacapoaxtla División de Ingeniería Mecatrónica Programación Básica Unidad 2: Diseño de Algoritmos
34

Programación Básica Unidad 2: Algoritmos y Diagramas de Flujo

May 22, 2017

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Programación Básica Unidad 2: Algoritmos y Diagramas de Flujo

Fecha: 13/04/14 Diap. 1

Unidad 2: Algoritmos y Diagramas de Flujo.Por: Lic. Edgar Hernández García

Instituto Tecnológico Superior de ZacapoaxtlaDivisión de Ingeniería Mecatrónica

Programación Básica

Unidad 2: Diseño de Algoritmos

Page 2: Programación Básica Unidad 2: Algoritmos y Diagramas de Flujo

Fecha: 13/04/14 Diap. 2

Unidad 2: Algoritmos y Diagramas de Flujo.Por: Lic. Edgar Hernández García

Instituto Tecnológico Superior de ZacapoaxtlaDivisión de Ingeniería Mecatrónica

Algoritmos: Conceptos● Sistema: Conjunto de dispositivos que se relacionan con el fin de realizar una

tarea.

● Proceso: Conjunto de actividades desarrolladas con el fin de desarrollar una tarea específica.

● El proceso consta de componentes a saber:

Entrada: Es la parte del proceso que se encarga de recibir los datos que serán usados en el mismo.

Procesamiento: Parte fundamental del proceso en la que los datos de entrada son “trabajados” para obtener información (o datos de salida).

Salida: Parte del proceso en la que la información obtenida es presentada.

● ¿Cuál sería el proceso que se sigue para realizar una suma?

Page 3: Programación Básica Unidad 2: Algoritmos y Diagramas de Flujo

Fecha: 13/04/14 Diap. 3

Unidad 2: Algoritmos y Diagramas de Flujo.Por: Lic. Edgar Hernández García

Instituto Tecnológico Superior de ZacapoaxtlaDivisión de Ingeniería Mecatrónica

Algoritmos: Definición

● Un algoritmo es un conjunto ordenado y finito de pasos usados en la solución de un problema o en la realización de una tarea.

● Un algoritmo está relacionado con los procesos, incluso consta de las mismas tres etapas: Entrada, Proceso, Salida.

● Los lenguajes algorítmicos entonces proporcionan metodologías para la representación de problemas para posteriormente expresarlos en algún (cualquier) lenguaje de programación en una computadora.

Page 4: Programación Básica Unidad 2: Algoritmos y Diagramas de Flujo

Fecha: 13/04/14 Diap. 4

Unidad 2: Algoritmos y Diagramas de Flujo.Por: Lic. Edgar Hernández García

Instituto Tecnológico Superior de ZacapoaxtlaDivisión de Ingeniería Mecatrónica

Algoritmos: Características● Un algoritmo correctamente estructurado debe:

– Ser preciso, debe indicar el orden de realización de forma específica.

– Estar definido, si se ejecuta el mismo algoritmo varias veces debe obtenerse el mismo resultado cada vez.

– Ser finito, debe terminar el proceso en un determinado momento.

● Ejercicio 1: Elabore el algoritmo que permita calcular el promedio de cuatro números.

● Ejercicio 2: Elabore el algoritmo para ayudar a una persona a cruzar la calle (en un cruce con semáforos).

Page 5: Programación Básica Unidad 2: Algoritmos y Diagramas de Flujo

Fecha: 13/04/14 Diap. 5

Unidad 2: Algoritmos y Diagramas de Flujo.Por: Lic. Edgar Hernández García

Instituto Tecnológico Superior de ZacapoaxtlaDivisión de Ingeniería Mecatrónica

Algoritmos: Datos

● Un dato es una secuencia de símbolos (letras, números, etc.) que representan un valor y que por sí mismos no tienen un significado.

● Otro concepto propio de la computación es el sentido formal de la palabra Información, que en pocas palabras es el proceso que se hace de los datos.

● Por razones prácticas los datos con los que trabaje una PC deben estar bien definidos, razón por la cual los datos deben estar clasificados en rangos de valores que definen las operaciones que se pueden realizar con ellos. Cada tipo de rango define un Tipo de Dato.

Page 6: Programación Básica Unidad 2: Algoritmos y Diagramas de Flujo

Fecha: 13/04/14 Diap. 6

Unidad 2: Algoritmos y Diagramas de Flujo.Por: Lic. Edgar Hernández García

Instituto Tecnológico Superior de ZacapoaxtlaDivisión de Ingeniería Mecatrónica

Algoritmos: Tipos de Datos

● Datos numéricos: Los que sólo pueden contener números, que en la mayoría de los casos serán enteros y decimales. Las variables que representen datos deberán representarse simplemente con su nombre: A, X1, edad, etc.

● Datos alfanuméricos: Son los que trabajan expresamente con letras y números, es decir caracteres. Denotaremos a las variables alfanuméricas con un signo de pesos ($) precediendo a la variable: $nombre, $Y2,etc.

● Datos lógicos: Sólo permiten almacenar valores de verdad (V o F), los cuales generalmente son devueltos por una condición o pregunta.

Page 7: Programación Básica Unidad 2: Algoritmos y Diagramas de Flujo

Fecha: 13/04/14 Diap. 7

Unidad 2: Algoritmos y Diagramas de Flujo.Por: Lic. Edgar Hernández García

Instituto Tecnológico Superior de ZacapoaxtlaDivisión de Ingeniería Mecatrónica

Algoritmos: Operaciones

● Las operaciones se deberán realizar a través de operadores.

● Operadores aritméticos

● Operadores relacionales

● Operadores lógicos

● Operador asignación: ←

Page 8: Programación Básica Unidad 2: Algoritmos y Diagramas de Flujo

Fecha: 13/04/14 Diap. 8

Unidad 2: Algoritmos y Diagramas de Flujo.Por: Lic. Edgar Hernández García

Instituto Tecnológico Superior de ZacapoaxtlaDivisión de Ingeniería Mecatrónica

Algoritmos: Constantes, variables y expresiones

● Los datos pueden almacenar información variable o constante. La variable es un objeto (dato en la memoria de la computadora) que puede cambiar de valor durante la ejecución o funcionamiento de un programa. Las constantes representan datos cuyo valor no cambia a lo largo de la ejecución o funcionamiento de un programa.

● Las expresiones se componen de operandos y operadores.

Page 9: Programación Básica Unidad 2: Algoritmos y Diagramas de Flujo

Fecha: 13/04/14 Diap. 9

Unidad 2: Algoritmos y Diagramas de Flujo.Por: Lic. Edgar Hernández García

Instituto Tecnológico Superior de ZacapoaxtlaDivisión de Ingeniería Mecatrónica

Algoritmos: Ejemplos de expresiones

● A continuación citamos algunos ejemplos de expresiones, obtenga los valores correspondientes:

Page 10: Programación Básica Unidad 2: Algoritmos y Diagramas de Flujo

Fecha: 13/04/14 Diap. 10

Unidad 2: Algoritmos y Diagramas de Flujo.Por: Lic. Edgar Hernández García

Instituto Tecnológico Superior de ZacapoaxtlaDivisión de Ingeniería Mecatrónica

Algoritmos: Ejercicios

1.- Elabore los siguientes algoritmos:

a) Que tenga por entrada una variable numérica que represente una cantidad en grados cenígrados (°C) y la convierta a su equivalente en grados farenheit (°F). Recuerde °F=1.8°C+32.

b) Que acepte como entrada una variable numérica que represente la edad de una persona e indique mediante un mensaje si dicha persona puede o no votar.

c) Que en su entrada acepte una cantidad numérica que indique un valor en dólares y que lo convierta a pesos mexicanos. Considere un dólar=9.5 pesos.

d) Que tome por entrada tres variables numéricas que representen las calificaciones de un alumno. El algoritmo debe calcular el promedio de dicho alumno e indicar mediante un mensaje si su promedio es aprobatorio o no.

Page 11: Programación Básica Unidad 2: Algoritmos y Diagramas de Flujo

Fecha: 13/04/14 Diap. 11

Unidad 2: Algoritmos y Diagramas de Flujo.Por: Lic. Edgar Hernández García

Instituto Tecnológico Superior de ZacapoaxtlaDivisión de Ingeniería Mecatrónica

Algoritmos: Ejercicios (Cont.)

2.- Suponga los siguientes valores para las variables indicadas:

A←3, B←5, C←10, D←1 y encuentre el valor de las expresiones siguientes:

● (A+B/2-1)-(B↑2)*2 _______

● (A↑2+B↑2) ↑(1/2) _______

● C-D*5/A+4↑2*4 _______

● (C-5)=B _______

● 8-10%2+C _______

● 4*C-B _______

● (A/2+3*C-(4*B/(C-B)*7) )↑3 _______

Page 12: Programación Básica Unidad 2: Algoritmos y Diagramas de Flujo

Fecha: 13/04/14 Diap. 12

Unidad 2: Algoritmos y Diagramas de Flujo.Por: Lic. Edgar Hernández García

Instituto Tecnológico Superior de ZacapoaxtlaDivisión de Ingeniería Mecatrónica

Programación Básica

Unidad 2: Diagramas de Flujo

Page 13: Programación Básica Unidad 2: Algoritmos y Diagramas de Flujo

Fecha: 13/04/14 Diap. 13

Unidad 2: Algoritmos y Diagramas de Flujo.Por: Lic. Edgar Hernández García

Instituto Tecnológico Superior de ZacapoaxtlaDivisión de Ingeniería Mecatrónica

Definiciones

● Un diagrama de flujo es la representación gráfica de un algoritmo, por lo que cada parte de un algoritmo tiene una representación en un diagrama de flujo.

● Lo mismo que los algoritmos, los diagramas de flujo son aplicables a cualquier lenguaje de programación.

● Los diagramas de flujo a veces hacen más claro el proceso de un algoritmo, pero a cambio requieren de espacio para ser dibujados.

Page 14: Programación Básica Unidad 2: Algoritmos y Diagramas de Flujo

Fecha: 13/04/14 Diap. 14

Unidad 2: Algoritmos y Diagramas de Flujo.Por: Lic. Edgar Hernández García

Instituto Tecnológico Superior de ZacapoaxtlaDivisión de Ingeniería Mecatrónica

Simbología básica● Equivalencias con algoritmos

● Para indicar el inicio y el fin de un diagrama se usan como símbolos óvalos.

● Entre cada símbolo deberá ir una flecha indicando la dirección del flujo lógico de procesamiento.

Page 15: Programación Básica Unidad 2: Algoritmos y Diagramas de Flujo

Fecha: 13/04/14 Diap. 15

Unidad 2: Algoritmos y Diagramas de Flujo.Por: Lic. Edgar Hernández García

Instituto Tecnológico Superior de ZacapoaxtlaDivisión de Ingeniería Mecatrónica

Implementación de Diagramas de Flujo a partir de Algoritmos

● Ejemplo 1: Elaborar un diagrama de flujo que lea dos valores numéricos, calcule su suma e imprima el resultado en pantalla.

Page 16: Programación Básica Unidad 2: Algoritmos y Diagramas de Flujo

Fecha: 13/04/14 Diap. 16

Unidad 2: Algoritmos y Diagramas de Flujo.Por: Lic. Edgar Hernández García

Instituto Tecnológico Superior de ZacapoaxtlaDivisión de Ingeniería Mecatrónica

Implementación de Diagramas de Flujo a partir de Algoritmos

● Ejemplo 2: Diseñar un diagrama de flujo que lea tres datos numéricos, calcule su promedio e imprima el resultado en pantalla.

Page 17: Programación Básica Unidad 2: Algoritmos y Diagramas de Flujo

Fecha: 13/04/14 Diap. 17

Unidad 2: Algoritmos y Diagramas de Flujo.Por: Lic. Edgar Hernández García

Instituto Tecnológico Superior de ZacapoaxtlaDivisión de Ingeniería Mecatrónica

Reglas para la construcción de Diagramas de Flujo

1. Todo diagrama debe tener un principio y un fin.

2. Las líneas de conexión siempre deben ser rectas, y si es posible que sean sólo verticales y horizontales (no deben cruzarse ni estar inclinadas). Así mismo, se deben usar los conectores sólo en casos estrictamente necesarios.

3. Las líneas que enlazan símbolos entre si deben estar todas conectadas.

4. Se deben dibujar todos los símbolos de modo que se pueda seguir el proceso visualmente de arriba abajo (diseño top down) y de izquierda a derecha.

5. Realizar un diagrama claro y estructurado procurando que la parte central del diagrama sea la parte central de la hoja de papel.

6. Evitar la utilización de terminología específica de un lenguaje de programación.

7. En las operaciones lógicas recurrir preferentemente a la lógica positiva y que a la lógica negativa.

Page 18: Programación Básica Unidad 2: Algoritmos y Diagramas de Flujo

Fecha: 13/04/14 Diap. 18

Unidad 2: Algoritmos y Diagramas de Flujo.Por: Lic. Edgar Hernández García

Instituto Tecnológico Superior de ZacapoaxtlaDivisión de Ingeniería Mecatrónica

Ventajas y Desventajas● Ventajas:

– Rápida comprensión de las relaciones.

– Análisis efectivo de las diferentes secciones del programa.

– Documentación adecuada de los programas.

– Codificación eficaz de los programas.

– Depuración y pruebas ordenadas de los programas.

● Desventajas:

– Los diagramas complejos y detallados suelen ser laboriosos en planteamiento y elaboración.

– No existen normas fijas para la elaboración de diagramas de flujo que permitan incluir todos los detalles que el usuario desea introducir.

Page 19: Programación Básica Unidad 2: Algoritmos y Diagramas de Flujo

Fecha: 13/04/14 Diap. 19

Unidad 2: Algoritmos y Diagramas de Flujo.Por: Lic. Edgar Hernández García

Instituto Tecnológico Superior de ZacapoaxtlaDivisión de Ingeniería Mecatrónica

Pseudocódigo● El pseudocódigo es la escritura en “lenguaje natural” de la

codificación de un diagrama de flujo y/o algoritmo de un programa, como un acercamiento al código real de lenguaje de programación.

Page 20: Programación Básica Unidad 2: Algoritmos y Diagramas de Flujo

Fecha: 13/04/14 Diap. 20

Unidad 2: Algoritmos y Diagramas de Flujo.Por: Lic. Edgar Hernández García

Instituto Tecnológico Superior de ZacapoaxtlaDivisión de Ingeniería Mecatrónica

Ejercicios

1. Desarrollar el diagrama de flujo que lea una cantidad en pesos y que la convierta en dólares (suponiendo que el dólar = $ 10).

2. Hacer diagrama de flujo que lea una cantidad en °C y que la convierta en ° K y ºF (ºC=ºK-273, ºC=(ºF-32)/1.8).

3. Hacer diagrama de flujo que lea los lados de A, B de un triángulo y que calcule e imprima la hipotenusa.

4. Hacer diagrama de flujo capaz de resolver una ecuación de segundo grado.

Page 21: Programación Básica Unidad 2: Algoritmos y Diagramas de Flujo

Fecha: 13/04/14 Diap. 21

Unidad 2: Algoritmos y Diagramas de Flujo.Por: Lic. Edgar Hernández García

Instituto Tecnológico Superior de ZacapoaxtlaDivisión de Ingeniería Mecatrónica

Control de flujo en un diagrama

● Los diagramas de flujo vistos hasta ahora se ejecutan incodicionalmente de forma lineal, es decir, se ejecutan de arriba hacia abajo.

● En ocasiones será necesario controlar ese flujo del proceso, para lo cual usaremos un bloque especial, al que llamaremos bloque condicional.

Page 22: Programación Básica Unidad 2: Algoritmos y Diagramas de Flujo

Fecha: 13/04/14 Diap. 22

Unidad 2: Algoritmos y Diagramas de Flujo.Por: Lic. Edgar Hernández García

Instituto Tecnológico Superior de ZacapoaxtlaDivisión de Ingeniería Mecatrónica

Ejemplo 1

● Diseñar el diagrama de flujo de un programa que pregunte la edad y decida si el usuario puede votar o no.

Page 23: Programación Básica Unidad 2: Algoritmos y Diagramas de Flujo

Fecha: 13/04/14 Diap. 23

Unidad 2: Algoritmos y Diagramas de Flujo.Por: Lic. Edgar Hernández García

Instituto Tecnológico Superior de ZacapoaxtlaDivisión de Ingeniería Mecatrónica

Ejemplo 2

● Diseñar el diagrama de flujo en el que se lea un número, se verifique si es mayor a 1000, en cuyo caso deberá mostrar en pantalla el cuadrado del número, y si no que muestre el cubo del número.

Page 24: Programación Básica Unidad 2: Algoritmos y Diagramas de Flujo

Fecha: 13/04/14 Diap. 24

Unidad 2: Algoritmos y Diagramas de Flujo.Por: Lic. Edgar Hernández García

Instituto Tecnológico Superior de ZacapoaxtlaDivisión de Ingeniería Mecatrónica

Ejemplo 3

● Realizar un diagrama de flujo en el que se lean dos números y se pruebe la propiedad de tricotomía.

Page 25: Programación Básica Unidad 2: Algoritmos y Diagramas de Flujo

Fecha: 13/04/14 Diap. 25

Unidad 2: Algoritmos y Diagramas de Flujo.Por: Lic. Edgar Hernández García

Instituto Tecnológico Superior de ZacapoaxtlaDivisión de Ingeniería Mecatrónica

Ejemplo 4

● Diseñe el diagrama de flujo en el que se lea un número y se pruebe si es par o no, el diagrama debe indicarlo con los mensajes respectivos.

Page 26: Programación Básica Unidad 2: Algoritmos y Diagramas de Flujo

Fecha: 13/04/14 Diap. 26

Unidad 2: Algoritmos y Diagramas de Flujo.Por: Lic. Edgar Hernández García

Instituto Tecnológico Superior de ZacapoaxtlaDivisión de Ingeniería Mecatrónica

Estructuras iterativas● Las estructuras iterativas son procesos que se repiten un determinado

número de veces, por lo que también se llaman bucles.

● A cada repetición se le llama iteración.

● El proceso consta de una entrada, que puede estar compuesta de varias instrucciones; y una salida que se realizará dada una condición (sea que se cumpla o no).

● Las iteraciones que se ejecutan indefinidamente se llaman bucles infinitos

● En la realidad siempre se buscará realizar bucles finitos, los cuales deben contar con las siguientes partes:

– Preparación y arranque.

– Cuerpo.

– Modificación.

– Control de la condición.

Page 27: Programación Básica Unidad 2: Algoritmos y Diagramas de Flujo

Fecha: 13/04/14 Diap. 27

Unidad 2: Algoritmos y Diagramas de Flujo.Por: Lic. Edgar Hernández García

Instituto Tecnológico Superior de ZacapoaxtlaDivisión de Ingeniería Mecatrónica

Estructura “Mientras-repetir”

● Esta clase de bloque analiza una condición en primer término, mientras ésta se cumpla se realiza un conjunto de instrucciones (proceso) de manera repetitiva, en caso contrario el ciclo se termina.

Page 28: Programación Básica Unidad 2: Algoritmos y Diagramas de Flujo

Fecha: 13/04/14 Diap. 28

Unidad 2: Algoritmos y Diagramas de Flujo.Por: Lic. Edgar Hernández García

Instituto Tecnológico Superior de ZacapoaxtlaDivisión de Ingeniería Mecatrónica

Estructura “Hacer-hasta”

● En este caso se realiza una primera vez el proceso, luego se analiza la condición y si ésta no se cumple se realiza un proceso repetitivo, en caso contrario se finaliza el ciclo.

Page 29: Programación Básica Unidad 2: Algoritmos y Diagramas de Flujo

Fecha: 13/04/14 Diap. 29

Unidad 2: Algoritmos y Diagramas de Flujo.Por: Lic. Edgar Hernández García

Instituto Tecnológico Superior de ZacapoaxtlaDivisión de Ingeniería Mecatrónica

Ciclos automáticos

● En ésta clase de bucles existe una variable “interna” que se encarga de “contar” cuántas veces se ha realizado cada iteración, de tal forma que se puede elegir una cantidad de inicio y una cantidad de fin de ciclo.

Page 30: Programación Básica Unidad 2: Algoritmos y Diagramas de Flujo

Fecha: 13/04/14 Diap. 30

Unidad 2: Algoritmos y Diagramas de Flujo.Por: Lic. Edgar Hernández García

Instituto Tecnológico Superior de ZacapoaxtlaDivisión de Ingeniería Mecatrónica

Ejemplo 1● Diseñar el diagrama de flujo que lea hasta 10 datos

numéricos (es decir que solicite 10 datos) y obtenga su promedio.

Inicio

Suma 0i

i<=10

prom suma suma+datoi i+1

datoprom suma/10

Fin

SÍNO

Page 31: Programación Básica Unidad 2: Algoritmos y Diagramas de Flujo

Fecha: 13/04/14 Diap. 31

Unidad 2: Algoritmos y Diagramas de Flujo.Por: Lic. Edgar Hernández García

Instituto Tecnológico Superior de ZacapoaxtlaDivisión de Ingeniería Mecatrónica

Ejemplo 2● Diseñar un diagrama de flujo que imprima visualmente

números pares de 2 hasta 200

Page 32: Programación Básica Unidad 2: Algoritmos y Diagramas de Flujo

Fecha: 13/04/14 Diap. 32

Unidad 2: Algoritmos y Diagramas de Flujo.Por: Lic. Edgar Hernández García

Instituto Tecnológico Superior de ZacapoaxtlaDivisión de Ingeniería Mecatrónica

Ejemplo 3● Generar un diagrama de flujo que solicite un número entero

positivo y que cuente (e imprima visualmente) de uno en uno hasta el número dado.

Page 33: Programación Básica Unidad 2: Algoritmos y Diagramas de Flujo

Fecha: 13/04/14 Diap. 33

Unidad 2: Algoritmos y Diagramas de Flujo.Por: Lic. Edgar Hernández García

Instituto Tecnológico Superior de ZacapoaxtlaDivisión de Ingeniería Mecatrónica

Ejemplo 4● Generar el diagrama de flujo que permita calcular la media

aritmética de n números.

Page 34: Programación Básica Unidad 2: Algoritmos y Diagramas de Flujo

Fecha: 13/04/14 Diap. 34

Unidad 2: Algoritmos y Diagramas de Flujo.Por: Lic. Edgar Hernández García

Instituto Tecnológico Superior de ZacapoaxtlaDivisión de Ingeniería Mecatrónica

Ejercicio

● Elabore el diagrama de flujo que solicite un número entero positivo N, y que imprima visualmente la secuencia de números primos menores o iguales que N.