UNIDAD IV





PROGRAMA 1



func1







#include <stdio.h>

#include <stdlib.h>

void hola (void){

printf("Estoy en hola\n");

}

int main()

{

hola();

return 0;

}


PROGRAMA 2

func 2


#include <stdio.h>

#include <stdlib.h>



/*recibe una funcion dentro de esta se llama b,

cuando lo recibe de un entero se cambia por la

variable b y se hace la operacion*/

cubo(int b){

    int res;

    res=b*b*b;

    printf("Resultado es: %i\n",res);

}



int main()

{

    cubo(4);

    return 0;

}


PROGRAMA  3


func 3







#include <stdio.h>

#include <stdlib.h>




int mult (int b){

int pot,res;

puts("ingresa la potencia");

scanf("%i",&pot);

res=pot*b;

return res;

}




int main()

{




/* mult (5);

printf("el resultado es %i\n", mult (5));*/

int resm;

resm=mult (5);

printf("otro res %i\n",resm);

return 0;

}


 PROGRAMA  4


func4







#include <stdio.h>

#include <stdlib.h>

#include <math.h>




float Danypot(int base, int pot){

float res;

int c=1;

while (c<=1){

res=base*base;

c=c+1;

}

return res;

}

int main()

{

printf("potencia de Dany %.2f",Danypot(5,2));




return 0;




}




PROGRAMA  5


funcion 5




#include <stdio.h>




#include <stdlib.h>




#include <math.h>




/funcion donde se eleva un numero a una potencia/




float elipot(int b,int p){




float res;




res=1;




int c;




for(c=1;c<=p;c++){




res=res*b;




}




return res;




}




int main()




{




int bm,pm;




puts("Dame la base");




scanf("%i",&bm);




puts("Dame la potencia");




scanf("%i",&pm);




printf("Potencia de eli %.2f\n",elipot(bm,pm));




return 0;




}





PROGRAMA  6




funcion 6




#include <stdio.h>




#include <stdlib.h>










/funcion de sumar dados 2 numeros/




int sumar(int numero1,int numero2){




return numero1+numero2;




}









PROGRAMA  7



funcion 7







int main(void)




{




int suma=sumar(5,3);/se ejecuta correctamente/




printf("La suma es: %d",suma);




return 0;







#include <stdio.h>




#include <stdlib.h>










/*funcion de sumar dados 2 numeros




donde la variable como no esta dada al comienzo se pone




hasta el final*/




int main(void)




{




int suma=sumar(5,3);/ERROR, sumar no ha sido declarada/




printf("La suma es: %d",suma);




return 0;




}




int sumar(int numero1,int numero2){




return numero1+numero2;










}




PROGRAMA 8


funcion 8







#include <stdio.h>




#include <stdlib.h>










/* declarar el prototipo de la funcion




para informar que existe y despues darle forma




al cuerpo de esta*/




int sumar(int numero1,int numero2);




int main(void)




{




int suma=sumar(5,3);




printf("La suma es: %d",suma);




return 0;




}




/Definicion/




int sumar(int numero1,int numero2){




return numero1+numero2;










}




PROGRAMA  9


funcion 9







#include <stdio.h>




#include <stdlib.h>










/*una funcion se declara con el nombre




de la funcion, sucesivamente del valor




que retorna */




int entrada(int n1,int n2){




return n1+n2;




}




void salida(int nu1,int nu2)




{




printf("FUNCION SALIR: %i\n",nu1+nu2);




}










int main()




{




printf("%i\n",entrada(4,5));




salida(10,12);










return 0;










}


PROGRAMA  10


funcion 10




#include <stdio.h>


#include <stdlib.h>


/paso por valor/


/*el valor que se nvia, recibe uno,


lo aumenta y al final lo recibe*/


int incremento(int v){


v=v+1;


return v;


}


int main()


{


int a,b;


b=3;


a=incremento(b);


printf("El resultado fue: %i",a);


return 0;


}



PROGRAMA  11

funcion 11




#include <stdio.h>


#include <stdlib.h>






/*una funcion se declara con el nombre


de la funcion, sucesivamente del valor


que retorna */


int entrada(int n1,int n2){


return n1+n2;


}


void salida(int nu1,int nu2)


{


printf("FUNCION SALIR: %i\n",nu1+nu2);


}






int main()


{


printf("%i\n",entrada(4,5));


salida(10,12);






return 0;






}


PROGRAMA  12

funcion 12




#include <stdio.h>


#include <stdlib.h>






/*se da una funcion, y una variable


donde es diferente dentro de la funcion y


de main*/


impv(){


int cont;


cont=5;


printf("Contador en funcion es: %i\n",cont);


}










int main()


{


int conta;


conta=0;


printf("Contador es main es: %i\n",conta);


impv();


conta++;


printf("otro valor en main es %i\n",conta);


return 0;


}



PROGRAMA  13


funcion 13


#include <stdio.h>


#include <stdlib.h>


/funcion contadora de una variable/


int conta;


impv(){






conta=5;


printf("Contador en funcion es: %i\n",conta);


}






int main()


{






/int conta; YA ES GLOBAL/


conta=0;


conta=conta+1;


printf("Contador es main es: %i\n",conta);


impv();


printf("otro valor en main es %i\n",conta);


return 0;






}




"FUNCION TABLA"


#include <stdio.h>


#include <stdlib.h>


/*se realiza una funcion donde se muestran las tablas


de multiplicar del numero dado y hasta que punto se quiere*/






tabla(int tm,int limtm){


int c;


for(c=1;c<=limtm;c++){


printf("%i * %i = %i \n",tm,c,tm*c);


}


}


int main()


{


int b,num;


do{


puts("Dame un numero");


scanf("%i",&b);


}while(b<0 || b==0);


do{


puts("Hasta que numero quieres multiplicar?\n");


scanf("%i",&num);


}while(num<=0);


tabla(b,num);


return 0;






}


PROGRAMA  14

funcion 14




#include <stdio.h>


#include <stdlib.h>


unafuncion(){


extern variable;


printf("Variable en una funcion %i\n",variable);


variable=variable+2;


}






int main()


{


extern variable;


variable=9;


unafuncion();


printf("Variable en main %i\n",variable);


return 0;


}



PROGRAMA  15


recurciva 1




#include <stdio.h>


#include <stdlib.h>






float func_fact(int n){


if(n==0)


return 1;


else{


return n*func_fact(n-1);


}


}


int main()


{


int fact,i;


puts("Dame el numero a sacar el factorial");


scanf("%i",&fact);


for(i=1;i<=fact;i++){


printf("%.2f\n",func_fact(i));


}


return 0;






}



PROGRAMA  16


recursiva 2




#include <stdio.h>


#include <stdlib.h>


int prod(int a, int b){


if(b==0)


return 0;


else


return a+prod(a,b-1);


}


int main()


{


printf("%i",prod(8,3));


return 0;


}


#include <stdio.h>


#include <stdlib.h>


int num;


int multiplica(int x,int y){


int resultado;


resultado=x*y;


return resultado;


}


int main()


{


printf("El resultado es: %i\n",multiplica(5,5));


return 0;


}



PROGRAMA  17


"REPASO 1"

#include <stdio.h>

#include <stdlib.h>

int num;

int multiplica(int x,int y){

int resultado;

resultado=x*y;

return resultado;

}

int main()

{

    printf("El resultado es: %i\n",multiplica(5,5));

    return 0;

}

PROGRAMA  18

"REPASO 2"


#include <stdio.h>


#include <stdlib.h>






suma(int q){


extern a;


int i;


float sum=0;


for(i=1;i<6;i++){


sum=sum+a;


}


printf("%f",sum);


}






int main()


{


extern a;


a=5;


suma(1);


return 0;


}


int a;



PROGRAMA  19



"REPASO 3"


#include <stdio.h>


#include <stdlib.h>


funcionuno(){


int dato;


dato=60;


char n1;


n1='A';


printf("Estoy en la funcion1 con el dato %i y numero %c",dato,n1);


}






int main()


{


funcionuno();


return 0;






}


PROGRAMA  20

promedios




#include <stdio.h>
#include <stdlib.h>
float promedio(int valores[], int cantidad) {
int i;


float suma = 0.0;


for (i = 0; i < cantidad; ++i)
suma += valores[i];


return suma / (float) cantidad;
}
eres (float r){
if (r>=1 && r<=59.9)
puts("deficiente");
if (r>=60 && r<=69.9)
puts("aceptable");
if (r>=70 && r<=79.9)
puts("regular");
if (r>=80 && r<=89.9)
puts("suficiente");
if (r>=90 && r<=100)
puts("destacado");
}




int main() {


int notas[10];
char nombre[20];
char opcion[3];
int n, i;


do {
printf("Ingrese nombre del alumno: ");
scanf("%s", nombre);


printf("Cuantas calificaciones %s? ", nombre);
scanf("%d", &n);


for (i = 0; i < n; ++i) {
printf(" calificacion %d: ", i + 1);
scanf("%d", &notas[i]);
}


printf("El promedio de %s es %.1f\n", nombre, promedio(notas, n));




} while (opcion[0] == 's' || opcion[0] == 'S');
printf("tu promedio es %f",&eres);


return 0;
}




 PROGRAMA  21

PROGRAMA DE TOLERANCIAS




#define NEGRO 0

#define MARRON 1

#define ROJO 2

#define NARANJA 3

#define AMARILLO 4

#define VERDE 5

#define AZUL 6

#define VIOLETA 7

#define GRIS 8

#define BLANCO 9

#define ORO -1

#define PLATA -2




typedef struct

{

char color[10];

int valor;

} COLORES;




COLORES array_colores[]= {

{"negro", NEGRO},

{"marron", MARRON},

{"rojo", ROJO},

{"naranja", NARANJA},

{"amarrillo", AMARILLO},

{"verde", VERDE},

{"azul", AZUL},

{"violeta", VIOLETA},

{"gris", GRIS},

{"blanco", BLANCO},

{"plata", PLATA},

{"oro", ORO}




};




int busca_valor (char *color)

{

int i = 0;

while ( i < 12 && strcmp (array_colores[i].color, color)) i++;

if (i < 12)

return array_colores[i].valor; //devolvemos el asociado

return -3; // si i == 12 el color no existe

}

int main()

{

char strColors[50];

char *Color, *notacion;

int valor, cnt = 0;

float result, tolerancia = 20.0;

double multi;

printf ("PROGRAMA PARA CALCULAR EL VALOR DE LAS RESISTENCIAS\n");




printf ("Ejemplo: marron negro negro <verde>\n\n");

printf ("Introduzca codigo de colores: ");

gets (strColors);




//comenzamos a parsear (partir) la cadena

Color = strtok (strColors, " ");

result = 0;

do

{

// printf (" -> %s\n" , Color);

if ( (valor = busca_valor (Color)) == -3)

{

printf ("%s no es un color valido\n", Color);

system ("pause");

return -1;

} //fin si

if (valor == NEGRO && cnt == 0)

{

printf ("El color 'negro' no es un color valido como primera cifra\n");

system ("pause");

return -1;

}// fin si

if (valor > BLANCO && cnt <= 1)

{

printf ("El color '%s' solo es valido como multiplicador y tolerancia\n", Color);

system ("pause");

return -1;

}// fin si

// comenzamos el cáculo




if (cnt ==0) // es la primera cifra

result = valor * 10;

else if (cnt == 1 ) //segunda cifra

result += valor; // sumamos a la cantidad anterior "result = result + valor"

else if (cnt == 2) //multiplicador

{

notacion = strdup ("Ohmios"); //notacion por defecto




multi = pow (10, valor);

// mejoramos la notacion

if (multi >= 1000000)

{

notacion = strdup ("MOhm");

multi /= 1000000;

}

else if (multi >= 1000)

{

notacion = strdup ("KOhm");

multi /= 1000;

}

result *= multi;

}

else if (cnt == 3) //toletancia

{

switch (valor)

{

case MARRON:

tolerancia = 1.0;

break;

case ROJO:

tolerancia = 2.0;

break;

case VERDE:

tolerancia = 0.5;

break;

case ORO:

tolerancia = 5.0;

break;

case PLATA:

tolerancia = 10.0;

break;

default:

printf ("color no valido!\n");

return -1;

}//fin switch

}

cnt++;

} while (Color = strtok (NULL, " "));

printf ("la resistencia es: %7.1f %s (tolerancia +/- %2.1f %%)\n", result, notacion, tolerancia);




system ("pause");

return 0;







}

Comentarios