17 de mayo de 2017

Ejercicios selectos (bienvenido).

  1. Investigue qué secuencias de escape existen y para qué sirven. Escriba un programa que las incluya, y pruebe cada una de ellas.
  2. Escriba un programa en C que imprima su nombre completo en la pantalla en una sola línea.
  3. Escriba un programa en C que imprima su nombre completo en la pantalla pero dividido en tres líneas:
    1. En la primera línea su(s) nombre(s).
    2. En la segunda línea su primer apellido.
    3. En la tercera línea su segundo apellido.
  4. Diferentes culturas y pueblos tienen distintos tipos de leyendas y la disciplina de la computación no escapa a ellas. Se dice que todo aquel que se inicie en las maravillosas artes de la programación estructurada usando al lenguaje de programación C debe, si no quiere recibir la maldición de ser un mal programador toda su vida, escribir un programa que imprima, en la salida estándar el mensaje: Hola Mundo! Independientemente de sus creencias, evite el riesgo de la maldición y colabore con la perpetuidad de esta tradicional leyenda realizando este simple pero gratificante ejercicio de tal manera que, si el augurio se cumple, se dé por descartada al menos, la maldición...
  5. Investigue qué otros tipos de datos existen en C, qué representación tienen, cuál es el rango de números que pueden almacenar, y cuál es el especificador de formato que utilizan para las funciones printf y scanf respectivamente. Nota: no siempre es el mismo.
  6. Extienda el Ejemplo 2.5 para que considere todos los tipos de datos en C que investigó en el ejercicio anterior.  El Ejemplo 2.5 muestra el uso del operador unario (un operador unario se refiere a que el operador sólo necesita un operando para realizar su función; el operador + por ejemplo es un operador binario porque necesita dos operandos para realizar su función) sizeof para determinar el tamaño en bytes que ocupa el operando asociado. Observe también que el operador sizeof trabaja no sólo sobre tipos de datos (líneas 12 y 14), sino también sobre variables (líneas 11 y  13). El rango de los números representados por un tipo de dato depende del tamaño en bits del tipo de dato; para determinar el tamaño en bits multiplique el tamaño en bytes del tipo de dato y multiplíquelo por ocho.
  7. Experimente omitiendo intencionalmente el uso del operador “&” (ampersand) en la lectura de una variable como la que se hace en el Ejemplo 2.3. ¿Qué sucede cuando compila? ¿Qué pasa cuando se ejecuta?,  si el programa es ejecutado, ¿qué valor se guarda en la variable?
  8. Escriba una programa que basándose en el Ejemplo 2.3, realice la resta de dos números enteros decimales.
  9. Escriba una programa que basándose en el Ejemplo 2.3, realice la multiplicación de dos números enteros decimales.
  10. Escriba una programa que basándose en el Ejemplo 2.3, realice el módulo de dos números enteros decimales. ¿Qué podría pasar en este caso?
  11. Escriba una programa que basándose en el Ejemplo 2.3, realice la división de dos números enteros decimales ¿Qué podría pasar en este caso?
  12. Repita los ejercicios 8-11 con las consideraciones implementadas en el Ejemplo 2.4.
  13. Basándose en el Ejemplo 2.4, modifíquelo para que ahora trabaje con números con punto decimal (float). Haga lo propio para los ejercicios 8, 9 y 11; tome en cuenta que el especificador de formato a utilizar es ahora "%f".
  14. Dependiendo del IDE que esté utilizando, investigue y documéntese acerca de la depuración de programas. Si está compilando en línea, busque un tutorial del programa gdb; en cualquier caso, debe saber que la depuración no sólo le será de suma utilidad, sino que es una tarea fundamental de la programación.