Curso Intensivo de C

Instructor

Ligas de Interes

Laboratorios


LAB01

Programa que imprime un listado de Celsius a Fahrenheit desde MIN_VAL a MAX_VAL aumentando los grados en STEP.

(ver printf() y las opciones de formato %d y %f)

Ejemplo de Salida.

$ ./lab01
  0   32.0
  5   41.0
 10   50.0
 15   59.0
 20   68.0
 25   77.0
 30   86.0
 35   95.0
 40  104.0
 45  113.0
 50  122.0
 55  131.0
 60  140.0
 65  149.0
 70  158.0
 75  167.0
 80  176.0
 85  185.0
 90  194.0
 95  203.0
100  212.0

Mejor Solución de la clase
Volver Arriba.


LAB02

Programa que cuente el número de líneas y carácteres de una entrada de texto sencilla hasta que llegue a EOF.

(usar getchar() para obtener carácter de uno en uno. Ctrl+D es igual a EOF en Unix)

Ejemplo de Salida.

$ ./lab02
this is a sample thing
that you must count
until you end the file with EOF   
(That's Ctrl+D)^D
91 caracteres en 4 lineas.

Mejor Solución de la clase
Volver Arriba.


LAB03

Escribir un programa que lea varias líneas de tamaño máximo MAXLINE hasta que encuentre una línea vacía e imprima la más larga. Se deben usar variables externas para las funciones: una función getline(void) que almacene la línea actual y regrese su tamaño y una función copy(void) que copie la línea actual a un buffer especial para la más larga.

(No olvides que debes terminar el buffer con el carácter nulo '\0'.)

Ejemplo de Salida.

$ ./lab03
Esta es una linea Larga.
Esta linea es mas larga que la anterior.
La siguiente linea esta vacia:


Esta linea es mas larga que la anterior.

Mejor Solución de la clase
Volver Arriba.


LAB04

Escribir un programa que reciba una línea de longitud MAXLINE y la imprima al revés. Se puede lograr fácilmente modificando ligeramente LAB03. De nuevo, se deben usar variables externas y ninguna de las funciones debe recibir parametros.

(Ver la función putchar().)

Ejemplo de Salida.

$ ./lab04
Esta linea debe estar al reves

sever la ratse ebed aenil atsE

Mejor Solución de la clase
Volver Arriba.


LAB05

Escribir una función invert(x,p,n) que reciba un numero entero sin signo, una posición y un rango y devuelva x con n bits invertidos a partir de p.

(XOR (^) tiene una propiedad de invertir bits.)

Ejemplo de Salida.

$ ./lab05
Introduzca un numero: 1       
Introduzca una posicion: 2
Introduzca un rango: 4
Invertir 4 bits en 1 empezando de 2 es igual a: 61

Mejor Solución de la clase
Volver Arriba.


LAB06

Escribir una función strindex() que reciba dos strings. Debe devolver la posición en la que ocurre el string2 dentro del string1 o -1 si no se encuentra.

(La función gets puede servir para obtener strings con espacios.)

Ejemplo de Salida.

$ ./lab06
Escribe un String: Esta es una prueba
Escribe algo que Buscar: prueba
Encontre el string en la posición: 12

$ ./lab06
Escribe un String: Esta es otra prueba
Escribe algo que Buscar: string
No se encontro "string" en "Esta es otra prueba".

Mejor Solución de la clase
Volver Arriba.


LAB07

Escribir una versión recursiva de LAB04.

(Considerar el orden de ejecución de los miembros de la función recursiva.)

Ejemplo de Salida.

$ ./lab07
Esta es una prueba.
.abeurp anu se atsE

Mejor Solución de la clase
Volver Arriba.