Está en la página 1de 11

Comando Repetir

Luis Angel Gallego Villa

Tutor
Robinson Velandia
Especialista en Gerencia de Proyectos

SENA
Tecnologa en Anlisis y Desarrollo de Sistemas de Informacin
Puerto Berro, Antioquia
Ao 2011
Ejercicio 1: En una granja se requiere saber alguna informacin para
determinar el precio de venta por cada kilo de huevo.
Es importante

determinar el promedio de calidad de las n gallinas que hay en la granja. La


calidad de cada gallina se obtiene segn la frmula:
Calidad = (peso de la gallina * altura de la gallina)/ Numero de
huevos que pone
Finalmente para fijar el precio del kilo de huevo, se toma como base la
siguiente tabla:
PRECIO TOTAL DE CALIDAD
Mayor o igual que 15
Mayor que 8 y menor que 15
Menor o igual que 8

PESO POR KILO DE HUEVO


1.2 * promedio de calidad
1.00 * promedio de calidad
0.80 * promedio de calidad */

real pvta, peso, alt, huevos, suma, prom, cal, ptc


caracter resp
entero i, x, num
inicio
suma <- 0
prom <- 0
cal <- 0
i <- 1
x <- 0
repita
escriba " Introduzca el nmero de gallinas "
lea num
x <- x + num
para i <- 1 hasta num haga
escriba " Introduzca el peso de la gallina ", i, " "
lea peso
escriba " Introduzca la altura de la gallina ", i, " "
lea alt
escriba " Cuntos huevos pone en el da la gallina ", i, " "
lea huevos
cal <- (peso * alt) / huevos
suma <- suma + cal
escriba " La calidad de la gallina ", i, " es de ", cal
llamar nueva_linea
fin para
prom <- suma / x
si
(prom >= 15) entonces
ptc <- prom * 1.2
fin si
si (prom > 8) y (prom < 15) entonces
ptc <- prom * 1.0
fin si
si (prom <= 8) entonces
ptc <- prom * 0.80

fin si
escriba " El precio total de calidad es ", ptc
llamar nueva_linea
repita
escriba " Desea agregar ms gallinas. Coloque s para si, n para no (minsculas)
"
lea resp
hasta (resp = 's') o (resp = 'n')
hasta (resp = 'n') o (resp = 'N' )
fin
Ejercicio 2: En la Cmara de Diputados se levanta una encuesta con todos los
integrantes con el fin de determinar qu porcentaje de los n diputados est a
favor del Tratado de Libre Comercio, que porcentaje est en contra y qu
porcentaje se abstiene de opinar.
real porc, pos, neg, ind, ps, pn, pi, suma
entero a, b, num
caracter resp
inicio
ps <- 0
pn <- 0
pi <- 0
a <- 1
b <- 0
pos <- 0
neg <- 0
ind <- 0
repita
escriba " Introduca el nmero de diputados "
lea num
b <- b + num
para a <- 1 hasta num haga
escriba " A la pregunta: "
llamar nueva_linea
escriba " Por favor responda s para si, n para no; i sino sabe o no desea
opinar "
llamar nueva_linea
escriba " Seor diputad@ est usted a favor o en contra del TLC con
Estados Unidos "
lea resp
llamar nueva_linea
si (resp = 's') o (resp = 'S') entonces
pos <- pos + 1
escriba " El diputado ", a, " est a favor del TLC con Estados
Unidos "
llamar nueva_linea

fin si
si (resp = 'n') o (resp = 'N') entonces
neg <- neg + 1
escriba " El diputado ", a, " est en contra del TLC con Estados
Unidos "
llamar nueva_linea
fin si
si (resp = 'i') o (resp = 'I') entonces
ind <- ind + 1
escriba " El diputado ", a, " es indiferente o no responde "
llamar nueva_linea
fin si
llamar nueva_linea
fin para
ps <- (pos * 100) / b
pn <- (neg * 100) / b
pi <- (ind * 100) / b
suma <- ps + pn + pi
escriba "De los ", b, " Diputados hay: "
llamar nueva_linea
escriba pos, " Diputados que estn a favor del TLC con Estados Unidos y
representan el ", ps, "%"
llamar nueva_linea
escriba neg, " Diputados que estn en contra del TLC con Estados Unidos
y representan el ", pn, "%"
llamar nueva_linea
escriba ind, " Diputados que son indiferentes ante el TLC con Estados
Unidos y representan el ", pi, "%"
llamar nueva_linea
escriba " Para un total del ", suma, "%"
llamar nueva_linea
repita
escriba " Desea agregar ms diputados, coloque s para si, n para no
(minscula) "
lea resp
hasta (resp='s') o (resp='n')
hasta (resp='n')
fin

Ejercicio 3: Un Censador recopila ciertos datos aplicando encuestas para el


ltimo Censo Nacional de Poblacin y Vivienda. Desea obtener de todas las
personas que alcance a encuestar en un da, que porcentaje tiene estudios de
primaria, secundaria, carrera tcnica, estudios profesionales y estudios de
posgrado.
real prim, sec, tec, prof, post
cadena [15] nombre
entero a, b, c, d, e, pers
caracter resp
inicio
prim <- 0
sec <- 0
tec <- 0
prof <- 0
post <- 0
a <- 0
b <- 0
c <- 0
d <- 0
e <- 0
pers <- 0
repita
pers <- pers + 1
escriba " Censo Nacional de Poblacin "
llamar nueva_linea
escriba " Introduzca el nombre de la persona "
lea nombre
escriba " La persona tiene estudios de bsica primaria. Coloque s/n (minscula)
"
lea resp
si (resp='s') o (resp='S') entonces
a <- a + 1
escriba " La persona tiene estudios de secundaria. Coloque s/n
(minscula) "
lea resp
si (resp='s') o (resp='S') entonces
b <- b + 1
escriba " La persona tiene estudios tcnicos. Coloque s/n
(minscula) "
lea resp
si (resp='s') o (resp='S') entonces
c <- c + 1
fin si
escriba " La persona tiene estudios profesionales. Coloque s/n
(minscula) "
lea resp
si (resp='s') o (resp='S') entonces

d <- d + 1
fin si
escriba " La persona tiene postgrados. Coloque s/n (minscula) "
lea resp
si (resp='s') o (resp='S') entonces
e <- e + 1
fin si
fin si
fin si
prim <- (a * 100)/ pers
sec <- (b * 100)/ pers
tec <- (c * 100)/ pers
prof <- (d * 100)/ pers
post <- (e * 100)/ pers
escriba " Hasta el momento se ha encuestado: ", pers
llamar nueva_linea
escriba a, " tienen estudios primarios y representan un ", prim, "%"
llamar nueva_linea
escriba b, " tienen estudios secundarios y representan un ", sec, "%"
llamar nueva_linea
escriba c, " tienen estudios tcnicos y representan un ", tec, "%"
llamar nueva_linea
escriba d, " tienen estudios profesionales y representan un ", prof, "%"
llamar nueva_linea
escriba e, " tienen estudios de postgrado y representan un ", post, "%"
llamar nueva_linea
repita
escriba "Desea censar una nueva persona. Coloque s/n (minscula) "
lea resp
hasta (resp='s') o (resp='n')
hasta (resp='n') o (resp='N')
fin
Ejercicio 4: Un negocio de copias tiene un lmite de produccin diaria de 10 000
copias si el tipo de impresin es offset y de 50 000 si el tipo es estndar. Si hay
una solicitud de un el empleado tiene que verificar que las copias pendientes
hasta el momento y las copias solicitadas no excedan del lmite de produccin.
Si el lmite de produccin se excediera el trabajo solicitado no podra ser
aceptado. El empleado necesita llevar un buen control de las copias solicitadas
hasta el momento para decidir en forma rpida si los trabajos que se soliciten
en el da se deben aceptar o no.
real tco, tcs, copias, rest, acum
caracter tc, resp
inicio
tco <- 10000
tcs <- 50000

repita
escriba " Digite el nmero de copias a sacar "
lea copias
escriba " Digite f si las copias son tipo offset, s si son tipo stndar "
lea tc
si (tc='f') o (tc='F') entonces
rest <- tco - copias
si (rest<0) entonces
escriba " El trabajo no puede ser aceptado "
llamar nueva_linea
escriba " No quedan copias por sacar sin exceder el lmite de
produccin "
fin si
si (rest>=0) entonces
escriba " El trabajo puede ser aceptado "
llamar nueva_linea
escriba " Y quedan ", rest, " copias por sacar sin exceder el lmite
de produccin "
tco <- rest
llamar nueva_linea
fin si
fin si
si (tc='s') o (tc='S') entonces
rest <- tcs - copias
si (rest<0) entonces
escriba " El trabajo no puede ser aceptado "
llamar nueva_linea
escriba " No quedan copias por sacar sin exceder el lmite de
produccin "
fin si
si (rest>=0) entonces
escriba " El trabajo puede ser aceptado "
llamar nueva_linea
escriba " Y quedan ", rest, " copias por sacar sin exceder el lmite
de produccin "
tcs <- rest
llamar nueva_linea
fin si
fin si
hasta (tco <= 0) y (tcs <= 0)
escriba " Se han agotado ambos lmites de produccin "
fin
Ejercicio 5: Calcular la suma siguiente: 100 + 98 + 96 + 94 + . . . + 0 en este
orden.
real num, acum, result, dec

inicio
result <- 0
escriba " Introduzca un nmero "
lea num
repita
result <- result + num
num <- num - 2
hasta (num=0)
escriba " El resultado es ", result
fin
Ejercicio 6: Leer los 250,000 votos otorgados a los 3 candidatos a gobernador e
imprimir el nmero del candidato ganador y su cantidad de votos.
real c1, c2, c3, total, voto, pc1, pc2, pc3
caracter resp
entero x, votos, z
inicio
x <- 1
z <- 0
votos <- 0
voto <- 0
repita
escriba " Introduzca el nmero de votos a realizar "
lea votos
z <- z + votos
escriba " Introduzca 1 para votar por el primer candidato "
llamar nueva_linea
escriba " Introduzca 2 para votar por el segundo candidato "
llamar nueva_linea
escriba " Introduzca 3 para votar por el tercer candidato "
llamar nueva_linea
para x <- 1 hasta votos haga
escriba " Introduzca ahora el voto ", x, " "
lea voto
si (voto=1) entonces
c1 <- c1 + 1
fin si
si (voto=2) entonces
c2 <- c2 + 1
fin si
si (voto=3) entonces
c3 <- c3 + 1
fin si
fin para
pc1 <- (c1 * 100) / z
pc2 <- (c2 * 100) / z

pc3 <- (c3 * 100) / z


escriba " El total de votos es de ", z
llamar nueva_linea
escriba " El candidato uno obtuvo ", c1, " votos con ", pc1, "%"
llamar nueva_linea
escriba " El candidato dos ", c2, " votos con ", pc2, "%"
llamar nueva_linea
escriba " El candidato tres ", c3, " votos con ", pc3, "%"
escriba " Desea introducir ms votos. Coloque s/n (minscula) "
lea resp
hasta (resp='n')
fin
Ejercicio 7: Suponga que tiene una tienda y desea registrar sus ventas por
medio de una computadora. Disee un pseudocdigo que lea por cada cliente:
a).- el monto de la venta,
b).- calcule e imprima el IVA,
c).-calcule e imprima el total a pagar,
d).- lea la cantidad con que paga el cliente,
e).-calcule e imprime el cambio.
Al final del da deber imprimir la cantidad de dinero que debe haber en la caja.
Modificar el pseudocdigo anterior de tal forma que no permita que la cantidad
con la que paga
el cliente sea menor a lo que debe pagar.
real venta, iva, neto, efect, cambio, caja
caracter resp
inicio
venta <- 0
efect <- 0
caja <- 0
repita
escriba " Introduzca el valor de la venta "
lea venta
iva <- venta * 0.16
neto <- venta + iva
repita
escriba " El cliente paga con un valor de: "
lea efect
si (efect < neto) entonces
escriba " Error, el valor no alcanza para cubrir totalmente los gastos del
cliente "
llamar nueva_linea
fin si

hasta (efect >= neto)


si (efect>=neto) entonces
caja <- caja + neto
escriba " La venta tiene un valor de ", venta
llamar nueva_linea
escriba " El iva es de ", iva
llamar nueva_linea
cambio <- efect - neto
fin si
escriba " El cambio que recibe el cliente es de: ", cambio
llamar nueva_linea
escriba " El saldo en caja es de ", caja
llamar nueva_linea
venta <- 0
iva <- 0
escriba " Desea agregar otra venta. Coloque s/n (minscula) "
lea resp
hasta (resp='n')
fin
Ejercicio 8: Se tiene un conjunto de 1,000 tarjetas cada una contiene la
informacin del censo para una persona:
1.2.3.4.-

Nmero de censo,
Sexo
Edad
Estado civil (a.- soltera, b. Casado, c. Viudo, d. Divorciado)

Disee un pseudocdigo estructurado que lea todos estos datos, e imprima el


nmero de censo
de todas las jvenes solteras que estn entre 16 y 21 aos.
real edad
entero s, x, num
caracter ecv, resp, sexo
cadena [15] nombre
cadena [4] cod
cadena [150] usu
inicio
edad <- 0
edad <- 0
num <- 0
x <- 0
s <- 0
repita
escriba " Introduzca el nmero de personas a censar "
lea num

para x <- 1 hasta num haga


escriba " Introduzca el nmero o cdigo del censad@ ", x, " "
lea cod
escriba " Introduzca el nombre de la persona ", x, " "
lea nombre
escriba " Introduzca la edad del censad@ ", x, " "
lea edad
escriba " Introduzca el sexo. Coloque f: femenino, m: masculino (minscula) ",
x, " "
lea sexo
escriba " Para el estado civil: Coloque s: solter@, c: casad@, c: viud@, d:
divorciad@ "
llamar nueva_linea
escriba " Introduzca el estado civil del censad@ ", x, " "
lea ecv
si (sexo='f') o (sexo='F')entonces
si (ecv='s') entonces
si (edad >= 16) y (edad <= 21) entonces
s <- s + 1
usu <- usu + ", " + cod
fin si
fin si
fin si
fin para
escriba " Hay ", s, " mujeres solteras que estn entre 16 y 21 aos y "
llamar nueva_linea
escriba " Sus cdigos son: ", usu
llamar nueva_linea
escriba " Desea agregar ms personas. Coloque s/n (minscula) "
lea resp
hasta (resp='n')
fin

También podría gustarte