manual de informatica.@algoritmos@

76
1 Alumna: Verónica Aguilar Jáuregui Grado: Sección: A Docente: Nerita Tarrillo Dávila Curso: Educación para el trabajo

Upload: veronica-aguilar

Post on 21-Mar-2016

230 views

Category:

Documents


0 download

DESCRIPTION

este es un manual el cual nos permitira informarnos y aplicar los algoritmos, de una manera sencilla , facil, rapida, y concreta. donde veras instrucciones , y pasos a seguir para realizar un diagrsma de flujo , o algoritmo

TRANSCRIPT

Page 1: manual de informatica.@algoritmos@

1

Alumna:

Verónica Aguilar Jáuregui

Grado:

Sección:

A

Docente:

Nerita Tarrillo Dávila

Curso:

Educación para el trabajo

Page 2: manual de informatica.@algoritmos@

2

Este trabajo va dedicado a mi mamá, quien cumple el papel de

guía en el camino de mi vida, y que me da consejos para así

sobrepasar todas la adversidades que te da la vida , y saber

valorar todo lo bueno que me ha ofrecido mi salvador.

Page 3: manual de informatica.@algoritmos@

3

Caratula 1

Dedicatoria 2

Índice 3

Presentación 4

Conociendo algoritmos 5

Variables, constantes, tipos de datos, expresiones, operadores 18

Diagramas de flujo de datos 42

Solucionando problemas de diagramas 50

Integrando aprendizajes I 53

Creando diagramas de flujo de datos con el software DFD 55

Estructuras condicionales simples, dobles, múltiples 63

Integrando aprendizaje II 72

Bibliografía 74

Page 4: manual de informatica.@algoritmos@

4

Tengo el agrado, de dar a conocer, un manual de algoritmos, donde

podremos desarrollar nuevas capacidades, y de esa forma realizar

diferentes estrategias, tales como los diagramas de flujo, de cuales iremos

explicando para su mejor entendimiento, su realización, de una forma

sencilla , practica y entendible, descartando dudas y malos entendidos ,

para que finalmente nos podamos desarrollar en este campo de la

informática.

Page 5: manual de informatica.@algoritmos@

5

}

En general, no existe ningún consenso definitivo en cuanto a la 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 los datos de un problema (entrada) en una

solución (salida). Sin embargo cabe notar que algunos algoritmos no

necesariamente tienen que terminar o resolver un problema en particular.

Por ejemplo, una versión modificada de la criba de Eratóstenes que nunca

termine de calcular números primos no deja de ser un algoritmo.

A lo largo de la historia varios autores han tratado de definir formalmente

a los algoritmos utilizando modelos matemáticos como máquinas de

Turing entre otros. Sin embargo, estos modelos están sujetos a un tipo

particular de datos como son números, símbolos o gráficas mientras que, en

general, los algoritmos funcionan sobre una vasta cantidad de estructuras

de datos. En general, la parte común en todas las definiciones se puede

resumir en las siguientes tres propiedades siempre y cuando no

consideremos algoritmos paralelos.

Sin embargo , podemos decir que un algoritmo , es como un conjunto de

instrucciones para resolver un problema, es decir, es una sola prescripción

determinante de un proceso, de calculo.

Page 6: manual de informatica.@algoritmos@

6

Enunciado del problema

Debe ser claro y completo. Para ello es importante conocer que se desea del

computador, ya que así , se podrá pasar a la siguiente etapa.

Análisis de la solución general

Para ello debemos analizar, los datos que nos suministran, y el proceso que

debemos realizar, para finalmente obtener los resultados esperados

Recuerda que debemos ponernos en el lugar del computador, y analizar que

necesito que me ordenen y en que secuencia.

Page 7: manual de informatica.@algoritmos@

7

Diferentes alternativas de solución

Analizando el problema , debemos ver diferentes , varia formas de resolver

lo que se pide, para asi, escoger la mejor alternativa.

Page 8: manual de informatica.@algoritmos@

8

Para ellos debemos tomar en cuenta las propiedades del algoritmo, y luego seguir los diguientes

pasos :

Escribir correctamente el enunciado

Analizar con las siguientes preguntas

¿Qué se quiere?

¿Como se quiere?

¿Que deseo obtener?

Solución

Buscar diferentes alternativas

Utilizar variables referentes a los datos

Finalmente debemos imprimir el resultado

Page 9: manual de informatica.@algoritmos@

9

Por ejemplo

Primero , ponemos inicio , para comenzar

Luego , analizamos lo que nos piden

Nos piden hallar la área del triangulo

Declaramos variables

Calcular la área de un triangulo

Altura , base es entero

Inicio

Page 10: manual de informatica.@algoritmos@

10

Y ponemos a que grupo numeral pertenece los datos o

variables(entero, real, etc…)

Al saber ello, la solución es el producto de la base por altura ,

dividiéndolo entre dos

Área: altura*base/2

Leer :

altura, base

Page 11: manual de informatica.@algoritmos@

11

Finalmente imprimimos el resultado

Luego ponemos fin , e indicamos la finalización y el acabado .

De esa forma, el computador halla el resultado, de una forma fácil y

correcta.

La área del triangulo ; área

Fin

Page 12: manual de informatica.@algoritmos@

12

Segundo ejemplo:

Calcular la raíz cuadrada del producto de dos

números

N1 , n2 es real

Leer : n1 , n2

inicio

Page 13: manual de informatica.@algoritmos@

13

La raíz cuadrada del producto de

dos números ; res

Res: Squart(n1 *n2)

Fin

Page 14: manual de informatica.@algoritmos@

14

Sin embargo , los ejemplos anteriores , son con diagramas pero también

hay de la siguiente forma:

Inicio

N, n1, son enteros

Leer n, n1

calcular N*n1

La multiplicación de dos números

Fin

Si nos damos cuenta el “inicio” y “fin” están

posicionados en otra altura diferente de las

demás.

Page 15: manual de informatica.@algoritmos@

15

ALGORITMO:

1.- Es una secuencia de pasos o procesos lógicamente relacionados entre sí

a fin de obtener la solución a un problema planteado.

2.- Es una lista de instrucciones para efectuar paso a paso un proceso.

3.- Conjunto “FINITO” de pasos o instrucciones, seguidas en un orden lógico,

los cuales nos llevan a la solución de un problema específico.

4.- Una serie de instrucciones colocadas en cierta secuencia, necesarias para

la descripción de las operaciones que llevan a la solución de un problema.

5.- Es un procedimiento completo para resolver un problema específico en

un número “FINITO” de pasos.

6.- Es un método para resolver un problema mediante una serie de datos

precisos, definidos y finitos.

PASOS PARA PLANTEAR LA SOLUCIÓN A UN PROBLEMA:

1.- Análisis del problema.

Page 16: manual de informatica.@algoritmos@

16

2.- Identificar las entradas, procesos y salidas del problema, declaración de

variables.

3.- Diseño del Algoritmo: Describe la secuencia ordenada de los pasos, sin

ambigüedad, es decir, siendo preciso y veraz en la búsqueda de la solución

al problema.

4.- Codificación del Algoritmo: Es la expresión en un lenguaje de

programación de los pasos definidos en el algoritmo.

5.- Ejecución y validación del programa por el computador.

CARACTERÍSTICAS DE ALGORITMOS:

Las características fundamentales que debe cumplir todo algoritmo son:

1.- Un algoritmo debe ser preciso e indicar el orden de realización de cada

paso.

2.- Un algoritmo debe estar bien definido, es decir, si se sigue la ejecución

dos veces del mismo se debe obtener la misma secuencia lógica. El

algoritmo debe definirse de forma precisa para cada paso, es decir, hay que

evitar toda ambigüedad al definir cada paso. Puesto que el lenguaje

humano es impreciso, los algoritmos se expresan mediante un lenguaje

formal, ya sea matemático o de programación para un computador.

Page 17: manual de informatica.@algoritmos@

17

3.- Un algoritmo debe ser “FINITO”, Si se sigue un algoritmo se debe

terminar en algún momento; o sea, debe tener un numero finito de pasos.

4.- Entrada: El algoritmo tendrá cero o más entradas, es decir, cantidades

dadas antes de empezar el algoritmo. Estas cantidades pertenecen además

a conjuntos especificados de objetos. Por ejemplo, pueden ser cadenas de

caracteres, enteros, naturales, fraccionarios, etc. Se trata siempre de

cantidades representativas del mundo real expresadas de tal forma que

sean aptas para su interpretación por el computador.

5.- Salida: El algoritmo tiene una o más salidas, en relación con las

entradas.

http://html.rincondelvago.com/algoritmos-y-

diagramas-de-flujo.html

Page 18: manual de informatica.@algoritmos@

18

Page 19: manual de informatica.@algoritmos@

19

Una variable es un símbolo que representa un elemento o cosa no especificada de un conjunto dado. Dicho conjunto es llamado conjunto universal de la variable, universo o variar de la variable, y cada elemento del conjunto es unvalor de la variable. Sea x una variable cuyo universo es el conjunto {1,3,5,7,9,11,13}; entonces x puede tener cualquiera de esos valores: 1,3,5,7,9,11,13. En otras palabras x puede reemplazarse por cualquier entero positivo impar menor que 14. Por esta razón, a menudo se dice que una variable es un reemplazo de cualquier elemento de su universo..

Una variable es un elemento de una fórmula, proposición o algoritmo que puede adquirir o ser sustituido por un valor cualquiera (siempre dentro de su universo). Los valores que una variable es capaz de recibir, pueden estar definidos dentro de un rango, y/o estar limitados por razones o condiciones de pertenencia, al universo que les corresponde (en estos casos, el universo de la variable pasa a ser un subconjunto de un universo mayor, el que tendría sin las restricciones).

En muchos usos, lo contrario de una variable es una constante. También puede considerarse a las constantes como caso particular de variables, con un universo unitario (con un solo elemento), ya que sólo pueden tener un valor, y no pueden modificarlo.

Page 20: manual de informatica.@algoritmos@

20

Una constante es un valor que no puede ser alterado durante la ejecución de un programa.

Una constante corresponde a una longitud fija de un área reservada en la memoria principal del ordenador, donde el programa almacena valores fijos.

Por ejemplo:

El valor de pi = 3.1416

Por conveniencia, el nombre de las constantes suele escribirse en mayúsculas en la mayoría de lenguajes.

Ejemplo de una constante en C(#define)

En C las constantes se declaran con la directiva #define, esto significa que esa constante tendrá el mismo valor a lo largo de todo el programa. El identificador de una constante así definida será una cadena de caracteres que deberá cumplir los mismos requisitos que el de una variable (sin espacios en blanco, no empezar por un dígito numérico, etc).

Page 21: manual de informatica.@algoritmos@

21

Tipo de dato informático es un atributo de una parte de los datos que indica al ordenador (y/o al programador) algo sobre la clase de datos sobre los que se va a procesar. Esto incluye imponer restricciones en los datos,como qué valores pueden tomar y qué operaciones se pueden realizar. Tipos de datos comunes son: enteros, números de coma flotante (decimales), cadenas alfanuméricas, fechas, horas, colores, coches o cualquier cosa que se nos ocurra. Por ejemplo, en el tipo "int" representa un conjunto de enteros de 32 bits cuyo rango va desde el -2.147.483.648 al 2.147.483.647, así como las operaciones que se pueden realizar con los enteros, como la suma, resta y multiplicación. Los colores, por otra parte, se representan como tres bytes denotando la cantidad de rojo, verde y azul, y una cadena de caracteres representando el nombre del color; las operaciones permitidas incluyen la adición y sustracción, pero no la multiplicación.

Éste es un concepto propio de la informática, más específicamente de los lenguajes de programación, aunque también se encuentra relacionado con nociones similares de las matemáticas y la lógica.

Page 22: manual de informatica.@algoritmos@

22

En un sentido amplio, un tipo de datos define un conjunto de valores y las operaciones sobre estos valores.1 Casi todos los lenguajes de programación explícitamente incluyen la notación del tipo de datos, aunque lenguajes diferentes pueden usar terminología diferente. La mayor parte de los lenguajes de programación permiten al programador definir tipos de datos adicionales, normalmente combinando múltiples elementos de otros tipos y definiendo las operaciones del nuevo tipo de dato. Por ejemplo, un programador puede crear un nuevo tipo de dato llamado "Persona" que especifica que el dato interpretado como Persona incluirá un nombre y una fecha de nacimiento.

Un tipo de dato puede ser también visto como una limitación impuesta en la interpretación de los datos en un sistema de tipificación, describiendo la representación, interpretación y la estructura de los valores u objetos almacenados en la memoria del ordenador. El sistema de tipificación usa información de los tipos de datos para comprobar la verificación de los programas que acceden o manipulan los datos.

Page 23: manual de informatica.@algoritmos@

23

Una expresión es una combinación

de constantes, variables o funciones, que es interpretada

(evaluada) de acuerdo a las normas particulares de precedencia y

asociación para un lenguaje de programación en particular. Como

en matemáticas, la expresión es su "valor evaluado", es decir, la

expresión es una representación de ese valor.

Ejemplos de expresiones

Expresión aritmética: 3+2, x+1, ...

Expresión lógica: x OR y, NOT x, ...

Expresión con predicados: P(a) AND Q(b), ...

Page 24: manual de informatica.@algoritmos@

24

Un operador es un símbolo matemático que indica que debe ser llevada a cabo una operación especificada1 sobre un cierto número de operandos (número, función, vector, etc.).

Operadores de condición

Relacionan un término A con otro B estableciendo su igualdad, jerarquía o cualquier otra relación posible, como ejemplos tenemos:

A = B establece que A es igual que B.

En este caso hay que distinguir entre operador = de asignación y el operador = de comparación. El primero toma el valor de B y se lo asigna a A; el segundo solamente compara los valores de A y B sin modificarlos y devuelve un valor lógico o de verdad verdadero si ambos valores son iguales o falso si dichos valores no son iguales.

A ≠ B o desigualdad.

Este caso es justamente el opuesto al anterior, aunque aquí no podemos hablar de asignación, pero si de comparación. Ahora el resultado de esta operación será F si los valores A y B son iguales y V si son distintos.

Operadores de orden: establecen o verifican clasificaciones entre números (A < B, A > B, etc.) u otro tipo de valores (caracteres, cadenas, ...).

Todo tipo de dato susceptible de ser ordenado por cualquier criterio puede ser comparado con estos operadores; como los anteriores devuelven un valor de verdad en función del resultado que tenga la comparación en cada caso.

Page 25: manual de informatica.@algoritmos@

25

A > B Devuelve V si A es estrictamente mayor que B y F en caso contrario

A < B Devuelve V si A es estrictamente menor que B y F en caso contrario

A ≥ B Devuelve V si A es mayor o igual que B y F en caso contrario

A ≤ B Devuelve V si A es menor o igual que B y F en caso contrario

Otros operadores relacionales menos usuales son los llamados operadores geométricos: paralelismo (A || B), perpendicularidad y otros

Operadores lógicos

Artículo principal: Operador lógico.

Muy utilizados en Informática, Lógica proposicional y Álgebra booleana, entre otras disciplinas. Los operadores lógicos nos proporcionan un resultado a partir de que se cumpla o no una cierta condición. Esto genera una serie de valores que, en los casos más sencillos, pueden ser parametrizados con los valores numéricos 0 y 1, como se puede apreciar en los ejemplos de abajo. La combinación de dos o más operadores lógicos conforma una función lógica-

Los más sencillos son (nótese su relación con los operadores relacionales):

Operador NO-lógico: '¬A' significa todo lo que no es A'

Page 26: manual de informatica.@algoritmos@

26

Operador Y-lógico: 'A ∧ B' significa 'A y B a la vez'; resultando FALSO (0) si no se cumple y VERDADERO (1) si sí lo hace.

Operador O-lógico: 'A ∨ B' significa 'O bien A, o bien B, o bien los dos'; resultando FALSO (0) si no se dan ni A ni B y VERDADERO (1) si se da alguno de los dos o los dos a la vez.

Operador =: 'A = B' significa 'A debe ser igual a B'; resultando FALSO (0) si esto no es así y VERDADERO (1) en caso contrario.

Operador <: 'A < B' significa 'A debe ser menor que B'; resultando FALSO (0) si no se satisface y VERDADERO (1) en caso contrario.

Los operadores más complejos se construyen a partir de los anteriores (podría incluirse alguno más) y ya entran dentro de lo que sería una función lógica. Un ejemplo muy utilizado sería 'SI(condición;A;B)' ('IF condición THEN A ELSE B' en la mayoría de los lenguajes de programación) cuyo resultado sería A si se satisface la 'condición' o B en caso contrario.

Operaciones aritméticas

Las operaciones aritméticas pueden ser entendidas, desde un punto de vista operacional, como operadores bivariantes o como operadores a derecha. Por ejemplo, '2 × 3' puede ser el operador bivariante de la multiplicación actuando sobre los números 2 y 3, o el operador '2 ×' que actúa sobre 3. En este grupo se encuentran la adición, la sustracción, multiplicación y la división.

Otras operaciones, derivadas de las operaciones aritméticas usuales son la potenciación, radicación y logaritmación.

Page 27: manual de informatica.@algoritmos@

27

http://es.wikipedia.org/wiki/Variable

http://es.wikipedia.org/wiki/Constante_(informática)

http://es.wikipedia.org/wiki/Tipo_de_dato

http://es.wikipedia.org/wiki/Expresión_(informática)

http://es.wikipedia.org/wiki/Operador

Page 28: manual de informatica.@algoritmos@

28

Además………….

VARIABLE:

Es un valor no fijo que permanece almacenado en la memoria del computador y que es identificado con un nombre único y irrepetible.

Podemos definirlo como cualquier cantidad o valor al cual hacemos referencia asignándole un nombre, clave (casi siempre abreviada) y que tomará diferentes valores durante el proceso.

Ejemplo: Nombres y Apellidos, Sueldo, Número de Cédula de Identidad.

Físicamente, una variable es un espacio o dirección en la memoria del computador.

A= 0

A= B

Sueldo= SDO

Nombre= NOMBS

Page 29: manual de informatica.@algoritmos@

29

CARACTERÍSTICAS DE LAS VARIABLES:

El nombre de una variable puede ir formado por una o más letras, números o la combinación de ambas.

A COD COD01

Los nombres de las variables siempre deberán comenzar por una letra.

FAC001 Nunca: 01COD

COD01 Nunca: 001FAC

Los nombres de las variables no deberán ir separados por espacios en blanco.

Debe ser memotécnica.

Código Empleado = CODEMP

Cédula= CED

Page 30: manual de informatica.@algoritmos@

30

Sueldo= SDO

Impuesto sobre la Renta= ISLR

Seguro Social Obligatorio= SS0

Monto= MTO

TIPOS DE VARIABLES:

Alfanuméricas: Son aquellas que pueden almacenar cualquier carácter, letras (A-Z); números (0-9), espacios en blanco, o caracteres especiales (¡ , %, *, + , /, $, &, etc…)

Ejemplos:

ISLR= 10%

CED$= V- &&.&&&.&&&

FEC= (__/__/__)

Numéricas: Son aquellas que almacenan sólo números (Dígitos) de (0-9).

Page 31: manual de informatica.@algoritmos@

31

A= 0

SDO=

CED= En números.

TOT=

MTO=

CONSTANTE:

Es un valor que no varía, definido con un nombre único y irrepetible que no va a cambiar durante todo el algoritmo (Programa).

Es cualquier cantidad, la cual puede aparecer en forma “LITERAL” y permanecerá invariable durante el proceso (Va a almacenar un valor inalterable).

Ejemplos:

C= 5 Valor Fijo

C= C+1

Page 32: manual de informatica.@algoritmos@

32

C= (5)+1

CONTADOR:

Es un valor que se incrementa o decrementa, según sea el caso, un contador en términos constante es un valor fijo que se va a ir contando, es decir cumpliendo una función cuantitativa.

Es un campo en memoria, el cual sirve (como su nombre lo indica) para contar, éste incrementa en el valor de 1 y nos muestra el número de veces que el proceso ha detectado una ocurrencia determinada y siempre deberemos expresarlo en forma cuantitativa.

C= 0

Ejemplo: C= C + 1

C= Variable contador

C + 1= Se incrementa cuantitativamente.

PR= Promedio de Notas.

Page 33: manual de informatica.@algoritmos@

33

TNOT= Total Notas

C= Cantidad de alumnos.

C= 100 hasta C= 0 (Decrementa)

1 ó 2= Número de veces que se incrementa Número o decrementa el contador.

Incremento Decremento

C=0 C=100

ACUMULADOR:

Es un campo de memoria, un valor que se incrementa en forma no definida esto por la suma de otro valor a dicho campo.

Es un campo en memoria, pero que su incremento no es de 1, sino que viene alterándose por la suma de un valor a dicho campo.

Ejemplo= TSDO= 0

TSDO= TSDO + SDO

Page 34: manual de informatica.@algoritmos@

34

0 + 14000

14000 + 20000

34000 + 2000

36000

Todos los totales implica Acumulador, posiblemente se puede utilizar sumatoria ".

DECISIÓN:

Es una evaluación o determinación que va arrojar un valor verdadero o falso.

Ejemplo: Determinar cual de dos números es el mayor en forma de Algoritmo.

1.- Inicio

2.- Declarar: N1= 0; N2= 0

3.- Primer número: N1

Page 35: manual de informatica.@algoritmos@

35

4.-Segundo número: N2

5.-Preguntar: SI N1 > N2 *Decisión*

5.1.- Entonces El Nº mayor es: N1

5.2.- De lo contrario mostrar

5.3.- EL Nº mayor es:N2

6.- Fin

OPERADORES RELACIONALES:

> = Mayor que (Q´)

< = Menor que (Q´)

" = Mayor o igual (Q´)

" = Menor o igual (Q´)

< > = Diferente ó desigual

Page 36: manual de informatica.@algoritmos@

36

= Igual

OPERADORES LÓGICOS:

AND=

NOT=

OR=

OPERADORES ARITMETICOS:

+ = Suma

- = Resta

* = Multiplicación

/ = División

^ = Exponente o potencia

Ejemplos:

Page 37: manual de informatica.@algoritmos@

37

TASG = TASG + ASD

NETO = TASG - TDED

ISLR = SDO * 2%

PROM = TNOTAS / Nº ALUMNOS

1.- Diagrama de Flujo que calcule el 13,5% de cualquier número; lo muestre por impresora.

- Identificación de variables y análisis de proceso.

N= 0

C= 13,5%

R= N * 13,5% ó R= N*C

Page 38: manual de informatica.@algoritmos@

38

1.- Algoritmo y Diagrama de Flujo para calcular la masa de un objeto que se mueve con una fuerza y una aceleración, donde: F= m.a, Imprimir el resultado con su respectivo mensaje.

- Identificación de variables y análisis de proceso.

F= m * a

m= f / a

1.- Algoritmo y Diagrama de Flujo para calcular el área de un círculo donde: a= ¶ * r2

- Identificación de variables y análisis de proceso.

a= 0

r= 0

¶= 3,14

Page 39: manual de informatica.@algoritmos@

39

A.- Algoritmo que describe el proceso de verificar el Por qué?, de tu solvencia de examen dice: “No puede presentar”.

1.- Inicio.

2.- Leer solvencia.

3.- Verificar la causa del problema.

4.- Si el problema es falta de pago.

5.- Cancelo la mensualidad.

6.- Entonces, puedo presentar.

7.- Si el problema es falta de nota

8.- Entonces, no puedo presentar

9.- Error en el Departamento de Control de Estudios.

10.- Soluciono el problema.

Page 40: manual de informatica.@algoritmos@

40

11.- Entonces, puedo presentar.

12.- Fin.

B.- Algoritmo que ayude a verificar porqué el torniquete del Metro de Caracas, me impide salir.

1.- Inicio

2.- Si el torniquete está DAÑADO.

3.- Entonces, voy a otro torniquete, puedo salir.

4.- Si el importe del ticket es menor.

5.- Entonces, pago la diferencia.

6.- Si el ticket está deteriorado.

7.- Entonces, me dirijo al Operador, puedo salir.

8.- Fin

c.- Algoritmo que descarte Por qué ¿, el CPU del computador que se te asignó en el Laboratorio no enciende.

Page 41: manual de informatica.@algoritmos@

41

1.- Inicio

2.- Verifico la causa del problema.

3.- Si el problema es falta de energía eléctrica.

4.- Entonces, no puedo utilizar el computador, fin.

5.- Si el problema es porque no está enchufado.

6.- Enchufo el cable soluciono el problema.

7.- Si el problema es de carácter técnico.

8.- Entonces no puedo utilizar el computador, fin.

9.- Si el problema es que el computador está Dañado.

10.- Entonces, utilizo otro computador.

11.- Fi

http://html.rincondelvago.com/algoritmos-y-diagramas-de-flujo.html

Page 42: manual de informatica.@algoritmos@

42

El diagrama de flujo es la representación gráfica del algoritmo o proceso. Se utiliza en disciplinas como la programación, la economía, los procesos industriales y la psicología cognitiva. Estos diagramas utilizan símbolos con significados bien definidos que representan los pasos del algoritmo, y representan el flujo de ejecución mediante flechas que conectan los puntos de inicio y de fin de proceso.

Características

Un diagrama de flujo siempre tiene un único punto de inicio y un único punto de término.

Las siguientes son acciones previas a la realización del diagrama de flujo:

Identificar las ideas principales a ser incluidas en el diagrama de flujo. Deben estar presentes el dueño o responsable del proceso, los dueños o responsables del proceso anterior y posterior y de otros procesos interrelacionados, otras partes interesadas.

Definir qué se espera obtener del diagrama de flujo.

Identificar quién lo empleará y cómo.

Establecer el nivel de detalle requerido.

Page 43: manual de informatica.@algoritmos@

43

Determinar los límites del proceso a describir.

Los pasos a seguir para construir el diagrama de flujo son:

Establecer el alcance del proceso a describir. De esta manera quedará fijado el comienzo y el final del diagrama. Frecuentemente el comienzo es la salida del proceso previo y el final la entrada al proceso siguiente.

Identificar y listar las principales actividades/subprocesos que están incluidos en el proceso a describir y su orden cronológico.

Si el nivel de detalle definido incluye actividades menores, listarlas también.

Identificar y listar los puntos de decisión.

Construir el diagrama respetando la secuencia cronológica y asignando los correspondientes símbolos.

Asignar un título al diagrama y verificar que esté completo y describa con exactitud el proceso elegido.

Page 44: manual de informatica.@algoritmos@

44

Ventajas de los diagramas de flujo

Favorecen la comprensión del proceso al mostrarlo como un dibujo. El cerebro humano reconoce muy fácilmente los dibujos. Un buen diagrama de flujo reemplaza varias páginas de texto.

Permiten identificar los problemas y las oportunidades de mejora del proceso. Se identifican los pasos, los flujos de los re-procesos, los conflictos de autoridad, las responsabilidades, los cuellos de botella, y los puntos de decisión.

Muestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan, facilitando a los empleados el análisis de las mismas.

Son una excelente herramienta para capacitar a los nuevos empleados y también a los que desarrollan la tarea, cuando se realizan mejoras en el proceso.

Al igual que el pseudocódigo, el diagrama de flujo con fines de análisis de algoritmos de programación puede ser ejecutado en un ordenador, con un Ide como Free DFD.

Page 45: manual de informatica.@algoritmos@

45

Los símbolos que usamos son los siguientes:

Page 46: manual de informatica.@algoritmos@

46

Ejemplo3:

Primero, ponemos inicio , para comenzar

Luego, analizamos lo que nos piden

Calcular la área de un triangulo

Inicio

Page 47: manual de informatica.@algoritmos@

47

Nos piden hallar la área del triangulo

Declaramos variables

Y ponemos a que grupo numeral pertenece los datos o variables

(entero, real, etc…)

Altura , base es entero

Leer :

altura, base

Page 48: manual de informatica.@algoritmos@

48

Al saber ello, la solución es el producto de la base por altura ,

dividiéndolo entre dos

Finalmente imprimimos el resultado

Área: altura*base/2

La área del triangulo ; área

Page 49: manual de informatica.@algoritmos@

49

Luego ponemos fin , e indicamos la finalización y el acabado .

De esa forma, el computador halla el resultado, de una forma fácil y

correcta.

Fin

Page 50: manual de informatica.@algoritmos@

50

Observaciones

De esa manera podemos analizar

cada expresión que nos piden según la circunstancia.

Debemos tratar que sea de la forma mas sencilla y correcta , recordando el procedimiento mas corto .

Page 51: manual de informatica.@algoritmos@

51

Page 52: manual de informatica.@algoritmos@

52

Ejemplos:

Determinar la hipotenusa de un triángulo rectángulo conocidas las longitudes de sus dos catetos. Desarrolle el algoritmo correspondiente.

Pseudocódigo

1. Inicio 2. Declaración de Variables: CatA= 0, CatB=0 3. Leer el valor de cada cateto 4. Almacenarlo en la variable CatA y CatB 5. Calcular el valor de Hip con la formula indicada 6. Escribir el valor de la Hipotenusa 7. Fin

Page 53: manual de informatica.@algoritmos@

53

Desarrolle un algoritmo que permita determinar el área y volumen de un cilindro dado su radio (R) y altura (H).

Page 54: manual de informatica.@algoritmos@

54

http://es.wikipedia.org/wiki/Diagrama_de_flujo

Page 55: manual de informatica.@algoritmos@

55

Page 56: manual de informatica.@algoritmos@

56

Resolver ……..

Algoritmo que descarte Por qué ¿, el CPU del computador que se te

asignó en el Laboratorio no enciende.

Algoritmo que ayude a verificar porqué el torniquete del Metro de Caracas, me impide salir.

Algoritmo que describe el proceso de verificar el Por qué?, de tu solvencia de examen dice: “No puede presentar”.

Hacer un diagrama de flujo para sumar los N primeros términos de una progresión geométricade primer término A y razón R (dados por teclado). Se debe realizar la suma sinemplear la fórmula que existe para ello.

Hacer un diagrama de flujo que dada una lista de N cantidad de números, calcule la cantidad de pares y de impares, así como la posición de los números pares dentro de la lista.

.Hacer un diagrama de flujo que dada una lista de N cantidad de números, calcule la cantidad de pares y de impares, así como la posición de los números pares dentro de la lista.

Page 57: manual de informatica.@algoritmos@

57

Page 58: manual de informatica.@algoritmos@

58

Este programa permite, como la ayuda del mismo lo indica, construir y diseñar algoritmos creando Diagramas de Flujo de Datos para la representación de algoritmos de programación estructurada. Una vez diseñado el flujo de datos (?), podrá ejecutarlo, analizarlo y depurarlo (imprimirlo, guardarlo y abrirlo). En gran medida, este programa, facilita el trabajo con los diagramas.

Los tipos de datos que acepta son los reales, las cadenas y los lógicos. También soporta los arreglos (vectores y matrices) de n-dimensiones. Los nombres de las variables deberán empezar con una letra seguida de letras, números o el caracter _ (guión bajo).

Los principales atajos son:

CTRL+N Nuevo diagrama

CTRL+A Abrir un diagrama

CTRL+G Guardar el diagrama

CTRL+P Imprimir el diagrama

CTRL+X Cortar

CTRL+C Copiar

CTRL+V Pegar

SUPR ó DEL Eliminar Objeto

INS Insertar un objeto

ENTER o Doble click Editar objeto

F9 Ejecutar diagrama

F7 Ejecución a paso simple (objeto por objeto con pausa)

F4 Ejecutar hasta el objeto seleccionado

F5 Evaluar objetos o variables

F7 Ejecución a paso simple (objeto por objeto con pausa

Page 59: manual de informatica.@algoritmos@

59

Los principales objetos son:

Inicio Indica el inicio del Diagrama

Fin Indica el fin del Diagrama

Asignación Este objeto puede igualar (asignar) valores hasta tres variables

Decisión Selecciona el flujo del programa dependiendo del valor lógico de la condición indicada. Podrá utilizarse cualquier tipo de operador o variable. Se le indicará que lado fluirá el diagrama si la condición es verdadera.

Lectura Permite la entrada de valores que serán almacenados en las variables. Si es más de una variable deberán separarse mediante las comas.

Salida Muestra el valor de las expresiones. Si es más de una expresión utilice las comas para separarlas. Si desea colocar un mensaje adicional, enciérrelo entre los apóstrofes.

Ciclo Para Permite indicar el número de veces que se efectuarán una o más acciones dentro del bucle. Se utilizará una variable índice la cual irá desde un límite inferior hasta un superior, incrementándose en lo indicado en el mismo ciclo.

Ciclo Mientras El bucle del ciclo se efectuará mientras la condición sea verdadera, es decir, no se sabe de antemano cuantas veces se realizará esta operación.”

http://plataforma.cbtis122.net/mod/page/view.php?id=1172

Page 60: manual de informatica.@algoritmos@

60

El dfd es un programa, diseñado para analizar y construir los algoritmos. Se pueden crear diagramas de flujo de datos para representar algoritmos; estos son problemas planteados que se pueden solucionar a través de un proceso específico, teniendo en cuenta que el mismo proceso aplica solo para el mismo problema, entonces podríamos decir que para cada problema algorítmico se aplica una solución diferente. El programa posee una serie de herramientas y comandos para utilizar en la construcción de algoritmos.

Page 61: manual de informatica.@algoritmos@

61

La ventana de dfd .

Page 62: manual de informatica.@algoritmos@

62

La barra de menús

Aquí encontramos las siguientes opciones:

Archivo: Este menú se encarga del manejo del archivo que

estemos trabajando. Están los siguientes comandos:

Nuevo: Para crear un nuevo archivo DFD.

Abrir: Para abrir un archivo DFD guardado.

Guardar: Para guardar el archivo que se está utilizando.

Guardar como: Para guardar con un nombre diferente el DFD

que se está utilizando. Imprimir: Para imprimir el archivo

DFD abierto.

Salir: Para terminar la sesión.

Edición: Este menú es el encargado de manejar los comandos

de Edición del Archivo dfd: Cortar: Para quitar un elemento

del archivo

Copiar: Para copiar el elemento marcado en el archivo

Page 63: manual de informatica.@algoritmos@

63

Pegar: Para pegar en el diagrama el elemento copiado o

cortado anteriormente.

Eliminar: Para borrar el elemento marcado en el archivo.

Editar Objeto: Para cambiar el contenido del elemento

marcado.

Objeto: En este menú se utilizan todos los comandos que

están representados en iconos en la misma ventana

principal.

Ver: Este menú habilita los siguientes comandos:

Zoom: Para ampliar o disminuir la vista general del archivo.

Anterior Subprograma: Para ver el archivo del anterior

subprograma cuando exista. Siguiente Subprograma: Para

ver el archivo del siguiente subprograma cuando exista.

Ejecución: Este menú activa la ejecución del diagrama,

contiene los siguientes comandos: Ejecutar: Para iniciar la

ejecución del archivo.

Page 64: manual de informatica.@algoritmos@

64

Pausar: Para pausar la ejecución.

Detener: Para interrumpir la ejecución.

Depuración: Controla las actividades de avance del archivo.

Se compone de los siguientes comandos:

Paso Simple: Analiza cada elemento paso a paso e indica el

recorrido delineando la zona con un color.

Ejecutar Hasta: Permite marcar un elemento dentro del

archivo y realizar la ejecución del diagrama solo hasta ese

punto.

Detener: Para interrumpir el avance.

http://dfdgurzaf.wordpress.com/2010/05/06/tipos-de-datos-y-variables/#more-115

Page 65: manual de informatica.@algoritmos@

65

Page 66: manual de informatica.@algoritmos@

66

Estructura condicional simple.

Cuando se presenta la elección tenemos la opción de realizar una actividad

o no realizar ninguna.

Representación gráfica:

Podemos observar: El rombo representa la condición. Hay dos opciones que

se pueden tomar. Si la condición da verdadera se sigue el camino del

verdadero, o sea el de la derecha, si la condición da falsa se sigue el camino

de la izquierda.

Se trata de una estructura CONDICIONAL SIMPLE porque por el camino del

verdadero hay actividades y por el camino del falso no hay actividades.

Por el camino del verdadero pueden existir varias operaciones, entradas y

salidas, inclusive ya veremos que puede haber otras estructuras

condicionales.

Page 67: manual de informatica.@algoritmos@

67

Problema:

Ingresar el sueldo de una persona, si supera los 3000 pesos mostrar un

mensaje en pantalla indicando que debe abonar impuestos.

Diagrama de flujo:

Podemos observar lo siguiente: Siempre se hace la carga del sueldo, pero si

el sueldo que ingresamos supera 3000 pesos se mostrará por pantalla el

mensaje "Esta persona debe abonar impuestos", en caso que la persona

cobre 3000 o menos no aparece nada por pantalla.

Page 68: manual de informatica.@algoritmos@

68

Estructura condicional doble

Cuando se presenta la elección tenemos la opción de realizar una actividad u otra. Es decir tenemos actividades por el verdadero y por el falso de la condición. Lo más importante que hay que tener en cuenta que se realizan las actividades de la rama del verdadero o las del falso, NUNCA se realizan las actividades de las dos ramas.

Representación gráfica:

En una estructura condicional compuesta tenemos entradas, salidas, operaciones, tanto por la rama del verdadero como por la rama del falso.

Page 69: manual de informatica.@algoritmos@

69

Problema:

Realizar un programa que solicite ingresar dos números distintos y muestre por pantalla el mayor de ellos.

Diagrama de flujo:

Page 70: manual de informatica.@algoritmos@

70

Se hace la entrada de num1 y num2 por teclado. Para saber cual variable tiene un valor mayor preguntamos si el contenido de num1 es mayor (>) que el contenido de num2, si la respuesta es verdadera vamos por la rama de la derecha e imprimimos num1, en caso que la condición sea falsa vamos por la rama de la izquierda (Falsa) e imprimimos num2.

Como podemos observar nunca se imprimen num1 y num2 simultáneamente.

Estamos en presencia de una ESTRUCTURA CONDICIONAL COMPUESTA ya que tenemos actividades por la rama del verdadero y del falso.

http://www.javaya.com.ar/detalleconcepto.php?codigo=80&inici

o=

Page 71: manual de informatica.@algoritmos@

71

Estructura condicional triple

Las estructuras de comparación múltiples, es una toma de decisión

especializada que permiten evaluar una variable con distintos

posibles resultados, ejecutando para cada caso una serie de

instrucciones especificas

Ejemplo :

Se desea escribir un algoritmo que pida la altura de una persona, si la altura

es menor o igual a 150 cm envíe el mensaje: “Persona de altura baja”; si la

altura está entre 151 y 170 escriba el mensaje: “Persona de altura media” y

si la altura es mayor al 171 escriba el mensaje: “Persona alta”. Exprese el

algoritmo usando Pseudocódigo y diagrama de flujos.

Page 72: manual de informatica.@algoritmos@

72

Pseudocódigo:

INICIO

Altura: ENTERO

ESCRIBA “Cuál es tu altura? ”

LEA Altura

Si Altura <=150 entonces

ESCRIBA “persona de altura baja”

Sino

Si Altura <=170 entonces

ESCRIBA “persona de altura media”

Sino

Si Altura>170 ENTONCES

ESCRIBA “persona alta”

Fin-Si

Fin-Si

Fin-Si

FIN

¡Es importante ser ordenado en el código que se escribe!

Page 73: manual de informatica.@algoritmos@

73

Diagrama de flujo:

http://www.desarrolloweb.com/articulos/2225.php

Page 74: manual de informatica.@algoritmos@

74

Page 75: manual de informatica.@algoritmos@

75

Realizar un programa que lea por teclado dos números, si el primero es mayor al segundo informar su suma y diferencia, en caso contrario informar el producto y la división del primero respecto al segundo.

Se ingresan tres notas de un alumno, si el promedio es mayor o igual a siete mostrar un mensaje "Promocionado".

Se ingresa por teclado un número positivo de uno o dos dígitos (1..99) mostrar un mensaje indicando si el número tiene uno o dos dígitos. (Tener en cuenta que condición debe cumplirse para tener dos dígitos, un número entero)

http://www.javaya.com.ar/detalleconcepto.php?codigo=80&in

icio=

Page 76: manual de informatica.@algoritmos@

76

www.google.com

www.kalipedia.com

www.wikipedia.com

www.yahoo.es