Sunteți pe pagina 1din 7

Universidad de Valladolid

Departamento de Informti a

Es uela de Ingenierias Industriales

Sede Fran is o Mendizbal

FUNDAMENTOS DE INFORMTICA
Ejer i ios Tema 8
Tema 8. Estru turas de ontrol

1.-

Hallar el resultado ( o iente y resto) de la divisin eu ldea (entre dos nmeros enteros), onsiderando tambin
los asos en que dividendo o divisor sean ero.

2.-

Resolver una e ua in de segundo grado, dados los tres oe ientes (a,b, )
a ) Validando la entrada para evitar que a, b, y/o sean iguales a 0.
b ) Considerando la posibilidad de que a, b, y/o puedan ser iguales a 0.

3.-

Un ao se onsidera bisiesto uando es divisible por 400, o bien es divisible por 4 pero no por 100. Elabore un
programa, que dado un ao, indique si es o no bisiesto.

4.-

Elabore un programa que a partir de un mes ualquiera de un ao ualquiera de omo resultado los das que
tiene di ho mes. El mes se introdu e de forma numri a (1-enero, 2-febrero, ...). Se tendr en uenta si el ao
es o no bisiesto.
Ejemplo de eje u in:
Introduz a mes: 2
Introduz a ao: 2005
Dias del 2/2005: 28

5.-

Es rbase en C un programa que, dados dos nmeros positivos, es riba el mayor de ellos en pantalla.

6.-

Prueba de divisibilidad. Elabore un programa, que, dados dos nmeros enteros:


Comprueba si el primero es divisible entre el segundo y es riba un mensaje si es divisible.
Compruebe si el primero es divisible entre el segundo y es riba un mensaje indi ando si es divisible o no.
Que previamente a la omproba in de divisibilidad, ompruebe si el primero es mayor que el segundo. En
aso ontrario, emitir un mensaje de error y nalizar el programa.

7.-

Es rbase un programa en C que, dado el nmero de un da de un mes determinado (1, 2, ...,31), y el da de la


semana (0-lunes, 1-martes, et ) que fue el primero de ese mes, indique el da de la semana que orresponde al
da introdu ido. Por ejemplo, el da 21 de un mes uyo da 1 fue un martes es un lunes.

8.-

Dados tres valores enteros a, b y c, es riba un programa para ordenarlos e imprimirlos de forma des endente.
Ejemplo de eje u in:
Introduz a tres nmeros (separados por un espa io): 4 29 7
Los numeros ordenados son: 29 7 4

9.- Es ribir un programa que a epte fe has es ritas omo tres nmeros y las visuali e ambiando el nmero
de mes por su nombre. Por ejemplo, la entrada:

15 2 1989

produ ira salida:

15 febrero 1989.

De

forma op ional se podr validar la fe ha. Si se introdu e una fe ha no vlida, el programa emitir el
mensaje:

Fe ha no valida.

Universidad de Valladolid
Departamento de Informti a

Es uela de Ingenierias Industriales

Sede Fran is o Mendizbal

10.- Elabore un programa que lea un ar ter y lo onvierta en mays ulas si es un ar ter alfabti o, y
en otro aso, que lo deje igual.
Por ejemplo:
Si introdu imos 'a' deber es ribir 'A'
Si introdu imos '1' deber es ribir '1'.

11.- Dado el siguiente fragmento de programa:

double a,b;
int DeboDividir;
DeboDividir = 1;
if (a!=0)
if (b==0)
{
if (a>0) printf("+");
else printf("-");
printf("infinito");
DeboDividir = 0; /* no se puede dividir */
}
else
{
printf(" ero");
DeboDividir = 0; /* no ha e falta dividir */
}
if (DeboDividir==1) printf(`` %lf'',a/b);
Indique el resultado que apare er en pantalla uando se eje ute para los asos siguientes:

a)

a = 1, b = 0

b)

a = 1, b = 1

a = 0, b = 0

12.- Elaborar un programa en C para determinar si una hora leda en la forma horas, minutos y segundos
est orre tamente expresada.

13.- Es rbase un programa C que, dada omo entrada una antidad positiva de euros, muestre el nmero
mnimo de billetes y monedas posible en que podra des omponerse.

14.- Consideremos los onjuntos de puntos que se denen:


A: puntos interiores a la ir unferen ia
B: puntos interiores a la elipse
C: puntos que veri an

x2
16

y2
36

x2 + y 2 = 25.
= 1.

y 1 x.

Es ribir un programa que lea las oordenadas de un punto (x,y) y diga si est en A, B, y/o C y en los
siguientes onjuntos:

Universidad de Valladolid
Departamento de Informti a

Es uela de Ingenierias Industriales

Sede Fran is o Mendizbal

U = ABC
V =ABAC
W = A (B C)
Nota:

denota el omplementario del onjunto

A.

15.- Se quiere al ular la edad de un individuo. Para ello se va a tener omo entrada las dos fe has en el
formato da (1 a 31), mes (1 a 12) y ao (entero de uatro dgitos), orrespondientes a la fe ha de
na imiento y a la fe ha a tual, respe tivamente. Es ribir un programa que al ule y visuali e la edad
del individuo. Si es la fe ha de un beb (menos de un ao), la edad se dar en meses. En aso ontrario,
se dar en aos.
Ejemplo de eje u in:

Introduz a fe ha de na imiento: 13 04 2000


Introduz a fe ha a tual: 15 10 2006
Edad: 6 anios.
16.- Es rbase un programa en C que, tomando omo entrada los valores de dos ngulos, expresados en
grados, minutos y segundos, obtenga el valor de su suma de la misma forma. Se supone que las entradas
son orre tas, en el sentido de que ada ngulo est expresado omo tres nmeros enteros, en los rangos
respe tivos [0, 360), [0,60) y [0,60). La salida debe estar expresada de la misma manera.

17.- Es riba un programa que lea tres nmeros positivos y ompruebe si son iguales. Por ejemplo:
Si la entrada fuese 5 5 5, la salida debera ser hay tres nmeros iguales a 5.
Si la entrada fuese 4 6 4, la salida debera ser hay dos nmeros iguales a 4.
Si la entrada fuese 0 1 2, la salida debera ser no hay nmeros iguales.

18.- Diga qu salidas produ ira el siguiente fragmento de programa si los valores ledos fuesen:
v1 = 3, v2 = 0
v1 = -1, v2 = -2
v1 = 0, v2 = 1
v1 = -3, v2 = 2

double v1,v2;
s anf(" %lf %lf",&v1,&v2);
if ((v1 < 0) && (v2 < 0))
printf("CARENCIA");
if (sqrt(v1) > sqrt(v2))
printf("CORREGIR DESCOMPENSACION");
if (v2 > 0)
printf("AGUDOS O.K.");
else if (v1 > 0)
printf("AUMENTAR AGUDOS");
else printf("REHACER EL MONTAJE");

Universidad de Valladolid
Departamento de Informti a

Es uela de Ingenierias Industriales

Sede Fran is o Mendizbal

19.- Dado un nmero entero positivo de tres ifras (entrada), es rbase un programa C que es riba en
pantalla sus ifras en orden inverso.

20.- Es ribir y eje utar un programa que simule una al uladora. Lee dos enteros y un ar ter (+,-,*, %,/).
A ontinua in deber realizar la opera in elegida e imprimir el resultado en pantalla. Si el ar ter
introdu ido no es ninguno de los indi ados, se imprimir un mensaje de error:

Opera ion no valida.

21.- Indi ar la salida del siguiente segmento de programa:

for ( uenta = 1; uenta <5; uenta ++)


printf ("%d", 2* uenta);
22.- Sele ione y es riba el bu le ade uado que mejor resuelva los siguientes problemas:

a)

Suma de la serie: 1/2+1/3+1/4+1/5+. . . +1/50.

b)

Le tura de la lista de ali a iones de un examen.

Validar un nmero introdu ido mediante te lado para que su valor est omprendido entre 11 y
50.

23.- Mostrar por pantalla la tabla de multipli ar de un nmero entero introdu ido por te lado.
24.- Mostrar por pantalla las 20 primeras poten ias de dos en dos olumnas.
25.- Dado un nmero entero y positivo, de ir si el nmero es primo o no. Si el nmero no es vlido, emitir
un mensaje de error.

26.- Cal ular todos los nmeros de tres ifras tales que la suma de los ubos de las ifras es igual al valor
del nmero.

27.- Es ribir un programa que al ule la suma de una serie de nmeros enteros positivos. El tamao de la
serie vendr dado por los siguientes asos:

a)

El usuario introdu e el tamao de la serie por te lado, antes de empezar a introdu ir los nmeros
de la serie.

b)

La serie termina uando el usuario introdu e el nmero 0.

En ada itera in, el sistema pregunta al usuario si quiere terminar (s) o si quiere introdu ir otro
nmero (n).

28.- Cal ular el fa torial de un nmero entero ledo desde te lado utilizando las senten ias while, do...while,
y

for

29.- Es riba un programa para mostrar, mediante bu les y en forma de tabla, los digos ASCII de las
letras mays ulas y mins ulas.

30.- Se denen los nmeros triangulares omo los obtenidos por la suma de los nmeros naturales su esivos
1, 2, 3, .... Es de ir, los primeros nmeros triangulares son 1, 3, 6, 10, et . Elabore un programa para
imprimir el n-simo nmero triangular.

Universidad de Valladolid
Departamento de Informti a

Es uela de Ingenierias Industriales

Sede Fran is o Mendizbal

31.- Elabore un programa que lea un nmero entero y es riba el nmero resultante de invertir sus ifras.
32.- Elabore un programa que imprima la gura de un tringulo re tngulo ajustada a la izquierda, formada
por asteris os. El tamao del lado del tringulo se lee omo dato.

33.- Elabore un programa que imprima la gura de un tringulo re tngulo ajustada a la dere ha, formada
por asteris os. El tamao del lado del tringulo se lee omo dato.

34.- Elabore un programa, que dado un nmero l, entero introdu ido por te lado, imprima el rombo de lado

l.

Por ejemplo, para

l = 4:

*
***
*****
*******
*****
***
*
35.- Elabore un programa que imprima el tringulo de Floyd ajustado a la izquierda. El tringulo ontiene
los nmeros naturales orrelativos, uno en la primera lnea, dos en la segunda, et .; es de ir, en la la

n esima

apare en

Ejemplo (n

1
1
1
1
1

valores.

= 5):

2
2 3
2 3 4
2 3 4 5

36.- Elabore un programa C que imprima el tringulo de Floyd de

lneas (n introdu ido por el usuario)

ajustado a la dere ha.

37.- Elabore un programa C que lea por te lado un nmero


pirmide de

1
2
3
4
5
6
7
8
9
0

3
4
5
6
7
8
9
0
1

2
5
6
7
8
9
0
1
2

entero positivo y presente por pantalla una

las que responda al siguiente esquema (para

4
7
8
9
0
1
2
3

3
6
9
0
1
2
3
4

5
8
1
2
3
4
5

4
7
0
3
4
5
6

6
9
2
5
6
7

5
8
1
4
7
8

7
0
3
6
9

6
9
2
5
8

8
1
4
7

7
0 9 8
3 2 1 0 9
6 5 4 3 2 1 0

n = 10):

Universidad de Valladolid
Departamento de Informti a

Es uela de Ingenierias Industriales

Sede Fran is o Mendizbal

38.- Son idnti os los siguientes fragmentos de programa on respe to a los resultados que se obtienen?

do {
s anf(" %d",&a);
(* pro esa a *)
........
} while (a=! entinela);

s anf(" %d",&a);
while (a!= entinela)
{
(* pro esa a *)
........
s anf(" %d",&a);
}

39.- La multipli a in a la rusa permite realizar el produ to de dos nmeros enteros utilizando solo sumas y
divisiones o produ tos por dos. El mtodo onsiste en realizar su esivamente las siguientes opera iones:
multipli ar uno de los nmeros por dos y obtener la divisin entera del otro, tambin por dos. Se detiene
el pro eso al obtener omo o iente de la divisin un uno. Por ejemplo, para multipli ar 22 por 64 se
obtienen las dos olumnas siguientes:
22

64

11

128

256

512

1024

22 x 64 =

1408

A ontinua in sumamos los nmeros de la olumna de la dere ha que orresponden a nmeros impares
en la olumna de la izquierda, esto es en nuestro aso: 128+256+1.024=1.408 y el resultado de la suma
es el produ to de los nmeros ini iales. Elaborar un programa en C que multiplique mediante este
mtodo dos nmeros enteros introdu idos por pantalla.

40.- Se di e que dos nmeros son primos entre s uando el mximo omn divisor de ambos nmeros es la
unidad. Elaborar un programa en C que, dados dos nmeros, diga si son primos entre s o no.

41.- Diremos que un nmero

es raro uando verique que para ualquier nmero

que ambos nmeros sean primos entre s, resulte que

m,

menor que l y tal

es un nmero primo. Elaborar un programa

C que liste todos los nmeros raros existentes entre 3 y un valor introdu ido por el usuario (ambos
in lusive). NOTA: en el problema anterior se ha indi ado mo al ular si dos nmeros son primos
entre s.

42.- La idea de aproximar una fun in mediante polinomios o de representarla omo suma de un nmero
nito de fun iones ms sen illas al anz un gran desarrollo en el anlisis, donde onstituye ahora una
rama independiente: la teora de la aproxima in de fun iones. Los polinomios de Taylor, que abren el
amino para la mayora de los l ulos en el anlisis apli ado, son muy importantes desde el punto de
vista pr ti o.
Para aproximar una fun in se suman los trminos de su serie de Taylor mientras el sumando sea mayor
o igual que un determinado umbral. Por lo tanto el pro eso terminar uando un trmino al ulado sea
menor que un error
a la serie.

que tambin se introdu e por te lado. Este trmino ser el ltimo en ser sumado

Universidad de Valladolid
Departamento de Informti a

Es uela de Ingenierias Industriales

Sede Fran is o Mendizbal

Realiza un programa que al ule el seno de un ngulo introdu ido por te lado empleando el

introdu ido por te lado.


x2n+1
+ . . . , x R
+ . . . + (1)n (2n+1)!

desarrollo en serie de Taylor y el error

sen(x) = x

x3
3!

x5
5!

x7
7!

Realiza un programa que al ule el oseno de un ngulo introdu ido por te lado empleando el

introdu ido por te lado.


x2n
+ . . . + (1)n (2n)!
+ . . . , x R

desarrollo en serie de Taylor y el error

cos(x) = 1

x2
2!

x4
4!

x6
6!

Realiza un programa que al ule una aproxima in de

n tambin introdu ido


n
+ . . . + xn! , x R

te lado y un grado de polinomio

ex = 1 + x +

x2
2!

x3
3!

x4
4!

Realiza un programa que al ule una aproxima in de

ex

1ln(1 + x)

n tambin introdu ido por


n
+ . . . + (1)n1 xn! , 1 < x < +1

por te lado y un grado de polinomio

ln(1 + x) = x

x2
2

x3
3

x4
4

para una valor de

Realiza un programa que al ule una aproxima in de

, ambos introdu idos por te lado.


= 1 + x1 + x2 + x3 + x4 + . . . + xn , 1 < x < +1

introdu ido por

por te lado.

1
1 1x

para una valor de

x introdu ido

te lado.

para un valor de

x (1 < x < +1)

un error

1
1x

43.- (Examen febrero 2007) Considera la siguiente propiedad que des ubri Ni ma o de Gerasa:
Sumando el primer impar, se obtiene el primer ubo; sumando los dos siguientes impares,
se obtiene el segundo ubo; sumando los tres siguientes, se obtiene el ter er ubo; sumando
los uatro siguientes, se obtiene el uarto ubo; et .
Comprobmoslo:

13
23
33
43
...

=
=
=
=
=

1
3+5
7 + 9 + 11
13 + 15 + 17 + 19
...

=
=
=
=
=

1
8
27
64
...

Es ribe un programa que es riba en pantalla los


de

primeros ubos utilizando esta propiedad. El valor

lo deber introudu ir el usuario y deber ser un nmero mayor que ero.

44.- En ontrar y mostrar todos los nmeros de 4 ifras signi ativas que umplen la ondi in de que la
suma de las ifras de posi in impar es igual a la suma de las ifras de orden par.

45.- Es ribir un programa que en uentre los tres nmeros perfe tos pares y los tres primeros nmeros
perfe tos impares.
Un

nmero perfe to

es un entero positivo, que es igual a la suma de todos los enteros postivos (ex ludo

l mismo) que son divisores del nmero. El primer nmero perfe to es 6 porque los divisores son 1,2,3
y 1+2+3=6.

S-ar putea să vă placă și