13
Universidad Nacional de Tucumán - Facultad de Ciencias Exactas y Tecnología Departamento de Electricidad, Electrónica y Computación - Programación I Año 2014 Códigos de los ejemplos dados en la clase del día 03 de abril Ej-C04-01.c /* Ejemplo 1: Función Suma de binarios. Controlar el ingreso de datos */ #include <stdio.h> int controlBinario(int num); int sumaBinarios(int , int); int main(int argc, char *argv[]) { int b1, b2; do { printf("\n Ingresar 1er. binario: "); scanf("%d", &b1); }while (controlBinario(b1) == 1); do{ printf(" Ingresar 2do. binario: "); scanf("%d", &b2); }while (controlBinario(b2) == 1); printf("La suma binaria de %5d + %5d",b1, b2); printf(" es: %d", sumaBinarios(b1,b2)); printf("\n\n"); return 0; } int controlBinario(int num) { int ban = 1; while (num >0) { if ((num % 10 == 0) || (num % 10 == 1)) UNT – FACEyT – DEEC- Programación I – Año 2014 Pág. 1 de 13 Ing. Jorge Steifensand

Programacion en C

Embed Size (px)

DESCRIPTION

Ejemplos - Semana 4

Citation preview

  • Universidad Nacional de Tucumn - Facultad de Ciencias Exactas y Tecnologa

    Departamento de Electricidad, Electrnica y Computacin - Programacin I Ao 2014

    Cdigos de los ejemplos dados en la clase del da 03 de abril

    Ej-C04-01.c /* Ejemplo 1: Funcin Suma de binarios. Controlar el ingreso de datos */ #include int controlBinario(int num); int sumaBinarios(int , int); int main(int argc, char *argv[]) { int b1, b2; do { printf("\n Ingresar 1er. binario: "); scanf("%d", &b1); }while (controlBinario(b1) == 1); do{ printf(" Ingresar 2do. binario: "); scanf("%d", &b2); }while (controlBinario(b2) == 1); printf("La suma binaria de %5d + %5d",b1, b2); printf(" es: %d", sumaBinarios(b1,b2)); printf("\n\n"); return 0; } int controlBinario(int num) { int ban = 1; while (num >0) { if ((num % 10 == 0) || (num % 10 == 1))

    UNT FACEyT DEEC- Programacin I Ao 2014 Pg. 1 de 13 Ing. Jorge Steifensand

  • Universidad Nacional de Tucumn - Facultad de Ciencias Exactas y Tecnologa

    Departamento de Electricidad, Electrnica y Computacin - Programacin I Ao 2014

    Cdigos de los ejemplos dados en la clase del da 03 de abril

    ban = 0; else { ban = 1; break; } num = num /10; } return ban; } int sumaBinarios(int bin1, int bin2) { int suma = 0, ac = 0; int p = 1, sp; while ((bin1!=0)||(bin2 != 0)) { sp = bin1 % 10 + bin2 % 10 + ac; suma = suma + (sp % 2) * p; ac = sp / 2; p = p *10; bin1 = bin1 / 10; bin2 = bin2 / 10; } suma = suma + ac * p; return suma; } Ej-C04-02.c /* Ejemplo 2: Efectuar la suma de dos nmeros en base b. Controlar el ingreso de datos */ #include

    UNT FACEyT DEEC- Programacin I Ao 2014 Pg. 2 de 13 Ing. Jorge Steifensand

  • Universidad Nacional de Tucumn - Facultad de Ciencias Exactas y Tecnologa

    Departamento de Electricidad, Electrnica y Computacin - Programacin I Ao 2014

    Cdigos de los ejemplos dados en la clase del da 03 de abril

    int controlDigitos(int, int); int sumaBaseB(int, int, int); int main(int argc, char *argv[]) { int x1, x2, base; do { printf("\n Ingresar base de numeracion (

  • Universidad Nacional de Tucumn - Facultad de Ciencias Exactas y Tecnologa

    Departamento de Electricidad, Electrnica y Computacin - Programacin I Ao 2014

    Cdigos de los ejemplos dados en la clase del da 03 de abril

    else { ban = 1; break; } num = num /10; } return ban; } int sumaBaseB(int num1, int num2, int base) { int suma = 0, ac = 0; int p = 1, sp; while ((num1!=0)||(num2 != 0)) { sp = num1 % 10 + num2 % 10 + ac; suma = suma + (sp % base) * p; ac = sp / base; p = p *10; num1 = num1 / 10; num2 = num2 / 10; } suma = suma + ac * p; return suma; } Ej-C04-03.c /* Ejemplo 3: Variables automticas */ #include

    UNT FACEyT DEEC- Programacin I Ao 2014 Pg. 4 de 13 Ing. Jorge Steifensand

  • Universidad Nacional de Tucumn - Facultad de Ciencias Exactas y Tecnologa

    Departamento de Electricidad, Electrnica y Computacin - Programacin I Ao 2014

    Cdigos de los ejemplos dados en la clase del da 03 de abril

    void varAuto(); int main(int argc, char *argv[]) { float auto1; auto int auto2; printf("\n\n\t***************** En la funcion main()*************"); printf("\n Automatica por defecto (auto1): %5.2f",auto1); printf("\n Automatica declarada (auto2): %5d",auto2); varAuto(); printf("\n\n\t***************** En la funcion main()*************"); printf("\n Automatica por defecto (auto1): %5.2f",auto1++); printf("\n Automatica declarada (auto2): %5d",auto2++); varAuto(); printf("\n\n\t***************** En la funcion main()*************"); printf("\n Automatica por defecto (auto1): %5.2f",++auto1); printf("\n Automatica declarada (auto2): %5d",++auto2); printf("\n\n"); return 0; } void varAuto() { float var1, var2 = 2.2; auto int auto1, auto2 = 3; printf("\n\n\t***************** Inicio en la funcion varAuto()*************"); printf("\n Automaticas por defecto (var1 y var2): %5.2f %5.2f", var1, var2); printf("\n Automaticas declaradas (auto1 y auto2): %5d %5d", auto1, auto2);

    UNT FACEyT DEEC- Programacin I Ao 2014 Pg. 5 de 13 Ing. Jorge Steifensand

  • Universidad Nacional de Tucumn - Facultad de Ciencias Exactas y Tecnologa

    Departamento de Electricidad, Electrnica y Computacin - Programacin I Ao 2014

    Cdigos de los ejemplos dados en la clase del da 03 de abril

    ++var1, ++var2; ++auto1, ++auto2; printf("\n\n\t***************** Final en la funcion varAuto()*************"); printf("\n Automaticas por defecto (var1 y var2): %5.2f %5.2f", var1, var2); printf("\n Automaticas declaradas (auto1 y auto2): %5d %5d", auto1, auto2); return; } Ej-C04-04.c /* Ejemplo 4: Variables estticas */ #include void varStatic(); int main(int argc, char *argv[]) { static int estatica; printf("\n Variable estatica de la funcion main(): %5d", estatica); varStatic(); printf("\n Variable estatica de funcion main(): %5d ", estatica++); printf("\n\n"); varStatic(); printf("\n Variable estatica de funcion main(): %5d ", ++estatica); printf("\n\n");

    UNT FACEyT DEEC- Programacin I Ao 2014 Pg. 6 de 13 Ing. Jorge Steifensand

  • Universidad Nacional de Tucumn - Facultad de Ciencias Exactas y Tecnologa

    Departamento de Electricidad, Electrnica y Computacin - Programacin I Ao 2014

    Cdigos de los ejemplos dados en la clase del da 03 de abril

    return 0; } void varStatic() { static int estatica1, estatica2 = 4; printf("\n\t***************** En la funcion varStatic() ********"); printf("\n\n Estatica 1: %5d",estatica1); printf("\n Estatica 2: %5d", estatica2); ++estatica1, ++estatica2; return; } Ej-C04-05.c /* Ejemplo 5: Variables estticas. Nmero compuesto */ #include long int nroComp(int); int main(int argc, char* argv[]) { long int nro; int x, n, c = 1; do { printf("\n Cantidad de numeros a ingresar: "); scanf("%d", &n); } while (n

  • Universidad Nacional de Tucumn - Facultad de Ciencias Exactas y Tecnologa

    Departamento de Electricidad, Electrnica y Computacin - Programacin I Ao 2014

    Cdigos de los ejemplos dados en la clase del da 03 de abril

    do { printf("\n ingresar x : "); scanf("%d", &x); } while (x0) { aux = aux / 10; pot10 = pot10 * 10; } nro = nro * pot10 + x; return nro; }

    UNT FACEyT DEEC- Programacin I Ao 2014 Pg. 8 de 13 Ing. Jorge Steifensand

  • Universidad Nacional de Tucumn - Facultad de Ciencias Exactas y Tecnologa

    Departamento de Electricidad, Electrnica y Computacin - Programacin I Ao 2014

    Cdigos de los ejemplos dados en la clase del da 03 de abril

    Ej-C04-06.c /* Ejemplo 6: Variables register */ #include void varRegister(); int main(int argc, char *argv[]) { register int registro; printf("\n Ingresar un entero: "); scanf("%d", &registro); printf("\nEntero: %d", registro); printf("\n Direccion de la variable registro: %p", &registro); varRegister(); varRegister(); printf("\n\n"); return 0; } void varRegister() { register int reg1, reg2 = 2; printf("\n\t*********Valores en la funcion varRegister() ********"); printf("\n reg1: %d , reg2 = %d", reg1, reg2); reg1++ , reg2++;

    UNT FACEyT DEEC- Programacin I Ao 2014 Pg. 9 de 13 Ing. Jorge Steifensand

  • Universidad Nacional de Tucumn - Facultad de Ciencias Exactas y Tecnologa

    Departamento de Electricidad, Electrnica y Computacin - Programacin I Ao 2014

    Cdigos de los ejemplos dados en la clase del da 03 de abril

    return; } Ej-C04-07.c /* Ejemplo 7: Funcin recursiva: Producto */ #include float prod(float, int); int main(int argc, char* argv[]) { float x = 5.1; int n = 3; printf("\n %5.2f * %i = %5.2f", x, n, prod(x, n)); printf("\n\n"); return 0; } float prod (float x, int n) { float pro; if (n == 0) return 0; else pro = x + prod( x , n - 1 ); //pro = x + prod ( x, --n ); // pro = x + prod ( x , n-- ); return pro; }

    UNT FACEyT DEEC- Programacin I Ao 2014 Pg. 10 de 13 Ing. Jorge Steifensand

  • Universidad Nacional de Tucumn - Facultad de Ciencias Exactas y Tecnologa

    Departamento de Electricidad, Electrnica y Computacin - Programacin I Ao 2014

    Cdigos de los ejemplos dados en la clase del da 03 de abril

    Ej-C04-08.c /* Ejemplo 8: Funcin recursiva: Factorial */ #include int factorial(int); int main(int argc, char* argv[]) { int x = 3; printf("\n %i ! = %d", x, factorial(x)); printf("\n\n"); return 0; } int factorial (int x) { int fact; if (x == 0) return 1; else fact = x * factorial(x-1); return fact; } Ej-C04-09.c /* Ejemplo 9: Funcin recursiva: Fibonacci */ #include

    UNT FACEyT DEEC- Programacin I Ao 2014 Pg. 11 de 13 Ing. Jorge Steifensand

  • Universidad Nacional de Tucumn - Facultad de Ciencias Exactas y Tecnologa

    Departamento de Electricidad, Electrnica y Computacin - Programacin I Ao 2014

    Cdigos de los ejemplos dados en la clase del da 03 de abril

    int fibonacci(int n ); int main(int argc, char *argv[]) { int fibo; int nTermin; printf( "Introduzca el termino de Fibonacci que necesite: " ); scanf( "%d", &nTermin); fibo = fibonacci( nTermin ); printf( "\nTermino Nro. %d de Fibonacci = %d\n", nTermin, fibo ); printf("\n\n"); return 0; } int fibonacci( int n ) { if ( n == 0 || n == 1 ) return n; else return fibonacci( n - 1 ) + fibonacci( n - 2 ); }

    Ej-C04-10.c /* Ejemplo 10: Funcin recursiva */ #include void funcRecurs(char car); int main(int argc, char *argv[])

    UNT FACEyT DEEC- Programacin I Ao 2014 Pg. 12 de 13 Ing. Jorge Steifensand

  • Universidad Nacional de Tucumn - Facultad de Ciencias Exactas y Tecnologa

    Departamento de Electricidad, Electrnica y Computacin - Programacin I Ao 2014

    Cdigos de los ejemplos dados en la clase del da 03 de abril

    { funcRecurs('D'); printf("\n\n"); return 0; } void funcRecurs(char car) { if (car > 'A') funcRecurs(car-1); printf("%3c",car); return; } Ej-C04-11.c /* Ejemplo 11: Argumentos de la funcin main() */ #include int main(int argc, char *argv[]) {

    printf( "\n La cantidad de parametros recibidos es: %d ", argc ); printf( "\n El nombre del programa es: %s",argv[0] ); printf( "\n El ultimo parametro es : %s", argv[argc-1]);

    printf("\n\n"); return 0; }

    UNT FACEyT DEEC- Programacin I Ao 2014 Pg. 13 de 13 Ing. Jorge Steifensand