Está en la página 1de 12

FC-FISC-1-8-2016)

UNIVERSIDAD TECNOLÓGICA DE PANAMÁ


FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE PROGRAMACIÓN DE COMPUTADORAS
GUÍA DE ACTIVIDAD N°12
LABORATORIO N°4

Facilitador(a): _Giankaris Moreno________________ Asignatura: _HERR.PROG.APL.____________


Estudiante: Joseph Pineda, Luz Mendieta____________________ Fecha: 28/10/21 Grupo: 1IL114_____

A. TÍTULO DE LA EXPERIENCIA: Laboratorio N°4

B. TEMAS:
Funciones en C.

C. OBJETIVO(S):
Aplicar el uso de funciones en la resolución de problemas en C utilizando una metodología de programación estructurada.

D. METODOLOGÍA SUGERIDA:
Presente los programas en C para cada uno de los problemas de la sección G aplicando el uso de funciones visto en clase.
Debe documentar los códigos fuentes. La actividad será desarrollada en equipos de máximo 3 integrantes.

E. ENUNCIADO:
Elabore los códigos fuentes en C para los siguientes problemas. Tome en cuenta que debe realizar los procesos de
forma independiente.
1. Elabore un programa que determine si un año indicado por el usuario es bisiesto o no. La función empleada debe
devolver 1 si el año es bisiesto ó 0 si no lo es.
#include <stdio.h>

int aniobis(int a ){

int an;

if ( a % 4 == 0 && a % 100 != 0 || a % 400 == 0 ){

an=1;

else{

an=0;
}

return an;

void main(){

int anb,bi;

printf("\nIntroduce un anio y te dire si es bisiesto o no: ");


FC-FISC-1-8-2016)
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE PROGRAMACIÓN DE COMPUTADORAS
GUÍA DE ACTIVIDAD N°12
LABORATORIO N°4

scanf("%d", &bi);

anb=aniobis(bi);

printf("\nEl anio introducido es: %d", anb );

}
2. Elabore un programa que permita transformar grados C a grados F.
#include <stdio.h>

float Fahrenheit(float C){

float F;

F= ((C *9) /5) +32;

return F;
}

void main(){

float F, ce,caf;
F=0;

printf("\nIngrese los grados celsius a transformar a Fahrenheit: " );

scanf ("%f", &ce);

caf=Fahrenheit(ce);

printf("\n el equivalente en grados Fahrenheit es: %f",caf);

}
3. Elabore un programa que permita transformar una distancia dada en metros a kilómetros.
#include <stdio.h>

float metrosak(float mts){

float K;

K =(mts/1000);

return K;

void main(){

float metros,mt;
FC-FISC-1-8-2016)
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE PROGRAMACIÓN DE COMPUTADORAS
GUÍA DE ACTIVIDAD N°12
LABORATORIO N°4

printf("\nIntroduzca la distancia en metros:" );

scanf("%f",&metros);

mt=metrosak(metros);

printf("\nEl equivalente de metros a kilometros es: %f", mt );

}
4. Elabore un programa que calcule la raíz cuadra da de un número.
#include <stdio.h>

float raizC(float num){

float R;

R=sqrt(num);

return R;

void main(){

float raiz,cua;

printf("\nIntroduce un numero y te dire su raiz cuadrada:" );

scanf("%f", &raiz);

cua=raizC(raiz);

printf("\nLa raiz cuadrada es: %f",cua );

}
5. Elabore un programa que le permita al usuario escoger la operación matemática que desee hacer (suma, resta,
multiplicación, división, residuo, potencia o raíz), y muestre el resultado de dicha operación. Debe considerar que,
si el usuario desea realizar otra operación, puede hacerlo.
#include <math.h>
#include <stdio.h>

float suma(float a, float b){


int f;
f= a + b;
return f;

}
FC-FISC-1-8-2016)
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE PROGRAMACIÓN DE COMPUTADORAS
GUÍA DE ACTIVIDAD N°12
LABORATORIO N°4

float resta(float a, float b){


int f;
f= a - b;
return f;

float ra(float num){

float R;

R=sqrt(num);

return R;

int residuo(int a, int b){

int r;

r= a % b;

return r;

float pote(float num, float po){

float P;

P=pow(num,po);

return P;

float multi(float a, float b){

float M;

M= a * b;

return M;
FC-FISC-1-8-2016)
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE PROGRAMACIÓN DE COMPUTADORAS
GUÍA DE ACTIVIDAD N°12
LABORATORIO N°4

float divi(float a, float b){

float D;

D= a / b ;

return D;

void main(){

float n, m, c;
int a, b;
char x, y;
y= 's';
do{

printf("\nSuma:+, resta:-, multi:*, divi:/, potencia:p, raiz:r, residuo:% ");

printf("\nIngrese la operacion que desea realizar: ");


scanf(" %c", &x);

if (x== '+' || x== 's'){

printf("\nIngrese un numero: ");


scanf("%f", &n);

printf("\nIngrese otro numero: ");


scanf("%f", &m);

c=suma(n,m);
printf("\nEl resultado de la suma es: %f" ,c);

if (x== '%')
printf("\nIngrese un numero: ");
scanf("%d", &a);

printf("\nIngrese otro numero: ");


scanf("%f", &b);
FC-FISC-1-8-2016)
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE PROGRAMACIÓN DE COMPUTADORAS
GUÍA DE ACTIVIDAD N°12
LABORATORIO N°4

c=residuo(a,b);
printf("\nEl resultado de el residuo es: %d" ,c);

if (x== '-' || x== 'e'){

printf("\nIngrese un numero: ");


scanf("%f", &n);

printf("\nIngrese otro numero: ");


scanf("%f", &m);

c=resta(n,m);
printf("\nEl resultado de la resta es: %f" ,c);

if (x== 'r'){

printf("\nIngrese un numero: ");


scanf("%f", &n);

c=ra(n);
printf("\nEl resultado de la raiz es: %f" ,c);
}

if (x== 'P' || x== 'p'){

printf("\nIngrese un numero: ");


scanf("%f", &n);

printf("\nIngrese otro numero: ");


scanf("%f", &m);

c=pote(n,m);
printf("\nEl resultado de la potencia es: %f" ,c);

if (x== '*' || x== 'm'){


FC-FISC-1-8-2016)
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE PROGRAMACIÓN DE COMPUTADORAS
GUÍA DE ACTIVIDAD N°12
LABORATORIO N°4

printf("\nIngrese un numero: ");


scanf("%f", &n);

printf("\nIngrese otro numero: ");


scanf("%f", &m);

c=multi(n,m);
printf("\nEl resultado de la resta es: %f" ,c);
}

if (x== '/' || x== 'd'){

printf("\nIngrese un numero: ");


scanf("%f", &n);

printf("\nIngrese otro numero: ");


scanf("%f", &m);

c=divi(n,m);
printf("\nEl resultado de la resta es: %f" ,c);
}
6. Elabore un programa que permita calcular el área y el perímetro de un rectángulo.
#include <stdio.h>

float calcularArea(float largo, float ancho){


float totA;
totA= largo*ancho;
return totA;

float calcularPerimetro(float largo, float ancho){


float totP;
totP=(2*(largo))+(2*(ancho));
return totP;
}
void main(){
//Bloque de declarativas
float largo, ancho, area, perim;

printf("\n 6. Elabore un programa que permita calcular el area y el perimetro de un rectangulo. \n");
//Bloque de instrucciones
printf("\n Ingrese el longitud del rectangulo: \n ");
scanf("%f",&largo);
FC-FISC-1-8-2016)
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE PROGRAMACIÓN DE COMPUTADORAS
GUÍA DE ACTIVIDAD N°12
LABORATORIO N°4

while (largo<0){
printf("\n El valor tiene que ser positivo, vuela a ingresar el valor: \n");
scanf("%f", &largo);
}
printf("\n Ingrese el ancho del rectangulo: \n ");
scanf("%f",&ancho);

while(ancho<0){
printf("\n El valor tiene que ser positivo, vuela a ingresar el valor: \n");
scanf("%f", &ancho);
}
area= calcularArea( largo, ancho);
perim= calcularPerimetro(largo, ancho);

printf("\n El area del rectangulo es de: \n %.2f",area);


printf("\n El perimetro del rectangulo es de: \n %.2f",perim);

}
7. Elabore un programa que determine la hora en formato hora:minutos:segundos, de acuerdo con una cantidad de
segundos proporcionados por el usuario.
#include <stdio.h>

int calcularHora(int totSeg){


int hor, seg, min;
hor= totSeg/3600;
min= (totSeg-hor*3600)/60;
seg= totSeg-(hor*3600+min*60);
printf("\n El total de horas, minutos y segundos es de: \n%.2ih :%.2im :%.2is", hor, min, seg);
return hor, min, seg;

void main(){
//Bloque de declarativas
int totSeg, totS;

//Bloque de instrucciones
printf("\n 7. Elabore un programa que determine la hora en formato hora:minutos:segundos, de acuerdo con una cantidad
de segundos proporcionados por el usuario. \n ");
printf("\n Ingrese la cantidad de segundos: \n ");
scanf("%i",&totSeg);

while (totSeg<0){
printf("\n El valor tiene que ser positivo, vuela a ingresar el valor: \n");
scanf("%i", &totSeg);
}

totS= calcularHora(totSeg);
FC-FISC-1-8-2016)
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE PROGRAMACIÓN DE COMPUTADORAS
GUÍA DE ACTIVIDAD N°12
LABORATORIO N°4

}
8. Elabore un programa que permita calcular el factorial de un número indicado por el usuario.
#include <stdio.h>

int calcularFac(int num){


int i;
int facto=1;
for (i=1; i<=num; i++){
facto= facto*i;
}printf("\n El factorial de %i es de:\n %i", num, facto);
return facto;

void main(){
//Bloque de declarativas
int num, calcF;

//Bloque de instrucciones
printf("\n 8. Elabore un programa que permita calcular el factorial de un número indicado por el usuario.\n ");
printf("\n Ingrese el numero a calcular: \n ");
scanf("%i",&num);

while (num<0){
printf("\n El valor tiene que ser positivo, vuela a ingresar el valor: \n");
scanf("%i", &num);
}

calcF= calcularFac( num);

}
9. Elabore un programa que permita determinar la hipotenusa.
#include <stdio.h>
#include <math.h>
float calcularHipo(float num, float num1){
float hipo;
hipo= sqrt(pow(num,2)+pow(num1,2));
return hipo;
}

void main(){
//Bloque de declarativas
float num,num1, calcF;

//Bloque de instrucciones
printf("\n 9. Elabore un programa que permita determinar la hipotenusa. \n ");
printf("\n Ingrese el primer cateto: \n ");
scanf("%f",&num);
FC-FISC-1-8-2016)
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE PROGRAMACIÓN DE COMPUTADORAS
GUÍA DE ACTIVIDAD N°12
LABORATORIO N°4

while (num<0){
printf("\n El valor tiene que ser positivo, vuela a ingresar el valor: \n");
scanf("%f", &num);
}
printf("\n Ingrese el segundo cateto: \n ");
scanf("%f",&num1);

while (num1<0){
printf("\n El valor tiene que ser positivo, vuela a ingresar el valor: \n");
scanf("%f", &num1);
}

calcF= calcularHipo( num, num1);

printf("\n La hipotenusa del triangulo es de: \n %.2f", calcF);

}
10. Elabore un programa que dado 2 número por el usuario, muestre los números comprendidos entre ellos en
orden ascendente y también en orden descendente.
#include <stdio.h>

int calcularCompr(int num, int num1){


int max=0;
int min=0;
int i;
if(num>num1){
max=num;
min=num1;

}else {
max=num1;
min=num;
}
printf(" \n En el orden ascendente es asi:");
for(i=min; i<=max;i++){
printf("\n %i", i);
}

}
int calcularCompr1(int num, int num1){
int max=0;
int min=0;
int i;
if(num<num1){
max=num;
min=num1;

}else {
max=num1;
FC-FISC-1-8-2016)
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE PROGRAMACIÓN DE COMPUTADORAS
GUÍA DE ACTIVIDAD N°12
LABORATORIO N°4

min=num;
}
printf(" \n En el orden descendente es asi:");
for(i=min; i>=max;i--){
printf("\n %i", i);
}

void main(){
//Bloque de declarativas
int num,num1, calcF,calcF1;

//Bloque de instrucciones
printf("\n 10. Elabore un programa que dado 2 numero por el usuario, muestre los numeros comprendidos entre
ellos en orden ascendente y tambien en orden descendente. \n ");
printf("\n Ingrese el primer valor: \n ");
scanf("%i",&num);

printf("\n Ingrese el segundo valor: \n ");


scanf("%i",&num1);

calcF= calcularCompr( num, num1);


calcF1= calcularCompr1(num, num1);
}
Para cada uno de los problemas, elabore el código fuente en C empleando funciones en la solución de los mismos.

F. PROCEDIMIENTO:
Resuelva cada uno de los siguientes problemas y agregue en la sección H (Resultados) los códigos fuente correspondiente
a cada uno de los problemas. Adjunte en la entrega en la plataforma Teams este documento con el desarrollo de la actividad
así como también un archivo .rar o .zip que contenga los archivos .c.

G. RECURSOS:
Material impartido en clases.

H. RESULTADOS:

I. CONSIDERACIONES FINALES:
En esta parte del curso hemos perfeccionado y reforzado nuestro conocimiento con dicho laboratorio y
listo para poder aplicarlos en algún futuro.
FC-FISC-1-8-2016)
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE PROGRAMACIÓN DE COMPUTADORAS
GUÍA DE ACTIVIDAD N°12
LABORATORIO N°4

J. BIBLIOGRAFIA:
Apuntes

K. RÚBRICAS:
- Cada código fuente tendrá un valor de 10pts.

También podría gustarte