Sei sulla pagina 1di 7

Práctica 2: Principios básicos de Algoritmia:

Bifurcaciones y bucles en Lenguaje C.


Objetivos

En esta práctica el objetivo principal es el de poner en práctica los principios básicos de


la algoritmia. Para ello el alumno deberá conocer las diferentes estructuras para el control del
flujo de un programa: bifurcaciones (operaciones condicionales) y bucles (operaciones
iterativas).

Evaluación

La práctica consta de 5 cuestiones, de los cuales habrá que realizar correctamente al


menos 2 para aprobar la práctica.

Procedimiento

Cada cuestión consta de un enunciado y de una plantilla en lenguaje C. El alumno


usará dicha plantilla para verificar el correcto funcionamiento del algoritmo que haya diseñado y
su implementación en lenguaje C. En la plantilla se indica dónde debe el alumno insertar su
código. Este mismo código deberá copiarse y enviarse a través del servidor de docencia
(bono.us.es/sdocencia), teniendo especial cuidado de seleccionar correctamente la línea de
inserción en función 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 línea de código.

Apuntes descargados de wuolah.com


Cuestiones
Apartado 1

Realice un programa en lenguaje C que calcule el factorial de un número natural dado. Para
ello realice primero un diagrama de flujo con su correspondiente tabla de objetos.

Nota 1: Se recuerda que el factorial de un número n, viene dado por

Nota 2: El factorial de 0 es 1.

void main(void)
{
/* DECLARACIÓN DE VARIABLES (Realice la tabla de objetos)*/
int i; /*indice para el bucle*/
int n; /*numero dato para el calculo del factorial*/
double fact; /*factorial del número*/

/* LECTURA DE DATOS */
printf("Introduzca un numero natural:");
scanf("%d",&n);

/* CALCULO DEL FACTORIAL */

/*************INICIO CÓDIGO DE ALUMNO*****************/

/***************FIN CÓDIGO DE ALUMNO******************/

/* ESCRITURA DE RESULTADOS */

if(n<0)
{
printf("Entrada no valida");
}
else
{
printf("%d!=%.0f",n,fact);
}

/* BLOQUEO DE PANTALLA*/
printf("\n");
system("pause");
}

Voluntariado en África - Vive unas vacaciones diferentes SAPP


Apartado 2

Realice un programa en lenguaje C que calcule la aproximación entera de la raíz cuadrada de


un número natural. Para ello realice primero un diagrama de flujo con su correspondiente tabla
de objetos.

Nota: La raíz cuadrada de un cuadrado perfecto es un número entero. Los cuadrados perfectos
se obtienen elevando un entero al cuadrado. De esta forma podemos obtener los siguientes
cuadrados perfectos: 12=1, 22=4, 33=9, 44=16,…

void main(void)
{
/* DECLARACIÓN DE VARIABLES (Realice la tabla de objetos) */
int i; /*indice*/
int n;
int raiz;

/* LECTURA DE DATOS */
printf("Introduzca un numero natural:");
scanf("%d",&n);

/* CALCULO APROXIMADO DE LA RAIZ */

/*************INICIO CÓDIGO DE ALUMNO*****************/

/***************FIN CÓDIGO DE ALUMNO******************/

/* ESCRITURA DE RESULTADOS */
if(n<0)
{
printf("Entrada no valida");
}
else
{
printf("raiz(%d)~ %d",n,raiz);
}
/* BLOQUEO DE PANTALLA*/
printf("\n");
system("pause");
}

Voluntariado en África - Vive unas vacaciones diferentes SAPP


Apartado 3

Realice un programa en lenguaje C que determine si un número natural dado es primo o no.
Para ello realice primero un diagrama de flujo con su correspondiente tabla de objetos.

Nota: Se entiende por número primo aquél que sólo es divisible por 1 y por él mismo.

void main(void)
{
/* DECLARACIÓN DE VARIABLES (Realice la tabla de objetos) */
int i;
int n;
int primo;

/* LECTURA DE DATOS */
printf("Introduzca un numero natural:");
scanf("%d",&n);

/* ALGORITMO DETERMINACIÓN NÚMERO PRIMO */

/*************INICIO CÓDIGO DE ALUMNO*****************/

/***************FIN CÓDIGO DE ALUMNO******************/

/* ESCRITURA DE RESULTADOS */
if(primo==1) printf("El numero %d es primo",n);
if(primo==0) printf("El numero %d no es primo",n);

/* BLOQUEO DE PANTALLA*/
printf("\n");
system("pause");
}

4
Apartado 4

Realice un programa en lenguaje C que calcule el máximo número primo que forma parte de la
factorización de un número natural dado. Para ello realice primero un diagrama de flujo con su
correspondiente tabla de objetos.

Ejemplo: La factorización del número 20=1·2·2·5, luego el máximo factor primo es el 5.

Nota: No es necesario verificar si el número dado es primo. En ese caso el máximo factor primo
es el propio número.

void main(void)
{
/* DECLARACIÓN DE VARIABLES (Realice la tabla de objetos) */
int i;
int n;
int aux;
int maxfactor;

/* LECTURA DE DATOS */
printf("Introduzca un numero natural:");
scanf("%d",&n);

/* ALGORITMO FACTORIZACIÓN */
/*************INICIO CÓDIGO DE ALUMNO*****************/

/***************FIN CÓDIGO DE ALUMNO******************/

/* ESCRITURA DE RESULTADOS */
if (n<1)
{
printf("Entrada de datos no valida");
}
else
{
printf("El mayor factor primo de %d es %d",n,maxfactor);
}

/* BLOQUEO DE PANTALLA*/
printf("\n");
system("pause");
}

Voluntariado en África - Vive unas vacaciones diferentes SAPP


Apartado 5

Realice un programa en lenguaje C que calcule el valor aproximado del número π, siguiendo la
fórmula de Leibniz dada por

El programa deberá recibir por teclado un número entero positivo n y devolver por pantalla la
aproximación del número π obtenida al sumar los n primero términos de la sucesión. Realice
primero un diagrama de flujo con su correspondiente tabla de objetos.

void main(void)
{
/* DECLARACIÓN DE VARIABLES (Realice la tabla de objetos) */
int i;
int n;
int aux=1;
double pi;

/* LECTURA DE DATOS */
printf("Introduzca un numero natural:");
scanf("%d",&n);

/* ALGORITMO FÓRMULA DE LEIBNIZ */


/*************INICIO CÓDIGO DE ALUMNO*****************/

/***************FIN CÓDIGO DE ALUMNO******************/

/* ESCRITURA DE RESULTADOS */

if(n<0)
{
printf("Entrada de datos no valida");
}
else
{
printf("La aproximacion de PI con n=%d es %f",n,pi);
}

/* BLOQUEO DE PANTALLA*/
printf("\n");
system("pause");
}

Voluntariado en África - Vive unas vacaciones diferentes SAPP


Entrega de la práctica a través del servidor

Los resultados de todas la práctica se entregará usando el Servidor de Docencia. Para el


correcto funcionamiento de las siguientes páginas su navegador debe permitir cookies y la
ejecución de javascript. El servidor de docencia se encuentra situado en la siguiente dirección:

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

La entrega de la práctica consiste en copiar el código de cada cuestión que se encuentra entre
las dos líneas de comentarios (en rojo) en el cuadro de respuestas correspondiente del
Servidor de Docencia. Hay que copiar el código una vez se haya comprobado el correcto
funcionamiento del programa.

Cada apartado tiene un espacio asignado dónde copiar el código correspondiente. Solo hay
que copiar el código que se encuentra entre las dos líneas de comentarios del molde
proporcionado en el enunciado.

Es especialmente importante que siga estas instrucciones si quiere que la práctica sea
evaluada apropiadamente.

Voluntariado en África - Vive unas vacaciones diferentes SAPP

Potrebbero piacerti anche