-------------------------------------------------------
1. Introducción general
-------------------------------------------------------
1.1. Comencemos
-------------------------------------------------------
1.1. Ejecute el programa "hola mundo" en su sistema. Experimente con
la omisión de partes del programa, para ver que mensajes de error
se obtienen.
1.2. Experimente para descubrir qué pasa cuando la cadena del
argumento de printf() contiene \c, en donde c es un carácter que
no está en la lista siguiente: b, t, ", \.
-------------------------------------------------------
1.2. Variables y expresiones aritméticas
-------------------------------------------------------
1.3. Modifique el programa de conversión de temperaturas de modo que
escriba un encabezado sobre la tabla.
1.4. Escriba un programa que escriba la tabla correspondiente a la
conversión desde Celsius a Fahrenheit.
-------------------------------------------------------
1.3. La proposición for
-------------------------------------------------------
1.5. Modifique el programa de conversión de temperaturas de manera que
escriba la tabla en orden inverso, o sea, desde 300 grados hasta
cero.
-------------------------------------------------------
1.4. Constantes simbólicas
-------------------------------------------------------
-------------------------------------------------------
1.5. Entrada y salida de caracteres
-------------------------------------------------------
1.6. Verifique que la expresión getchar() != EOF es cero o uno.
1.7. Escriba un programa que imprima el valor de EOF.
1.8. Escriba un programa que cuente espacios en blanco, tabuldores y
nuevas líneas.
1.9. Escriba un programa que copie su entrada a la salida,
reemplazando cada secuencia de dos o más blancos por un único
blanco.
1.10. Escriba un programa que copie su entrada a la salida,
reemplazando cada tabulación por \t, cada retroceso por \b, y
cada \ por \\. Esto hace que las tabulaciones y los espacios
sean visibles sin confusiones.
1.11. Cómo probaría el programa para contar palabras? Qué clase de
entrada es la más conveniente para descubrir errores si éstos
existen.
1.12. Escriba un programa que escriba su entrada una palabra en cada
línea.
-------------------------------------------------------
1.6. Arreglos
-------------------------------------------------------
1.13. Escriba un programa que imprima el histograma de las longitudes
de las palabras de su entrada. En la primera versión del
programa dibuje las barras en sentido horizontal. En la segunda
versión dibuje las barras en sentido vertical.
1.14. Escriba un programa que imprima el histograma de las frecuencias
con que se presentan diferentes caracteres leidos a la entrada.
-------------------------------------------------------
1.7. Funciones
-------------------------------------------------------
1.15. Escriba de nuevo el programa de coversión de temperatura de la
sección 1.2, de modo que utilice una función para la conversión.
-------------------------------------------------------
1.8. Argumentos: llamada por valor
-------------------------------------------------------
No hay ejercicios propuestos.
-------------------------------------------------------
1.9. Arreglos de caracteres
-------------------------------------------------------
1.16. Corrija la rutina principal del programa de la línea más larga de
modo que imprima la longitud de líneas de entrada arbitrariamente
largas, y tanto texto como sea posible.
1.17. Escriba un programa que imprima todas las líneas de entrada que
sean mayores de 80 caracteres.
1.18. Escriba un programa que elimine los blancos y los tabuladores que
estén al final de cada línea de entrada, y que borre completamente las
líneas en blanco.
1.19. Escriba una función reverse(s) que invierta la cadena de
caracteres s. Úsela para escribir un programa que invierta su entrada,
línea a línea.
-------------------------------------------------------
1.10. Variables externas y alcance
-------------------------------------------------------
1.20. Escriba un programa detab que reemplace tabuladores de la entrada
con la cantidad apropiada de espacios en blanco para espaciar hasta la
siguiente posición de tabulación. Considere un conjunto fijo de
posiciones de tabulación, digamos cada n columnas. Debe ser n una
variable o una constante simbólica?
1.21. Escriba un programa entab que reemplace cadenas de blancos por el
mínimo número de tabuladores y blancos necesario para obtener el mismo
espaciado. Considere las posiciones de tabulación de igual manera que
para detab. Cuando un tabulador o un simple espacio en blanco fuera
suficiente para alcanzar una posición de tabulación, a cuál se le debe
dar preferencia?
1.22. Escriba un programa para "plegar" líneas largas de entrada en dos
o más líneas cortas después del último carácter no blanco que ocurra
antes de la n-ésima columna de entrada. Asegúrese de que su programa se
comporta apropiadamente con líneas muy largas, y de que no hay blancos o
tabuladores antes de la columna especificada.
1.23. Escriba un programa para eliminar todos los comentarios de un
programa en C. No olvide de manejar apropiadamente las cadenas entre
comillas y las constantes de carácter. Los comentarios de C no se
anidan.
1.24. Escriba un programa para revisar los errores de sintaxis
rudimentarios de un programa en C, como paréntesis, llaves y corchetes
no alineados. No olvide la comillas ni los apóstrofos, las secuencias
de escape y los comentarios. (Este programa es difícil si se hace
completamente general.)
               (
geocities.com/ar/uap_c2a)                   (
geocities.com/ar)