Sie sind auf Seite 1von 14

Ejercicios de Programacin

Informtica I
ESTRUCTURAS DE CONTROL
Ejercicios resuetos!
If "
Leer dos valores numricos enteros y almacenarlos en dos variables de nombre `x' y `z',
mostrando en aquellos casos en los que 'x' es mayor que `z' un mensaje que diga "Verdadero".
Pseudocdigo
II!I"
#$%"&'
V$(I$)L*&
*ntero x, z +
$L,"(I%-"'
*scribir .Ingresa / n0meros' 1
Leer x, z+
&i x2z
*scribir "Verdadero"
3in&i
3I
Programa fuente
4include 5stdio.62
main78
7 int x, z+
9rint:7.Ingresa / n0meros' 18+
scan:7";d ;d", <x, <z8+
i: 7x 2 z8
9rint:7"Verdadero"8+
=
Entrada de datos
Ingresa / n0meros' >? @
Saida de resutados
verdadero
If #
Leer dos valores distintos y almacenarlos en dos variables de nombre `x' e `y' y determinar cuAl
es el mayor dejando el resultado en una tercera variable de nombre `z'.
Pseudocdigo
II!I"
#$%"&'
V$(I$)L*&
(eal x, y, z +
$L,"(I%-"'
*scribir .Ingresa / n0meros' 1
Leer x, y+
&i x2y
zBx
&ino
zBy
3in&i
*scribir "*l mayor es' ", z
3I
Programa fuente
4include 5stdio.62.
main 7 8
C
:loat x, y, z+
9rint:7.Ingresa / n0meros' 18+
scan:7";: ;:", <x, <y8+
i: 7x 2 y8
z B x+
else
z B y+
9rint:7"*l mayor es' ;:", z8+
8
Entrada de datos
Ingresa / n0meros' DE F
Saida de resutados
*l mayor es' D>.EEEEEE
S$itc%"
#eterminar si el carActer introducido a travs del teclado es o no una vocal.
Pseudocdigo
II!I"
#$%"&'
V$(I$)L*&
!aracter vocal
$L,"(I%-"'
*scribir 1Ingresa una vocal.
Leer vocal
&eg0n valor vocal
`a'' *scribir "La vocal es a."
`e'' *scribir "La vocal es e."
`i'' *scribir "La vocal es i."
`o'' *scribir "La vocal es o."
`u'' *scribir "La vocal es u."
otros' *scribir "o es una vocal."
3in&eg0n valor
3I
Programa fuente
4include 5stdio.62
main 7 8
C
c6ar vocal+
9rint:71Ingresa una vocal.8+
vocal B getc6e78+
sGitc67vocal8
C
case 'a'' 9rint:7"La vocal es a.Hn"8+
breaI+
case 'e'' 9rint:7"La vocal es e.Hn"8+
breaI+
case 'i'' 9rint:7"La vocal es i.Hn"8+
breaI+
case 'o'' 9rint:7"La vocal es o.Hn"8+
breaI+
case 'u'' 9rint:7"La vocal es u.Hn"8+
breaI+
de:ault' 9rint:7"o es una vocal.Hn"8+
=
=
Entrada de datos
Ingresa una vocal o
Saida de resutados
La vocal es o
&%ie "
!rear un 9rograma que sume todos aquellos n0meros leJdos desde el teclado mientras no sean
negativos.
Pseudocdigo
II!I"
#$%"&'
V$(I$)L*&'
*ntero &uma, um
$L,"(I%-"'
&uma B E
*scribir 1Ingresa un n0mero.
Leer um
-ientras um 2B E
&uma B &uma K um
*scribir 1Ingresa otro n0mero.
Leer um
3in-ientras
*scribir "&uma B ", &uma
3I
Programa fuente
4include 5stdio.62
main 7 8
C
int &uma, um+
&uma B E+
9rint:7 1Ingresa un n0mero.8+
scan:7";d",<um8+
G6ile7um 2B E8
C
&uma B &uma K um+
9rint:7 1HnIngresa otro n0mero.8+
scan:7";d", <um8+
=
9rint:7"Hn &uma B ;dHn",&uma8+
=
Entrada de datos
Ingresa un n0mero /
Ingresa otro n0mero @
Ingresa otro n0mero >/
Ingresa otro n0mero LF
Saida de resutados
&umaB/M
&%ie #
!rear un 9rograma que calcule el :actorial de un n0mero `' entero y 9ositivo.
Pseudocdigo
II!I"
#$%"&'
V$(I$)L*&'
*ntero i, num. :act

$L,"(I%-"'
*scribir "L Introduzca un n0mero' "
Leer num
iB>
:act B >
-ientras i 5 num
iBiK >
:act B :act N i
3in-ientras
*scribir "L *l :actorial de ", num, "es ", :act
3I
Programa fuente
4include 5stdio.62
main 7 8C
int num,i,:act+
9rint:7"HnL Introduzca un n0mero' "8+
scan:7";d",<num8+
iB>+
:actBl+
G6ile7i 5 num8
C
iKK+
:act B :act N i+
=
9rint:7"HnL *l :actorial de ;d es ;dHn",num,:act8+
=
Entrada de datos
L Introduzca un n0mero' @
Saida de resutados
L *l :actorial de @ es >/E
Do$%ie "
Oacer un 9rograma que lea una serie de n0meros enteros 9ositivos del teclado y calcule el valor
mAximo de los mismos y cuAntas veces a9arece dic6o valor re9etido.La entrada de datos
:inalizarA cuando se introduzca un E.
Pseudocdigo
II!I"
#$%"&'
V$(I$)L*&'
*ntero numero, maximo, cantidad

$L,"(I%-"'
*scribir "L Introduce un n0mero' "
Leer maximo
cantidad B >
(e9etir
*scribir "L Introduce otro n0mero' "
Leer numero
&i numero 2 maximo
maximo B numero
cantidad B >
&ino
&i numero B maximo
cantidad B cantidad K >
3in&i
-ientras numero 52 E
*scribir ".L *l valor mAximo es ", maximo, "con ", cantidad, "re9eticiones."
3I
Programa fuente
4include 5stdio.62
main 7 8
C
int numero, maximo, cantidad+
9rint: 7 " HnL Introduce un n0mero ' " 8 +
scan:7";d",<maximo8+
cantidad B >+
do
C
9rint:7"L Introduce otro n0mero' "8+
scan:7";d",<numero8+
i:7numero 2 maximo8
C
maximo B numero+
cantidad B >+
=
else
i:7numero B B maximo8
cantidadKK+
=
G6ile7numero PB E8+
9rint:7"L *l valor mAximo es ;d con ;d re9eticiones." ,maximo,cantidad8+
=
Entrada de datos
L Introduce un n0mero ' D
L Introduce otro n0mero' /DM
L Introduce otro n0mero' /
L Introduce otro n0mero' /DM
L Introduce otro n0mero' >@
Saida de resutados
*l valor mAximo es /DM con / re9eticiones
Do$%ie #
!rear un 9rograma 9ara controlar la selecciQn de una serie de o9ciones de men0 9resentadas en
9antalla. *l bucle se ejecutarA inde:inidamente 6asta que la o9ciQn seleccionada 9ara salir sea
vAlida.
Pseudocdigo
II!I"
#$%"&'
V$(I$)L*&'
*ntero o9

$L,"(I%-"'

(e9etir
*scrJbir ">. uevos clientes."
*scribir "/. $ltas de bene:iciarios. "
*scribir "D. )ajas de bene:iciarios. "
*scribir "F. $ctualizar datos clientes.
*scribir "@. Listados. "
*scribir "R. &alida. "
*scribir " Introduzca o9ciQn' "
Leer o9
&egun sea o9
>' nuevosSclientes7 8
/' altaSbene:iciarios7 8
D' baja,bene:iciarios7 8
F' actualizarSdatos7 8
@' im9rimir listados7 8
R' salida7 8
3Jn&egun sea
-Jentras o9 5 > o o9 2 R
3I
Programa fuente
main78
C
int o9+
do
C
9rint:7"l. uevos clientes.Hn"8+
9rint:7"/. $ltas de bene:iciarios.Hn"8+
9rint:7"D. )ajas de )ene:iciarios.Hn"8+
9rint:7"F. $ctualizar datos clientes.Hn"8+
9rint:7"@. Listados.Hn"8+
9rint:7"R. &alida.Hn"8+
9rint:7" Introduzca o9ciQn' "8+
scan:7";d", <o98+
sGitc67o98
C
case >' nuevosSclientes78+ breaI+
case /' altaSbene:iciarios78+ breaI+
case D' baja bene:iciarios78+ breaI+
case F' actualizarSdatos78+ breaI+
case @' im9rimirSlistados78+ breaI+
case R' salida78+ breaI+
=
=
G6ile7o9 5 > TT o9 2 R8+
=
Entrada de datos
>.uevos clientes
/.$ltas de bene:iciarios
D )aja de bene:iciarios
F.$ctualizar datos clientes
@.Listados
R.&alida
Introduzca o9clQn.
'or "
!rear un 9rograma que 6alle los F 9rimeros m0lti9los de D mostrAndolos en 9antalla.
Pseudocdigo
II!I"
#$%"&'
V$(I$)L*&'
*ntero i, m

$L,"(I%-"'
Uara i de > a F con Inc B >
mBiND
*scribir "*l n0mero ", m, "es m0lti9lo de D."
3inUara
3I
Programa fuente
4include 5stdio.62
main 7 8
C
int i+ int m+
:or7iBl+ i5BF+ iKK8
C
m B iND+
9rint:7"Hn*l n0mero ;d es m0lti9lo de D.",m8+ 8
=
=
Saida de resutados
*l n0mero D es m0lti9lo de D.
*l n0mero R es m0lti9lo de D.
*l n0mero ? es m0lti9lo de D.
*l n0mero >/ es m0lti9lo de D.
'or #
mostrar en 9antalla y de :orma simultAnea cQmo el valor de una variable de nombre `incr' va
incrementando 9rogresivamente 7en saltos de uno8, y cQmo el valor de una segunda variable de
nombre `decr' va decrementando tambin 9rogresivamente 7en saltos de uno8.
Pseudocdigo
II!I"
#$%"&'
V$(I$)L*&'
*ntero incr, decr
$L,"(I%-"'
decr B /E
Uara incr de > a @ con incr B >
*scribir "incr B 1, incr, "decr B., decr
decr B decr L >
3inUara
3I
Programa fuente
4include 5stdio.62
main 7 8
C
int incr, decrB/E+
:or7incrB>+ incr5B@+ incrKK8
9rint:7"Hn Incr B ;/d , decr B ;/d",incr, decr8+
decrBdecrL>+
=
Saida de resutados
Incr B > , decrB /E
Incr B / , decrB >?
Incr B D , decrB >V
Incr B F , decrB >M
Incr B @ , decrB >R
If
>. Urograma que lee dos valores numricos y los almacena en dos variables de nombre `x' e
`y', determina si son iguales, y en caso de serlo, indica cuAl de ellos es el mayor.
/. #ados tres valores numricos enteros, 6acer un 9rograma que determine cuAl es el mayor.
&%ie
D. Urograma que muestra en 9antalla todos aquellos caracteres introducidos a travs del
dis9ositivo estAndar de entrada 6asta que sea 9ulsado el carActer astensco.
F. *l siguiente 9rograma muestra en 9antalla todos aquellos caracteres introducidos 9or
teclado 6asta que la tecla de es9acio en blanco sea 9ulsada.
Do $%ie
@. Oacer un 9rograma que lea una serie de n0meros enteros 9ositivos de la entrada estAndar
y calcule el valor mAximo de los mismos y cuAntas veces a9arece dic6o valor re9etido.
'or
R. Urograma que 6alla la suma de los >E 9rimeros n0meros 9ares mostrando el resultado en
9antalla.
M. *l siguiente 9rograma muestra en 9antalla las coordenadas de una tabla cuyas
dimensiones son @x@ 7:ilas x columnas8.
(arios
V. *scribir un 9rograma que lea las edades de los em9leados de una em9resa mientras la
edad leJda sea distinta de cero y calcule cuAntos jQvenes 7menores de // aWos8, maduros
7entre // y @E aWos8 y mayores 7aquellos con mAs de @E aWos8 6ay, mostrando el
resultado en 9antalla. *n aquellos casos en los que se lea una edad no correcta 7negativa o
:uera del intervalo de >V a R@ aWos8 se escribirA un mensaje de error en 9antalla y se leerA
otra edad.
?. Oacer un 9rograma que lea >E n0meros y determine cuAles y cuAntos de ellos son
m0lti9los de M.
>E. *scribir un 9rograma que determine qu n0meros son 9rimos de una secuencia de valores
numricos leJdos 9or teclado. La lectura de dic6os valores :inalizarA cuando el valor leJdo
sea cero.
>>. *scribir un 9rograma que lea el n0mero de 6abitantes de /E 9oblaciones y muestre el
9orcentaje 7sobre el total de 6abitantes8 de 6abitantes que 9ertenecen a'
X Yna 9oblaciQn 9equeWa 7menos de /.EEE 6abitantes8.
X Yna 9oblaciQn media 7entre /.EEE y DEE.EEE 6abitantes8.
X Yna 9oblaciQn grande 7mAs de DEE.EEE 6abitantes8.
>/. #iseWar un 9rograma que lea dos n0meros y 9resente una serie de o9ciones
corres9ondientes a distintas o9eraciones que 9odemos realizar con ellos 7suma, resta,
multi9licaciQn y divisiQn8, de manera que, en :unciQn de la o9ciQn elegida, muestre el
resultado de la o9eraciQn realizada. *n aquellos casos en los que se desee seguir
o9erando con los mismos n0meros, se debe contestar `&' 7&i a la siguiente 9regunta
"Z"tra o9eraciQn con los mismos n0meros 7&[8\" o `' 7o8, en caso contrario.
3inalmente el 9rograma deberA concluir tras res9onder `&' 7&i o `' 7o8 a la siguiente
9regunta' "Z%erminar 7&[8\".
>D. *scribir un 9rograma que 9ermita realizar descuentos en un comercio, en :unciQn del
total de com9ras realizadas 9or cada cliente. Uara realizar dic6os descuentos, se deben
leer los im9ortes de cada com9ra 9arcial de un cliente 6asta que un im9orte sea igual a
cero+ 9osteriormente se escribirA el im9orte total a 9agar teniendo en cuenta que se
9ueden e:ectuar los siguientes descuentos'
&i el im9orte total de la com9ra estA entre ]@E y ]>/E, el descuento es del >@;.
&i el im9orte total de la com9ra es mayor de ]>/E el descuento es del /E;.
La lectura de clientes :inaliza tras res9onder al mensaje "Z-As clientes 7&[8\, mostrando
al :inal la suma total de todos los im9ortes cobrados.
>F. #iseWar un 9rograma que 9ermita calcular los salarios semanales de los trabajadores de
una em9resa a 9artir de los siguientes datos'
L 0mero de em9leado
X 0mero de 6oras trabajadas.
X *l turno de trabajo realizado 7-aWana 7-8, %arde 7%8, oc6e 788. X La tari:a ordinaria
9or 6ora de cada uno de los trabajadores.
Uara el cAlculo del salario bruto se tendrA en cuenta que el turno de tarde se 9aga a >,/
mAs de la tari:a ordinaria, mientras que el turno de noc6e se 9aga a >,@ mAs, tambin de la
tari:a ordinaria.
Uara el cAlculo del salario neto se realizan determinados descuentos destinados al 9ago de
im9uestos de la siguiente :orma'
&e desea im9rimir el salario bruto de cada trabajador mostrando al :inalizar 9or 9antalla
el im9orte total de salarios abonados.
La lectura de los datos :maliza res9ondiendo `&' 7&J8 o `' 7o8 a la siguiente 9regunta'
"Z-As trabajadores 7&[8\".
>@. *scribir un 9rograma que lea las tem9eraturas en >@ observatorios meteorolQgicos y
escriba la tem9eratura mJnima y cuAntas mJnimas se 6an 9roducido.
>R. *scriba un 9rograma que im9rima los n0meros 9ares de > a >EE. utilice una sentencia
continue 9ara que no im9rima los im9ares.
>M. *scribir un 9rograma que lea el n0mero de em9leado, sexo 7O[-8 y edad de una serie de
9ersonas de una em9resa, :inalizando la lectura de datos cuando el n0mero de em9leado
sea igual a E, y muestre como resultado el 9romedio de edad de cada sexo, asJ como el
n0mero de em9leado del varQn menor y el de la mujer de mayor edad.
>V. #iseWar un 9rograma que calcule y escriba las raJces de una ecuaciQn de segundo grado.
$x
/
K)xKc B E
>?. *scribir un 9rograma que lea el nombre com9leto 7nombre y dos a9ellidos8 de una
9ersona y seguidamente muestre sus iniciales en 9antalla.
/E. Urograma que dibuja una malla en 9antalla de dimensiones - N 7:ilas N columnas8.
/>. *scribir un 9rograma que lea las notas de los alumnos de una clase 7mientras sean
9ositivas8 y escriba la nota media de todas las notas vAlidas leJdas. &i una nota leJda es
su9erior a >E se considerarA no vAlida, escribiendo un mensaje en 9antalla y leyendo una
nueva nota.
//. #iseWar un 9rograma que lea una secuencia de valores numricos enteros y determine el
9rimer n0mero que a9arece re9etido tres veces consecutivas.
/D. Yna em9resa de trans9orte lleva un registro mensual de D camiones, identi:icados con los
n0meros >, / y D. !ada dJa se ingresa el numero de camiQn 7validar8, el dJa y la
recaudaciQn.
&e emitirA un listado con los dJas y las recaudaciones del camiQn >.
&e mostrarA 9or 9antalla al :inal del mes cual :ue la mJnima recaudaciQn y a que camiQn
corres9ondiQ y cual :ue la recaudaciQn total de todos los camiones.
/F. Yna agencia de remises desea crear un 9rograma que 9ermita ingresar un registro de los
coc6es en el que consta' n^ de 9atente, Im. recorridos, viajes realizados, recaudaciQn &e
mostrarA 9or 9antalla'
>L *l auto de menor cantidad de viajes 7indicando cantidad de viajes8
/L !antidad de autos con mAs de /EE Im. recorridos.
DL (ecaudaciQn total 7suma de la recaudaciQn de todos los autos8.
Uor im9resora se emitirA un listado con'
_ de 9atente `m. recorridos (ecaudaciQn
/@. &e desea crear un 9rograma 9ara una 9laya de estacionamiento, que registre de cada auto
que sale los D n0meros de su 9atente, el modelo 7aWo8, la cantidad de 6oras de
estacionamiento y el costo 9or 6ora.
Im9rimirA un listado con '
_ de 9atente Im9orte abonado
$l :inalizar el dJa mostrarA 9or 9antalla'
a8 La cantidad de 6oras totales estacionadas
b8 Z!uAntos autos de modelo 9osterior a >??@ estuvieron / 6oras o menos
c8 Z!uAl es la 9atente 7 D 0ltimos n0meros8 del auto que estuvo mayor cantidad de 6oras y
cuAntas 6oras estuvo\

Das könnte Ihnen auch gefallen