unidad 4

UNIDAD 4
ENTREGABLE 1
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int j,k; int *ptr;
    j=1; k=2; ptr=&k;
    printf("j tiene el valor de %d y esta alojada en %p\n",j,(void *)&j);
    printf("k tiene el valor de %d y esta alojada en %p\n",k,(void *)&k);
    printf("ptr tiene el valor de %p y esta alojada en %p\n",ptr,(void *)&ptr);
    printf("El valor del entero al que apunta ptr es: %d\n",*ptr);

    return 0;
}

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int mi_arreglo[]={1,23,17,4,-5,100};
    int *ptr;
    int i;
    ptr=&mi_arreglo[0];
    for (i=0; i<6; i++)
    {
        printf("mi_arreglo[%d]=%d\n",i,mi_arreglo[i]);
        printf("ptr+%d=%d\n",i,*(++ptr);

    }
    return 0;
}
#include <stdio.h>
#include <stdlib.h>
char strA[80]="Cadena a usar para el programa de ejemplo";
char strB[80];
int main()
{
    char *pA;
    char *pB;
    puts(strA);
    pA=strA;
    puts(pA);
    pB=strB;
    putchar('\n');
    while(*pA != '\0')
    {
        *pB++=*pA++;
    }
    *pB='\0';
    puts(strB);
    return 0;

ENTREGABLE 2
 #include <stdio.h>
#include <stdlib.h>

sum(int num);
mul(int num);
int main()
{
    int num;
    puts("dame un numero impar entre el 1 y el 29");
    scanf("%d",&num);
    if(num%2!=0 && num>=1 && num<=29)
    {
        sum(num);
        mul(num);
    }
    else
    {
        puts("numero invalido");
    }

    return 0;
}
sum(int num)
{
    int suma=0;
    for(;num>=1;num--)
    {
        if(num % 2!=0)
        {
         suma+=num;
        }
    }
    printf("La sumatoria de los numero impares fue: %i\n",suma);

}
mul(int num)
{
    int mul=1;
    for(;num>=1;num--)
    {
        if(num % 2!=0)
        {
         mul*=num;
        }
    }
    printf("La multiplicacion de los numero impares fue: %i\n",mul);

}

ENTREGABLE 3
#include <stdio.h>
#include <stdlib.h>

funcionA(int num);
funcionB(int num);
int i=0;
int main()
{
    int num;
    puts("dame un numero");
    scanf("%d",&num);
    while(i<=num+1)
    {
      funcionA(num);
      i++;
    }

    return 0;
}
funcionA(int num)
{
    if(num>1)
    {

      funcionB(num);
    }
    if(i!=num && i==0)
    {
     printf("%i\n",num);
    }
    if(i!=num && i>0 && i<=num)
    {
     printf("%i %i\n",i,num);
    }
    if(i==num+1)
    {
     printf("%i ",num);
    }
}
funcionB(int num)
{

    funcionA(--num);
}


PROGRAMA 1
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
/*el void es opcional
pero si esta en una no puede estar en la otra*/
void hola();
int main()
{
    hola();
    return 0;
}
//el void es opcional
void hola(void)
{
    puts("hola mundo");
    return; //el return es opcinal
}

PROGRAMA 2
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int cubo(int base);
int main()
{
    int num;
    for(num=1;num<=5;num++)
    printf("el cubo del numero %d es %d\n",num,cubo(num));
    return 0;
}
int cubo(int base)
{
    int potencia;
    potencia=base*base*base;
    return potencia;
}

PROGRAMA 3
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define VALOR 5
#define FACT 120
int fact_i(int v)
{
   // printf("valor de entrada de fact_i %d\n",v);
    int r=1,i=1;
    while(i<=v)
    {
        r=r*i;
        i=i+1;
    }
    //printf("valor de regreso %d\n",r);
    return r;
}
int fact_r(int v)
{
    //printf("valor de entraa de fact_i %d\n",v);
    if(v==0)
    return 1;
    else
        printf("")
    return v*fact_r(v-1);
    //printf("valor de regreso %d\n",v*fact_r(v-1));
}
int main()
{

    int r,valor=VALOR;
    if((r=fact_i(valor))!=fact_r(valor))
    printf("codificacion erronea!!\n");
    else if(r==FACT) printf("codificacion correcta!!\n");
    else printf("codificacion correcta!!\n");
    return 0;
}

PROGRAMA 4
#include <stdio.h>
#include <stdlib.h>
void  primera(void);
void segunda(void);
int main()
{
    printf("La primera funcion llamada, main\n");
    primera();
    segunda();
    puts("Final de la funcion main");
    return 0;
}
void primera()
{
    puts("Llamada a la funcion primera");
    return;
}
void segunda()
{
    puts("Llamada a la funcion segunda");
    return;
}

PROGRAMA 5
#include <stdio.h>
#include <stdlib.h>
imprimevalor();
int main()
{
    int cont=0;
    cont++;
    printf("el valor de contador es:%d\n",cont);
    imprimevalor();
    printf("ahora el valor de contador es:%d\n",cont);
    return 0;
}
imprimevalor()
{
    int cont=5;
    printf("el valor de contador es:%d\n",cont);

}

PROGRAMA 6
#include <stdio.h>
#include <stdlib.h>

unafuncion();

int main()
{
    extern var;
    var=9;
    printf("el valor de la variable es:%d\n",var);
    unafuncion();
    printf("despues de funcion el valor de la varible es:%d\n",var);
    return 0;
}
unafuncion()
{
    extern var;
    printf("En la funcion unafuncion, variable es:%d\n",var);
}
int var;

PROGRAMA 7
#include <stdio.h>
#include <stdlib.h>

sumar_valor( int num)
{
  num++;
  printf("El valor de numero detro de sumar_valor() es:%d\n",num);
}
int main()
{
    int num=57;
    sumar_valor(num);
    printf("El valor de numero detro del main() es:%d\n",num);
    return 0;
}

PROGRAMA 8
#include <stdio.h>
#include <stdlib.h>

sumar_ref(int*num);
int main()
{
    int num=52;
    sumar_ref(&num);
    printf("El valor de numero detro del main():%d\n",num);
    return 0;
}

sumar_ref(int*num)
{
    *num+=1;
    printf("El valor de numero detro de sumar_ref():%d\n",*num);
}

PROGRAMA 9
#include <stdio.h>
#include <stdlib.h>

funcion1()
{
    int dato=53;
    char num1='a';
    printf("funcion 1, dato=%d,num1=%c\n",dato,num1);
}
funcion2()
{
    int dato=25;
    char num2='z';
    printf("funcion 2, dato=%d, num2=%c\n",dato,num2);
}
int main()
{
    funcion1();
    funcion2();
    return 0;
}

PROGRAMA 10
#include <stdio.h>
#include <stdlib.h>

int variable_global=99;
funcion();
int main()
{
    printf("main(),acceso a variable global es:%d\n",variable_global);
    funcion();
    printf(" despues de incrementar en main(),acceso a variable global es:%d\n",variable_global);
    return 0;
}
funcion()
{
    variable_global++;
   printf("funcion(),acceso a variable global es:%d\n",variable_global);
}

PROGRAMA 11
#include <stdio.h>
#include <stdlib.h>
long factorial(int n)
{
    if(n==0)
        return 1;
    else
        return n*factorial (n-1);
}
int main()
{
    printf("%ld\n",factorial (33));
    return 0;
}

PROGRAMA 12
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int producto(int a,int b)
{
    if(b==0)
        return 0;
    else
        return a + producto(a,b-1);
}
int main()
{
    int num,sum;
    puts("Que numero quieres sumar");
    scanf("%d",&num);
    puts("Cuantas veces lo quieres sumar");
    scanf("%d",&sum);
    printf("%i\n",producto(7,3));
    return 0;
}

PROGRAMA 13
#include <stdio.h>
#include <stdlib.h>

funcionA(char c);
funcionB(char c);

int main()
{
    funcionA ('z');
    puts("estoy en main");
    return 0;
}
funcionA(char c)
{
printf("estoy en A %c\n",c);
    if(c>'a')
    {
      funcionB(c);
    }
        printf("%c\n",c);
}
funcionB(char c)
{
    printf("estoy en B %c\n",c);
    funcionA(--c);
}

PROGRAMA 14
#include <stdio.h>
#include <stdlib.h>

long factorial(int numero);

int main()
{
    int cont=0;
    for(cont=0;cont<=10;cont++)
    {
        printf("%d != %ld \n",cont,factorial( cont ));
    }
    return 0;
}
    long factorial(int numero)
    {
        long result=1;
        int i=0;
        for(i=numero;i>=1;i--)
        {
            result*=i;
        }
        return result;
    }

PROGRAMA 15
#include <stdio.h>
#include <stdlib.h>
long factorial(int num);
int main()
{
    int cont;
    for(cont=0;cont<=10;cont++)
        printf("%d!=%ld\n",cont,factorial(cont));
    return 0;
}
long factorial(int num)
{
    if(num<=0)
        return 1;
    else
        return num*factorial(num-1);

}

PROGRAMA 16  (SUM)
#include <stdio.h>
#include <stdlib.h>

int suma(int num,int num2);
int main()
{
    printf("%d\n",suma(5,3));
    return 0;
}
int suma(int num,int num2)
{
   return num+num2;
}

PROGRAMA 17(mult)
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
tabla(int mul);
int main()
{
    int num=0;
    puts("dame el numeo de la tabla");
    scanf("%d",&num);
    tabla(num);
    return 0;
}
tabla(int mul)
{
    int i;
    for(i=1;i<=10;i++)
    {
        printf("%d * %d = %d\n",i,mul,mul*i);
    }
}

PROGRAMA 18(ejemplo)
#include <stdio.h>
#include <stdlib.h>
int edad()
{
    int edad=0;
    int sum=0;
    int i;
    for(i=0;i<5;i++)
    {
        puts("dame la fimera edad del primer competidor");
        scanf("%d",&edad);
        sum=sum+edad;
    }
    if(sum>=105 && sum>=115)
        comp();
    else
        puts("No cumples con la edad");
    return sum;
}
comp()
{
    int i;
    int sex;
    int sum=0;
    for(i=0;i<5;i++)
    {
    printf("competidor %de eres hombre(1) o mujer(2)"i+1);
    scanf("%d",&sex);
    sum+=sex;
    if(sum==7)
    {
        puts("pueden competir");
    }
    else
       puts("no pueden competir");
}
}
int main()
{
   edad();
    return 0;
}

PROGRAMA 19(pasword)
 #include <stdio.h>
#include <stdlib.h>

int main()
{
    int pin,t,i,i2;
    char clave[6];
    char correcta[]="holatu";
    for(i=1;i<=3;i++)
    {
        puts("Dame el pin de 4 numero");
        scanf("%i",&pin);
        if(pin==1234)
        {
            for(i2=1;i2<=3;i2++)
            {
            puts("Dame la clave de 6 digitos");
            scanf("%s",clave);
            if(strcmp(clave,correcta)==0)
            {
                puts("La clave es correcta");
                i=4;
                break;
            }
            else
            {
                puts("clave incorrecta");
            }
            if(i2==3)
            {
             i=4;
             break;
            }
            }
        }
        else
        {
            puts("vuelve a intentarlo");
        }

    }

    if(pin==1234 && strcmp(clave,correcta)==0 )
    {
        puts("bienvenido");
    }
    else
    {
        puts("Esper 30 min y vuelva a intentarlo");
    }
    return 0;
}

PROGRAMA 20(pasword fun)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char correcta[]="holatu";
int cn=1234;
pin();
clave();

int main()
{
    pin();
    return 0;
}
pin()
{
    int pin2,i;
    for(i=1;i<=3;i++)
    {
        puts("Dame el pin de 4 numero");
        scanf("%i",&pin2);
    if(pin2==cn)
        {
            clave();
            break;
        }
    else
        {
            puts("vuelve a intentarlo");
        }
}
if(pin2!=cn)
    {
        puts("vuelve a intentarlo en 30 min");
    }
}
clave()
{
    int i;
    char clave2[6];
    for(i=1;i<=3;i++)
    {
    puts("Dame la clave de 6 digitos");
    scanf("%s",clave2);
     if(strcmp(clave2,correcta)==0)
            {
                puts("La clave es correcta");
                puts("bienvenido");
                break;
            }
    else
            {
                puts("clave incorrecta");
            }
    }
    if(strcmp(clave2,correcta)!=0)
    {
        puts("vuelve a intentarlo en 30 min");
    }
}

PROGRAMA 21(poefer)
 #include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>




int poema();
int main()
{
    printf("%s",poema());
     return 0;
}

int poema()
   {
    int lin;
    char poe[1000];
    char text[1000];
    char basura[2];
    int i;
     puts("dame el numero de lineas de tu poema");
    scanf("%d",&lin);
    gets(basura);
    for(i=0;i<lin;i++)
    {
        printf("Dame el verso %i\n",i+1);
        //scanf("%s",text);
        gets(text);
        strcat(poe,text);
        strcat(poe,"\n");

    }
    system("cls");
    return poe;
   }

PROGRAMA 22(poefer fun)
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>

char poe[1000];
int lin;
int poema();

int main()
{
    puts("dame el numero de lineas de tu poema");
    scanf("%d",&lin);
    printf("%s",poema());
    return 0;
}

int poema()
   {
    char text[1000];
    char basura[2];
    int i;

    gets(basura);
    for(i=0;i<lin;i++)
    {
        printf("Dame el verso %i\n",i+1);
        //scanf("%s",text);
        gets(text);
        strcat(poe,text);
        strcat(poe,"\n");

    }
    system("cls");
    return poe;
   }

PROGRAMA 23(string)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
    char nombre[20];
    printf("introduzca su nombre(20 letras maximo):\n");
    scanf("%s",nombre);
    printf("el nombre que ha escrito es: %s\n",nombre);
    char texto[]="Hola";
    int lon;
    char nom[]="tecnologico";
    printf("texto: %s\n",nom);
    printf("tamaño de la cadena: %i bytes\n",sizeof nom);
    lon= strlen(texto);
    printf("la cadena \%s\"tiene %i caracteres\n",texto,lon);
    char tex[]="Curso de Programacion Estructurada";
    char des[50];

    strcpy(des,tex);
    printf("valor final: %s\n",des);
    char nombre_completo[50];
    char nombre2[]="Programcion";
    char apellido2[]="electronica";
//strcpy copia y remplaza
//sttrcat copia y remplaza al final
    strcpy(nombre_completo, nombre2);
    strcat(nombre_completo, " ");
    strcat(nombre_completo,apellido2);
    printf("El nombre completo es: %s\n",nombre_completo);
    char nombre_completo2[50];
    char nombre3[]="Instituto ";
    char apellido3[]="Tecnonogico";
    sprintf(nombre_completo2, "%s %s",nombre3,apellido3);
    printf("El nombre completo es: %s\n",nombre_completo2);
    char nombre4[]="Departamento";
    char nombre5[]="electrica-electronica";
    printf("como strcmp: %i\n",strcmp(nombre4,nombre5));
    return 0;
}

PROGRAMA 24(prexamen 1)
 include <stdio.h>
#include <stdlib.h>

triangulo()
{
    float a=0,b=0,h=0;
    do
    {
    puts("Dame un la altura del trangulo");
    scanf("%f",&h);
    puts("Dame un la base del trangulo");
    scanf("%f",&b);
   if(b<=0 || h<=0)
   {
     puts("Datos invalidos");
   }
    }while(b<=0 || h<=0);
    a=(b*h)/2;
    printf("El area del triangulo fue: %.2f",a);
}
int main()
{
    triangulo();
    return 0;
}

PROGRAMA 25(prexamen 2)
#include <stdio.h>
#include <stdlib.h>

kw()
{
    float kw, kwprom=10000,kwmen=kwprom * 0.80;
    puts("Dame los kw de consumo de tu casa");
    scanf("%f",&kw);
    if(kw>=kwmen && kw<=kwprom)
    {
        puts("CONSUMO MEDIO");
    }

        if(kw>kwprom)
    {
        puts("CONSUMO ALTO");
    }
}
int main()
{
    kw();
    return 0;
}

Comentarios