domingo, 26 de abril de 2009

Consultas.

Esta semana solo atendere consultas el dia lunes, el martes tengo clases todo el dia y el miercoles voy a estudiar para un certamen del jueves, asi que aprovechen para hacer todas las consultas que tengo el lunes, estare practicamente todo el dia en la sala de estudio del DIE, el resto de los dias solo atendere consultas via E-mail a alejandrowolf@udec.cl con asunto en el mensaje ALP2009, y no les garantizo que les responda el mismo día

Como bonus les entrego un programita que tal vez los ilumine un poco ;-)
___________________________________________________
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
int main(void){
    /*Este programa imprime el valor maximo de cada tipo de dato y la forma
    que se debe usar para imprimirlo*/
   printf("Short int max=\t\t%i\n", SHRT_MAX);
    printf("int max=\t\t%d\n", INT_MAX);
    printf("Unsigned int max=\t%u\n", UINT_MAX);
    printf("Long Max=\t\t%I64d\n", LONG_MAX);
    printf("Long Long Max=\t\t%I64d\n", LLONG_MAX);
    system("pause");
    return 0;
    }


miércoles, 22 de abril de 2009

Tarea 1:
Con respecto a la tarea 1, me ha llegado varias veces la misma duda:
lo que le piden calcular es la sumatoria de fiboncacci(n) con fibonacci(n) par,no con n par.
Por ejemplo, la serie de fibonacci comienza asi:
Fibonacci(0)=0
Fibonacci(1)=1
Fibonacci(2)=1
Fibonacci(3)=2
Fibonacci(4)=3
Fibonacci(5)=5
Fibonacci(6)=8
Fibonacci(7)=13
etc etc...
entonces la suma de los terminos pares de la serie de fibonacci sería:
0+2+8+..... etc etc


Atendere consultas a travez de mi correo alejandrowolf@udec.cl, Favor de poner en el asunto ALP2009.
Es recomendable que hagan la tarea desde ya

domingo, 12 de abril de 2009

Ejemplos Bucles

Les escribo dos programas que hacen exactamente lo mismo. Solo que uno con ciclo while, y otro con ciclo for, lo que hacen es imprimir una tabla de equivalencia entre grados Celsius y Fahrenheit.
_________________________________________________________________
#include <stdio.h>
#include <stdlib.h>

int main(void){
    float Celsius, fahr;
    int lower = 0;
    int upper = 300;
    int paso = 30;
    fahr=lower;
    while (fahr <= upper){
          Celsius = 5.0/9.0*(fahr-32);
          printf("%.1f\t%.1f\n", fahr, Celsius);
          fahr=fahr+paso;
          }
    system("pause");
    return 0;
    }
_________________________________________________________________
#include <stdio.h>
#include <stdlib.h>

int main(void){
    float i;
    for(i=0;i<300;i=i+30)
                         printf("%.1f\t%.1f\n", i, 5.0/9.0*(i-32));                      
    system("pause");
    return 0;
    }
_________________________________________________________________
Analisenlos y preparense para el laboratorio del miercoles
el \t en el printf es un tabulador, y el .1 antes indica que se mostraran hasta 1 decimal de la variable en punto flotante, las expresiones que aparecen en el ciclo While, son expresiónes logicas (algebra y algebra lineal, supongo que todos fueron a las primeras clases en ese curso y si no, mejor ponganse a estudiar logica) Mientras esa expresión logica sea verdad, el ciclo seguira su funcionamiento, en el ciclo for, la expresión logica es la del medio, las otras dos, son la inicialisación de una variable y el incremento que se le da en cada ciclo.
Ya les di bastante información, Se que la mayoria tiene certamen de electromagnetismo, pero no les quitara mucho tiempo hecharles un ojo a los codigos

miércoles, 8 de abril de 2009

Corrección del Laboratorio 1

En el laboratorio 1 algunos alumnos me preguntaron por el procedimiento para realizar el problema 4, el codigo aca:

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

int main(void){
    int dato;
    unsigned char byte3, byte2, byte1, byte0;
    
    printf("Ingrese un numero: ");
    scanf("%d", &dato);
    
    /*Inserte su codigo aqui*/    
    byte0=dato&(0xff);
    byte1=(dato>>8)&(0xff);
    byte2=(dato>>16)&(0xff);
    byte3=(dato>>24)&(0xff);
    
    printf("El numero es %#x\n", dato);
    printf("Sus bytes son %#x %#x %#x %#x\n", byte3, byte2, byte1, byte0);
    system("pause");
    return 0;
    }