Anda di halaman 1dari 4

Escriba un algoritmo que determine cules son los mltiplos de 5 comprendidos entre 1 y N.

Haremos lo mismo que antes, analizaremos el enunciado con las preguntas:

Debe el usuario introducir datos? El nico dato que debe introducir el usuario es el lmite.

Normalmente, cuando se dice N es un dato que debe introducir el usuario.


Hay algn tipo de repeticin dentro del algoritmo? Si tenemos una repeticin, tendremos

que ver si cada nmero es o no mltiplo de 5. Hay podemos usar una estructura desde-hasta, ya
que sabemos el rango (aunque sea un dato introducido por el usuario).
Hay alguna estructura condicional? En este ejercicio si tenemos una estructura condicional,

ya que imprimiremos solo aquellos nmeros que sean mltiplos de 5.


Qu condicin sera la ms adecuada, si tenemos un bucle o una estructura Si? En el

caso del bucle, la condicin para salir deber ser cuando el numero sea mayor que el lmite. En el
caso de la estructura condicional, la condicin para que imprima el nmero es que sea mltiplo de 5.
Qu variables necesito en el algoritmo? Simplemente necesitamos almacenar el lmite y

contar los nmeros entre 1 y el lmite.


Cmo debera iniciar las variables? El variable contador se inicializara en uno.
Qu resultado debo imprimir en pantalla? (Si es que hace

falta) Solo

aquellos nmeros que sean mltiplos de 5.


En pseudocdigo seria as:
Esconder

1
2
3
4
5
6
7
8

Inicio
Leer N
Desde num<-1 Hasta N In 1
si (num MOD 5=0) Entonces
Escribir num
FinSi
FinDesde
Fin

Hasta ahora hemos visto como debemos construir el algoritmo en pseudocodigo, pero al tener un
problema lo primero que debemos hacer es analizar el problema para saber como debemos construir el
algoritmo.
Os recomiendo que este anlisis lo hagis en papel, para que os sea mas sencilla y tengis mas libertad
a la hora de escribir.
Para empezar a analizar el problema, debemos leer atentamente el problema y extraer lo mas
importante.
Para extraer lo mas importante podemos preguntarnos a nosotros mismos, por ejemplo:

Debe el usuario introducir datos?


Hay algn tipo de repeticin dentro del algoritmo?
Hay alguna estructura condicional?

Que condicin seria la mas adecuada, si tenemos un bucle o una estructura Si?
Que variables necesito en el algoritmo?
Como debera iniciar las variables?
Que resultado debo imprimir en pantalla? (Si es que hace falta)

Veamos algunos ejemplo practico, para ver como se analiza.


Un vendedor recibe un sueldo base ms un 10 % extra por comisin de sus ventas, el vendedor desea
saber cunto dinero obtendr por concepto de comisiones por las tres ventas que ha realiza este mes, y
el total que recibir.
Empecemos analizando este enunciado, deberemos de preguntarnos las preguntas antes formuladas:

Debe el usuario introducir datos? El usuario solo deber introducir el valor de sus ventas
Hay algn tipo de repeticin dentro del algoritmo? En este caso, se podra hacer con o

sin repeticin pero siempre que se pueda es bueno hacer un bucle. Como en este caso sabemos el
rango, podemos usar una estructura desde-hasta, aunque tambin se puede hacer con un
mientas. Esto ya es decisin nuestra.
Hay alguna estructura condicional? En este ejercicio no tenemos ninguna condicin ya que

nos pide que cumpla alguna condicin concreta.


Qu condicin sera la ms adecuada, si tenemos un bucle o una estructura Si? Como

obtenemos del enunciado, nos pide 3 ventas, as que una buena condicin seria que hasta una
variable del tipo contador sea mayor que 3 (incluyendo el 3) no nos pida ms ventas.
Qu variables necesito en el algoritmo? Necesitaremos una variable que almacene el valor

de la venta, una variable contador para contar el nmero de ventas, el total, el salario base y
la comisin (estas dos ltimas pueden ser constantes).
Cmo debera iniciar las variables? Las constantes se debern asignar los valores que

necesitemos, el total se inicializara a 0 y el contador a 1.


Qu resultado debo imprimir en pantalla? (Si es que hace falta) Deberemos imprimir el
total que recibir el vendedor.

En pseudocdigo seria asi:


Esconder

1
2
3
4
5
6
7
8
9
10
11

Inicio
SALARIO_BASE=1000
COMISION=0.1
Desde contador<-1 Hasta 3 In 1
Escribir "Introduce la venta numero " contador
Leer venta
total<-total+(venta*COMISION)
FinDesde
total<-SALARIO_BASE+total
Escribir "El vendedor gana " total
Fin

Un bucle permite repetir una o varias acciones un nmero determinado de


veces. El nmero de veces se indica mediante una condicin, si la condicin es
verdadera ejecuta el bloque de cdigo que contenga, cuando la condicin sea
falsa saldr del bucle.
Las dos estructuras que se usan son:
Mientras: Se evala la condicin antes de iniciar el bucle, y se repiten
sucesivamente las instrucciones mientras siga siendo cierta. Es
importante que la variable que participe en la condicin se modifique
dentro del bucle, ya que sino sera un bucle infinito del que no saldr.
Su sintaxis es:
Mientras (condicin)
Instrucciones
FinMientras
Veamos un ejemplo:
1 Inicio
2
contador<-0
3
Mientras (contador<3)
4
escribir contador
5
contador<-contador+1
6
FinMientras
7 Fin
Como veis usamos una variable contador que se ira incrementando dentro
del bucle, cuando este contador llegue a 3 saldr del bucle. Imprime en
pantalla el 0, 1 y 2, el 3 no lo imprime porque 3<3 es falso, con lo que hace
que sale del bucle. Hay que tener muy claro la condicin de salida.
Desde-Hasta: se repiten las instrucciones desde una variable de
control (Vc) a la que le damos unvalor inicial (Vi) hasta un valor
final (Vf) que le indiquemos, incrementndose en un valor. Se introduce
en el bucle cuando la Vc es menor que la Vf. Para que lo recuerdes
mejor, piensa en esta expresin, Vc<=Vf, incluyendo el valor final. Si
el incremento es negativo, la condicin cambia as,Vc>=Vf . Su sintaxis
es:
Desde Vc<-Vi hasta Vf In constante
Instrucciones
FinDesde
Si usas PSeInt, tendrs que usar esta sintaxis:
Para Vc<-Vi hasta Vf con paso
constante Hacer
Instrucciones
FinPara
Veamos un ejemplo, usando el desde-hasta, si lo queremos usar en PseInt solo
hay que cambiar algunas palabras:
1 Inicio
2
Desde contador<-1 Hasta 5 Con Paso 1 Hacer
3
escribir contador
4
FinDesde
5 Fin
La diferencia con la estructura mientras, es que en el mientras se necesita
inicializar la variable fuera del bucle y aumentarla dentro del bucle. Y en
la estructura desde, la inicializacin y el incremento se hace en una linea.

Entonces, cual es mejor de los dos? La respuesta es segn el caso,


la estructura desde es mejor usarla cuando sabemos el rango, es decir, el
inicio y fin. Por ejemplo, la suma de los nmeros entre el 1 hasta el 20.
La estructura mientras es mejor usarlo en casos donde no conozcamos el
final. Por ejemplo, la suma de los nmeros que introduzca el usuario, sabemos
cuando empieza pero no cuando acaba.
Otra diferencia a tener en cuenta, es la condicin en la estructura
mientras para que entre lacondicin debe ser verdadera para que entre en el
bucle y falso para salir y en la estructura desdesiempre va a incluir <= 0 >=,
recordar que para que se salga se debe cumplir Vc<=Vf (siendo el incremento
positivo).

Anda mungkin juga menyukai