Sunteți pe pagina 1din 19

Universidad de El Salvador

Facultad de Ingeniera y Arquitectura


Escuela de Ingeniera Elctrica
Introduccin a la informtica IIE-115

Tarea 1
ALGORITMOS
Narrados y Grficos

Instructor: Arturo Posada


Grupo de laboratorio N 2
Integrantes:

Carnet:

Hernndez Nieto, Jairo Alejandro


Sorto Castillo, Jairo Josu
Vargas Rosa, Sergio Manuel
Roque Vidal, Jos Arnoldo

HN14001
SC14009
VR14003
RV14040

Ciudad Universitaria, Viernes 16 de abril de 2015

INDICE
Introduccin: ................................................................................................................................................. 3
Objetivos: ....................................................................................................................................................... 3
Marco Terico: .............................................................................................................................................. 4
Estructuras secuenciales ......................................................................................................................... 5
Desarrollo: ..................................................................................................................................................... 8
Conclusiones:............................................................................................................................................... 19
Bibliografa:.................................................................................................................................................. 19
Sitios de Internet: ..................................................................................................................................... 19

Pgina 2 de 19

IIE-115

Ciclo 1-2015

Introduccin:
En el presente documento se presenta la primera tarea de Introduccin a la Informtica, de la carrera
Ingeniera Elctrica la cual consta de ALGORITMOS, Narrados y Grficos. Son 10 ejercicios
resueltos utilizando los conocimientos adquiridos en los tericos de la materia, se involucran
Flujogramas y diagramas de caja, dado que es una forma rpida y eficiente de presentar una posible
solucin a los problemas dados, todo este proceso es necesario conocer antes de aprender cualquier
lenguaje de programacin. Se debe tener claro que el desarrollo de estos diagramas esta armado al
nivel de lgica de la persona que los est utilizando, por esto es necesario conocer la simbologa y la
funcionalidad de ciertas propiedades o caractersticas de la lgica de resolucin de problemas.
Entendemos como algoritmos a un conjunto prescrito de instrucciones o reglas bien definidas,
ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen
dudas a quien deba realizar dicha actividad.2 Dados un estado inicial y una entrada, siguiendo los
pasos sucesivos se llega a un estado final y se obtiene una solucin.
A diferencia de los laboratorios en las tareas se pone en manifiesto el grado de comprensin de los
alumnos sobre un determinado tema, por eso dentro de este reporte se expone un marco teorico
bsico sobre los algoritmos, diagramas de flujo y dems informacin, un desarrollo que son los
ejercicios dados y unas conclusiones en base a los objetivos planteados por los alumnos que se
presentan a continuacin:

Objetivos:
Tener la capacidad realizar Algoritmos narrados y grficos.
Aplicar los bucles repetitivos, Mientras Hacer-mientras y para.
Graficar de manera correcta los diagramas NS y de flujo.

Pgina 3 de 19

IIE-115

Ciclo 1-2015

Marco Terico:
Algoritmo: Es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas
que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba
realizar dicha actividad.
Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural,
pseudocdigo, diagramas de flujo y lenguajes de programacin entre otros. Las descripciones en
lenguaje natural tienden a ser ambiguas y extensas; El usar pseudocdigo y diagramas de flujo evita
muchas ambigedades del lenguaje natural; Dichas expresiones son formas ms estructuradas para
representar algoritmos; No obstante, se mantienen independientes de un lenguaje de programacin
especfico.
Existen dos tipos de algoritmos y son llamados as por su naturaleza:

Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras. Lo ejecutan las
personas.

Cuantitativos: Son aquellos en los que se utilizan clculos numricos para definir los pasos del
proceso. Lo ejecuta el computador

La descripcin de un algoritmo usualmente se hace en tres niveles:


Descripcin de alto nivel. Se establece el problema, se selecciona un modelo matemtico y se
explica el algoritmo de manera verbal, posiblemente con ilustraciones y omitiendo detalles.
Descripcin formal. Se usa pseudocdigo para describir la secuencia de pasos que encuentran
la solucin.
Implementacin. Se muestra el algoritmo expresado en un lenguaje de programacin especfico
o algn objeto capaz de llevar a cabo instrucciones.

Diagrama de flujo.
Los diagramas de flujo son descripciones grficas de algoritmos; usan
smbolos conectados con flechas para indicar la secuencia de instrucciones
y estn regidos por ISO.
Los diagramas de flujo son usados para representar algoritmos pequeos, ya
que abarcan mucho espacio y su construccin es laboriosa. Por su facilidad
de lectura son usados como introduccin a los algoritmos, descripcin de
un lenguaje y descripcin de procesos a personas ajenas a la computacin.
Ejemplo: Calculo de la raz de la cuadrada de un nmero.
Pgina 4 de 19

IIE-115

Ciclo 1-2015

Pseudocdigo.
El pseudocdigo (falso lenguaje, el prefijo pseudo significa falso) es una descripcin de alto nivel de
un algoritmo que emplea una mezcla de lenguaje natural con algunas convenciones sintcticas
propias de lenguajes de programacin, como asignaciones, ciclos y condicionales, aunque no est
regido por ningn estndar. Es utilizado para describir algoritmos en libros y publicaciones
cientficas, y como producto intermedio durante el desarrollo de un algoritmo, como los diagramas
de flujo, aunque presentan una ventaja importante sobre estos, y es que los algoritmos descritos en
pseudocdigo requieren menos espacio para representar instrucciones complejas.
El pseudocdigo est pensado para facilitar a las personas el entendimiento de un algoritmo, y por
lo tanto puede omitir detalles irrelevantes que son necesarios en una implementacin.
Programadores diferentes suelen utilizar convenciones distintas, que pueden estar basadas en la
sintaxis de lenguajes de programacin concretos.

Variables.
Son elementos que toman valores especficos de un tipo de datos concreto. La declaracin de una
variable puede realizarse comenzando con var. Principalmente, existen dos maneras de otorgar
valores iniciales a variables:
1. Mediante una sentencia de asignacin.
2. Mediante un procedimiento de entrada de datos (por ejemplo: 'read').
Ejemplo:
...
i:=1;
read(n);
while i < n do begin
(* cuerpo del bucle *)
i := i + 1
end;

Estructuras secuenciales
La estructura secuencial es aquella en la que una accin sigue a otra en secuencia. Las operaciones
se suceden de tal modo que la salida de una es la entrada de la siguiente y as sucesivamente hasta el
fin del proceso. La asignacin de esto 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. La asignacin
se puede clasificar de la siguiente forma:
1. Simples: Consiste en pasar un valor constante a una variable (a 15)
Pgina 5 de 19

IIE-115

Ciclo 1-2015

2. Contador: Consiste en usarla como un verificador del nmero de veces que se realiza un
proceso (a a + 1)
3. Acumulador: Consiste en usarla como un sumador en un proceso

(a a + b).

4. De trabajo: Donde puede recibir el resultado de una operacin matemtica que involucre
muchas variables (a c + b*2/4).
Un ejemplo de estructura secuencial, como obtener el rea de un tringulo:
Inicio
...
float b, h, a;
printf("Diga la base");
scanf("%f", &b);
printf("Diga la altura");
scanf("%f", &h);
a = (b*h)/2;
printf("El rea del tringulo es %f", a)
...
Fin

Smbolos utilizados en los diagramas de flujo.

Pgina 6 de 19

IIE-115

Ciclo 1-2015

Bucle:
Un bucle o ciclo, en programacin, es una sentencia que se realiza repetidas veces a un trozo
aislado de cdigo, hasta que la condicin asignada a dicho bucle deje de cumplirse.
Generalmente, un bucle es utilizado para hacer una accin repetida sin tener que escribir varias
veces el mismo cdigo, lo que ahorra tiempo, deja el cdigo ms claro y facilita su modificacin en
el futuro.
Los tres bucles ms utilizados en programacin son el bucle while, el bucle for y el bucle repetir.

Bucle while:
El Bucle while o bucle mientras es una estructura de la
los lenguajes de programacin estructurados cuyo
repetir un bloque de cdigo mientras una condicin se
verdadera.

mayora de
propsito es
mantenga

Bucle for:
La principal diferencia de un bucle PARA con respecto a los bucles MIENTRAS Y REPETIR, es
que puede determinarse al comienzo del bucle cuntas veces se iterar el mismo, lo cual muchas
veces puede redundar en una optimizacin del cdigo por parte de los compiladores.

Bucle for:
Comprueba la condicin de finalizacin al final del cuerpo del bucle, y si sta
es cierta continua con el resto del programa, a veces esto resulta ms
adecuado.

Pgina 7 de 19

IIE-115

Ciclo 1-2015

Desarrollo:

1. Se tienen tres nmeros reales (a, b y c) y se desea saber cul es el mayor.


Hacer un algoritmo narrado para resolver este problema.

Algoritmo Narrado
1. Problema 1
2. Inicio
3. Leer a, b, b
4. Es a mayor o igual a b?
5. Si es verdadero mayor es igual a a
6. Si es falso mayor es b
7. Es c >= a mayor
8. Si es verdadero mayor es igual a c
9. Mostrar mayor
10. Fin

Pgina 8 de 19

IIE-115

Ciclo 1-2015

2. Desarrollar un diagrama NS que calcule el ngulo menor entre las agujas del
reloj (minutera y horaria), el dato de entrada ser la hora.

Diagrama NS

inicio
leer hora (b:c)
b == 12

b=0
angulob= b*30
anguloc=c*6
angulo d= abs(angulo b-anguloc)
0

angulod>(360-angulod)

angulo d= 360-angulod
mostrar angulo d
Fin

Pgina 9 de 19

IIE-115

Ciclo 1-2015

3. Implementar un algoritmo narrado y de flujo que calcule la mxima


cantidad de billetes de 100, 50, 25, 10, 5 y 1. Por ejemplo 278 colones se
tienen como resultado 2 de 100, uno de 50, uno de 25 y 3 de 1.
Inicio

Leer b

Valor=b

J=valor DIV 100


Valor=valor MOD 100
M=valor DIV50
Valor=valor Mod50

L=valor MOD 20
Valor=valor DIV 20
G=valor DIV 10
Valor=valor MOD 10
N =valor DIV 5
Valor=valor MOD 5
P= valor DIV 1
Valor=valor MOD1
J de 100, M de 50, L
de 20, G de 10, N
de 5, P de 1

FIN

Pgina 10 de 19

IIE-115

Ciclo 1-2015

4. Los ngulos se pueden representar en grados, minutos y segundos, por


ejemplo 1524'5''. Hacer un diagrama de flujo que pueda sumar dos
ngulos en este formato.
Diagrama de Flujo
Inicio

A1 (G1, M1, S1)


A2 (G2, M2, S2)
Gsuma: G1 + G2
Msuma: M1 + M2
Ssuma: S1 + S2

Ssuma >= 60

F
N1>n2

V
N1>n2

Ssuma: Ssuma 60
Msuma: Msuma + 1

Msuma >= 60
V
N1>n2

Msuma: Msuma 60
Msuma: Gsuma + 1

Gsuma, Msuma, Ssuma.

Fin

Pgina 11 de 19

IIE-115

Ciclo 1-2015

F
N1>n2

5. Crear un diagrama de flujo que ordene N cantidad de datos

Inicio
Para i=1 hasta n
R Leer X[i]

Para I=1 hasta n - 1


Para J=1 hasta J = n - 1

X[J] > X[J+1]

AUXI

X[J]

X[J]

X[J+1]

X[J+1]

AUXI

Para J = 1 hasta n
Mostrar X[J]
Fin

Pgina 12 de 19

IIE-115

Ciclo 1-2015

6. Implementar un diagrama de flujo para la siguiente serie:

Inicio

K = 2; Suma = 0

T = ((K-1)+(K+1))/2
Num = Sen (T(X))
Den = (K-1)*(K+1)
M = Num/Den

Suma = Suma + M
K=K+2
V
N1>n2

M<0.0001
F
N1>n2

A = 1/; P = 2/; S = (1/2)sen(X)


SumaTotal = A + S P(Suma)
(1/2)sen(X)
SumaTotal

Fin
Pgina 13 de 19

IIE-115

Ciclo 1-2015

7. Disear un diagrama de cajas para la siguiente serie:

inico
Ingresar x
Denominar K=2; Suma=0; P=8/; n=1; Y=2n-1
R T = ((K-1)+(K+1))/2
R Num = (Y) Sen (T(X))
R Den = (K-1)*(K+1)
R Resul = Num/Den
R Suma = Suma + Resul
RK=K+2
Rn=n+1

Mientras K<100
Mostrar Suma
F Fin

Pgina 14 de 19

IIE-115

Ciclo 1-2015

8. Disear un algoritmo de flujo que calcule un nmero combinatorio para:

Inicio

n,k

n<0 &&
k<0
F

n<k
F

n==k

X=n ;y=1
Y = X*Y
X = X-1
V

X >= 2

Nom = X
1

N=k ;M=1
M = M*N
N = N-1
V

N>=2

T = (n-k)
P=T ;Q=1
Q = Q*P ; P = P-1
V
P>=2
F
B

Pgina 15 de 19

IIE-115

Ciclo 1-2015

Den = M*T

Frac = Nom/Den

Frac

Fin

Pgina 16 de 19

IIE-115

Ciclo 1-2015

9. Crear el diagrama de flujo para encontrar el MCD (Mximo Comn


Divisor) de dos nmeros enteros.
Inicio

Obtener n1, n2
F

V
n1>n2

Count1=n1

Count1=n2

Count2=n2

Count2=n1

R= count1 MOD count2

R=count1 MOD count2

Rant=count2

Rant=count2

R!= 0

V
Rant= r
R=count1MOD count2

Count1=count2
Count2=r

Rant
Pgina 17 de 19

IIE-115

Ciclo 1-2015

FIN

10. Hacer una corrida manual del siguiente diagrama de cajas, se deber
realizar por lo menos 10 iteraciones para x = 0.45.

Iteraciones
1
2
3
4
5
6
7
8
9
10

Valor de X Valor de suma Valor de K


0.45
0.45
0.45
0.45
0.45
0.45
0.45
0.45
0.45
0.45

-----------

-----------

Valor de Mientras
abs(pow(x, -(2*k-1))) / (2*k-1)
-----------

La condicin del primer Do-While siempre se cumple cuando


X=0.45, por lo cual el algoritmo siempre lo regresara a introducir X
y no podr accesar a Suma, K, Ni el siguiente ciclo repetitivo.
Pgina 18 de 19

IIE-115

Ciclo 1-2015

Conclusiones:
-

Los algoritmos tanto narrados como grficos son herramientas que nos facilitan la resolucin
de problemas mediante mtodos lgicos, adems de facilitar la comprensin de quien lo lee,
el nico inconveniente es que debe conocer con anterioridad la metodologa.

Las estructuras repetitivas nos ayudan a la resolucin de problemas ms complejos. Por


ejemplo el lazo Mientras que tiene la propiedad de repetir el cdigo dentro del bucle hasta
que una condicin sea falsa, el Lazo Hacer-Mientras se usa para repetir un proceso que
necesariamente se ejecuta al menos una vez en este aspecto radica su diferencia con Mientras.

Existe un tercer lazo se utiliza cuando se conoce el nmero exacto de veces que se ejecutara
el bucle, es un tanto ms simple que las dos anteriores, pero igualmente til.

Los diagramas NS omiten las flechas de unin, solo son cajas simples y contiguas que varan
de posicin en el caso de utilizar un bucle, los flujogramas son diagramas que utilizan
smbolos especficos y flechas para expresar la direccin del procedimiento.

Bibliografa:
Zelaya, W. (2012) Introduccin a la Informtica. Ed. Imprenta Universitaria UES. San Salvador, pg., 32 al
72.

Sitios de Internet:

http://es.wikipedia.org/wiki/Algoritmo#Diagrama_de_flujo
http://www.monografias.com/trabajos15/algoritmos/algoritmos.shtml
http://www.minsa.gob.pe/dgsp/observatorio/documentos/herramientas/Diagramade
Flujo.pdf
https://docs.google.com/document/d/1AN_r2s2zCdabvQ5j0P2i2Aggp3axxce82fJIKyuo7g/mobilebasic?pli=1

http://image.slidesharecdn.com/simbolosdiagramadeflujo-120309174851phpapp02/95/simbolos-diagrama-de-flujo-1-728.jpg?cb=1331336987

Pgina 19 de 19

IIE-115

Ciclo 1-2015

S-ar putea să vă placă și