viernes, 15 de junio de 2012

Diagrama de flujo de trabajo / Productividad sin estrés

Diagramas de Flujo_Como se Resuelven

Practicas para Hacer en Casa_Pseudocodigos



1.    Hacer un diagrama de flujo que lea N números, calcule y escriba la suma de los pares y el producto de los impares.
Programa: Leer                Programa: Calculo Programa: Suma   Programa: Producto
Entorno                 Entorno                 Entorno                 Entorno
X<_0                    B<_3                    C<_2                    D<_1
Algoritmo             Algoritmo             Algoritmo             Algoritmo
Borrar_Pantalla () Borrar_Pantalla () Borrar_Pantalla () Borrar_Pantalla ()
Mientras X<_0 Hacer      Mientra B<_3 Hacer        Mientras C<_2 Hacer      Mientras D<_1 Hacer
Escribir  X            Escribir B             Escribir C             Escribir D
X<_3                    B<_3                    C<_2                    D<_1
Fin Entorno           Fin Entorno           Fin Entorno           Fin Entorno
Fin  Programa                 Fin Programa                  Fin  Programa                 Fin Programa

2.  Hacer un diagrama de flujo para calcular el máximo común divisor de dos números enteros positivos N y M siguiendo el algoritmo de Euclídes, que es el siguiente:
1. Se divide N por M, sea R el resto.
2. Si R=0, el máximo común divisor es M y se acaba.
3. Se asigna a N el valor de M y a M el valor de R y volver al paso 1.
¿Por qué el método anterior acaba alguna vez? ¿por qué calcula el máximo común divisor de N y
M?
3. Calcular los números primos hasta el N, según la Criba de Eratóstenes, que consiste en poner todos los números del 2 al N en una tabla e ir tachando los múltiplos de cada número, detalladamente es como sigue:
1. Escribir los números del 2 al N.
2. Hacer I igual a 2
3. Mirar el número I de la tabla.
4. Si esta tachado ir al paso 6.
5. Si no lo esta tachar los múltiplos de I en la tabla.
6. Incrementar I.
7. Si I es menor o igual que N ir al paso 3.
8. En otro caso finalizar.
El punto 5 también requiere un algoritmo, que es el siguiente:
5.1 Hacer J igual al doble de I (primer múltiplo de I).
5.2 Si J es mayor que N finalizar (el apartado 5).
5.3 En otro caso tachar el elemento J.
5.4 Incrementar J en I (para pasar al siguiente múltiplo de I).
5.5 Volver a 5.2.
4. Hacer el diagrama de flujo para calcular el factorial de N (N!=1·2·3·...·N).
5. Hacer un diagrama de flujo para sumar los N primeros términos de una progresión geométrica de primer término A y razón R (dados por teclado). Se debe realizar la suma sin emplear la fórmula que existe para ello.
6. Hacer un diagrama de flujo para convertir un número decimal N dado por teclado a binario.
Programa: Conversión
Entorno
N<_2/2
Algoritmo
Borrar_Pantalla ()
Mientras N<_2/2 Hacer
Escribir N
N<_1
Fin Entorno
Fin Programa

7. Hacer un diagrama de flujo para calcular AB, siendo B un entero, nótese que B puede ser 0 o negativo. No se pueden emplear logaritmos.
8. Hacer un diagrama de flujo para calcular el máximo de N números leídos por teclado, se debe realizar de dos formas, una almacenando previamente los números dados por teclado en un array y la otra calculando el máximo directamente según se leen los números del teclado.
9. Hacer un diagrama de flujo para ordenar N números leídos por teclado y almacenados en un array A. El algoritmo es el siguiente:
1. Se lee N y después los N números al array A.
2. Se busca el máximo de los elementos del 1 al N y su índice J.
3. Se intercambian los elementos A(J) y A(N).
4. Se decrementa N en 1.
5. Se compara N con 1, si es mayor se vuelve a 2.
6. Si es menor o igual se termina.
10. Hacer el organigrama de un programa que dado un array A ordenado de N elementos, encuentre la posición de uno B leído por teclado. El algoritmo a emplear es el siguiente:
1. Se fijan los extremos de la porción a buscar: I=1, J=N.
2. Se calcula el índice del elemento medio K=(I+J)/2.
3. Se compara B con el elemento medio A(K).
4. Si es igual se escribe K y se termina.
5. Si es mayor se cambian los extremos a I=K+1, J=N y se vuelve a 2.
6. Si es menor se cambian los extremos a I=1, J=K-1 y se vuelve a 2.


Pensar después que habrá que modificar para que busque también valores de B que no estén en el
array A, si se da ese caso y no lo encuentra debe poner un mensaje diciendo que no esta.
Hacer un organigrama de un programa que adivine el número entre 1 y 1000 pensado por
un humano. El programa debe ir diciendo números y el humano responderá con los símbolos '<', '>' o '=', según el número pensado sea menor, mayor o igual que el dicho por el ordenador. Cuando lo adivine deberá poner un mensaje especificando cuantas preguntas
ha necesitado y finalizar. No debe realizar más de 10 preguntas y debe detectar si el humano le engaña diciéndole cosas imposibles, por ejemplo es mayor que 4 y menor que 5.
Si en lugar de estar el número de partida entre 1 y 1000 estuviera entre 1 y 1000000,
¿cuantas preguntas serían necesarias?

DIAGRAMA DE FLUJO

  Es un esquema para representar gráficamente un algoritmo. Se basan en la utilización de diversos símbolos para representar operaciones específicas, es decir, es la representación grafica de las distintas operaciones que se tienen que realizar para resolver un problema, con indicación expresa el orden lógico en que deben realizarse.
Se les llama diagramas de flujo porque los símbolos utilizados se conectan por medio de flechas para indicar la secuencia de operación. Para hacer comprensibles los diagramas a todas las personas, los símbolos se someten a una normalización; es decir, se hicieron símbolos casi universales, ya que, en un principio cada usuario podría tener sus propios símbolos para representar sus procesos en forma de Diagrama de flujo. Esto trajo como consecuencia que sólo aquel que conocía sus símbolos, los podía interpretar. La simbología utilizada para la elaboración de diagramas de flujo es variable y debe ajustarse a un patrón definido previamente.
El diagrama de flujo representa la forma más tradicional y duradera para especificar los detalles algorítmicos de un proceso. Se utiliza principalmente en programación, economía y procesos industriales.

SÍMBOLOS UTILIZADOS EN LOS DIAGRAMAS DE FLUJO


Este se utiliza para representar el inicio o el fin de un algoritmo. También puede representar una parada o una interrupción programada que sea necesaria realizar en un programa.

Este se utiliza para un proceso determinado, es el que se utiliza comúnmente para representar una instrucción, o cualquier tipo de operación que origine un cambio de valor.

Este símbolo es utilizado para representar una entrada o salida de información, que sea procesada o registrada por medio de un periférico.

Este es utilizado para la toma de decisiones, ramificaciones, para la indicación de operaciones lógicas o de comparación entre datos.

Este es utilizado para enlazar dos partes cualesquiera de un diagrama a través de un conector de salida y un conector de entrada. Esta forma un enlace en la misma página del diagrama.

Este es utilizado para enlazar dos partes de un diagrama pero que no se encuentren en la misma pagina.

A.1. ¿Qué es un Algoritmo o Pseudocódigo?
 Describe el método para realizar una tarea.
Es una secuencia de instrucciones que, ejecutadas adecuadamente, que dan lugar al resultado deseado.
Ejemplos de algoritmos no informáticos:
1¨ Receta de cocina
2¨ Una partitura musical
3¨ Los planos con las instrucciones para construir una casa, ...
A.2. Propiedades de un Algoritmo
 Finitud:
     Número finito de pasos
Definibilidad:
      Cada paso definido de un modo preciso
Conjunto de Entradas:
       Datos iniciales del algoritmo
 Conjunto de Salidas:
       Respuesta que obtenemos del algoritmo
 Efectividad:
        Las operaciones a realizar deben ser básicas, para que el procesador pueda realizarlas
de modo exacto y en tiempo finito
¿Qué es un Pseudocódigo?

R: Un Pseudocódigo o también conocido como Algoritmo es una manera compleja de explicar paso a paso lo que el programador le pide al sistema que haga ó de otra menera explicar paso a paso que vas hacer en la tarde de hoy; es decir.. ejm.
ESCUCHAR MUSICA
1. levantarte del sofa
2. caminar hacia el equipo sonoro
3. encender el equipo sonoro
4. conectar el CD o memoria USB en el equipo
5. seleccionar el tipo de musica a escuchar
6. darle la opcion de reproducir
7. disfrutar de tu musica favorita.

Lo mismo ocurre en el sistema de programacion: es decir..

problema #1: Hacer un programa que imprima las sumas de los 100 primeros Números

Resolución:
Programa: Sumador
Entorno:
C<_100
Algoritmo:
Borrar_Pantalla( )
Mientras C<=0 Hacer
Escribir C