Archive for 3 julio 2015

¿Realmente sabes cómo funciona el ciclo for en C?

julio 3, 2015

El ciclo for en C está compuesto de tres instrucciones: for (instrucción uno; instrucción dos; instrucción tres).

Las instrucciones uno y tres son opcionales, es decir, podemos ponerlas o no; pero la instrucción dos no la podemos omitir y además debe ser una condición que pueda evaluarse como verdadera o falsa. Esto significa que podemos tener un ciclo for de la forma: for ( ; condición; ).

Muchos programadores creen que la única forma de utilizar un ciclo for en C es la clásica forma: for (iniciar variable; condición de paro; incrementar variable) y están equivocados.

El ciclo for en C funciona siguiendo los siguientes pasos:

1. Realiza las operaciones de la instrucción uno (si la hay), estas operaciones sólo se ejecutan una vez

2. Evalúa la condición (la instrucción dos)

3. Si la condición es verdadera, ejecuta el cuerpo del ciclo for

4. Ejecuta la instrucción tres (si la hay)

Después de ejecutar el cuerpo del ciclo (el cual se ejecuta sólo si la condición es verdadera) se realiza el paso 4 y se repiten los pasos 2 y 3

 Podemos tener un ciclo for en donde el cuerpo del ciclo esté vacío, por ejemplo:

int main()
{
 int i;
 for (printf( "ejemplo for vacío\n"), i=0; i<5; printf("i: %d\n", i++))
      ;
 return 0;
}

En la primera instrucción, estamos haciendo dos cosas: 1. Imprimiendo el texto “ejemplo for vacío” y 2. inicializando la variable i con el valor cero.

La condición (instrucción dos) es que el cuerpo del ciclo se va a ejecutar mientras el valor de la variable i sea menor que 5

La instrucción 3 imprime el texto “i: ” seguido del valor de la variable i, y después incrementa el valor de la variable i en uno

También podemos hacer que un ciclo for funcione como un ciclo while:

int main()
{
 int i=0;
 for (; i<5; )
      printf("i: %d\n", i++);

 return 0;
}

Presentación de la categoría “Entrenamiento Padawan”

julio 3, 2015

Decidí abrir esta categoría para publicar aquí posts dirigidos a aquellas personas que son principiantes en esto de la programación, y aunque voy a tratar temas básicos, tampoco voy a empezar con cosas tipo “¿cómo prender la computadora?” o “¿qué es una variable?”.

Aclaro, no voy a resolver tareas.

Espero que los posts que publique aquí sean de utilidad para alguien

Saludos

¿Te preparas para aprender o sólo para hacer dinero?

julio 3, 2015

En varios de los diferentes cursos que he impartido en diferentes universidades les he comentado a los alumnos que su motivación principal para estudiar una carrera universitaria debe ser su deseo de aprender. Lo más lógico es que quien estudia Leyes piensa ganarse la vida como abogado una vez que se titule, de igual forma, podríamos asumir que quien estudia informática, computación, etc. piensa trabajar en alguna área relacionada con esa disciplina.

Si eliges estudiar una determinada carrera universitaria porque es la que está de moda, es la que tiene más demanda en estos momentos, o los profesionales de esa carrera son muy bien pagados, etc. pero no es algo que te guste, estas cometiendo una equivocación. Debes pensar que eso es a lo que te vas a dedicar el resto de tu vida (en teoría); ¿te imaginas pasar toda tu vida haciendo algo que no te gusta?, y no estoy diciendo que te desagrade, pero simplemente no es algo que te apasiona, no te interesa aprender más sobre el área, lo harías si sabes que eso va a traerte un beneficio económico pero sólo por eso, no por un interés personal.

Muchos estudiantes creen que el obtener un título universitario les garantiza un bienestar económico, muchos otros creen que al otro día de haber obtenido su título, les van a llover ofertas de empresas ofreciéndoles una gerencia y eso no es cierto (al menos en la mayoría de los casos).

Hay alumnos a los que después de 15 días de clase se les nota que no tienen ni las habilidades ni el interés por la materia, lo único que les interesa es la calificación, no aprender. Yo les comento que si el objetivo principal de que estén estudiando en la universidad es hacer dinero; probablemente deberían evaluar otras alternativas, porque hay personas que no tienen ni la primaria terminada y tienen mucho más dinero que personas con maestría o doctorado. Y existen personas que se preparan sólo para aprender, para adquirir conocimientos, y no les interesa el dinero.

Para demostrarles a los alumnos que es cierto lo que les digo, les platico el caso de Grigory Perelman que tiene un doctorado en matemáticas y ha rechazado muchos premios, probablemente el caso más llamativo fue cuando se hizo acreedor a un premio de un millón de dólares por haber resuelto un problema formulado en 1904 conocido como la conjetura de Poincaré y lo rechazó, al igual que la medalla Fields (muchos consideran la medalla Fields el Nobel de matemáticas).

Por si les interesa, aquí están las notas relacionadas (la primers es de USA TODAY y la última fue publicada en The New York Times)

 

 

 

No estoy diciendo que está mal que quieran prepararse para obtener un trabajo con un buen sueldo, lo que digo es que debes estudiar para aprender y dedicarte a lo que te gusta, seguramente harás bien tu trabajo, seguirás preparándote por interés propio y como consecuencia, muy probablemente obtendrás un buen sueldo. Si sólo te interesa el dinero no es necesario que tengas un título universitario, hay muchos que no terminaron la universidad y están en la lista de los más ricos del mundo, lamentablemente para muchos, esos personajes son sus héroes, su modelo a seguir, y su aspiración es ser como ellos; qué triste.

Pero lo más triste es que además de que muchos estudiantes no lo comprenden, al parecer muchas instituciones educativas tampoco, y para ambos (estudiantes e instituciones) los buenos profesores son aquellos que no son muy exigentes y con los cuales la mayoría de alumnos aprueba la materia. Con esto tanto alumnos como instituciones educativas están contentos, no importa si los alumnos aprenden o no, lo importante es que se titulen.