0% encontró este documento útil (0 votos)
164 vistas11 páginas

FOLLETO EjerciciosResueltosDF01

Este documento proporciona información sobre diagramas de flujo y algoritmos. Explica los símbolos básicos utilizados en los diagramas de flujo como inicio, proceso, decisión, entrada/salida de datos, y fin. También describe las propiedades de los algoritmos como finitud, definibilidad, conjunto de entradas y salidas, y efectividad. Además, incluye ejemplos de ejercicios para crear diagramas de flujo para diferentes problemas matemáticos y lógicos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
164 vistas11 páginas

FOLLETO EjerciciosResueltosDF01

Este documento proporciona información sobre diagramas de flujo y algoritmos. Explica los símbolos básicos utilizados en los diagramas de flujo como inicio, proceso, decisión, entrada/salida de datos, y fin. También describe las propiedades de los algoritmos como finitud, definibilidad, conjunto de entradas y salidas, y efectividad. Además, incluye ejemplos de ejercicios para crear diagramas de flujo para diferentes problemas matemáticos y lógicos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Apuntes de Informática

A.3. Símbolos en los Organigramas

Comienzo y Fin

Anexo 1 Proceso general

DIAGRAMAS DE FLUJO Toma de decisiones

Entrada de datos por teclado


A.1. ¿Qué es un Algoritmo?

q Describe el método para realizar una tarea.


Salida de datos por pantalla

q Es una secuencia de instrucciones que, ejecutadas adecuadamente, dan lugar al resultado de-
seado.
Salida de datos por impresora
q Ejemplos de algoritmos no informáticos:
♦ Receta de cocina
♦ Una partitura musical
♦ Los planos con las instrucciones para construir una casa, ...

Almacenamiento en
A.2. Propiedades de un Algoritmo
disco magnético
q Finitud:
Número finito de pasos
q Definibilidad:
Cada paso definido de un modo preciso
q Conjunto de Entradas: Conector fuera de página
Datos iniciales del algoritmo
q Conjunto de Salidas:
Respuesta que obtenemos del algoritmo
q Efectividad: Líneas de conexión y
Las operaciones a realizar deben ser básicas, para que el procesador pueda realizarlas dirección del flujo
de modo exacto y en tiempo finito.

2
ANEXO 1 – Diagramas de Flujo Apuntes de Informática

EJERCICIOS DE DIAGRAMAS DE FLUJO


A.4. Reglas Básicas
1. Hacer el diagrama de flujo para sumar dos números leídos por teclado y escribir el resul-
1. Todos los símbolos han de estar conectados tado.
2. A un símbolo de proceso pueden llegarle varias líneas
3. A un símbolo de decisión pueden llegarle varias líneas, pero sólo saldrán dos. 2. Modificar el anterior pero para sumar 100 números leídos por teclado.
4. A un símbolo de inicio nunca le llegan líneas.
5. De un símbolo de fin no parte ninguna línea.
3. Modificar el anterior para que permita sumar N números. El valor de N se debe leer pre-
viamente por teclado.
A.5. Organigrama Genérico
4. Hacer un diagrama de flujo que permita escribir los 100 primeros pares.

Inicio 5. Hacer el diagrama de flujo para sumar los N primeros impares. Realizar después uno que
haga lo mismo con los pares y, otro, con los múltiplos de 3.

Entrada 6. La sucesión de Fibonacci se define de la siguiente forma: a1=1, a2=1 y an=an-1+an-2 para
de datos n>2, es decir los dos primeros son 1 y el resto cada uno es la suma de los dos anteriores,
los primeros son: 1, 1, 2, 3, 5, 8, 13, 21, ... Hacer un diagrama de flujo para calcular el N-
ésimo término de la sucesión.
Proceso
7. Hacer un diagrama de flujo que simule un reloj.

8. Realizar el diagrama de flujo para resolver una ecuación de segundo grado, teniendo en
Salida
de datos
cuenta las soluciones complejas.

9. Hacer un organigrama que calcule el total de una factura, partiendo de una lista de parejas
importe, iva. La lista finaliza cuando el importe sea 0. El iva puede ser el 4%, el 7% o el
Fin 16%, en cualquier otro caso se rechazan importe e iva y se deben introducir de nuevo.

A.6. Variables y Operaciones


Finalmente hay que realizar un descuento, en función de la suma de los importes, dicho
descuento es del 0% si es menor que 1000, es del 5% si es mayor o igual que 1000 y me-
q Variables: nor que 10000 y es de un 10% si es mayor o igual que 10000. El descuento se debe aplicar
♦ Numéricas: a la suma de los importes y a la suma de los ivas.
⇒ Enteros
⇒ Punto Flotante Para acabar se debe imprimir el importe y el iva resultantes (total menos descuento) y la
♦ Alfanuméricas: suma de ambos.
⇒ Carácter
⇒ Cadena de caracteres 10. Hacer un organigrama que lea N números, calcule y escriba la suma de los pares y el pro-
ducto de los impares.

q Operaciones: 11. Hacer un diagrama de flujo para calcular el máximo común divisor de dos números ente-
♦ Asignación: ros positivos N y M siguiendo el algoritmo de Euclídes, que es el siguiente:
=
♦ Comparación: 1. Se divide N por M, sea R el resto.
¿=? 2. Si R=0, el máximo común divisor es M y se acaba.
♦ Aritméticas: 3. Se asigna a N el valor de M y a M el valor de R y volver al paso 1.
+, -, *, /, ** (potenciación)
♦ Lógicas:
¿Por qué el método anterior acaba alguna vez? ¿por qué calcula el máximo común divisor de N y
>, <, =, ≥ , ≤ , ≠
M?

3 4
ANEXO 1 – Diagramas de Flujo Apuntes de Informática

12. Calcular los números primos hasta el N, según la Criba de Eratóstenes, que consiste en
poner todos los números del 2 al N en una tabla e ir tachando los múltiplos de cada núme- 19. Hacer el organigrama de un programa que dado un array A ordenado de N elementos,
ro, detalladamente es como sigue: encuentre la posición de uno B leído por teclado. El algoritmo a emplear es el siguiente:

1. Escribir los números del 2 al N. 1. Se fijan los extremos de la porción a buscar: I=1, J=N.
2. Hacer I igual a 2 2. Se calcula el índice del elemento medio K=(I+J)/2.
3. Mirar el número I de la tabla. 3. Se compara B con el elemento medio A(K).
4. Si esta tachado ir al paso 6. 4. Si es igual se escribe K y se termina.
5. Si no lo esta tachar los múltiplos de I en la tabla. 5. Si es mayor se cambian los extremos a I=K+1, J=N y se vuelve a 2.
6. Incrementar I. 6. Si es menor se cambian los extremos a I=1, J=K-1 y se vuelve a 2.
7. Si I es menor o igual que N ir al paso 3.
8. En otro caso finalizar. Pensar después que habrá que modificar para que busque también valores de B que no estén en el
array A, si se da ese caso y no lo encuentra debe poner un mensaje diciendo que no esta.
El punto 5 también requiere un algoritmo, que es el siguiente:
20. Hacer un organigrama de un programa que adivine el número entre 1 y 1000 pensado por
5.1 Hacer J igual al doble de I (primer múltiplo de I). un humano. El programa debe ir diciendo números y el humano responderá con los sím-
5.2 Si J es mayor que N finalizar (el apartado 5). bolos '<', '>' o '=', según el número pensado sea menor, mayor o igual que el dicho por el
5.3 En otro caso tachar el elemento J. ordenador. Cuando lo adivine deberá poner un mensaje especificando cuantas preguntas
5.4 Incrementar J en I (para pasar al siguiente múltiplo de I). ha necesitado y finalizar. No debe realizar más de 10 preguntas y debe detectar si el hu-
5.5 Volver a 5.2. mano le engaña diciéndole cosas imposibles, por ejemplo es mayor que 4 y menor que 5.
Si en lugar de estar el número de partida entre 1 y 1000 estuviera entre 1 y 1000000,
Para realizarlo se simulará la tabla con números tachados mediante un array P, y el ¿cuantas preguntas serían necesarias?
elemento I estará sin tachar cuando P(I) sea 1 y tachado cuando sea 0.
21. Realizar el organigrama de un programa que permita calcular ceros de funciones em-
13. Hacer el diagrama de flujo para calcular el factorial de N (N!=1·2·3·...·N). pleando el Teorema de Bolzano (si una función continua, definida en un intervalo cerrado
[a,b], toma valores de signos opuestos en los extremos, existe un punto c en [a,b] tal que
14. Hacer un diagrama de flujo para sumar los N primeros términos de una progresión geo- f(c)=0). Los datos de partida son los extremos del intervalo a y b y E que nos dice el má-
métrica de primer término A y razón R (dados por teclado). Se debe realizar la suma sin ximo error tolerado en el resultado. El programa deberá poner un mensaje de error si la
emplear la fórmula que existe para ello. función tiene igual signo en los extremos del intervalo, en otro caso debe escribir un valor
C, que diste del c del Teorema en menos de E.
15. Hacer un diagrama de flujo para convertir un número decimal N dado por teclado a bina-
rio. 22. Dados dos números enteros positivos N y D, se dice que D es un divisor de N si el resto
de dividir N entre D es 0. Se dice que un número N es perfecto si la suma de sus divisores
16. Hacer un diagrama de flujo para calcular AB, siendo B un entero, nótese que B puede ser 0 (excluido el propio N) es N. Por ejemplo 28 es perfecto, pues sus divisores (excluido el
o negativo. No se pueden emplear logaritmos. 28) son: 1, 2, 4, 7 y 14 y su suma es 1+2+4+7+14=28. Hacer un organigrama que dado un
número N nos diga si es o no perfecto.
17. Hacer un diagrama de flujo para calcular el máximo de N números leídos por teclado, se
debe realizar de dos formas, una almacenando previamente los números dados por teclado 23. Un año es bisiesto si es múltiplo de 4, exceptuando los múltiplos de 100, que sólo son
en un array y la otra calculando el máximo directamente según se leen los números del te- bisiestos cuando son múltiplos además de 400, por ejemplo el año 1900 no fue bisiesto,
clado. pero el año 2000 si lo será. Hacer un organigrama que dado un año A nos diga si es o no
bisiesto.
18. Hacer un diagrama de flujo para ordenar N números leídos por teclado y almacenados en
un array A. El algoritmo es el siguiente: 24. Hacer un organigrama que dados un día D, un mes M y un año A, calcule cual es el día
siguiente. Se debe tener en cuenta que en los años bisiestos Febrero tiene 29 días y en los
1. Se lee N y después los N números al array A. no bisiestos 28.
2. Se busca el máximo de los elementos del 1 al N y su índice J.
3. Se intercambian los elementos A(J) y A(N). 25. El Miércoles de Ceniza es 46 días antes que el Domingo de Resurrección. Hacer un orga-
4. Se decrementa N en 1. nigrama para que dados el día D, el mes M y el año A del Domingo de Resurrección cal-
5. Se compara N con 1, si es mayor se vuelve a 2. cule la fecha del Miércoles de Ceniza en ese año. Se debe tener en cuenta si el año es o no
6. Si es menor o igual se termina. bisiesto.

5 6
ANEXO 1 – Diagramas de Flujo Apuntes de Informática

SOLUCIONES A LOS EJERCICIOS DE DIAGRAMAS DE FLUJO


26. Hacer un organigrama que lea un número N y obtenga las ternas pitagóricas (A, B, C) en
las que A, B y C son todos enteros positivos y menores que N. Para que una terna (A, B, 1. Hacer el diagrama de flujo para sumar dos números leídos por teclado y escribir el resul-
C) sea pitagórica debe cumplir que A2+B 2=C 2. tado.

27. Una empresa paga a sus 100 operarios semanalmente, de acuerdo con el número de horas Inicio
trabajadas, a razón de P pesetas por hora y de 1.5·P pesetas por cada hora extra. Las horas
extras son las que exceden de 40h. Hacer el organigrama que dado el número de horas tra- Leer A à Leemos el primer número y lo dejamos en A
bajadas y el valor de P calcule el salario que le corresponde.

28. Disponemos de una máquina que puede dar vueltas con 5 tipos de monedas distintas: 100, Leer B à Leemos el segundo número y lo dejamos en B
50, 25, 5 y 1 pts. Realizar el organigrama de un programa que dados el precio del artículo
y la cantidad entregada por el consumidor nos indique la vuelta a entregar empleando el C=A+B à Sumamos A y B, y dejamos el resultado en C
menor número posible de monedas.
Escribir C à Escribimos C
29. Plantear el organigrama de un programa que sea capaz de calcular el impuesto sobre la
renta el número de veces que sea necesario y lo escriba por impresora. El impuesto de la
renta es el 15% del salario anual de cada persona, al que previamente se debe realizar una Fin
deducción en función del número de hijos, que es del 0% si tiene 0, del 5% si tiene 1 o 2 y
del 15% si tiene más de 2.

30. Realizar un organigrama para leer por teclado las notas de N alumnos que están matricu- 2. Modificar el anterior pero para sumar 100 números leídos por teclado.
lados en M asignaturas, si un alumno no esta matriculado de una asignatura o no se pre-
senta al examen se debe introducir como nota -1. El programa debe calcular y escribir el
Inicio
número de alumnos presentados a cada asignatura, la nota media, el número de suspensos,
el número de aprobados, el número de notables y el número de sobresalientes.
(1) I=100
31. Hacer el organigrama para resolver el siguiente problema: Un hombre, un lobo, una cabra
y un repollo deben pasar un río, para ello se dispone de una barca con capacidad para dos (2) S=0
ocupantes, el hombre (único que sabe remar) y otro. Si en una orilla se quedan solos el lo-
bo y la cabra, el lobo se come a la cabra. Si en una orilla se quedan solos la cabra y el re-
pollo, la cabra se come el repollo. (3) Leer A

(4) S=S+A

(5) I=I-1

NO (6)
I=0

SI
(7) Escribir S

Fin

- En I contamos los números que quedan por sumar.


- En S calculamos la suma.
- A se emplea para leer temporalmente cada número.

7 8
ANEXO 1 – Diagramas de Flujo Apuntes de Informática

Vamos a ver paso a paso como funciona. Supongamos que los datos son: 7, -1, 8, 5, ... 4. Hacer un diagrama de flujo que permita escribir los 100 primeros pares.

(1) I=100 (números a sumar)


Inicio
(2) S=0 (suma, inicialmente 0)
(3) Leer A. El primero es 7, luego A=7 I=100
(4) S=S+A=0+7=7
(5) I=I-1=100-1=99 P=0
(6) ¿I=0? → NO
(3) Leer A, ahora A=-1 Escribir P
(4) S=S+A=7-1=6
(5) I=I-1=99-1=98 P=P+2
(6) ¿I=0? → NO
I=I-1
Cuando I=0 habremos sumado los 100 números y pasaremos a:
NO
I=0
(7) Escribir S que será la suma
SI
Fin

3. Modificar el anterior para que permita sumar N números. El valor de N se debe leer pre-
viamente por teclado. P: Variable para contener el siguiente par que se debe escribir.
I: Contador de pares que quedan por escribir.

Inicio El proceso es similar al anterior. Necesitamos un bucle para contar 100 veces y den-
tro de él escribimos el par e incrementamos para obtener el siguiente.
Leer N
5. Hacer el diagrama de flujo para sumar los N primeros impares. Realizar después uno que haga lo
S=0 mismo con los pares y otro con los múltiplos de 3.

Inicio
Leer A
Leer N

S=S+A I=1

S=0
N=N-1

S=S+I
NO
N=0
I=I+2
SI
Escribir S N=N-1

NO
N=0
Fin
SI
Escribir S

Fin

9 10
ANEXO 1 – Diagramas de Flujo Apuntes de Informática

6. La sucesión de Fibonacci se define de la siguiente forma: a1=1, a2=1 y an=an-1+an-2 para (6) A=B=2
n>2, es decir, los dos primeros son 1 y el resto cada uno es la suma de los dos anteriores, (7) B=C=3
los primeros son: 1, 1, 2, 3, 5, 8, 13, 21, ... Hacer un diagrama de flujo para calcular el N- (8) N=N-1=3-1=2
ésimo término de la sucesión. (9) ¿N=2? → SI
(10) Escribimos B, es decir 3.
Inicio

(1)
7. Hacer un diagrama de flujo que simule un reloj.
Leer N

SI NO
N<=2
(2) Inicio
A=1 (3)

H=0
B=1 (4)

C=A+B (5) M=0

A=B (6) S=0

B=C (7)
Escribir H:M:S

N=N-1 (8)
S=S+1
(9)
SI N=2
NO
NO
(11) Escribir 1 Escribir B (10)
S=60

SI

Fin
S=0

M=M+1
Dado N, el proceso es el siguiente:
NO
- si N≤2 se escribe directamente 1 y se acaba. M=60
- en otro caso se guardan en A y B los 2 últimos (al principio 1) y se suman, pasando des-
SI
pués a llamar A al antiguo B, y B a la suma. Se decrementa N y cuando valga 2, en B te-
M=0
nemos lo que queremos.

Vamos a ver como funciona paso a paso. Para ello vamos a numerar cada uno de los pa- H=H+1
sos y ver como se van realizando.
NO
H=24
(1) Leemos N, supongamos N=4.
(2) ¿N≤2? → NO SI
(3) A=1 H=0
(4) B=1
(5) C=A+B=1+1=2 Esperar 1 seg.
(6) A=B=1
(7) B=C=2
(8) N=N-1=4-1=3
(9) ¿N=2? → NO
(5) C=A+B=1+2=3

11 12
ANEXO 1 – Diagramas de Flujo Apuntes de Informática

9. Hacer un organigrama que calcule el total de una factura, partiendo de una lista de parejas 10. Hacer un organigrama que lea N números, calcule y escriba la suma de los pares y el
importe, iva. La lista finaliza cuando el importe sea 0. El iva puede ser el 4%, el 7% o el producto de los impares.
16%, en cualquier otro caso se rechazan importe e iva y se deben introducir de nuevo. Final-
mente hay que realizar un descuento, en función de la suma de los importes, dicho descuento Inicio
es del 0% si es menor que 1000, es del 5% si es mayor o igual que 1000 y menor que 10000
y es de un 10% si es mayor o igual que 10000. El descuento se debe aplicar a la suma de los Leer N
importes y a la suma de los ivas. Para acabar se debe imprimir el importe y el iva resultantes
(total menos descuento) y la suma de ambos.
SP=0

PI=1

Inicio Leer A

SIMP=0 SI A MOD 2=0


NO

SP=SP+A PI=PI·A
SIVA=0

N=N-1
leer IMP,IVA
NO N=0
SI
IMP=0 SI

NO Escribir SP,PI
NO SI
SIMP<1000
SI
IVA=4 SI Fin
D=0 SIMP<10000
NO
D=5 NO 11. 13.
SI
IVA=7 D=10 Inicio Inicio
NO
SI Leer N,M Leer N
IVA=16
SIMP·D
SIMP=SIMP-
100 R=N MOD M P=1
NO
Escribir
SIVA·D SI NO
IVA incorrecto R=0 N>1
SIVA=SIVA- 100
NO SI
N=M P=P·N
SIMP=SIMP+IMP TOT=SIMP+SIVA
M=R N=N-1
IMP·IVA
SIVA=SIVA+ Escribir SIMP,SIVA,TOT
100
Escribir M Escribir P
Fin
Fin Fin

13 14
ANEXO 1 – Diagramas de Flujo Apuntes de Informática

12. 16. 18.


Inicio Inicio Inicio

Leer N
Leer A
Leer N
I=1

Leer B
I=2 Leer A(I)

P=1 I=I+1
P(I)=1
SI
I<=N
NO SI
I=I+1 B=0 NO
M=A(1)
NO SI
SI B>0
I<=N J=1

A=1/A
NO I=2

I=2
B=-B A(I)>M
SI

NO NO M=A(I)
P(I)=1
P=P·A J=I
SI
Escribir I
B=B-1 I=I+1

J=2·I SI
NO I<=N
B=0
NO
NO
J<=N SI A(J)=A(N)

SI A(N)=M
I=I+1 Escribir P
P(J)=0
N=N-1

SI Fin
J=J+I I<=N SI
N>1

NO NO
Fin
Fin

19.
14. 15.
Inicio
Inicio Inicio

Leer N Leer B
Leer A

Leer R I=1 I=1

Leer N R(I)=N MOD 2


J=N

S=0 N=N DIV 2


K=(I+J) DIV 2
S=S+A I=I+1
SI NO
B=A(K)
A=A·R SI
N>0
SI B>A(K) NO
N=N-1 NO
I=I-1
I=K+1 J=K-1
SI
N>0
NO
I>0
NO
Escribir S SI
Escribir K
Fin
Escribir R(I)
Fin Fin

15 16
ANEXO 1 – Diagramas de Flujo Apuntes de Informática

17. Calcular el máximo de N números leídos desde teclado. (5) ¿A>M? → NO


(7) I=I-1=2-1=1
(8) ¿I=0? → NO
Inicio (4) Leer A, A=7
(5) ¿A>M? → SI
(6) M=A=7
Leer N (1)
(7) I=I-1=1-1=0
(8) ¿I=0? → SI
Leer M (2) (9) Escribir M, es decir 7

I=N-1 (3)
22.

Leer A (4)
Inicio

(5) SI
A>M
Leer N
M=A (6)
NO
S=0

I=I-1 (7) D=1

NO (8) SI NO
I=0 N MOD D=0

SI S=S+D
Escribir M (9)

Fin D=D+1

Vamos a almacenar en M el máximo de los números que se hayan leído, el primero va di- D<N SI
rectamente a M y los N-1 restantes los leemos en A, comparamos con M y si son mayores
cambiamos el máximo temporal. Al final se escribe el resultado. NO
NO S=N SI
Vamos a ejecutarlo paso a paso para N=4, empleando como datos: 2, 3, -1, 7.

(1) Leer N → N=4 Escribir Escribir


(2) Leer M → M=2 N no es perfecto N es perfecto
(3) I=N-1=3
(4) Leer A → A=3
(5) ¿A>M? → SI
(6) M=A=3 Fin
(7) I=I-1=3-I=2
(8) ¿I=0? → NO
(4) Leer A → A=-1

17 18
ANEXO 1 – Diagramas de Flujo Apuntes de Informática

23. 26. 27.


Inicio Inicio
Inicio

Leer N
Leer A
Leer P
A=1
SI A MOD 4=0
NO

NO SI B=1 Leer H
A MOD 100=0

SI NO C=1
A MOD 400=0
E=0
Escribir Escribir
SI
A·A+B·B=C·C
A es bisiesto A no es bisiesto
SI NO
NO H>40
C=C+1
Escribir A,B,C
Fin E=H-40
SI
C<N

NO
H=40
24. B=B+1
Inicio
SI
B<N
Leer B

NO
S=P·H+1,5·P·E
DIAS (1)=31
A=A+1

DIAS (2)=28
SI
Escribir S
A<N
DIAS (3)=31
.. NO
.
DIAS (12)=31 Fin Fin

SI A es bisiesto
NO

DIAS (2) = 29

D=D+1

SI D>DIAS (M)

D=1 NO

M=M+1

SI
M>12

M=1

A=A+1

Escribir D,M,A

Fin

19 20
ANEXO 1 – Diagramas de Flujo

28. 29.
Inicio Inicio

MON(1)=1
Leer SAL
MON(2)=5

Leer H
MON(3)=25

SI NO
MON(4)=50 H=0

D=0 SI NO
MON(5)=100 H<3

Leer PRE D=5 D=15

Leer ENT

D·SAL
DIF=ENT-PRE
SAL=SAL- 100

I=5 SAL·15
IMP=
100
SI NO
DIF>MON(I)

Escribir IMP
CAM(I)=DIF DIV MON(I)
CAM(I)=0
Fin
DIF=DIF MOD MON(I)

Escribir CAM(I) de MON(I)

I=I-1

SI
I>0

NO
Fin

21

También podría gustarte