Algoritmos2009 1 Mod2

Descargar como ppt, pdf o txt
Descargar como ppt, pdf o txt
Está en la página 1de 34

Algoritmos y programacin 2da.

semana

DIAGRAMAS DE FLUJOS

QUE ES UN ALGORITMO?
Podramos definirlo como un:

CONJUNTO ORDENADO Y FINITO DE INSTRUCCIONES QUE PERMITEN ENCONTRAR LA SOLUCION DE UN DETERMINADO PROBLEMA

CARACTERISTICAS DE UN ALGORITMO

Un algoritmo debe ser:

PRECISO
Es decir, cada instruccin debe indicar claramente lo que se tiene que hacer.

FINITO
Es decir, debe tener un nmero limitado de pasos.

DEFINIDO
Es decir, debe producir los mismos resultados para las mismas condiciones de entrada.

Diagramas de Flujo
Es una representacin grafica de la solucin de un problema y por ende de un algoritmo Es una tcnica que describe grficamente los pasos que tienen los algoritmos. Algunos elementos esenciales del mismo son: El comienzo del algoritmo. Las operaciones. La secuencia en que se realiza. El final del algoritmo.

Se pueden representar mediante DIAGRAMAS o TEXTO


LOS DIAGRAMAS Representan GRAFICAMENTE las ACTIVIDADES que conforman un PROCESO. Los diagramas son la representacin de la SOLUCIN de un PROBLEMA.
inicio Proceso1 Proceso2 Proceso3

fin

TEXTO
Los algoritmos se pueden representar mediante FRASES que representan los PROCEDIMIENTOS que dan la SOLUCIN al PROBLEMA.

EJEMPLO DE DIAGRAMAS DE FLUJO

inicio

Proceso1

Proceso2

Proceso3

fin

Smbolos
LINEAS DE FLUJO O FLECHAS Muestran la direccin del flujo de datos o secuencia de las instrucciones.

Start

TERMINAL / ECLIPSE Indican el comienzo o final de cada mdulo.

End/Stop/Exit

Smbolos
RECTANGULO / PROCESO

Indica procesamiento como clculos y abrir y cerrar archivos.


PARALELOGRAMO

Indica input y output de la memoria del computador.


IMPRESION DE DOCUMENTO

Representa la impresin de datos (Normalmente de respuesta)

Smbolos
DIAMANTE Indica decisin. Tiene dos salidas dependiendo si la decisin es cierta o falsa.

PROCESO DE UN MODULO Implica que se har un proceso externo o subtarea.

Smbolos
POLIGONO / PREPARACION
Counter A S B

Representa las condiciones de un grupo de procesos que se repiten automticamente utilizando un contador.

A es el valor inicial del contador Counter. S es el incremento del contador. B es el lmite hasta donde debe llegar el contador.

Smbolos
CONECTOR EN LA PAGINA Se utiliza para conectar secciones del diagrama de flujo en una misma pgina. CONECTOR FUERA DE LA PAGINA Conector que une dos partes de diagrama que no caben en una sola pgina. Ambos deben utilizarse lo menos posible.

REGLAS PARA DIBUJAR DIAGRAMAS DE FLUJO

Las instrucciones deben ser escritas dentro de los smbolos.

Si tiene que hacer alguna anotacin o comentario, hgalo al lado del smbolo.
Un diagrama de flujo siempre comienza arriba en la pgina y fluye hacia abajo. Si necesita ms de una pgina dibuje por columnas y utilice conectores. Utilice algn tipo de software para dibujar un DDF. Haga los smbolos lo suficientemente grandes como para que lo que escriba en ellos sea fcil de leer.

EJEMPLO PRACTICO
Freir un Huevo Descripcin: Este diagrama de flujo describe detalladamente como freir un huevo. Inicio

1
Huevo, fsforo cocina, paila, aceite
Abrir huevo Encender Fsforo

Encender cocina con fsforo

Vertir huevo en la paila

Colocar paila sobre cocina

Esperar a que se fra

Agregar aceite a la paila

fin

Diagramas de flujo
Terminal: Decisin: Representa el inicio o el fin de un algoritmo Entrada manual: Representa el almacenamiento de valores en variables mediante entradas por teclado. Proceso: Representa procesos Impresin documento: Representa la impresin de datos (Normalmente de respuesta) Preparacin: Representa las condiciones de un grupo de procesos que se repiten Conector: Conector que une dos partes de diagrama que no caben en una pgina Conector: Conector que une dos partes de diagrama en una misma pgina Una pregunta con la posibilidad de respuesta de dos o ms opciones. Pantalla:

Presentacin de datos en pantalla

Elementos principales de un diagrama de flujo

Diagramas de flujo
Ejemplos
Algoritmo que permite determinar si un nmero dado por el usuario es negativo o positivo

revisarNegativoPositivo Descripcin:

Inicio

permite determinar si un nmero dado por el usuario es negativo o positivo

int n = 0

n
No n >= 0 S Espositivo Esnegativo

fin

Diagramas de flujo formales


Ejemplos
Generar Lista de los primeros 100 Numeros Pares Descripcin: permite mostrar en pantalla la lista de los primeros 100 nmeros pares inicio int n = 0 n < = 100

n=n+2

fin

EJERCICIOS DE DIAGRAMA DE FLUJO

Disear un diagrama de flujo que solicite un nmero y determine si este es par o es non. El diagrama deber de solicitar los datos necesarios y mostrar el resultado.

Tipo de Datos

Problema

Fase de solucin

Paso Difcil

Solucin: Algoritmo

Solucion del Problema: Programa Fase de construccin

Un problema bien definido es resultado de un anlisis exhaustivo y requiere una descripcin precisa de las especificaciones de entrada y salida para poder conseguir una solucin efectiva y eficaz.

Un algoritmo esta constituido por 3 partes: Entrada: Es la informacin dada al algoritmo. Proceso: Son los clculos necesarios. Salida: Son los resultados dadas por el algoritmo.

Datos y Tipos de datos


Datos: Los algoritmos estn diseados para manipular datos. Los datos pueden ser las cifras de ventas mensuales de un supermercado, la nmina del personal de una empresa la fecha de nacimiento de los alumnos de un saln. Tipos de datos: Todos los datos tienen un tipo asociado a ellos q determina el conjunto de todos los posibles valores q un dato puede tener. Los distintos tipos se representan en forma diferente en la computadora y puede ser simple estructurada. Los datos simples tambin son conocidos como datos primitivos y se clasifican en numricos, caracteres, y lgicos

1. Tipos Numrico: Los datos numricos pueden representarse como nmeros enteros y nmeros reales. Los enteros corresponden a los nmeros que no tienen componente fraccionario (decimales), pueden ser (-) (+) los sgts. son ejemplos de datos enteros: 13, -6, 8988, 24 Los Reales son nmeros de parte entera y parte decimal q tienen siempre un punto decimal, los sgtes. son ejemplos de nmeros reales: 36.7; -9.54; 0.0; 9.0; 0.1 2. Tipo Carcter: Esta formado por todos los caracteres o smbolos de los q dispone la computadora.

Caracteres alfabticos maysculas A,B,C,D,...Z. Caracteres alfabticos minsculas a,b,c,d,z. Caracteres dgitos 0,1,2,,9. Caracteres especiales $,%,-,+,>,? Un dato tipo carcter es un solo carcter. Los caracteres se organizan en cadenas. Una cadena de caracteres una secuencia de caracteres, por ejemplo: Maria 1957 07-08-2008 3. Tipo Lgico: Los datos de tipo lgico booleano pueden tomar solo dos valores posibles True (verdadero) false (falso).

Constantes y Variables
En todo programa de computadora existen algunos elementos con un determinado valor. Estos elementos pueden ser constantes variables. Constantes: Las const son objetos cuyo valor permanece invariable a lo largo de ejecucin del programa, ejemplos: pi=3.14154 e=2.71828 utilizara un nombre (identificador) cada vez q se necesite usarlo. Variables: Las variables son objetos q pueden cambiar su valor mediante la ejecucin de un programa, utilizaran un nombre para identificarlo.

Tipo de Operaciones
Aritmeticas ^ Potenciacin: 2^3=8 * Multiplicacin: 2*3=6 / Divisin: 7/2 = 7.0/2 = 7/2.0 = 7.0/2.0 =3.5 div Divisin entera: 7 div 2=3 mod Resto de division entera: 7 mod 2=1 Relacionales = Igual != <> Distinto >= Mayor igual que

<= Menor igual que > Mayor < Menor Lgicas: no negacin y conjuncin o disyuncin Asignacin: La operacin asignacin es una manera muy elemental de especificar que una variable debe tener un valor dado. Se denota como para indicar que el valor situado a su derecha se almacena en la variable situada a la izquierda. Por ejemplo: A 3 significa ala variable A se le asigna el valor 3.

El operacin de asignacin es una operacin destructiva porque remplaza el valor de una variable por un nuevo valor cuando se ejecuta el algoritmo (programa). A 16 A -27 A 9 La variable tiene 16 como valor inicial, al ejecutarse las dos instrucciones siguientes la variable A guardara el valor 9.

Otras Operaciones: ABSC(x): arroja el valor absoluto de un entero real. ABSC(15)=15, ABSC(-69)=69 SQR(x): arroja x*x de un entero o real . SQR(5)=25 SQRT(x): arroja la raiz cuadrada de un entero o real >=0. SQRT(81)=9 TRUNC(x): Arroja el mayor entero T, se debe cumplir que T<=x, por ejemplo: TRUNC(3.2)=3 TRUNC(-4.5)=-4 ROUND(x):Arroja el mayor entero T, tal que se cumpla T<=X+0.5 ROUND(3.2)=3

Reglas de evaluacin de expresiones


Primero se evalan todas las subexpresiones entre parntesis. Las subexpresiones con parntesis anidados se evalan de adentro hacia fuera. Segundo se evaluara la prioridad de las siguientes operaciones: *, /, div, mod +, Los operadores en una misma expresin o subexpresion con igual nivel de prioridad (*, /) se evaluaran de izquierda a derecha.

Ejercicios de Algoritmos

Algoritmo que lea un nmero por el teclado e indique si el nmero ledo es mayor que 10 y si el nmero ledo es menor que 20.

Programa CompararNumero; Entero numero; Inicio EscribeIntroduceunnmero:; Lee numero; Si numero > 10 entonces EscribeElnmeroesmayorque;01 Fin si; Si numero < 20 entonces EscribeElnmeroesmenorque;02 Fin si; Fin;

Algoritmo que lea dos nmeros por teclado y muestre un mensaje por pantalla indicando si el cuadrado el primero es mayor que el cubo del segundo.
Programa ComparaConOperaciones; Entero num1, num2; // Ns leidos por teclado Entero cuadrado, cubo; // Vars. Temporales Inicio EscribeIntroduceelprimernmero; Lee num1; EscribeIntroduceelsegundonmero; Lee num2; cuadrado = n1 * n1; cubo = n2 * n2 * n2; Si cuadrado > cubo entonces EscribeElcuadradodel1esmayorqueelcubodel2; Fin si; Fin; Tarea: Haga el diagrama de flujo del algoritmo

Mensaje de vuestro profesor:


Ahora que con desicin han postulado a sta carrera, no se olviden que estn aqu para mejorar su futuro gracias al esfuerzo de sus familias. Ese mismo esfuerzo esperamos de ustedes tanto ellos como yo. Esta profesin les dar muchas satisfacciones, pero jams se olviden que el xito en la vida requiere sacrificio, tanto de ustedes como de todos los que los rodean y quieren. Cuando se sientan desamparados y crean que no pueden con el estudio, no tiren la toalla, busquemos juntos el camino para que sigan adelante, pidan ayuda a su profesor, a sus amigos de aula, a los que les puedan dar apoyo en los estudios.. En la vida profesional no existe el facilsmo y el derrotismo, solo los luchadores salen adelante y estoy convencido que cada uno de ustedes tiene la capacidad de lograrlo.

Un abrazo y mucha fuerza para todos


Su profesor Ing.Klaus Hnninger Mitrani

También podría gustarte