Академический Документы
Профессиональный Документы
Культура Документы
TRABAJO INDIVIDUAL
TEMA: DEFINICION DE LOS ALGORITMOS Y EL DIAGRAMA DE FLUJO
CURSO
: Programacin digital
DOCENTE
ALUMNO
HUNUCO PER
2016
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.
Pgina 2
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.
Pgina 3
Datos de entrada
Proceso
Datos de salida
Pgina 4
Preciso
ALGORITMO
Definido
Finito
formado por
SENTENCIAS
Pgina 5
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.
Pgina 6
Pgina 7
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
Relacinales
Lgicos
Pgina 8
Valor
(constante o variable)
Operadores Aritmticos
+
Suma
Resta
Multiplicacin
Divisin
Mod Modulo
Ejemplos:
Expresin
7*2
12 mod 7
4 +2*5
Resultado
14
5
14
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.
Pgina 9
Mayor que
<
Menor 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
Pgina 10
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
and
Ejemplos:
Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil
Pgina 11
1)
F
F
2)
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
Pgina 12
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.
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.
Pgina 13
Entrada
Salida
Simples
ESTRUCTURAS ALGORTMICAS
CONDICIONALES
Compuestas
Mltiples
CCLICAS O
REPETITIVAS
Repetir hasta
(Hacer mientras)
Mientras
Para
Pgina 14
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
Pgina 15
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
Considerar:
Universidad Nacional Hermilio Valdizn E.A.P. Ing. Civil
Pgina 16
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.
Pgina 17
Un programa
legible y
comprensible
Entender
Ms fcil de:
- Corregir
Mantener
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
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
Pgina 19
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
Pgina 20
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
Pgina 21
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
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
Pgina 23
Problemas Condicionales
Problemas Selectivos Simples
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
Pgina 24
fin-entonces
Si no
desc 0
fin-si
tot_pag compra - desc
Mostrar ( tot_pag )
Fin.
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
Pgina 25
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
Pgina 26
Pgina 27
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
{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
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
Pgina 30
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}
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
FIN
HACER
Accion1
Accion2
.
.
AccionN
MIENTRAS <condicin>
Pgina 32
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
Pgina 33
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
Pgina 34
EJEMPLOS:
Pgina 35
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.
Pgina 36
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.
Pgina 37