Tarea 1 EII115
-
Upload
jairosorto -
Category
Documents
-
view
219 -
download
0
Transcript of Tarea 1 EII115
-
8/18/2019 Tarea 1 EII115
1/19
Universidad de El Salvador
Facultad de Ingeniería y Arquitectura
Escuela de Ingeniería Eléctrica
Introducción a la informática IIE-115
Tarea 1
“
ALGORITMOS
Narrados y ráficos”
Instructor: Arturo Posada
Grupo de laboratorio N° 2
Integrantes: Carnet:
Hernández Nieto, Jairo Alejandro HN14001
Sorto Castillo, Jairo Josué SC14009
Vargas Rosa, Sergio Manuel VR14003
Roque Vidal, José Arnoldo RV14040
Ciudad Universitaria, Viernes 16 de abril de 2015
-
8/18/2019 Tarea 1 EII115
2/19
Página 2 de 19 IIE-115 Ciclo 1-2015
INDICE
Introducción:
................................................................................................................................................. 3
Objetivos:
....................................................................................................................................................... 3
Marco Teórico:
.............................................................................................................................................. 4
Estructuras secuenciales ......................................................................................................................... 5
Desarrollo: ..................................................................................................................................................... 8
Conclusiones:
............................................................................................................................................... 19
Bibliografía:
.................................................................................................................................................. 19
Sitios de Internet: ..................................................................................................................................... 19
-
8/18/2019 Tarea 1 EII115
3/19
Página 3 de 19 IIE-115 Ciclo 1-2015
Introducción:
En el presente documento se presenta la primera tarea de Introducción a la Informática, de la carrera
Ingeniería Eléctrica la cual consta de ALGORITMOS, Narrados y Gráficos. Son 10 ejercicios
resueltos utilizando los conocimientos adquiridos en los teóricos de la materia, se involucranFlujogramas y diagramas de caja, dado que es una forma rápida y eficiente de presentar una posible
solución a los problemas dados, todo este proceso es necesario conocer antes de aprender cualquier
lenguaje de programación. Se debe tener claro que el desarrollo de estos diagramas esta armado al
nivel de lógica de la persona que los está utilizando, por esto es necesario conocer la simbología y la
funcionalidad de ciertas propiedades o características de la lógica de resolución 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 solución.
A diferencia de los laboratorios en las tareas se pone en manifiesto el grado de comprensión de los
alumnos sobre un determinado tema, por eso dentro de este reporte se expone un marco teorico
básico sobre los algoritmos, diagramas de flujo y demás información, un desarrollo que son los
ejercicios dados y unas conclusiones en base a los objetivos planteados por los alumnos que se
presentan a continuación:
Objetivos:
Tener la capacidad realizar Algoritmos narrados y gráficos.
Aplicar los bucles repetitivos, Mientras Hacer-mientras y para.
Graficar de manera correcta los diagramas NS y de flujo.
-
8/18/2019 Tarea 1 EII115
4/19
Página 4 de 19 IIE-115 Ciclo 1-2015
Marco Teórico:
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,
pseudocódigo, diagramas de flujo y lenguajes de programación entre otros. Las descripciones en
lenguaje natural tienden a ser ambiguas y extensas; El usar pseudocódigo y diagramas de flujo evita
muchas ambigüedades del lenguaje natural; Dichas expresiones son formas más estructuradas para
representar algoritmos; No obstante, se mantienen independientes de un lenguaje de programación
específico.
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 cálculos numéricos para definir los pasos del
proceso. Lo ejecuta el computador
La descripción de un algoritmo usualmente se hace en tres niveles:
Descripción de alto nivel. Se establece el problema, se selecciona un modelo matemático y se
explica el algoritmo de manera verbal, posiblemente con ilustraciones y omitiendo detalles.
Descripción formal. Se usa pseudocódigo para describir la secuencia de pasos que encuentranla solución.
Implementación. Se muestra el algoritmo expresado en un lenguaje de programación específico
o algún objeto capaz de llevar a cabo instrucciones.
Diagrama de flujo.
Los diagramas de flujo son descripciones gráficas de algoritmos; usan
símbolos conectados con flechas para indicar la secuencia de instrucciones
y están regidos por ISO.
Los diagramas de flujo son usados para representar algoritmos pequeños, ya
que abarcan mucho espacio y su construcción es laboriosa. Por su facilidad
de lectura son usados como introducción a los algoritmos, descripción de
un lenguaje y descripción de procesos a personas ajenas a la computación.
Ejemplo: Calculo de la raíz de la cuadrada de un número.
-
8/18/2019 Tarea 1 EII115
5/19
Página 5 de 19 IIE-115 Ciclo 1-2015
Pseudocódigo.
El pseudocódigo (falso lenguaje , el prefijo pseudo significa falso ) es una descripción de alto nivel de
un algoritmo que emplea una mezcla de lenguaje natural con algunas convenciones sintácticas
propias de lenguajes de programación, como asignaciones, ciclos y condicionales, aunque no está
regido por ningún estándar. Es utilizado para describir algoritmos en libros y publicacionescientíficas, 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
pseudocódigo requieren menos espacio para representar instrucciones complejas.
El pseudocódigo 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 implementación.
Programadores diferentes suelen utilizar convenciones distintas, que pueden estar basadas en la
sintaxis de lenguajes de programación concretos.
Variables.
Son elementos que toman valores específicos de un tipo de datos concreto. La declaración de una
variable puede realizarse comenzando con var. Principalmente, existen dos maneras de otorgar
valores iniciales a variables:
1. Mediante una sentencia de asignación.
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 acción 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 asignación 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 asignación
se puede clasificar de la siguiente forma:
1. Simples: Consiste en pasar un valor constante a una variable (a← 15)
-
8/18/2019 Tarea 1 EII115
6/19
Página 6 de 19 IIE-115 Ciclo 1-2015
2.
Contador: Consiste en usarla como un verificador del número 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 operación matemática que involucre
muchas variables (a← c + b*2/4).
Un ejemplo de estructura secuencial, como obtener el área de un triángulo:
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 triángulo es %f", a)
...
Fin
Símbolos utilizados en los diagramas de flujo.
-
8/18/2019 Tarea 1 EII115
7/19
Página 7 de 19 IIE-115 Ciclo 1-2015
Bucle:
Un bucle o ciclo, en programación, es una sentencia que se realiza repetidas veces a un trozo
aislado de código, hasta que la condición asignada a dicho bucle deje de cumplirse.
Generalmente, un bucle es utilizado para hacer una acción repetida sin tener que escribir varias
veces el mismo código, lo que ahorra tiempo, deja el código más claro y facilita su modificación enel futuro.
Los tres bucles más utilizados en programación son el bucle while, el bucle for y el bucle repetir.
Bucle while:
El Bucle while o bucle mientras es una estructura de la mayoría de
los lenguajes de programación estructurados cuyo propósito es
repetir un bloque de código mientras una condición se mantenga
verdadera.
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 cuántas veces se iterará el mismo, lo cual muchas
veces puede redundar en una optimización del código por parte de los compiladores.
Bucle for:
Comprueba la condición de finalización al final del cuerpo del bucle, y si éstaes cierta continua con el resto del programa, a veces esto resulta más
adecuado.
-
8/18/2019 Tarea 1 EII115
8/19
Página 8 de 19 IIE-115 Ciclo 1-2015
Desarrollo:
1. Se tienen tres números reales (a, b y c) y se desea saber cuál 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 mayor8. Si es verdadero mayor es igual a c
9. Mostrar mayor
10. Fin
-
8/18/2019 Tarea 1 EII115
9/19
Página 9 de 19 IIE-115 Ciclo 1-2015
2.
Desarrollar un diagrama NS que calcule el ángulo menor entre las agujas delreloj (minutera y horaria), el dato de entrada será la hora.
Diagrama NS
Fin
anguloc=c*6
angulo d= abs(angulo b-anguloc)
angulo d= 360-angulod
mostrar angulo d
inicio
leer hora (b:c)
b=0
angulob= b*30
b == 12 0
angulod>(360-angulod)
0 1
1
-
8/18/2019 Tarea 1 EII115
10/19
Página 10 de 19 IIE-115 Ciclo 1-2015
3. Implementar un algoritmo narrado y de flujo que calcule la máxima
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.
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
J “de 100, “ M “de 50, ” L
“de 20, ” G “de 10, ” N
“de 5, ” P “de 1”
FIN
-
8/18/2019 Tarea 1 EII115
11/19
Página 11 de 19 IIE-115 Ciclo 1-2015
4. Los ángulos se pueden representar en grados, minutos y segundos, por
ejemplo 15º24'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
Ssuma : Ssuma – 60
Msuma : Msuma + 1Msuma >= 60
Msuma : Msuma – 60
Msuma : Gsuma + 1
Gsuma , Msuma , Ssuma .
Fin
V
F
V
F
-
8/18/2019 Tarea 1 EII115
12/19
Página 12 de 19 IIE-115 Ciclo 1-2015
5. Crear un diagrama de flujo que ordene “N” cantidad de datos
X[J] X[J+1]
X[J+1] AUXI
X[J] > X[J+1]
V F
AUXI X[J]
Para J = 1 hasta n
Inicio
R Leer X[i]
Fin
Para i=1 hasta n
Para I=1 hasta n - 1
Para J=1 hasta J = n - 1
Mostrar X[J]
-
8/18/2019 Tarea 1 EII115
13/19
Página 13 de 19 IIE-115 Ciclo 1-2015
6. Implementar un diagrama de flujo para la siguiente serie:
Inicio
X
K = 2; Suma = 0
M
-
8/18/2019 Tarea 1 EII115
14/19
Página 14 de 19 IIE-115 Ciclo 1-2015
7. Diseñar un diagrama de cajas para la siguiente serie:
R n = n + 1
inico
Ingresar x
Denominar K=2; Suma=0; P=8/π; n=1; Y=2n-1
R T = ((K-1)+(K+1))/2
Mostrar Suma
F Fin
Mientras K
-
8/18/2019 Tarea 1 EII115
15/19
Página 15 de 19 IIE-115 Ciclo 1-2015
8. Diseñar un algoritmo de flujo que calcule un número combinatorio para:
V
VF
V
F
F
V
V
F
F
N = k ; M = 1
M = M*N
N = N-1
N>=2
T = (n-k)
P = T ; Q = 1
Q = Q*P ; P = P-1
Inicio
n
-
8/18/2019 Tarea 1 EII115
16/19
Página 16 de 19 IIE-115 Ciclo 1-2015
Fin
Frac = Nom/Den
Frac
A B
Den = M*T
-
8/18/2019 Tarea 1 EII115
17/19
Página 17 de 19 IIE-115 Ciclo 1-2015
9. Crear el diagrama de flujo para encontrar el MCD Máximo Común
Divisor) de dos números enteros.
Inicio
Count1=n2
Count2=n1
R=count1 MOD count2
Rant=count2
F
R!= 0
Rant= r
R=count1MOD count2
Count1=count2
Count2=r
Obtener n1, n2
n1>n2
Count1=n1
Count2=n2
R= count1 MOD count2
Rant=count2
V
Rant
FIN
V
F
-
8/18/2019 Tarea 1 EII115
18/19
Página 18 de 19 IIE-115 Ciclo 1-2015
10. Hacer una corrida manual del siguiente diagrama de cajas, se deberá
realizar por lo menos 10 iteraciones para x = 0.45.
Iteraciones Valor de X Valor de suma Valor de K Valor de Mientras
abs pow x, - 2*k-1))) / 2*k-1)
1 0.45 -- -- --
2 0.45 -- -- --
3 0.45 -- -- --
4 0.45 -- -- --
5 0.45 -- -- --
6 0.45 -- -- --
7 0.45 -- -- --
8 0.45 -- -- --
9 0.45 -- -- --
10 0.45 -- -- --
La condición 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.
-
8/18/2019 Tarea 1 EII115
19/19
Página 19 de 19 IIE-115 Ciclo 1-2015
Conclusiones:
- Los algoritmos tanto narrados como gráficos son herramientas que nos facilitan la resolución
de problemas mediante métodos lógicos, además de facilitar la comprensión de quien lo lee,
el único inconveniente es que debe conocer con anterioridad la metodología.
-
Las estructuras repetitivas nos ayudan a la resolución de problemas más complejos. Por
ejemplo el lazo Mientras que tiene la propiedad de repetir el código dentro del bucle hasta
que una condición 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 número exacto de veces que se ejecutara
el bucle, es un tanto más simple que las dos anteriores, pero igualmente útil.
-
Los diagramas NS omiten las flechas de unión, solo son cajas simples y contiguas que varían
de posición en el caso de utilizar un bucle, los flujogramas son diagramas que utilizansímbolos específicos y flechas para expresar la dirección del procedimiento.
Bibliografía:
Zelaya, W. (2012) Introducción a la Informática. Ed. Imprenta Universitaria UES. San Salvador, pág., 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_r2s2zCdabvQ5j0P2i2Aggp3axxce82f-
JIKyuo7g/mobilebasic?pli=1
http://image.slidesharecdn.com/simbolosdiagramadeflujo-120309174851-
phpapp02/95/simbolos-diagrama-de-flujo-1-728.jpg?cb=1331336987
http://es.wikipedia.org/wiki/Algoritmo#Diagrama_de_flujohttp://es.wikipedia.org/wiki/Algoritmo#Diagrama_de_flujohttp://www.monografias.com/trabajos15/algoritmos/algoritmos.shtmlhttp://www.monografias.com/trabajos15/algoritmos/algoritmos.shtmlhttp://www.minsa.gob.pe/dgsp/observatorio/documentos/herramientas/DiagramadeFlujo.pdfhttp://www.minsa.gob.pe/dgsp/observatorio/documentos/herramientas/DiagramadeFlujo.pdfhttp://www.minsa.gob.pe/dgsp/observatorio/documentos/herramientas/DiagramadeFlujo.pdfhttp://www.minsa.gob.pe/dgsp/observatorio/documentos/herramientas/DiagramadeFlujo.pdfhttp://www.minsa.gob.pe/dgsp/observatorio/documentos/herramientas/DiagramadeFlujo.pdfhttps://docs.google.com/document/d/1AN_r2s2zCdabvQ5j0P2i2Aggp3axxce82f-JIKyuo7g/mobilebasic?pli=1https://docs.google.com/document/d/1AN_r2s2zCdabvQ5j0P2i2Aggp3axxce82f-JIKyuo7g/mobilebasic?pli=1https://docs.google.com/document/d/1AN_r2s2zCdabvQ5j0P2i2Aggp3axxce82f-JIKyuo7g/mobilebasic?pli=1https://docs.google.com/document/d/1AN_r2s2zCdabvQ5j0P2i2Aggp3axxce82f-JIKyuo7g/mobilebasic?pli=1https://docs.google.com/document/d/1AN_r2s2zCdabvQ5j0P2i2Aggp3axxce82f-JIKyuo7g/mobilebasic?pli=1http://image.slidesharecdn.com/simbolosdiagramadeflujo-120309174851-phpapp02/95/simbolos-diagrama-de-flujo-1-728.jpg?cb=1331336987http://image.slidesharecdn.com/simbolosdiagramadeflujo-120309174851-phpapp02/95/simbolos-diagrama-de-flujo-1-728.jpg?cb=1331336987http://image.slidesharecdn.com/simbolosdiagramadeflujo-120309174851-phpapp02/95/simbolos-diagrama-de-flujo-1-728.jpg?cb=1331336987http://image.slidesharecdn.com/simbolosdiagramadeflujo-120309174851-phpapp02/95/simbolos-diagrama-de-flujo-1-728.jpg?cb=1331336987http://image.slidesharecdn.com/simbolosdiagramadeflujo-120309174851-phpapp02/95/simbolos-diagrama-de-flujo-1-728.jpg?cb=1331336987http://image.slidesharecdn.com/simbolosdiagramadeflujo-120309174851-phpapp02/95/simbolos-diagrama-de-flujo-1-728.jpg?cb=1331336987http://image.slidesharecdn.com/simbolosdiagramadeflujo-120309174851-phpapp02/95/simbolos-diagrama-de-flujo-1-728.jpg?cb=1331336987https://docs.google.com/document/d/1AN_r2s2zCdabvQ5j0P2i2Aggp3axxce82f-JIKyuo7g/mobilebasic?pli=1https://docs.google.com/document/d/1AN_r2s2zCdabvQ5j0P2i2Aggp3axxce82f-JIKyuo7g/mobilebasic?pli=1http://www.minsa.gob.pe/dgsp/observatorio/documentos/herramientas/DiagramadeFlujo.pdfhttp://www.minsa.gob.pe/dgsp/observatorio/documentos/herramientas/DiagramadeFlujo.pdfhttp://www.monografias.com/trabajos15/algoritmos/algoritmos.shtmlhttp://es.wikipedia.org/wiki/Algoritmo#Diagrama_de_flujo