---------------------------------------------------
Capítulo 4: Funciones y la estructura del programa
---------------------------------------------------
---------------------------------------------------
4.1. Conceptos básicos de funciones
---------------------------------------------------
4.1. Escriba la función strrindex(s,t), que regresa la posición de la
ocurrencia de más a la derecha de t en s, ó -1 si no hay alguna.
---------------------------------------------------
4.2. Funciones que regresan valores no enteros
---------------------------------------------------
4.2. Extienda atof() para que maneje notación científica de la forma
123.45e-6, donde un número de punto flotante puede ir seguido por e ó E
y opcionalmente por un exponente con signo.
---------------------------------------------------
4.3. Variables externas
---------------------------------------------------
4.3. Dada la estructura básica, es fácil extender la calculadora.
Agregue el operador módulo (%) y consideraciones para números negativos.
4.4. Agregue órdenes para imprimir el elemento al tope de la pila sin
sacarlo de ella, para dupliicarlo y para intercambiar los dos elementos
del tope. Agregue una orden para limpiar la pila.
4.5. Agregue acceso a funciones de biblioteca como sin, exp y pow.
Consulte .
4.6. Agregue órdenes para manipular variables. (Es fácil proporcionar
veintiseis variables con nombres de una letra.) Añada una variable para
el valor impreso más reciente.
4.7. Escriba una rutina ungets(s) que regresa a la entrada una cadena
completa. Debe ungets() conocer acerca de buf y bufp, o sólo debe usar
ungetch()?
4.8. Suponga que nunca existirá más de un carácter de regreso.
Modifique getch() y ungetch() de acuerdo con eso.
4.9. Nuestros getch() y ungetch() no manejan correctamente un EOF que se
regresa. Decida cuáles deben ser sus propiedades si se regresa un EOF,
y después realice su diseño.
4.10. Una organización alternativa emplea getline() para leer una línea
completa de entrada; esto hace innecesarios a getch() y ungetch().
Corrija la calculadora para que use este planteamiento.
---------------------------------------------------
4.4. Reglas de alcance
---------------------------------------------------
No hay ejercicios.
---------------------------------------------------
4.5. Archivo de encabezamiento o header
---------------------------------------------------
No hay ejercicios.
---------------------------------------------------
4.6. Variables estáticas
---------------------------------------------------
4.11. Modifique getop() de modo que no necesite utilizar ungetch().
Sugerencia: emplee una variable static interna.
---------------------------------------------------
4.7. Variables tipo registro
---------------------------------------------------
No hay ejercicios.
---------------------------------------------------
4.8. Estructura de bloques
---------------------------------------------------
No hay ejercicios.
---------------------------------------------------
4.9. Inicialización
---------------------------------------------------
No hay ejercicios.
---------------------------------------------------
4.10. Recursividad
---------------------------------------------------
4.12. Adapte las ideas de printd() al escribir la versión recursiva del
programa itoa(); esto es, convierta un entero en una cadena llamando a
una rutina recursiva.
4.13. Escriba una versión recursiva de la función reverse(s), que
invierta la cadena s en su lugar.
---------------------------------------------------
4.11. El preprocesador de C
---------------------------------------------------
4.14. Defina una macro swap(t,x,y) que intercambie dos argumentos de
tipo t. (La estructura de bloques ayudará.)
               (
geocities.com/ar/uap_c2a)                   (
geocities.com/ar)