You are on page 1of 7

1

Prctica 4: Funciones en lenguaje C/C++.



Objetivos

En esta prctica el objetivo principal es el de poner en prctica los principios bsicos
del uso de funciones en lenguaje C/C++.

Evaluacin

La prctica consta de 3 cuestiones, de los cuales habr que realizar correctamente al
menos 1 para aprobar la prctica.

Procedimiento

Cada cuestin consta de un enunciado y de una plantilla en lenguaje C. El alumno
usar dicha plantilla para verificar el correcto funcionamiento de algoritmo que haya diseado y
su implementacin en lenguaje C. En la plantilla se indica dnde debe el alumno insertar su
cdigo. Este mismo cdigo deber copiarse y enviarse a travs del servidor de docencia
(bono.us.es/sdocencia), teniendo especial cuidado de seleccionar correctamente la lnea de
insercin en funcin del ejercicio que est resolviendo.

IMPORTANTE:

Cada ejercicio se debe resolver utilizando nicamente las variables definidas en el
molde que se proporciona

Debe respetar la estructura que se le propone sin cambiar nombres de variables ni
omitir ninguna lnea de cdigo.

Entrega de la prctica a travs del servidor

Los resultados de todas la prcticas se entregarn usando el Servidor de Docencia. Para el
correcto funcionamiento de las siguientes pginas su navegador debe permitir cookies y la
ejecucin de javascript. El servidor de docencia se encuentra situado en la siguiente direccin:

http://bono.us.es/sdocencia/

La entrega de la prctica consiste en copiar el cdigo de cada cuestin que se encuentra entre
las dos lneas de comentarios (en rojo) en el cuadro de respuestas correspondiente del
Servidor de Docencia. Hay que copiar el cdigo una vez se haya comprobado el correcto
funcionamiento del programa.

Cada apartado tiene un espacio asignado dnde copiar el cdigo correspondiente. Solo hay
que copiar el cdigo que se encuentra entre las dos lneas de comentarios del molde
proporcionado en el enunciado.

Es especialmente importante que siga estas instrucciones si quiere que la prctica sea
evaluada apropiadamente.


2
Ejercicio 228

En matemticas, una progresin aritmtica es una serie de nmeros tales que
la diferencia de dos trminos sucesivos cualesquiera de la secuencia es una constante,
cantidad llamada diferencia de la progresin o simplemente diferencia o incluso "distancia".Por
ejemplo, la sucesin 3, 5, 7, 9, 11,... es una progresin aritmtica de constante (o diferencia
comn) 2.

Realice una funcin en lenguaje C/C++que calcule y muestre por pantalla el trmino n-simo
de una progresin aritmtica, dados el primer trmino de la sucesin a
0
y la diferencia r.

El prototipo de la funcin viene dado por
i nt pr og_ar i t met i ca( i nt a0, i nt r , i nt n) ;

A continuacin se encuentra la plantilla del programa a utilizar.

#i ncl ude <st di o. h>
#i ncl ude <st dl i b. h>
#i ncl ude <wi ndows. h>

i nt pr og_ar i t met i ca( i nt a0, i nt r , i nt n) ;

mai n( voi d)
{
/ * DECLARACI N DE VARI ABLES ( vase t abl a de obj et os) */
i nt a0;
i nt n;
i nt r ;
i nt i ;
i nt an=- 1;


/ * LECTURA DE DATOS */
pr i nt f ( " I nt r oduzca el pr i mer numer o de l a pr ogr esi on
ar i t met i ca: " ) ;
scanf ( " %d" , &a0) ;
pr i nt f ( " I nt r oduzca l a di f er enci a de l a pr ogr esi on: " ) ;
scanf ( " %d" , &r ) ;
pr i nt f ( " I nt r oduzca l a posi ci on del t er mi no que desea obt ener : " ) ;
scanf ( " %d" , &n) ;

/ *************I NCLUYA LLAMADA A FUNCI N *****************/

/ ***************FI N CDI GO DE ALUMNO******************/

/ * ESCRI TURA DE RESULTADOS */
i f ( n<0)
{
pr i nt f ( " Ent r ada no val i da" ) ;
}
el se
{
pr i nt f ( " El t er mi no %d de l a pr ogr esi on ar i t met i ca es
%d" , n, an) ;
}
/ * BLOQUEO DE PANTALLA*/
pr i nt f ( " \ n" ) ;
syst em( " pause" ) ;
}

3


i nt pr og_ar i t met i ca( i nt a0, i nt r , i nt n)
{
i nt i ;
i nt an=- 1;
/ *************I NI CI O CDI GO DE ALUMNO*****************/






/ ***************FI N CDI GO DE ALUMNO******************/
r et ur n an;
}

4
Ejercicio 227

Una sucesin geomtrica est constituida por una secuencia de elementos en la que cada uno de
ellos se obtiene multiplicando el anterior por una constante denominada razn o factor de la
progresin. Se suele reservar el trmino progresin cuando la secuencia tiene una
cantidad finita de trminos mientras que se usa sucesin cuando hay una cantidad infinita de
trminos, si bien, esta distincin no es estricta.
As, 5,15, 45, 135, 405 es una progresin geomtrica con razn igual a 3, porque 15 =5 3, 45 =
15 3, 135 =45 3, 405 =135 3, y as sucesivamente.
.
Realice una funcin en lenguaje C++(.cpp) que calcule y muestre por pantalla el trmino n-simo de
una progresin geomtrica, dados el primer trmino de la sucesin a
0
y la razn r.

El prototipo de la funcin viene dado por
voi d pr og_geomet r i ca( i nt a0, i nt r , i nt n, i nt & an) ;

A continuacin se encuentra la plantilla del programa a utilizar.

#i ncl ude <st di o. h>
#i ncl ude <st dl i b. h>
#i ncl ude <wi ndows. h>

voi d pr og_geomet r i ca( i nt a0, i nt r , i nt n, i nt & an) ;

mai n( voi d)
{
/ * DECLARACI N DE VARI ABLES ( vase t abl a de obj et os) */
i nt a0;
i nt n;
i nt r ;
i nt i ;
i nt an=- 1;

/ * LECTURA DE DATOS */
pr i nt f ( " I nt r oduzca el pr i mer numer o de l a pr ogr esi on geomet r i ca: " ) ;
scanf ( " %d" , &a0) ;
pr i nt f ( " I nt r oduzca l a r azon de l a pr ogr esi on: " ) ;
scanf ( " %d" , &r ) ;
pr i nt f ( " I nt r oduzca l a posi ci on del t er mi no que desea obt ener : " ) ;
scanf ( " %d" , &n) ;

/ ************* I NCLUYA LA LLAMADA A LA FUNCI ON *****************/


/ ***************FI N CDI GO DE ALUMNO******************/
/ * ESCRI TURA DE RESULTADOS */
i f ( n<0)
{
pr i nt f ( " Ent r ada no val i da" ) ;
}
el se
{
pr i nt f ( " El t er mi no %d de l a pr ogr esi on geomet r i ca es %d" , n, an) ;
}
/ * BLOQUEO DE PANTALLA*/
pr i nt f ( " \ n" ) ;
syst em( " pause" ) ;
}

5

voi d pr og_geomet r i ca( i nt a0, i nt r , i nt n, i nt & an)
{
i nt i ;
an=- 1;
/ *************I NI CI O CDI GO DE ALUMNO*****************/



/ ***************FI N CDI GO DE ALUMNO******************/

}

6
Ejercicio 229

La raz cuadrada de un nmero positivo n se puede aproximar siguiendo el mtodo de recurrencia
de Newton, que para este problema en concreto se puede escribir como la siguiente sucesin:

x
i+1
=x
i
(x
i
2
-n)/(2x
i
)

Realice una funcin en lenguaje C++(.cpp) que calcule y muestre por pantalla el trmino n-simo de
la aproximacin de newton de la raz cuadrada de un nmero positivo n, tomando como valor inicial
de x
i
1.

El prototipo de la funcin viene dado por
voi d r ai z_newt on( doubl e n, i nt m, doubl e & x) ;

A continuacin se encuentra la plantilla del programa a utilizar.


#i ncl ude <st di o. h>
#i ncl ude <st dl i b. h>
#i ncl ude <wi ndows. h>

voi d r ai z_newt on( doubl e n, i nt m, doubl e & x) ;

mai n( voi d)
{
/ * DECLARACI N DE VARI ABLES ( vase t abl a de obj et os) */

doubl e n;
i nt m;
i nt i ;
doubl e x=1;


/ * LECTURA DE DATOS */
pr i nt f ( " I nt r oduzca un numer o par a cal cul ar su r ai z cuadr ada: " ) ;
scanf ( " %l f " , &n) ;

pr i nt f ( " I nt r oduzca el t er mi no de l a apr oxi maci on que desea obt ener : " ) ;
scanf ( " %d" , &m) ;


/ *************I NCLUYA LA LLAMADA A LA FUNCI N *****************/


/ ***************FI N CDI GO DE ALUMNO******************/


/ * ESCRI TURA DE RESULTADOS */
i f ( n<0)
{
pr i nt f ( " Ent r ada no val i da" ) ;
}
el se
{
pr i nt f ( " El t er mi no %d de l a r ai z de %f es %f " , m, n, x) ;
}
/ * BLOQUEO DE PANTALLA*/
pr i nt f ( " \ n" ) ;
syst em( " pause" ) ;
}

7

voi d r ai z_newt on( doubl e n, i nt m, doubl e & x)
{
i nt i ;
x=1;

/ *************I NI CI O CDI GO DE ALUMNO*****************/





/ ***************FI N CDI GO DE ALUMNO******************/

}

You might also like