el computador personal. el sistema operativo. -...

15
Dpto. Lenguajes y Ciencias de la Computación UNIVERSIDAD DE MÁLAGA Introducción a los Computadores. Sistemas Telecomunicación g, B. Sonido e Imagen, g. B Curso 2004-2005. PRÁCTICA PRIMERA: EL ENTORNO DE TRABAJO El computador personal. El sistema Operativo. El computador u ordenador es una máquina electrónica para el tratamiento de la información. A simple vista, si observamos nuestro puesto de trabajo, encontraremos los siguientes componentes: 1. La CPU, que constituye el “corazón” del computador: es el lugar donde se ubica el microprocesador, la memoria, las unidades de disco y todos los componentes electrónicos que permiten que el ordenador funcione. 2. El monitor, conectado a la CPU a través de la tarjeta de vídeo que convierte la señal digital del ordenador en una señal analógica que “entiende” el monitor. 3. El teclado, que es uno de los dispositivos o periféricos fundamentales para la introducción de los datos (en forma de caracteres) en el ordenador. 4. El ratón, que permite un acceso rápido, mediante clicks, a las utilidades de los programas que tiene instalados el ordenador. Lo primero que hemos de hacer, aunque parezca una tontería, es... encender el ordenador y el monitor, pulsando los correspondientes interruptores... El ordenador cuenta con un sistema operativo (SO), que es un programa que hace de interfaz de comunicación entre el usuario (que somos nosotros) y el hardware de la máquina. En los laboratorios está instalado el sistema operativo Microsoft Windows 2000. Al “arrancar” el sistema operativo el primer mensaje que aparece en pantalla, destinado a nosotros, es una petición de introducción de nombre de Página 1

Upload: dinhcong

Post on 20-Oct-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Dpto. Lenguajes y Ciencias de la Computación

UNIVERSIDAD DE MÁLAGA

Introducción a los Computadores. Sistemas Telecomunicación g, B. Sonido e Imagen, g. B Curso 2004-2005. PRÁCTICA PRIMERA: EL ENTORNO DE TRABAJO

El computador personal. El sistema Operativo. El computador u ordenador es una máquina electrónica para el tratamiento de

la información.

A simple vista, si observamos nuestro puesto de trabajo, encontraremos los

siguientes componentes:

1. La CPU, que constituye el “corazón” del computador: es el lugar donde se

ubica el microprocesador, la memoria, las unidades de disco y todos los

componentes electrónicos que permiten que el ordenador funcione.

2. El monitor, conectado a la CPU a través de la tarjeta de vídeo que convierte

la señal digital del ordenador en una señal analógica que “entiende” el

monitor.

3. El teclado, que es uno de los dispositivos o periféricos fundamentales para

la introducción de los datos (en forma de caracteres) en el ordenador.

4. El ratón, que permite un acceso rápido, mediante clicks, a las utilidades de

los programas que tiene instalados el ordenador.

Lo primero que hemos de hacer, aunque parezca una tontería, es... encender

el ordenador y el monitor, pulsando los correspondientes interruptores... ☺

El ordenador cuenta con un sistema operativo (SO), que es un programa que

hace de interfaz de comunicación entre el usuario (que somos nosotros) y el

hardware de la máquina. En los laboratorios está instalado el sistema operativo

Microsoft Windows 2000.

Al “arrancar” el sistema operativo el primer mensaje que aparece en pantalla,

destinado a nosotros, es una petición de introducción de nombre de

Página 1

usuario y contraseña. Serán los siguientes:

1. Nombre de usuario: “alumno” (sin las comillas).

2. Contraseña: ninguna...

… y le damos a “Aceptar”…

Organización jerárquica y gestión de ficheros con “Explorador de Windows”. Una vez arrancado el SO (Windows 2000), nos encontramos ante el Escritorio

de Windows, donde aparecen distintos iconos de acceso a programas y, en la

parte inferior de la pantalla, la barra de Inicio. A través del botón de Inicio

podemos acceder a las distintas aplicaciones (software) que tiene instaladas el

computador.

El SO está instalado en una de las unidades de disco de la computadora,

usualmente en la unidad llamada C:. Otras unidades de disco son también

accesibles desde el sistema operativo: usualmente, la unidad de disquete (A:),

la unidad de CDROM (D:) y otros discos virtuales montados mediante el

protocolo de comunicaciones de los laboratorios y que se hayan en otros

ordenadores (F:, G:, etc.).

El SO Windows 2000 gestiona los discos de manera jerárquica, partiendo de

una raíz, donde se van almacenando carpetas y dentro de ellas, a su vez, otras

carpetas y ficheros. Los datos y programas se almacenan en ficheros, que

nombran mediante un nombre que puede tener hasta 256 caracteres,

incluyendo una extensión, de 3 caracteres, que indica al SO de qué tipo de

fichero se trata (por ejemplo, .cpp y .hpp para ficheros fuente de nuestros

programas que desarrollaremos en la asignatura, .txt para ficheros de texto,

.exe para ficheros ejecutables, etc.). Habitualmente, la extensión está oculta y

no se visualiza.

Una vía, ruta o camino (path) es la indicación precisa para llegar a un fichero:

<UNIDAD>:[\<DIRECTORIO>]*\<ARCHIVO>

Página 2

Existen carpetas especiales: Escritorio, Mi PC, Entorno de Red, Papelera de

Reciclaje (véase figura 1).

Los discos pueden tener etiquetas. Ej.: Windows98 (C:)

Figura 1: estructura jerárquica de carpetas o directorios

El Explorador de Windows es un programa que permite la gestión de la

estructura jerárquica de carpetas y ficheros del SO Windows. Podemos

acceder mediante el botón de Inicio:

Inicio/Programas/Accesorios/Explorador de Windows o bien

ejecutando “explorer” en Inicio/Ejecutar. Tiene las siguientes utilidades:

a) Crear archivos y carpetas.

b) Ordenar archivos.

c) Copiar y mover archivos y carpetas.

d) Cambiar el nombre o eliminar archivos.

e) La opción buscar (find).

f) Copiar y formatear disquetes.

g) Optimizar el trabajo usando dos ventanas.

h) Incorporar programas para uso inmediato en el menú Inicio.

Página 3

Podemos acceder a las utilidades de varias maneras:

a) A partir de los menús de la parte superior de la pantalla: Archivo (para crear,

abrir, eliminar, etc., carpetas y archivos); Edición (para copiar, pegar,

seleccionar, etc., archivos y carpetas); Ver (para visualizar los archivos y

carpetas en distintos formatos), Ir A (para movernos por distintas

aplicaciones); Favoritos (para acceso a los favoritos de Internet Explorer);

Herramientas (fundamentalmente, para buscar archivos y/o carpetas), y

Ayuda.

b) Mediante los Iconos de las Barras de Herramientas.

c) Pulsando botón derecho del ratón en las distintas regiones (árbol de

directorios de la izquierda, listas de iconos de la derecha, ficheros, carpetas,

etc.) y eligiendo entre las distintas opciones de los menús contextuales

que aparecen.

d) Utilizando el botón izquierdo del ratón para seleccionar fichero y carpetas y

arrastrarlos para copiar, cortar y/o pegar, ayudándonos de las teclas Ctrl y

Shift (para seleccionar múltiples elementos y copiar). También podemos

usar botón derecho de ratón para arrastrar un elemento y decir qué hacer

con él en el menú contextual del destino...

La barra de dirección nos informa del camino donde actualmente nos

encontramos y tendrán lugar las operaciones que realicemos.

En función de lo explicado, utilizar el Explorador de Windows para:

a) Moverse por la estructura de directorios de la izquierda de la pantalla para

desplegar (+), plegar (-) y visualizar (botón izquierdo sobre el directorio)

diferentes carpetas y unidades.

b) Crear una carpeta que cuelgue del directorio raíz del disco C: y que tenga

como nombre “alumnos”

c) Dentro de la carpeta “alumnos” anteriormente creada, crear los

subdirectorios (subcarpetas) “dir1” y “dir2”.

d) En el directorio “dir1” crear, con el Bloc de Notas un fichero de texto,

llamado “mific.txt”, que contenga nuestro nombre y apellidos en su interior.

e) Mover el fichero creado al directorio “dir2”.

Página 4

f) Copiar el fichero “mific.txt” del directorio “dir2” al directorio “dir1”

g) Cambiar el nombre al fichero “mific.txt” por “otrofic.txt”.

h) Si se dispone de un disquete, introducirlo en la unidad A: y formatearlo

(¡cuidado!, se borrarán todos los datos que contenga).

i) Copiar el fichero “otrofic.txt” al disquete.

j) Borrar (enviar a Papelera de Reciclaje) las dos carpetas creadas en

“alumnos” y todo su contenido.

k) Vaciar la Papelera de Reciclaje.

MSDOS Es el sistema operativo (Microsoft Disk Operating System) anterior a Windows

y sobre el que inicialmente se apoyaba éste. Actualmente se mantiene en los

sistemas Windows para mantener la portabilidad de las aplicaciones antiguas.

Podemos acceder a una “ventana de msdos”, también conocida como “Interfaz

de comandos” (basada en el programa command.com), mediante

Inicio/Programas/Accesorios/Interfaz de Comandos.

Aparecerá una ventana que podemos maximiza y minimizar, además de con el

botón correspondiente de la barra de herramientas, con la combinación de

teclas Alt-ENTER.

El prompt de MSDOS (c:\>) indica que estamos en la unidad C:, en el directorio

raíz (\). Vamos a aprender y practicar algunos comandos:

a) DIR. Nos da el listado de los ficheros y directorios de una carpeta. Los

nombres de ficheros y carpetas en MS-DOS pueden tener, como máximo, 8

caracteres y 3 más para extensión. En el listado que nos muestra el

comando DIR suele aparecer, a la derecha, el correspondiente “nombre

largo” para Windows.

b) MD. Crear un directorio. Por ejemplo, si tecleamos “md alumnos” en el

directorio raíz, crearemos el directorio “alumnos”.

Página 5

c) CD. Para moverse entre directorios. Por ejemplo, “cd alumnos”, o “cd

c:\alumnos” nos lleva al directorio “c:\alumnos”. “cd ..” nos lleva al directorio

anterior (padre) del actual.

d) COPY. Permite copiar ficheros o carpetas desde un origen a un destino. Por

ejemplo, “copy c:\alumnos\dir1\mific.txt c:\alumnos\dir2\”.

e) MOVE. Permite mover ficheros o carpetas desde un origen a un destino.

Por ejemplo, “move c:\alumnos\dir1\mific.txt c:\alumnos\dir2\”.

f) DEL. Para borrar un fichero o una carpeta. “del mific.txt”.

g) RENAME. Para renombrar ficheros o carpetas. “rename mific.txt otrofic.txt”.

h) FORMAT. Formatear disquetes y otras unidades. Ej.: “format a:”.

i) EXIT. Para salir del interfaz de comandos de msdos.

Página 6

Introducción al entorno de programación Dev-C++ 4.9.8 Acceso al programa mediante:

Inicio/Programas/Compiladores/Dev C++/DevC++.

Figura 2: El entorno de programación Dev-C++ 4.9.8

Las distintas “partes de que consta el programa” (véase figura 2):

1. Los menús:

a) Archivo: para crear nuevos ficheros fuente y proyectos, abrir otros ya

existentes, cerrar los fichero y proyectos abiertos, imprimir, etc.

b) Edición: para copiar, cortar y pegar “trozos” de código de fichero

fuente.

c) Buscar: para buscar cadenas en fichero fuente.

d) Ver: para visualizar las barras de herramientas y barras de estado.

e) Proyecto: para añadir y quitar unidades de código a un proyecto.

f) Ejecutar: para ejecutar un programa que ha compilado

satisfactoriamente.

Página 7

g) Depurar: permite depurar los programas para localizar posibles errores

o ineficiencias en su funcionamiento. El depurador permite parar el

programa en una línea (punto de ruptura), visualizar variables,

expresiones, memoria, etc.

h) Herramientas: para el acceso a opciones de configuración del

compilador y el entorno.

i) Ventana: para la gestión de las ventanas (pantalla completa, siguiente,

anterior, etc.)

j) Ayuda: ayuda sobre el funcionamiento de Dev-C++.

2. Las barras de herramientas (Principal, Edición, Buscar, Compilar y Ejecutar,

Proyecto, Opciones, Especiales, Clases). Véase figura 3.

Figura 3: Los menús y barras de herramientas de Dev-C++

3. La ventana de proyecto (con el nombre del proyecto y las unidades de

código que contiene), que podemos usar para “navegar” por el proyecto; y la

ventana de clases, que nos permite movernos cómodamente por la

jerarquía de clases, visualizar sus miembros, etc.

4. La región de las ventanas de código, con los diferentes fichero fuente

(source files) que tenemos abiertos. Cada fichero fuente tendrá su

correspondiente pestaña, con su nombre, para poder acceder a él.

Figura 4: Las fichas de estado de compilación y resultados y la barra de estado.

5. La barra de estados, en la región más inferior de la ventana de Dev-C++

(véase figura 4).

Página 8

6. Las “fichas” de compilación, recursos, resultados de compilación,

depuración y ver resultados, en la parte inferior de la pantalla (véase figura

4).

Vamos a crear y editar nuestro primer programa en C++. Para ello, podemos

hacer:

1) Abrimos el nuevo documento:

a) En el menú Archivo, elegir “Nuevo/Código Fuente”,

b) o bien, utilizar el icono “Código Fuente (Ctrl-N)” de la barra de

herramientas principal,

c) o bien, utilizar el Nuevo, y luego “Código Fuente (Ctrl-N)” de la barra de

herramientas especial.

2) El nuevo documento tiene como nombre SinNombre1.cpp. La extensión cpp

indica que se trata de un documento de C++ (léase ‘C plus plus’).

3) Editar el fichero para que el programa quede como sigue: /*********************************************** * Programa de ejemplo. * Muestra por pantalla un mensaje. * * Programador: Fulanito De Tal * Fecha: 23/11/2004 ***********************************************/ #include <iostream> #include <cstdlib> using namespace std; int main() { // Esto es un comentario en C++ cout << “Hola, mundo.” << endl; system("PAUSE"); return 0; }

4) Grabar el programa en el directorio c:\alumnos con el nombre

“hola_mundo.cpp” (¡ojo!, la extensión se pone de manera automática).

Página 9

5) Observar las distintas partes del programa:

Las librerías que se incluyen: #include <iostream>

#include <cstdlib>

La declaración del espacio de nombres estándar: using namespace std;

La función principal, siempre necesaria: int main()

Los bloques de programa incluidos entre corchetes: {}

Las líneas que acaban siempre en “;”

6) Obsérvese la indentación del programa: distintos bloques (normalmente

entre corchetes) comienzan en distintas columnas.

7) Obsérvese los “colores de la sintaxis”: verde para las directivas de

compilación, negrita para los identificadores y las palabras reservadas, rojo

para cadenas (entre comillas dobles), morado para los números, etc.

Figura 5: el proceso de compilación y enlazado de un programa.

8) Compilar el programa: mediante el menú Ejecutar y la opción Compilar;

mediante el botón de la barra de herramientas de Compilación o bien, por

último, con la combinación de teclas Ctrl-F9. Comprobar el tamaño del fichero

ejecutable que resulta y el total de errores producidos.

Página 10

9) Ejecutar el programa y comprobar cómo se abre una ventana de MSDOS y

aparece el mensaje “Hola, mundo” junto con una petición de pulsar una tecla.

10) Modificar la línea cout << “Hola, mundo.” << endl; (línea 10),

quitando el punto y coma (;) final y volver a compilar.

11) Comprobar, en la zona de estado de Compilador, el error que se produce

(parse error before ‘(‘), y hacer click en el mensaje de error para que

nos lleve a la línea errónea. Corregir y volver a compilar.

Página 11

Ejercicios en C++ de la Primera Práctica

1) Copiar, compilar y ejecutar el siguiente programa. Quitar los errores de compilación /* ************************************************************** * * * Programa: ECUACION2 * * Autor/a: Francisco Rus Mansilla * * Fecha: 25-10-2001 * * Versión: 0.9 * * Descripción: Resuelve una ecuación de segundo grado. * * El resultado pueden ser dos raíces reales * * distintas, una sola raíz doble o dos raíces.* * Complejas conjugadas. * * Con este ejercicio se pretende familiari- * * zarse con las estructuras selectivas y con * * la entrada y salida de datos, para lo cual * * se debe ir modificando el código y observar * * los resultados. * ************************************************************** */ // #include <iostream> #include <cstdlib> void main() { // Declaraciones float coef_a, coef_b, coef_c, denominador, discriminante; float raiz1, raiz2; // Entrada de datos cout << "Introduzca el coeficiente del término de segundo grado: "; cin >> coef_a; cout << "Introduzca el coeficiente del término de primer grado: "; cin >> coef_b; cout << "Introduzca el coeficiente del término independiente: "; cin >> coef_c; // Proceso y salida (no es habitual que se hagan conjuntamente) // EJERCICIO -> Separar la salida de datos if (coef_a != 0.0) { // A no debe ser cero discriminante = coef_b * coef_b - 4.0 * coef_a * coef_c; denominador = 2.0 * coef_a; if (discriminante > 0.0) { // Dos raices reales distintas raiz1 = (sqrt(discriminante) - coef_b) / denominador; raiz2 = -1.0 * (sqrt(discriminante) + coef_b) / denominador; cout << "\n\n Dos raíces reales distintas.\n" cout << "Raíz 1 = " << raiz1 << "\n"; cout << "Raíz 2 = " << raiz2 << "\n\n"; } else { if (discriminante == 0.0) { // Una raíz raiz1 = - coef_b /denominador; cout << "\n\n Dos raíces reales iguales.\n"; cout << "Raíz = " << raiz1 <<"\n\n"; } else { // Dos raices complejas raiz1 = - coef_b / denominador; raiz2 = Sqrt( -discriminante) / denominador; cout << "\n\n Dos raíces complejas conjugadas.\n"; cout << "Raíz 1 = " << raiz1 << " + " << raiz2 << " i\n"; cout << "Raíz 1 = " << raiz1 << " - " << raiz2 << " i\n\n"; } } } else { if (coef_b != 0) { // Ecuación de primer grado: B X + C raiz1 = - coef_c /coef_b; cout << "\n\n Es una ecuación de primer grado.\n"; cout << "Raíz = " << raiz1 << "\n\n"; } else { // A y B son 0 --> no ecuación cout << "\n\n No es una ecuación !!!!\n\n"; } } system("PAUSE"); return 0; }

Página 12

2) Copiar (editar), compilar y ejecutar el siguiente programa que permite introducir una medida en centímetros y muestra la medida equivalente en pulgadas (una pulgada mide 2,54 centímetros). /*********************************************************************** * Programa que convierte una medida en centímetros a pulgadas. * Una pulgada equivale a 2,54 centímetros. * * Programador: Guillermo Gil y Puertas * Fecha: 20/11/2003 ************************************************************************/ #include <iostream> #include <cstdlib> using namespace std; int main() { // Declaración de constantes const float CONVERSIÓN = 2.54; // Declaración de variables float centimetros, pulgadas; // Petición de datos cout << "Teclee una medida en centimetros" << endl; cin >> centimetros; // Cálculos pulgadas = centimetros / CONVERSION; // Cálculo de pulgadas // Salida de resultados por pantalla cout << "Sus " << centimetros << " centimetros equivalen a " << pulgadas << " pulgadas" << endl; system("PAUSE"); return 0; }

2) Escribir (editar) y compilar el programa siguiente, que recibe el radio de un círculo y que muestra en pantalla el diámetro, la longitud de la circunferencia y el área de ese círculo. Corregir los errores y volver a compilar hasta que no haya errores de compilación y ejecutarlo. /****************************************************************************** * Programa para el cálculo del diámetro, longitud y área de una * circunferencia. Se pide al usuario que se introduzca el radio por teclado * y se muestran los resultados por pantalla. * * Programador: Perico Palotes * Fecha: 20/11/2003 *******************************************************************************/ #include <iostream.h> #include cstdlib const unsigned int PI 3.14 void main() { float radio, longitud, area; // Declaración de variables cout << "Teclee la medida del radio de la circunferencia en cm" << endl; cin >> radio // Cálculos de magnitudes diametro = 2.0 * radio; PI * diámetro = longitud; area = PI * radio * radio; // Salida de resultados del programa // cout << "DATOS DEL CIRCULO:" << endl; cout << "Radio introducido por el usuario: " << radio << " cm" << endl;

Página 13

cout << "Diametro de la circunferencia: " << diametro << " cm" << endl; cout << "Longitud de la circunferencia: " << longitud << " cm" << endl; cout << "Area de la circunferencia: " << area << " cm2" << endl; system("PAUSE"); return 0; }

3) Copiar, compilar y ejecutar el siguiente programa, que lea un número N e imprime una pirámide de números con N filas (altura = N) como en la siguiente figura:

1 121 12321 1234321

Posteriormente, modificar el programa para que imprima un triángulo de asteriscos cuya altura N se introduce por teclado. /*********************************************************************************** * Programa que imprime por pantalla una pirámide de números con N filas. * Se pide al usuario por teclado la altura de la pirámide. * * Programador: Pepe Tutancamon * Fecha: 20/11/2003 ***********************************************************************************/ #include <iostream> #include <cstdlib> using namespace std; int main() { const char CONST_BLANCO = ' '; unsigned int altura, fila, blancos, mitad1, mitad2; cout << "Introduzca la altura del triangulo: "; cin >> altura; cout << endl << endl; for (fila=1; fila<=altura; fila++){ // Cada fila for (blancos=1; blancos<=altura-fila; blancos++) // Los blancos cout << CONST_BLANCO; for (mitad1=1; mitad1<=fila; mitad1++) // Los números en orden creciente cout << mitad1; for (mitad2=fila-1; mitad2>=1; mitad2--) // Los números en orden decreciente cout << mitad2; cout << endl; } system("PAUSE"); return 0; } 4) Codifique el siguiente programa que se comporta como una calculadora simple con las siguientes características:

− Solo efectua operaciones con dos operandos. − Operaciones permitidas: (+,-,*,/). − Se trabaja con operandos enteros. − Pide en primer lugar el operador, y a continuación los dos operandos. Si el

operador no se corresponde con alguno de los indicados se emite un mensaje de error.

EJEMPLO:

Operacion : * Operando 1 : 24 Operando 2 : 3 Resultado : 72

Modificar posteriormente el programa para sustituir la instrucción switch por sentencias if..else anidadas

Página 14

/************************************************************************* * Programa que implementa una calculadora simple. Se pide al usuario * que introduzca los operandos y un operador. En función del operador, * se realiza una de las cuatro operaciones disponibles: suma, resta, * multiplicación y división (+, -, *, /). * * Programador: Ricardo Borriquero * Fecha: 20/11/2003 **************************************************************************/ #include <iostream> #include <cstdlib> using namespace std; int main(int argc, int *argv[]) { char operador; int op1, op2, res; // Operandos y resultado bool error = false; // Petición de operandos operadores cout << "Operacion: "; cin >> operador; cout << "Operando 1: "; cin >> op1; cout << "Operando 2: "; cin >> op2; // Selección de la operación switch (operador){ case '+': res = op1 + op2; break; case '-': res = op1 - op2; break; case '*': res = op1 * op2; break; case '/': res = op1 / op2; break; default: cout << "Operador no permitido." << endl; error = true; } if (!error) cout << "Resultado: " << res << endl; system("PAUSE"); return 0; }

Página 15