------------------------------------------
Capítulo 3: Control de flujo
------------------------------------------

------------------------------------------
3.1. Proposiciones y bloques
------------------------------------------
No hay ejercicios.

------------------------------------------
3.2. if-else
------------------------------------------
No hay ejercicios.

------------------------------------------
3.3. else-if
------------------------------------------

3.1. Nuestra búsqueda binaria realiza dos pruebas dentro del ciclo, 
cuando una podría ser suficiente (al precio de más pruebas en el 
exterior).  Escriba una versión con sólo una prueba dentro del ciclo y 
mida la diferencia en tiempo de ejecución.

------------------------------------------
3.4. switch
------------------------------------------

3.2. Escriba una función escape(s,t) que convierte caracteres como nueva 
línea y tabulación en secuencias de escape visibles como \n y \t 
mientras copia la cadena t a s.  Utilice un switch.  Escriba también una 
función para la dirección inversa, convirtiendo secuencias de escape en 
caracteres reales.

------------------------------------------
3.5. Ciclos --- while y for
------------------------------------------

3.3. Escriba la función expand(s1,s2) que expande notación abreviada 
como a-z que viene en la cadena s1, en la lista equivalente completa 
abc...xyz en s2.  Permita letras mayúsculas y minúsculas, así como 
dígitos, y esté preparado para manejar casos como a-b-c y a-z0-9 y -a-z.  
Haga que los guiones al inicio y al final se tomen literalmente.

------------------------------------------
3.6 Ciclos --- do-while
------------------------------------------

3.4. En una representación de números en complemento a dos, nuestra 
versión de itoa() no maneja el número negativo más grande, esto es, el 
valor de n igual a -(2^(tamaño_de_palabra-1)).  Explique porqué.  
Modifíquelo para imprimir el valor correctamente, sin importar la 
máquina en que se ejecute.

3.5. Escriba la función itob(n,s,b) que convierte el entero n en una 
representación de caracteres con base b dentro de la cadena s.  En 
particular itob(n,s,16) da formato a n como entero hexadecimal en s.

3.6. Escriba una versión de itoa() que acepte tres argumentos en lugar 
de dos.  El tercer argumento es un ancho mínimo de campo; al número 
convertido se le deben agregar blancos a la izquierda si es necesario 
para hacerlo suficientemente ancho.

------------------------------------------
3.7. break y continue
------------------------------------------
No hay ejercicios.

------------------------------------------
3.8. goto y etiquetas
------------------------------------------
No hay ejercicios.

    Source: geocities.com/ar/uap_c2a/ej-03

               ( geocities.com/ar/uap_c2a)                   ( geocities.com/ar)