0% encontró este documento útil (0 votos)
31 vistas9 páginas

C Piscine: Resumen: Este Documento Corresponde Al Enunciado Del Módulo C 10 de La C Piscine de 42. Versión: 4

El documento es el enunciado del módulo C 10 de la C Piscine de 42, que incluye instrucciones y ejercicios prácticos. Se detallan las reglas para la entrega de ejercicios, el uso de funciones autorizadas y los requisitos específicos para cada ejercicio. Los ejercicios abarcan la creación de programas que simulan comandos del sistema como 'cat', 'tail' y 'hexdump'.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
31 vistas9 páginas

C Piscine: Resumen: Este Documento Corresponde Al Enunciado Del Módulo C 10 de La C Piscine de 42. Versión: 4

El documento es el enunciado del módulo C 10 de la C Piscine de 42, que incluye instrucciones y ejercicios prácticos. Se detallan las reglas para la entrega de ejercicios, el uso de funciones autorizadas y los requisitos específicos para cada ejercicio. Los ejercicios abarcan la creación de programas que simulan comandos del sistema como 'cat', 'tail' y 'hexdump'.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 9

C Piscine

C 10

Resumen: Este documento corresponde al enunciado del módulo C 10 de la C Piscine


de 42.

Versión: 4
Índice general
I. Instrucciones 2

II. Introducción 4

III. Exercice 00 : display_file 5

IV. Exercice 01 : cat 6

V. Exercice 02 : tail 7

VI. Exercice 03 : hexdump 8

1
Capítulo I

Instrucciones

• Esta página será la única referencia: no te fíes de los rumores.

• ¡Ten cuidado! Los enunciados pueden cambiar en cualquier momento.

• Asegúrate de que tus directorios y archivos tienen los permisos adecuados.

• Debes respetar el procedimiento de entrega para todos tus ejercicios.

• Tus compañeros de piscina se encargarán de corregir tus ejercicios.

• Además de por tus compañeros, también serán corregidos por un programa que se
llama la Moulinette.

• La Moulinette es muy estricta a la hora de evaluar. Está completamente automati-


zada. Es imposible discutir con ella sobre tu nota. Por lo tanto, se extremadamente
riguroso para evitar cualquier sorpresa.

• La Moulinette no tiene una mente muy abierta. No intenta comprender el código que
no respeta la Norma. La Moulinette utiliza el programa norminette para comprobar
La Norma en sus archivos. Entiende entonces que es estúpido entregar un código
que no pase la norminette.

• Los ejercicios han sido ordenados con mucha precisión, del más sencillo al más
complejo. En ningún caso se tendrá en cuenta un ejercicio complejo si no se ha
conseguido realizar perfectamente un ejercicio más sencillo.

• El uso de una función prohibida se considera una trampa. Cualquier trampa será
sancionada con la nota -42.

• Solamente hay que entregar una función main() si lo que se pide es un programa.

• La Moulinette compila con los flags -Wall -Wextra -Werror y utiliza gcc.

• Si tu programa no compila, tendrán un 0.

• No puedes dejar en tu directorio ningún archivo que no se haya indicado de forma


explícita en los enunciados de los ejercicios.

• ¿Tienes alguna pregunta? Pregunta a tu compañero de la derecha. Si no, prueba


con tu compañero de la izquierda.

2
C Piscine C 10

• Tu manual de referencia se llama Google / man / Internet / ....

• ¡No olvides participar en el slack de tu Piscina!

• Lee detenidamente los ejemplos. Podrían exigir cosas que no se especifican necesa-
riamente en los enunciados...

• Razona. ¡Te lo suplico, por Thor, por Odín! Maldita sea.

3
Capítulo II

Introducción

Para bien empezar el día, aquí algunas preguntas muy sencillas:

¿Qué pasaría si metiésemos un secador alimentado por corriente continua en


una caja hermética de un metro de lado?

¿Se habría detenido el accidente de Chernóbil arrojando antimateria en el


reactor cuando se estaba fundiendo?

¿Es posible llorar hasta deshidratarse?

Si todos los humanos desaparecieran de la faz de la tierra, ¿cuánto tiempo


pasaría antes de que la última fuente de luz artificial se apagara?

¿Hasta qué punto es peligroso meterse en una piscina durante una tormenta?

¿Desde qué altura habría que tirar un filete para que estuviera cocinado
cuando llegara al suelo?

¿Cuándo, en caso de que ocurra alguna vez, el ancho de banda de Internet


superará al servicio de mensajería de FedEx?

¿Cuántos tweets diferentes son posibles en nuestro idioma? ¿Cuánto tiempo


tardaría la población mundial en leerlos todos en voz alta?

¿Cuál sería el resultado si todos los candidatos al carnet de conducir


respondiesen al azar en el test del examen teórico?

¿Cuántos contestarían correctamente a todas las preguntas?

Preguntas sacadas les libro “¿Qué pasaría si... ?” de Randall Munroe.

4
Capítulo III

Exercice 00 : display_file

Ejercicio: 00

display_file
Directorio de entrega: ex00/
Archivos a entregar: Makefile y los archivos de tu programa
Funciones autorizadas: close, open, read, write

• Crea un programa que se llame ft_display_file y que muestre en la salida están-


dar únicamente el contenido del archivo pasado como argumento.

• El directorio de entrega deberá tener un Makefile que cumpla las siguientes reglas:
all, clean y fclean. El binario se llamará ft_display_file.

• La función malloc está prohibida. Sólo puedes hacer el ejercicio declarando una
tabla de tamaño fijo.

• Todos los archivos pasados como parámetros serán válidos.

• Los mensajes de error tendrán que mostrarse en la salida que les haya sido reservada
y seguidos de un salto de línea.

• Si no hay ningún argumento, tu programa deberá mostrar


File name missing.

• Si hay demasiados argumentos, tu programa deberá mostrar


Too many arguments.

• Si el archivo no se puede leer, tu programa deberá mostrar


Cannot read file.

5
Capítulo IV

Exercice 01 : cat

Ejercicio: 01

cat
Directorio de entrega: ex01/
Archivos a entregar: Makefile y los archivos de tu programa
Funciones autorizadas: close, open, read, write, strerror, basename

• Escribe un programa que se llame ft_cat y que realice lo mismo que el comando
cat del sistema.

• No necesitas gestionar las opciones.

• El directorio de entrega tendrá un Makefile con las siguientes reglas all, clean y
fclean.

• Puedes utilizar la variable errno (ver el man de errno).

• Deberías leer los man de todas las funciones autorizadas.

• Solo puedes hacer el ejercicio declarando una tabla de tamaño fijo. Esta tabla tendrá
un tamaño limitado a algo menos de unos 30 ko. Para probar esta limitación, utiliza
el comando ulimit de tu shell.

6
Capítulo V

Exercice 02 : tail

Ejercicio: 02

tail
Directorio de entrega: ex02/
Archivos a entregar: Makefile y los archivos de tu programa
Funciones autorizadas: close, open, read, write, malloc, free, strerror,
basename

• Escriba un programa que se llame ft_tail y que realice lo mismo que el comando
tail.

• Solo tiene que gestionar la opción -c, pero no tiene que gestionar el ’+’ y el ’-’.

• Se realizarán todas las pruebas con la opción -c.

• El directorio de entrega tendrá un Makefile las siguientes reglas: all, clean y


fclean.

• Puede utilizar la variable errno.

7
Capítulo VI

Exercice 03 : hexdump

Ejercicio: 03

hexdump
Directorio de entrega: ex03/
Archivos a entregar: Makefile y los archivos de tu programa
Funciones autorizadas: close, open, read, write, malloc, free, strerror,
basename

• Escriba un programa que se llame ft_hexdump y que realice lo mismo que el co-
mando hexdump del sistema, sin redirección.

• No necesita gestionar la opción -c.

• El directorio de entrega tendrá un Makefile con una regla all, una regla clean y
una regla fclean.

• Puede utilizar la variable errno (ver el man de errno).

También podría gustarte