Entregables Unidad 4

Entregable 1

#include <stdio.h>
#include <stdlib.h>
/*Este programa nos enseña el tamaño de las difrentes tipos de enteros en el sistema */
int main()
{
    printf("El tamaño de short (entero corto ) es %d\n",sizeof(short));
    printf("El tamaño de int (entero) es %d\n",sizeof(int));
    printf("El tamaño de long(entero largo) es %d\n", sizeof(long));
    return 0;
}

Entregable 2

#include <stdio.h>
#include <stdlib.h>
/* Este programa nos enseña como es que los punteros funcionan y como se desplaza el valor de este si su valor es dado a una variable */
int main()
{
    int j,k; int *ptr;
    j=1;
    k=2;
    ptr=&k;
    printf("valor de j %d y esta alojado %p\n",j, (void *)&j );
    printf("valor de k %d y esta alojado %p\n", k, (void*)&k);
    printf("%d donde esta? %p\n", k, (void*)&ptr);
    printf("%p donde ptr? %p \n", ptr, (void*)&ptr);
    printf("\n");
    return 0;
}

Entregable 3

#include <stdio.h>
#include <stdlib.h>
/* este programa con ayuda del apuntador damos referencia al arreglo de dosmaneras, ya sea llamando directamente al arreglño que queremos
o poniendo como referencia el puntero y agregandole el numero de arreglo que queremso */
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+i));
  }
    return 0;
}

Entregable 4

#include <stdio.h>
#include <stdlib.h>
/*Con este programa lo que se realiza es que  los puntadores pA y pB tomen 
los valores de las cadenas declaradas globales respectivamente haciendo que al mismo
tiempo estos tomen sus direcciones donde estan guardados los punteros para que asi
al escribir puts(strA) o puts(pA) muestren los mismos valores */
char strA[80]="Cadena a usar para el programa de ejemplo";
char strB[80];
int main(void)
{
    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 5

#include <stdio.h>
#include <stdlib.h>
#define TOP 29
int valor[TOP];
int a;
int b(){
    int digito;
    do {
        printf("\nIntroduzca numero entero impar entre 1 y 29: ");
        scanf("%d", &digito);
    } while (digito<=0 || digito> TOP ||digito%2==0);
    return digito;
}
void c (int ne){
    int impar = -1;     int i=0;
    do {
        i = i+1;
        impar = impar +2;
        valor[i] = impar;
    } while (impar < ne);
    a = i;
}
long vs (int aSum){
    long rSum =0;    int i=0;
    for (i=1; i<=aSum; i++) {
        rSum = rSum + valor[i];
    }
    return rSum;
}
long vp(int aProd){
    int i=0;     long rProd = 1;
    for (i=1; i<=aProd; i++) {
        rProd = rProd * valor[i];
    }
    return rProd;
}
int main() {
    int select=0;    int op;
    while (op!=4) {
        printf("\n1: Introducir valor\n");
        puts("2: Calcular serie 1+3+5...n");
        puts("3: Calcular serie 1*3*5...n");
        printf("4: Salir\n");
        puts("Elija opcion: ");
        scanf("%d", &op);

        if (op==1) {
            select =  b();
            c (select);
        }

        if (op==2) {
            if (select!=0) {
                printf("n = %d El valor de la sumatoria es: %ld", select, vs(a));
            } else {
                printf("No hay un valor\n");
            }
        }

        if (op==3) {
            if (select!=0) {
                printf("n = %d El valor del producto es: %ld", select, vp(a));
            } else {
                printf("No hay un valor\n");
            }
        }
    }
    return 0;
}

Comentarios