Preview only show first 6 pages with water mark for full document please download

Transcript

Práctica 1: Sistemas operativos introducción al compilador de C e Objetivos En la primera parte de esta práctica, se introduce al alumno en el manejo de los sistemas de explotación más extendidos: WINDOWS, UNIX y MS-DOS. Los dos primeros (y sus variantes más modernas) dominan actualmente el mercado de las computadoras personales, mientras que el último, ya obsoleto y de poco uso, resulta interesante por formar parte de los primeros sistemas operativos que se implantaron. Por otro lado, se introduce el compilador de lenguaje C que se usará a lo largo del curso y se mostrará como enviar los trabajos realizados a través del servidor de docencia para ser evaluados. Índice 1. Sistemas operativos Windows, DOS y UNIX 2. El compilador Dev C++. 3. El servidor de docencia Nota Importante: Para el desarrollo de esta práctica el alumno debe seleccionar al comienzo del arranque de la máquina la opción: Cygwin 3.2, Emacs 21.2 1. Sistemas operativos Windows, DOS y UNIX 1. El sistema operativo DOS Las siglas de este sistema operativo corresponden a los vocablos en inglés disk operating system (sistema operativo de disco). Fue creado originalmente para computadoras de la familia IBM PC, que utilizaban los procesadores Intel 8086 y 8088, de 16 bits, siendo el primer sistema operativo popular para esta plataforma. La versión mas aceptada fue el sistema operativo MS-DOS de Microsoft en el año 1982, el cual tuvo una gran aceptación en los ordenadores compatibles IBM PC (Intel). Con la imposición del sistema operativo Windows, MS-DOS ha quedado reducido a la existencia de un interprete de comandos, a través del Símbolo del sistema o ejecutado con el comando cmd.exe en el sistema Windows. 2. El sistema operativo UNIX El sistema operativo UNIX es a diferencia de MS-DOS, multitarea y multiusuario; desarrollado a finales de los años 60 por un grupo de empleados de los laboratorios Bell de AT&T, entre los que figuran Ken Thompson y Dennis Ritchie (está escrito en lenguaje C). En esta familia se pueden citar los sistemas Linux, Solaris, o BSD. 3. El sistema operativo WINDOWS Windows se lanza al mercado (1985) como una evolución del sistema operativo MSDOS, ofreciendo una interfaz de usuario gráfica. Es quizás el sistema operativo más usado actualmente, aunque hay que destacar la tendencia hacia otros sistemas como LINUX o MAC OS. 1 Con la ayuda del profesor, el alumno desarrollará las siguientes tareas en el entorno WINDOWS: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Manejo de las ventanas en Windows (abrir, cerrar, mover, cambiar tamaño, minimizar) Manejo del explorador de Windows a través del icono Mi-PC Conocer las unidades del sistema Ver el árbol de directorios Comprobar el contenido de carpetas Creación de carpetas Creación de archivos de texto con la libreta de notas, programa de Windows descrito más adelante. El archivo creado se almacenará en la carpeta del alumno. Manejo del explorador de Windows a través del icono Mi-PC Borrar o cambiar el nombre a archivos creados por el alumno. Borrar o cambiar la extensión de un archivo creado por el alumno. Apertura de la ventana MS-DOS y utilización de comandos A continuación se muestra una tabla con los comandos que se usan en los sistemas operativos MS-DOS y UNIX. El alumno debe probar los comandos siguientes y comprobar el resultado de ellos en el entorno WINDOWS. Para ejecutar los comandos en Windows se usará el acceso del símbolo del sistema y para los comandos UNIX, se abrirá una terminal con la aplicación Cygwin, que se muestra en el escritorio. Descripción MS-DOS Limpiar pantalla Cambiar de directorio Listado de directorios y archivos Mostrar los directorios en forma de árbol Mostrar la ubicación Conocer los usuarios conectados Comandos sobre archivos Copiar un archivo Ver el contenido de un fichero de texto Comandos sobre directorios Crear un directorio Borrar un directorio Renombrar carpetas Cls cd dir tree pwd UNIX cd Dir, ls pwd who Copy type cp more, vi md rd ren mkdir rmdir mv 2 2. El compilador Dev C++ Dev-C++ es un entorno integrado de desarrollo de programas en lenguaje C (y C++, una forma evolucionada de C) de libre distribución bajo licencia GNU. http://www.gnu.org/copyleft/gpl.html Este software integra en una única herramienta todo lo necesario para desarrollar programas en lenguaje C, incorporando como elementos más destacados, un preprocesador de lenguaje (Preprocessor), el compilador de lenguaje C/C++ (Compiler), y un montador de enlaces (Linker). Además de estos elementos básicos, la herramienta proporciona otras funcionalidades muy convenientes, como son una herramienta de depuración de código (Debugger), así como plantillas de código preformateado y librerías de funciones de fabricante. El software Dev-C++ puede descargarse gratuitamente desde la página web de la asignatura, o bien directamente desde la web del desarrollador http://www.bloodshed.net/dev/devcpp.html Con la ayuda del profesor de aula, el alumno desarrollará las siguientes tareas en el entorno DevC++: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Arranque de la aplicación a través de icono en escritorio y en la lista de programas. Descripción de los elementos más importantes de la barra de menús. Descripción de los elementos más importantes de la barra de herramientas. Escritura de un primer programa en código C. Descripción de las partes en las que se divide un programa en C. Almacenamiento un programa en el disco duro para su posterior recuperación. Compilación de un programa en C. Depuración de un programa en C. Diferencia entre errores y avisos. Montaje de un programa en C, para la obtención del ejecutable. Ejecución de un programa .exe desde Windows y desde MS-DOS. Ejecución paso a paso de un programa en C. Para realizar estas tareas, dispone además de una guía de uso de Dev C++ en la página web de la asignatura. guia_devc.pdf Posiblemente el mejor modo de aprender a programar es programando. Por este motivo lo proponemos que trate de resolver las cuestiones que a continuación se le plantean. Para ayudarle en la realización de las cuestiones se le proporciona una parte de código para facilitarle el planteamiento de la solución. Las prácticas se componen de varios ejercicios diferentes. Para cada ejercicio se le proporciona el molde de un programa que deberá completar con su código. IMPORTANTE: • Cada ejercicio se debe resolver utilizando únicamente las variables definidas en el molde que se proporciona • Debe respetar la estructura que se le propone sin cambiar nombres de variables ni omitir ninguna línea de código. • Una vez finalizados los ejercicios deberá entregar la solución a través del servidor de docencia tal como se explica al final de este enunciado. 3 Cuestión 101 Realizar un programa que lea dos números enteros de teclado y escriba por pantalla la media de ambos. #include main() { int res; int a,b; printf("Introduzca un numero scanf("%d",&a); /*Lectura de printf("Introduzca un numero scanf("%d",&b); /*Lectura de entero \n"); dato por teclado*/ entero \n"); dato por teclado*/ /************ ESCRIBA SU CÓDIGO AQUÍ ******************/ /******************************************************/ printf("\nLa media de los dos numeros introducidos es: %d\n",res); getch(); } Cuestión 102 Realizar un programa que lea un número x de teclado y que devuelva por pantalla f(x), siendo f(x) la siguiente función matemática: f(x) = 9*x, si x >= 0 f(x) = -x, si x < 0 Ejemplo: f(4) = 36 f(-7) = 7 #include main() { int res = 0; int x; printf("Introduzca un numero entero x\n"); scanf("%d",&x); /*Lectura de dato por teclado*/ /************ ESCRIBA SU CÓDIGO AQUÍ ******************/ /******************************************************/ printf("\nEl valor de f(x): %d\n",res); getch(); } 4 3. El servidor de docencia Acceso al servidor de docencia para el envío de prácticas Los resultados de todas las prácticas se entregarán usando Goodle. Goodle es un sistema experimental para el almacenamiento y seguimiento automatizado del trabajo del alumno. Las prácticas se entregarán al final de cada clase de prácticas. Para el correcto funcionamiento de las siguientes páginas su navegador debe permitir cookies y la ejecución de javascript. El servidor de docencia se encuentra situado en la siguiente dirección http://bono.us.es/sdocencia/ La página principal tiene el siguiente aspecto: Para entregar cada práctica el alumno debe identificarse en el sistema usando su DNI (sin la letra, sólo el número) y su clave. La guía de uso del servidor se encuentra colgada en la página web de la asignatura. Los alumnos con documento extranjero, deben identificarse con el número completo (incluyendo letras). guia_sd.pdf Nota: Si algún alumno no puede identificarse por su DNI puede ser por dos causas: a) Está introduciendo el DNI con letra b) No está matriculado todavía en la asignatura En el caso b), enviar un correo electrónico a [email protected] con Titulación, Nombre, Apellidos y DNI indicando en el asunto Alta en Servidor de Docencia Informática. Entrega de la práctica a través del servidor La entrega de la práctica 1 consiste en copiar el código, una vez se haya comprobado el correcto funcionamiento del programa, entre las dos líneas de comentarios (en rojo) en el cuadro de respuestas correspondiente. Cada apartado tiene un espacio asignado dónde copiar el código correspondiente. Solo hay que copiar el código que se encuentra entre las dos líneas de comentarios del molde proporcionado en el enunciado. Es especialmente importante que siga estas instrucciones si quiere que la práctica sea evaluada apropiadamente. 5