Sei sulla pagina 1di 37

Ao de la Promocin de la Industria Responsable y

Del Compromiso Climtico

UNIVERSIDAD NACIONAL HERMILIO VALDIZAN

FACULTAD DE INGENIERA CIVIL Y ARQUITECTURA


Escuela Acadmico Profesional de Ingeniera Civil

TRABAJO INDIVIDUAL
TEMA: DEFINICION DE LOS ALGORITMOS Y EL DIAGRAMA DE FLUJO

CURSO

: Programacin digital

DOCENTE

: Arq. Palma Alejandro, Jackieli Janet.

ALUMNO

: Morales Ramrez, Gerson Andre.

HUNUCO PER
2016

ALGORITMO Y DIAGRAMA DE FLUJO

INTRODUCCIN
La computadora no solamente es una mquina que puede realizar procesos para
darnos resultados, sin que tengamos la nocin exacta de las operaciones que realiza para
llegar a esos resultados. Con la computadora adems de lo anterior tambin podemos
disear soluciones a la medida, de problemas especficos que se nos presenten. Ms
an, si estos involucran operaciones matemticas complejas y/o repetitivas, o requieren
del manejo de un volumen muy grande de datos.
El diseo de soluciones a la medida de nuestros problemas, requiere como en otras
disciplinas una metodologa que nos ensee de manera gradual, la forma de llegar a
estas soluciones.
A las soluciones creadas por computadora se les conoce como programas y no son ms
que una serie de operaciones que realiza la computadora para llegar a un resultado, con
un grupo de datos especficos. Lo anterior nos lleva al razonamiento de que un programa
nos sirve para solucionar un problema especfico.
Para poder realizar programas, adems de conocer la metodologa mencionada, tambin
debemos de conocer, de manera especfica las funciones que pueden realizar la
computadora y las formas en que se pueden manejar los elementos que hay en la misma.
En el caso de nuestra carrera en la Ingeniera civil la programacin lo usaremos para
poder realizar hojas de clculo que nos podr ayudar a resolver algunos problemas
cotidianos con solo ingresar los datos correspondientes.

Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil

Pgina 2

ALGORITMO Y DIAGRAMA DE FLUJO

OBJETIVOS
Determinar cules son las partes ms importantes de un algoritmo.
Entender cmo hacer un buen diagrama de flujo.
Saber utilizar cada una de las caractersticas de los algoritmos.

CAPTULO I. CONCEPTOS GENERALES


Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil

Pgina 3

ALGORITMO Y DIAGRAMA DE FLUJO


Computadora: Es un dispositivo electrnico utilizado para procesar informacin y obtener
resultados. Los datos y la informacin se pueden introducir en la computadora como entrada
(input) y a continuacin se procesan para producir una salida (output).
Proceso de informacin en la computadora

Datos de entrada

Proceso

Datos de salida

Programa: Es el conjunto de instrucciones escritas de algn lenguaje de programacin y


que ejecutadas secuencialmente resuelven un problema especfico.

1.1 DEFINICIN DE LENGUAJE


Lenguaje: Es una serie de smbolos que sirven para transmitir uno o ms mensajes
(ideas) entre dos entidades diferentes. A la transmisin de mensajes se le conoce
comnmente como comunicacin.
La comunicacin es un proceso complejo que requiere una serie de reglas simples,
pero indispensables para poderse llevar a cabo. Las dos principales son las siguientes:
Los mensajes deben correr en un sentido a la vez.
Debe forzosamente existir 4 elementos: Emisor, Receptor, Medio de Comunicacin y
Mensaje.
Lenguajes de Programacin

Es un conjunto de smbolos, caracteres y reglas (programas) que le permiten a las


personas comunicarse con la computadora.
Los lenguajes de programacin tienen un conjunto de instrucciones que nos
permiten realizar operaciones de entrada/salida, calculo, manipulacin de textos,
lgica/comparacin y almacenamiento/recuperacin.

1.2 DEFINICIN DE ALGORITMO

Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil

Pgina 4

ALGORITMO Y DIAGRAMA DE FLUJO

La palabra algoritmo se deriva de la traduccin al latn de la palabra rabe alkhowarizmi,


nombre de un matemtico y astrnomo rabe que escribi un tratado sobre manipulacin
de nmeros y ecuaciones en el siglo IX.
Un algoritmo es una serie de pasos organizados que describe el proceso que se debe
seguir, para dar solucin a un problema especfico.
Es un mtodo para resolver un problema mediante una serie de pasos precisos, definidos
y finitos.
Preciso: no se presta a interpretaciones ambiguas
Definido: si se siguen 2 o ms veces los pasos, se obtiene el mismo resultado cada
vez
Finito: tiene comienzo y fin; tiene un nmero determinado de pasos
Son ejemplos de algoritmos las instrucciones para hacer una receta de cocina, para usar
un electrodomstico, para obtener el m.c.m. de 2 nmeros, etc.
Los algoritmos se pueden expresar en forma de diagramas, por frmulas y en
PSEUDOCDIGO. Esta ltima herramienta es la ms usada en lenguajes estructurados
(como lenguaje C).

Preciso
ALGORITMO

Definido
Finito

formado por

SENTENCIAS

Acciones que pueden ser


ejecutadas

1.3 TIPOS DE ALGORITMOS


Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.
Cuantitativos: Son aquellos en los que se utilizan clculos numricos para definir los
pasos del proceso.

1.4 LENGUAJES ALGORITMICOS. PSEUDOCDIGO


Mezcla de lenguaje de programacin y espaol (o ingls o cualquier otro idioma) que se
emplea, dentro de la programacin estructurada, para realizar el diseo de un algoritmo.
Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil

Pgina 5

ALGORITMO Y DIAGRAMA DE FLUJO

En esencial, el Pseudocdigo se puede definir como un lenguaje de especificaciones de


algoritmos.
Es la representacin narrativa de los pasos que debe seguir un algoritmo para dar
solucin a un problema determinado. El Pseudocdigo utiliza palabras que indican el
proceso a realizar.
Ventajas de utilizar un Pseudocdigo

Permite representar en forma fcil operaciones repetitivas complejas.


Es muy fcil pasar de Pseudocdigo a un programa en algn lenguaje de
programacin.
Si se siguen las reglas se puede observar claramente los niveles que tiene cada
operacin.
Diseo del Algoritmo

Las caractersticas de un buen algoritmo son:

Debe tener un punto particular de inicio.


Debe ser definido, no debe permitir dobles interpretaciones.
Debe ser general, es decir, soportar la mayora de las variantes que se

puedan presentar en la definicin del problema.


Debe ser finito en tamao y tiempo de ejecucin.
Existen varias herramientas para hacerlo, entre ellas Pseudocdigo

Condiciones de un algoritmo
Los algoritmos, adems de ser un conjunto finito de reglas que dan lugar a una secuencia
de operaciones para resolver un tipo especfico de problemas, deben cumplir con cinco
importantes condiciones las mismas que son descriptas a continuacin:.
Las cinco condiciones, reducen significativamente el espectro tan amplio que hasta ahora
se ha manejado como algoritmo. As por ejemplo, aunque una receta de cocina podra
considerarse como un algoritmo, es comn encontrar expresiones imprecisas en ella que
dan lugar a ambigedad (violando la condicin 2), tales como adase una pizca de sal,
batir suavemente, etc., invalidando con ello la formalidad de un algoritmo dentro del
contexto que nos interesa.
1. Finitud: Un algoritmo tiene que acabar siempre tras un nmero finito de pasos. (Un
procedimiento que tiene todas las caractersticas de un algoritmo salvo que posiblemente
falla en su finitud, se conoce como mtodo de clculo.)
2. Definibilidad: Cada paso de un algoritmo debe definirse de modo preciso; las acciones
a realizar han de estar especificadas para cada caso rigurosamente y sin ambigedad.

Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil

Pgina 6

ALGORITMO Y DIAGRAMA DE FLUJO

3. Conjunto de entradas: Debe existir un conjunto especificado de objetos, cada uno de


los cuales constituye los datos iniciales de un caso particular del problema que resuelve el
algoritmo. A este conjunto se le denomina conjunto de entradas del algoritmo.
4. Conjunto de salidas: Debe existir un nmero especificado de objetos, cada uno de los
cuales constituye la salida o respuesta que debe obtener el algoritmo para los diferentes
casos particulares del problema. A este conjunto se le denomina conjunto de salidas del
algoritmo. Para cada entrada del algoritmo, debe existir una salida asociada que
constituye la solucin al problema particular determinado por dicha entrada.
5. Efectividad: Un algoritmo debe ser efectivo. Esto significa que todas las operaciones a
realizar por el algoritmo deben ser lo bastante bsicas para poder ser efectuadas de modo
exacto, y en un lapso de tiempo finito por el procesador que ejecute el algoritmo.

CAPITULO II. ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS

Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil

Pgina 7

ALGORITMO Y DIAGRAMA DE FLUJO

2.1 TIPOS DE DATOS


Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carcter,
tal como b, un valor entero tal como 35. El tipo de dato determina la naturaleza del
conjunto de valores que puede tomar una variable.

2.2 EXPRESIONES
Las expresiones son combinaciones de constantes, variables, smbolos de operacin,
parntesis y nombres de funciones especiales. Por ejemplo:

a+(b + 3)/c
Cada expresin toma un valor que se determina tomando los valores de las
variables y constantes implicadas y la ejecucin de las operaciones indicadas.
Una expresin consta de operadores y operando. Segn sea el tipo de datos que
manipulan, se clasifican las expresiones en:
-

Aritmticas
Relacinales
Lgicas

2.3 OPERADORES Y OPERANDO


Operadores: Son elementos que relacionan de forma diferente, los valores de una o
ms variables y/o constantes. Es decir, los operadores nos permiten manipular valores.
Aritmticos
Tipos de Operadores

Relacinales
Lgicos

2.3.1 Operadores Aritmticos.


Los operadores aritmticos permiten la realizacin de operaciones matemticas con los
valores (variables y constantes).
Los operadores aritmticos pueden ser utilizados con tipos de datos enteros o
reales. Si ambos son enteros, el resultado es entero; si alguno de ellos es real, el
resultado es real.

Operando (Operador) Operando


Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil

Pgina 8

ALGORITMO Y DIAGRAMA DE FLUJO

Valor
(constante o variable)

Operadores Aritmticos
+

Suma

Resta

Multiplicacin

Divisin

Mod Modulo

(residuo de la divisin entera)

Ejemplos:
Expresin
7*2
12 mod 7
4 +2*5

Resultado
14
5
14

Prioridad de los Operadores Aritmticos

Todas las expresiones entre parntesis se evalan primero. Las expresiones con
parntesis anidados se evalan de dentro a fuera, el parntesis mas interno se evala
primero.
Dentro de una misma expresin los operadores se evalan en el siguiente orden.
1.- ^ Exponenciacin
2.- *, /, Multiplicacin, divisin, modulo.
3.- +, - Suma y resta.
Los operadores en una misma expresin con igual nivel de prioridad se evalan de
izquierda a derecha.

2.3.2 Operadores Relacinales:


Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil

Pgina 9

ALGORITMO Y DIAGRAMA DE FLUJO

Se utilizan para establecer una relacin entre dos valores.


Compara estos valores entre si y esta comparacin produce un resultado de certeza o
falsedad (verdadero o falso).
Los operadores relacinales comparan valores del mismo tipo (numricos o cadenas)
Tienen el mismo nivel de prioridad en su evaluacin.
Los operadores relacinales tiene menor prioridad que los aritmticos.
Operadores Relacinales
>

Mayor que

<

Menor que

>=

Mayor o igual que

<=

Menor o igual que

<>

Diferente

Igual

Ejemplos:
Si a = 10, b = 20 y c = 30

a+b>c

Falso

a-b<c

Verdadero

a-b=c

Falso

a*b<>c

Verdadero

2.3.3 Operadores Lgicos:


Estos operadores se utilizan para establecer relaciones entre valores lgicos.
Estos valores pueden ser resultado de una expresin relacional.

Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil

Pgina 10

ALGORITMO Y DIAGRAMA DE FLUJO

Operadores Lgicos
And
Y
Or
O
Not
Negacin
Operador AND
Operan Operand Resulta
do1
o2
do
V
V
V
V
F
F
F
V
F
F
F
F
Ejemplos:

Operador OR
Operand Operand Resulta
o1
o2
do
V
V
V
V
F
V
F
V
V
F
F
F

Operador NOT
Operand Resulta
o
do
T
F
F
T

Si a = 10, b = 20 y c = 30

(a < b) and (b < c)


V

and

Prioridad de los Operadores Lgicos


Not
And
Or
Prioridad de los Operadores en General
1.- ( )
2.- ^
3.- *, /, Mod, Not
4.- +, -, And
5.- >, <, > =, < =, < >, =, Or

Ejemplos:
Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil

Pgina 11

ALGORITMO Y DIAGRAMA DE FLUJO

Si a = 10, b = 12, c = 13 y d =10

1)

((a > b) or (a < c)) and ((a = c) or (a > = b))


F

F
F

2)

Not (a = c) and (c > b)


F

V
V

2.4 IDENTIFICADORES
Los identificadores representan los datos de un programa (constantes, variables,
tipos de datos). Un identificador es una secuencia de caracteres que sirve para identificar
una posicin en la memoria de la computadora, que nos permite acceder a su contenido.

Ejemplo:

Nombre
Num_hrs
Calif2

Reglas para formar un Identificador


Debe comenzar con una letra (A a Z, maysculas o minsculas) y no deben contener
espacios en blanco.
Letras, dgitos y el carcter guin ( - ) estn permitidos despus del primer carcter.
La longitud de identificadores. El nombre de un identificador debe ser descriptivo de
aquello que representa, y considerando adems la practicidad de su invocacin durante el
desarrollo del algoritmo. Si es muy extenso estaremos ms expuestos a errores al
nombrarlo.

Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil

Pgina 12

ALGORITMO Y DIAGRAMA DE FLUJO

2.5 CONSTANTES Y VARIABLES

2.5.1 Variables.
Son objetos de un programa cuyo valor puede cambiar durante la ejecucin del
mismo. Datos que pueden sufrir modificaciones a lo largo de un programa. El cambio se
produce mediante sentencias ejecutables como por ejemplo la asignacin o el ingreso de
datos. Es en realidad una porcin (o posicin) de memoria con nombre que permite
almacenar temporalmente un dato durante la ejecucin de un proceso. Para poder
reconocer una variable en la memoria de la computadora, es necesario darle un nombre
con el cual podamos identificarla dentro de un algoritmo (a esto se lo denomina
Declaracin de variables). Al declararlas se reserva una posicin de memoria para la
misma, donde se almacenar el valor que toma cada variable en cada momento del
programa. El nombre de la posicin es el NOMBRE DE LA VARIABLE y el valor
almacenado es el VALOR DE LA VARIABLE. Las variables pueden ser de todos los tipos
de datos conocidos: entero, decimal, carcter, cadena de carcter.

Variables y constantes se unen por medio de los operadores aritmticos, relacionales y


lgicos constituyendo lo que se denomina una EXPRESIN.

2.5.2 Constante
Dato invariable a lo largo del programa. Es un valor que no puede cambiar durante
la ejecucin del programa; recibe un valor en el momento de la compilacin del programa
y este valor no puede ser modificado.

Literales: es un valor de cualquier tipo que se utiliza como tal


Ejemplo:
sup-triangulo base * altura * 1/2
1 y 2 son constantes literales
Numricas: 5, 3.14, 4/3
Carcter: S, N
Cadena: Positivo
Nota: las constantes de carcter se escriben entre apstrofes o comillas simples y las de
cadena entre comillas. De este modo se las diferencia de los nombre de las variables.

Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil

Pgina 13

ALGORITMO Y DIAGRAMA DE FLUJO

Con nombre o declaradas. Se les asigna un nombre y un valor y no se lo modifica


durante el transcurso del programa. En C se acostumbra nombrar esta clase de
constantes con maysculas
Ejemplo:
Define constante PI valor 3.14
Sup-crculo PI * r * r
El uso de constantes literales limita la flexibilidad del programa. Es conveniente el uso de
constantes con nombre.
Tipiadas. Nos referimos a los textos que aparecen como mensajes de salida en un
programa. Dichos mensajes son inalterables.
Ejemplo: Mostrar ("Hola")

CAPTULO III. ESTRUCTURAS ALGORITMICAS


Las estructuras de operacin de programas son un grupo de formas de trabajo, que
permiten, mediante la manipulacin de variables, realizar ciertos procesos especficos que
nos lleven a la solucin de problemas. Estas estructuras se clasifican de acuerdo con su
complejidad en:
Asignacin
SECUENCIALES

Entrada
Salida
Simples

ESTRUCTURAS ALGORTMICAS
CONDICIONALES

Compuestas
Mltiples

CCLICAS O
REPETITIVAS

Repetir hasta
(Hacer mientras)
Mientras
Para

Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil

Pgina 14

ALGORITMO Y DIAGRAMA DE FLUJO

3.1. ESTRUCTURAS SECUENCIALES


La estructura secuencial es aquella en la que una accin (instruccin) sigue a otra
en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la
siguiente y as sucesivamente hasta el fin del proceso. Una estructura secuencial se
representa de la siguiente forma:

Comienzo
Accion1
Accion2
.
.
AccionN
Fin

3.1.1 Asignacin
La asignacin consiste, en el paso de valores o resultados a una zona de la
memoria. Dicha zona ser reconocida con el nombre de la variable que recibe el valor.
Variable expresin ( puede ser una variable, una constante, una expresin o frmula
a evaluar)
Ejemplos:
promedio suma /5
alumno nombre
cantidad-de-notas 5

Ejemplo de funcionamiento de la asignacin: en las variables transfiero el valor de B a A


Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil

Pgina 15

ALGORITMO Y DIAGRAMA DE FLUJO

20

50

(receptor
a)

(emisora
)
ASIGNACIN: la emisora
mantiene su valor y la receptora
lo modifica, el dato de la emisora
reemplaza al valor anterior

A
B

50

50

Se pueden asignar operaciones Ej. A B * 2

La asignacin se puede clasificar de la siguiente forma:


Simples: Consiste en pasar un valor constante a una variable (a15)
Contador: Es una variable que se incrementa, cuando se ejecuta, en una unidad o en
una cantidad constante
contador contador + 1
multiplo multiplo + 3

Acumulador: Es una variable que se incrementa en una cantidad variable


suma suma + numero
Donde numero es una variable que recibe distintos valores

Considerar:
Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil

Pgina 16

ALGORITMO Y DIAGRAMA DE FLUJO

Una variable del lado derecho debe tener valor antes de que la sentencia se ejecute.
Si numero no tiene valor antes de: suma suma + numero
Se produce un Error LGICO. Se dice que numero no se ha inicializado.
A la izquierda de una sentencia de asignacin slo puede haber variables. No puede
haber operaciones.
Nota: la operacin de asignacin es una operacin destructiva debido a que el valor
almacenado en una variable se pierde o destruye y se sustituye por el nuevo valor de
asignacin. Ejemplo
numero 16
numero -23
numero conservar el ltimo valor asignado, en este caso -23

3.1.2 Entrada
La entrada de datos consiste en recibir desde un dispositivo de entrada (p.ej. el
teclado) un valor. Esta operacin se representa en pseudocodigo como sigue:
Leer (a )
Leer ( b )
Donde a y b son las variables que recibirn los valores

3.1.3 Salida
Consiste en mandar por un dispositivo de salida (p.ej. monitor o impresora) un resultado o
mensaje. Este proceso se representa en pseudocodigo como sigue:
Mostrar ( El resultado es:, R )
Donde El resultado es: es un mensaje que se desea aparezca y R es una variable que
contiene un valor.

3.2 Estilo de programacin


Antes de escribir los algoritmos de los ejercicios en Pseudocdigo considerar:

Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil

Pgina 17

ALGORITMO Y DIAGRAMA DE FLUJO

Un programa
legible y
comprensible

Entender
Ms fcil de:

- Corregir
Mantener

Seguir las siguientes sugerencias:

1 SANGRADO O INDENTACIN. En cada estructura, y alineando las instrucciones


(sentencias) dentro de cada una de ellas y dentro de todo el algoritmo (Comienzo, Fin)
1. LNEAS EN BLANCO. Dejarlas entre partes importantes o que estn lgicamente
separadas. Recomendable luego de cada estructura (Repetitiva o Selectiva), luego de
declaracin de variables.
1. COMENTARIOS. Parte importante de la documentacin de un programa que permite
mayor comprensin del mismo. (luego lo haremos en C) En Pseudocdigo entre { }
1. NOMBRES SIGNIFICATIVOS DE IDENTIFICADORES. que representen aquello que
estamos tratando. Si son palabras compuestas usar guin comn. Todos deben
comenzar con una letra.
1. CADA SENTENCIA EN UNA LNEA DISTINTA. Al colocar una nueva sentencia
comenzar una nueva lnea, incluso las palabras claves de las estructuras en lneas
separadas.
1. ESPACIOS ENTRE ELEMENTOS DE UNA SENTENCIA. lo hace ms legible. Por
ejemplo:
suma suma + numero

Problemas Secuenciales
1) Suponga que un individuo desea invertir su capital en un banco y desea saber cuanto
dinero ganara despus de un mes si el banco paga a razn de 2% mensual.
Comienzo
Leer ( capital )
ganancia capital * 0.02
Mostrar ( ganancia )
Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil

Pgina 18

ALGORITMO Y DIAGRAMA DE FLUJO

Fin

2) Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente desea
saber cuanto deber pagar finalmente por su compra.
Comienzo
Leer ( total-compra)
descuento total-compra * 0.15
total-a-pagar total-compra - descuento
Mostrar ( total-a-pagar )
Fin

3) Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres hay
en un grupo de estudiantes.
Comienzo
Leer ( nun-hombres )
Leer ( num-mujeres )
total-alumnos nun-hombres + num-mujeres
porcen-hombres nun-hombres * 100 / total-alumnos
porcen-mujeres num-mujeres * 100 / total-alumnos
Mostrar ( porcen-hombres )
Mostrar (porcen-mujeres )
Fin

3.3 ESTRUCTURAS DE CONDICIONALES


Las estructuras condicionales comparan una variable contra otro(s) valor(es), para que,
en base al resultado de esta comparacin, se siga un curso de accin dentro del
programa. Cabe mencionar que la comparacin se puede hacer contra otra variable o
Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil

Pgina 19

ALGORITMO Y DIAGRAMA DE FLUJO

contra una constante, segn se necesite. Existen dos tipos bsicos, las simples y las
mltiples.

3.3.1 Simples
Las estructuras condicionales simples se les conocen como Tomas de decisin. Estas
tomas de decisin tienen la siguiente forma:

Si <condicin> entonces
Accin(es)
Fin-si

3.3.2. Dobles
Las estructuras condicionales dobles permiten elegir entre dos opciones o
alternativas posibles en funcin del cumplimiento o no de una determinada condicin. Se
representa de la siguiente forma:

Si <condicin>
Entonces
Accin(es)
Fin-entonces
Sino
Accin(es)
Fin-si

Donde:
Si Indica el comando de comparacin
Condicin Indica la condicin a evaluar
Entonces.. Precede a las acciones a realizar cuando se cumple la condicin
Accin(es) Son las acciones a realizar cuando se cumple o no la condicin

Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil

Pgina 20

ALGORITMO Y DIAGRAMA DE FLUJO

Sino Precede a las acciones a realizar cuando no se cumple la condicin

Dependiendo de si la comparacin es cierta o falsa, se pueden realizar una o mas


acciones.

3.3.3 Mltiples
Las estructuras de comparacin mltiples, son tomas de decisiones especializadas
que permiten comparar una variable contra distintas posibles resultados, ejecutando para
cada caso una serie de instrucciones especficas. La forma comn es la siguiente:

LEER (variable)
CON-SELECCIN (VARIABLE) HACER
CASO constante1:
Sentencias
ROMPER
CASO constante2:
Sentencias
ROMPER
CASO constante N:
Sentencias
ROMPER
OTROS CASOS:
Sentencias
FIN-SELECCIN

La estructura de seleccin mltiple slo compara por igualdad el valor de la variable con
cada una de las constantes de cada caso. Al encontrar una coincidencia comienza a

Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil

Pgina 21

ALGORITMO Y DIAGRAMA DE FLUJO

ejecutar las sentencias en forma secuencial hasta encontrar el fin de la estructura o una
instruccin que rompa la misma.
Puede tener hasta 257 casos.
No puede haber 2 casos con el mismo valor en la constante.
Slo se pueden utilizar variables de tipo carcter o enteras.
Si la variable que se est seleccionando es de tipo carcter, las constantes de tipo
carcter se colocan entre comillas simples o apstrofes, para el caso de variables de tipo
enteras, las constantes numricas se colocan directamente.
Puede contener casos vacos.

Ejemplo
COMIENZO
I1
MIENTRAS (I < 7) HACER
CON-SELECCIN (I) HACER
CASO 2:
CASO 4:
CASO 6:
MOSTRAR (I ES PAR)
ROMPER
CASO 1:
CASO 3:
CASO 5:
MOSTRAR (I ES IMPAR)
ROMPER
OTROS CASOS:
MOSTRAR (I VALE 0)
FIN-SELECCIN
II+1
Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil

Pgina 22

ALGORITMO Y DIAGRAMA DE FLUJO

FIN-MIENTRAS
FIN
3.3.4 Uso de estructuras selectivas
Razonemos a partir de un ejemplo. Realizar un algoritmo que permita ingresar un nmero
e informe Nmero mayor a cero o Nmero menor o igual a cero segn corresponda.
Anlisis del problema. El algoritmo deber:
1 Leer el nmero que ingresa el usuario
2 Seleccionar mediante una condicin si ese nmero es o no mayor a cero
3 Informar con una de las leyendas enunciadas
Desarrollo del algoritmo en pseudocdigo
COMIENZO
{Declaro las variables a utilizar}
NUMERO
{Ingreso de datos}
MOSTRAR (Ingrese un nmero:)
LEER (NUMERO)
{Proceso de seleccin}
SI (NUMERO > 0)
ENTONCES
MOSTRAR (Nmero mayor a cero)
FIN-ENTONCES
SINO
MOSTRAR (Nmero menor o igual a cero)
FIN-SI
FIN

Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil

Pgina 23

ALGORITMO Y DIAGRAMA DE FLUJO

Problemas Condicionales
Problemas Selectivos Simples

1) Determinar si un alumno aprueba a reprueba un curso, sabiendo que aprobara si su


promedio de tres calificaciones es mayor o igual a 7; reprueba en caso contrario.
Comienzo
Leer (nota1)
Leer (nota2)
Leer (nota3)

prom nota1 +nota2 + nota3 )/3


Si (prom >= 7)
Entonces
Mostrar (alumno aprobado)
Fin-entonces
Si no
Mostrar (alumno reprobado)
Fin-si
Fin

2) En un almacn se hace un 20% de descuento a los clientes cuya compra supere los
$1000 Cul ser la cantidad que pagara una persona por su compra?
Comienzo
Leer (compra)
Si (compra > 1000)
Entonces
desc compra * 0.20

Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil

Pgina 24

ALGORITMO Y DIAGRAMA DE FLUJO

fin-entonces
Si no
desc 0
fin-si
tot_pag compra - desc
Mostrar ( tot_pag )
Fin.

3) Un obrero necesita calcular su salario semanal, el cual se obtiene de la sig. Manera:


Si trabaja 40 horas o menos se le paga $16 por hora
Si trabaja ms de 40 horas se le paga $16 por cada una de las primeras 40 horas y $20
por cada hora extra.

Comienzo
Leer (horas-trab)
Si (horas-trab > 40)
Entonces
Horas-extras horas-trab - 40
Salario-sem horas-extras * 20 + 40 * 16
fin-entonces
Si no
Salario-sem horas-trab * 16
Fin-si
Mostrar (salario-sem)
Fin

Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil

Pgina 25

ALGORITMO Y DIAGRAMA DE FLUJO

Problemas Selectivos Compuestos

1) Leer 2 nmeros; si son iguales que los multiplique, si el primero es mayor que el
segundo que los reste y si no que los sume.
Comienzo
Leer (num1)
Leer (num2)
Si (num1 = num2)
Entonces
resul num1 * num2
fin-entonces
Si no
Si (num1 > num2)
Entonces
resul num1 - num2
fin-entonces
Si no
resul num1 + num2
fin-si
fin-si
Fin

Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil

Pgina 26

ALGORITMO Y DIAGRAMA DE FLUJO

2) Leer tres nmeros diferentes e imprimir el nmero mayor de los tres.


Comienzo
Leer (num1)
Leer (num2)
Leer (num3)

Si ((num1 > num2) and (num1 > num3))


Entonces
Mayor num1
fin-entonces
Si no
Si ((num2 > num1) and (num2 > num3))
Entonces
Mayor num2
fin-entonces
Si no
Mayor num3
fin-si
fin-si
Mostrar (mayor)
Fin

3.4. ESTRUCTURAS CCLICAS O REPETITIVAS


Se llaman problemas repetitivos o cclicos a aquellos en cuya solucin es necesario
utilizar un mismo conjunto de acciones que se puedan ejecutar una cantidad especfica de
veces. Esta cantidad puede ser fija (previamente determinada por el programador) o
puede ser variable (estar en funcin de algn dato dentro del programa).Los ciclos se
clasifican en:

Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil

Pgina 27

ALGORITMO Y DIAGRAMA DE FLUJO

3.4.1 Ciclos con un Nmero Indeterminado de Iteraciones (Mientras, Hacer-Mientras)


Son aquellos en que el nmero de iteraciones no se conoce con exactitud, ya que esta
dado en funcin de un dato dentro del programa.
Mientras: Esta es una estructura que repetir un proceso durante N veces, donde
N puede ser fijo o variable. Para esto, la instruccin se vale de una condicin que es la
que debe cumplirse para que se siga ejecutando. Cuando la condicin ya no se cumple,
entonces ya no se ejecuta el proceso. La forma de esta estructura es la siguiente:
Mientras <condicin> Hacer
Accion1
Accion2
.
.
AccionN
Fin-mientras

3.4.2 Uso de estructuras repetitivas


Realizar un algoritmo que permita realizar 3 veces lo siguiente: ingresar 2 nmeros
calcular su suma e informar el resultado.
El algoritmo deber:
1 Leer el nmero que ingresa el usuario
2 Efectuar la suma y almacenarla
3 Mostrar el resultado almacenado
Para efectuar esto una sola vez bastara con el siguiente algoritmo:

COMIENZO
{Ingreso de datos}
MOSTRAR (Ingrese primer nmero:)
LEER (NUMERO1)
MOSTRAR (Ingrese segundo nmero:)
LEER (NUMERO2)
Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil

Pgina 28

ALGORITMO Y DIAGRAMA DE FLUJO

{Proceso de suma}
RESULTADO NUMERO1 + NUMERO2
{Informe por pantalla}
MOSTRAR (El resultado de la suma es:)
MOSTRAR (RESULTADO)
FIN

Pero el algoritmo anterior slo efecta una vez la suma de dos nmeros, para que pueda
hacerlo ms veces deberamos repetir las sentencias de entrada, proceso y salida de
datos tantas veces como se solicite.

{Ingreso de datos}
MOSTRAR (Ingrese primer nmero:)
LEER (NUMERO1)
MOSTRAR (Ingrese segundo nmero:)
LEER (NUMERO2)
{Proceso de suma}
RESULTADO NUMERO1 + NUMERO2
{Informe por pantalla}
MOSTRAR (El resultado de la suma es:)
MOSTRAR (RESULTADO)

Para realizar esto utilizamos una estructura repetitiva que ejecute 3 iteraciones
COMIENZO
{Inicializacin de variables}
CONTADOR 0
{La variable contador debe tener valor inicial para que sepa a partir de qu valor
Comienza a contar}
Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil

Pgina 29

ALGORITMO Y DIAGRAMA DE FLUJO

MIENTRAS (CONTADOR < 4) HACER


{Ingreso de datos}
MOSTRAR (Ingrese primer nmero:)
LEER (NUMERO1)
MOSTRAR (Ingrese segundo nmero:)
LEER (NUMERO2)
{Proceso de suma}
RESULTADO NUMERO1 + NUMERO2
{Informe por pantalla}
MOSTRAR (El resultado de la suma es:)
MOSTRAR (RESULTADO)
{Cuento la realizacin de las operaciones 1 vez ms}
CONTADOR CONTADOR + 1
FINMIENTRAS
FIN

Combinacin de estructuras selectivas y repetitivas

Realizar un algoritmo que permita ingresar 5 nmeros e informe cuanto nmero ingresado
son mayores a cero y cuantos menores a cero.

El algoritmo deber:
1 Leer el nmero que ingresa el usuario
2 Comparar el valor del nmero ingresado con cero, en caso de ser mayor deber
contar uno ms de la cantidad que tena
3 Comparar el valor del nmero ingresado con cero, en caso de ser menor deber
contar uno ms de la cantidad que tena
4 Informar con una de las leyendas enunciadas

Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil

Pgina 30

ALGORITMO Y DIAGRAMA DE FLUJO

Para realizar los pasos 2 y 3 se debe usar estructuras SELECTIVAS. La lectura de


nmeros como las distintas comparaciones se debern ejecutar 5 veces, por lo tanto es
necesaria una estructura REPETITIVA que abarque esas sentencias. Slo el informe se
realiza una vez.

COMIENZO
{Inicializacin de variables}
CONTAR 0 {variable que contar hasta 5 para controlar la cantidad de nmeros
ingresados}
MAYOR 0 {variable que contar la cantidad de nmeros mayores a cero}
MENOR 0 {variable que contar la cantidad de nmeros menores a cero}

{Ingreso de datos y proceso de seleccin}


MIENTRAS (CONTAR < 5) HACER
MOSTRAR (Ingrese un nmero:)
LEER (NUMERO)
{Proceso de seleccin}
{Utilizamos 2 SI pues en caso de ingresarse un CERO no debemos contarlo}
SI (NUMERO > 0)
ENTONCES
MAYOR MAYOR +1 {cuenta un nmero ms mayor a cero}
FINSI

SI (NUMERO < 0)
ENTONCES
MENOR MENOR +1 {cuenta un nmero ms menor a cero}
FINSI
CONTAR CONTAR +1 {cuenta un nmero ms ingresado}
FINMIENTRAS
Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil

Pgina 31

ALGORITMO Y DIAGRAMA DE FLUJO

{Informe final del proceso}


MOSTRAR (Los nmeros mayores a cero fueron:)
MOSTRAR (MAYOR)
MOSTRAR (Los nmeros menores a cero fueron:)
MOSTRAR (MENOR)

FIN

3.4.3 Hacer - mientras


Esta es una estructura similar en algunas caractersticas, a la anterior. Repite un
proceso una cantidad de veces, pero a diferencia del Mientras, el Hacer - mientras
permite realizar el proceso cuando menos una vez, ya que la condicin se evala al final
del proceso, mientras que en el Mientras puede ser que nunca llegue a entrar si la
condicin no se cumple desde un principio. La forma de esta estructura es la siguiente:

HACER
Accion1
Accion2
.
.
AccionN
MIENTRAS <condicin>

Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil

Pgina 32

ALGORITMO Y DIAGRAMA DE FLUJO

3.4.4 Ciclos con un Nmero Determinado de Iteraciones (Para)


Son aquellos en que el nmero de iteraciones se conoce antes de ejecutarse el
ciclo. La forma de esta estructura es la siguiente:
Para (variable desde a hasta incremento) Hacer
Accion1
Accion2
.
AccionN
Fin-para

Dnde:
Variable: Variable de control del ciclo (un contador)
Desde: Limite inferir
Hasta: Lmite superior
Incremento: indica de qu modo se incrementa la variable de control (de 1 en 1, de 2 en 2,
etc.)
En este ciclo la variable de control toma el valor inicial del ciclo y el ciclo se repite
hasta que la variable de control llegue al lmite superior. La cantidad de repeticiones que
tenga depende del lmite superior y del incremento de la variable

Ejemplo Para - Hacer


1 Calcular el promedio de un alumno que tiene 7 calificaciones en la materia de Diseo
Estructurado de Algoritmos
Comienzo
Sum0
Leer (Nom)
Para (c 1 a 7) Hacer
Leer calif
Sum sum + calif
Fin-para
prom sum /7
Mostrar (prom)
Fin.

2 Leer 10 nmeros y obtener su cubo y su cuarta.


Comienzo
Para (n 1 a 10) hacer
Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil

Pgina 33

ALGORITMO Y DIAGRAMA DE FLUJO

Leer (num)
Cubo num * num * num
Cuarta cubo * num
Mostrar (cubo)
Mostrar (cuarta)
Fin-para
Fin.
3.5 TCNICAS PARA LA FORMULACIN DE ALGORITMOS
Las dos herramientas utilizadas comnmente para disear algoritmos son:
Diagrama de Flujo
Pseuducodigo
CAPTULO IV. DIAGRAMA DE FLUJO

4.1 definicin
Un diagrama de flujo es la representacin grfica de un algoritmo. Tambin se puede decir
que es la representacin detallada en forma grfica de cmo deben realizarse los pasos
en la computadora para producir resultados. Esta representacin grfica se da cuando
varios smbolos (que indican diferentes procesos en la computadora), se relacionan entre
s mediante lneas que indican el orden en que se deben ejecutar los procesos. Los
smbolos utilizados han sido normalizados por el instituto norteamericano de
normalizacin
(ANSI).
4.2 Recomendaciones para el diseo de Diagramas de Flujo

Se deben se usar solamente lneas de flujo horizontal y/o vertical.


Se debe evitar el cruce de lneas utilizando los conectores.
Se deben usar conectores solo cuando sea necesario.
No deben quedar lneas de flujo son conectar.
Se deben trazar los smbolos de manera que se puedan leer de arriba hacia abajo
y de izquierda a derecha.
Todo texto escrito dentro de un smbolo deber ser escrito claramente, evitando el uso de
muchas palabras.
Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil

Pgina 34

ALGORITMO Y DIAGRAMA DE FLUJO

EJEMPLOS:

Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil

Pgina 35

ALGORITMO Y DIAGRAMA DE FLUJO

CONCLUISIN
el propsito del trabajo fue la comprensin del algoritmo y el diagrama de flujo.
Ningn algoritmo da un resultado ideal, pero si da un resultado aproximado.
Gracias a la aplicacin de algoritmo podremos tener una ideal hoja de clculo.
RECOMENDACIONES
Utilizar las palabras inicio y fin para identificar el punto de partida y trmino del
algoritmo aunque este enumerado.
Se debe conocer y entender el problema planteado.
Elaborar un diagrama de flujo evitando los procesos redundantes.

Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil

Pgina 36

ALGORITMO Y DIAGRAMA DE FLUJO

BIBLIOGRAFIA

http://definicion.de/algoritmo/.
https://es.wikibooks.org/wiki/Fundamentos_de_programaci

%C3%B3n/Algoritmos_y_programas.
http://www.aiteco.com/que-es-un-diagrama-de-flujo/.
http://www.esi2.us.es/~jaar/Datos/FI/LibroFundInf.pdf.

Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil

Pgina 37

Potrebbero piacerti anche