Documente Academic
Documente Profesional
Documente Cultură
INDICE
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
INTRODUCCION .................................................................................................................... 2
REQUISITOS ........................................................................................................................... 3
EVLUACION INICIAL ........................................................................................................... 4
ORIENTACIONES GENERALES ......................................................................................... 6
UNIDAD EDUCATIVA
VIDA NUEVA
Educacin de calidad para un mundo competitivo
EVALUACIN INICIAL ........................................................................................................ 103
ORIENTACIONES GENERALES ......................................................................................... 104
UNIDAD EDUCATIVA
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Operaciones con ficheros .................................................................................................. 203
UNIDAD EDUCATIVA
SISTEMAS
INFORMTICOS
MULTIUSUARIOS Y EN
RED
UNIDAD EDUCATIVA
INTRODUCCIN.
Desde hace ya bastante tiempo, el hombre ha tenido la necesidad de tratar y transmitir la informacin
de una forma continuada. Para conseguir los objetivos deseados, se han utilizado diferentes tcnicas y
medios.
Teniendo en cuenta esta necesidad, poco a poco se han creado herramientas que han ido facilitando
una solucin a estas necesidades, hasta que hace algunos aos se empezaron a disear y construir
herramientas complejas para el tratamiento y la transmisin de informacin.
La historia de la informtica personal comenz a finales de la dcada de los setenta cuando la
compaa norteamericana International Business Machine (IBM), decidi dar nuevos aires a la
informtica empresarial, hasta entonces prcticamente limitada a grandes ordenadores,
extremadamente costosos y que requeran unas condiciones de funcionamiento y control extremos. Lo
primero que hizo IBM fue contactar con una empresa capaz de disear y desarrollar un
microprocesador adaptado al objetivo que esta tenia. La empresa contactada fue la norteamericana
Intel que se comprometi a desarrollar el primer procesador de una serie que, luego, llegara a
convertirse en la familia de procesadores ms conocida en el mundo de la informtica. El procesador
8088 de Intel se transform en el cerebro de los nuevos productos de IBM, sus famosos PC.
Es el ordenador la herramienta que actualmente nos permite el tratamiento automtico de la
informacin, facilitndonos en gran medida su organizacin, proceso, transmisin y almacenamiento.
Un ordenador, computador o computadora es una mquina capaz de aceptar unos datos de entrada,
efectuar con ellos operaciones lgicas y aritmticas, y proporcionar la informacin resultante a travs
de un medio de salida; todo ello sin intervencin de un operador humano y bajo el control de un
programa de instrucciones previamente almacenado en el propio computador.
Informtica es una palabra de origen francs formada por la contraccin de los vocablos Informacin y
automtica. La Real Academia de la Lengua Espaola define la informtica como el conjunto de
conocimientos cientficos y tcnicas que hacen posible el tratamiento automtico de la informacin
por medio de ordenadores.
Se puede decir que Informtica o Ciencia e Ingeniera de os computadores es el campo de
conocimiento que abarca todos los aspectos del diseo y uso de los computadores. Como disciplina
utiliza los mtodos y procedimientos de los desarrollos tericos, experimentales y de diseos, por lo
que es tanto una ciencia como una ingeniera. La disciplina de informtica es el cuerpo de
conocimiento que trata del diseo, anlisis, implementacin, eficiencia, y aplicacin de procesos que
transforman la informacin.
El ordenador se puede definir como una mquina compuesta de elementos fsicos, en su mayora de
origen electrnico, capaz de realizar una gran variedad de trabajos a gran velocidad y con gran
precisin. El conjunto de rdenes o instrucciones que se introducen en un ordenador para realizar un
proceso determinado se denomina programa.
El conjunto de varios programas se denomina aplicacin informtica. Instrucciones, programas y
aplicaciones informticas, en general, junto con los datos que manejan estos quedan definidos bajo el
trmino de software.
Por otro lado, hay que considerar que para que estos programas funcionen y puedan genera la
informacin que el usuario precisa, se necesitan determinados componentes fsicos. Estos se agrupan
bajo la denominacin de hardware.
El conjunto de componentes hardware constituyen un sistema informtico.
Por ltimo, el Firmware es la parte intangible de componentes de hardware. Un ejemplo es el software
con el que estn programadas las memorias ROM, el software de configuracin de dispositivos de
comunicaciones, como routers o switches.
UNIDAD EDUCATIVA
PREREQUISITOS
Definiciones bsicas como:
Computadora
Software
Hardware
Computacin
Manejo de Microsoft Office
Word
Excel
Power Point
Access
EVALUACIN INICIAL
A) Elija la respuesta correcta
1. La computadora es:
a. Mquina electrnica rpida y exacta que es capaz de aceptar datos a
travs de un medio de entrada, procesarlos automticamente bajo el
control de un programa previamente almacenado, y proporcionar la
informacin resultante a un medio de salida.
b. Programas que realizan un determinado trabajo en un tiempo indicado.
c. Maquina que son capaces de tomar deciciones por si mismas
B) Conteste.
1. Cul es la principal diferencia entre hardware y software?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
2. Qu trabajos podemos realizar en Excel?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
C) Realizar.
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
3
UNIDAD EDUCATIVA
51 a 100
10
100 a 200
15
200 o mas
20
2. Dispositivos de salida
3. Dispositivos de almacenamiento
UNIDAD EDUCATIVA
ORIENTACIONES GENERALES
El Modulo de sistemas informticos multiusuario y en red el mdulo revisaremos temas como historia
del computador en el cual trabajaremos con investigaciones sobre los temas revisados en la hora clase.
En generaciones de Computadoras formaremos grupos de trabajo para realizar exposiciones de los
temas entregados.
Definicin y orgenes de trminos informticos.
Analizaremos los conceptos relevantes al rea de informtica y realizaremos clculos matemticos
para las transformaciones de las medidas de almacenamiento.
En el mbito de hardware estudiaremos las partes internas y externas del computador miestras que en
el mbito de software revisaremos manejo, uso e instalacion de los sistemas operativos tanto en
software libre como privado.
Se estudiara las principales fallas de un computador y de esta manera podremos poner en practica el
mantenimiento preventivo o correctivo segn sea el caso
Veremos la aplicacin de las redes infomticas en el campo laboral y asi seremos capaces de
implementar redes lan.
Los estudiantes debern aprobar el modulo con un promedio igual o mayor a siete caso contrario
deber rendir el supletorio correspondiente.
UNIDAD 1 INFORMTICA
INTRODUCCIN
HISTORIA DE LA COMPUTACIN
UNIDAD EDUCATIVA
Pascalina
Otro de los inventos mecnicos fue la Pascalina inventada por Blaise
Pascal (1623 - 1662) de Francia y la de Gottfried Wilhelm von
Leibniz (1646 - 1716) de Alemania. Con estas mquinas, los datos se
representaban mediante las posiciones de los engranajes, y los datos
se introducan manualmente estableciendo dichas posiciones finales
de las ruedas, de manera similar a como leemos los nmeros en el
cuentakilmetros de un automvil.
Maquina diferencial
La primera mquina analtica fue
creada por Charles Babbage, profesor matemtico de la Universidad
de Cambridge en el siglo XIX. La idea que tuvo Charles Babbage
sobre un computador naci debido a que la elaboracin de las tablas
matemticas era un proceso tedioso y propenso a errores. En 1823 el
gobierno Britnico lo apoyo para crear el proyecto de una mquina de
diferencias, un dispositivo mecnico para efectuar sumas repetidas.
El primero de estos dispositivos fue concebido en 1786 por Johann
Helfrich von Mller pero nunca fue construido.
Telar
Mientras tanto Charles Jacquard (francs), fabricante de tejidos,
haba creado un telar que poda reproducir automticamente
patrones de tejidos leyendo la informacin codificada en
patrones de agujeros perforados en tarjetas de papel rgido. Al
enterarse de este mtodo Babbage abandon la mquina de
diferencias y se dedic al proyecto de la mquina analtica que
se pudiera programar con tarjetas perforadas para efectuar
cualquier clculo con una precisin de 20 dgitos. La tecnologa de la poca no bastaba para hacer
realidad sus ideas.
El mundo no estaba listo, y no lo estara por cien aos ms.
Mark I
En 1944 se construy en la Universidad de Harvard, la Mark I, diseada por un equipo encabezado por
Howard H. Aiken. Esta mquina no est considerada como computadora electrnica debido a que no
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
6
UNIDAD EDUCATIVA
ENIAC
En 1947 se construy en la Universidad de
Pennsylvania la ENIAC (Electronic Numerical
Integrator And Calculator) que fue la primera
computadora electrnica, el equipo de diseo lo
encabezaron los ingenieros John Mauchly y John
Eckert. Esta mquina ocupaba todo un stano de
la Universidad, tena ms de 18 000 tubos de
vaco, consuma 200 KW de energa elctrica y
requera todo un sistema de aire acondicionado,
pero tena la capacidad de realizar cinco mil
operaciones aritmticas en un segundo.
El proyecto, auspiciado por el departamento de
Defensa de los Estados Unidos, culmin dos
aos despus, cuando se integr a ese equipo el
ingeniero y matemtico hngaro John von
Neumann (1903 - 1957). Las ideas de von Neumann resultaron tan fundamentales para su desarrollo
posterior, que es considerado el padre de las computadoras.
EDVAC
La EDVAC (Electronic Discrete Variable Automatic Computer) fue diseada por este nuevo equipo.
Tena aproximadamente cuatro mil bulbos y usaba un tipo de memoria basado en tubos llenos de
mercurio por donde circulaban seales elctricas sujetas a retardos.
UNIDAD EDUCATIVA
TALLER EN CLASE
Realizar un organizador grafico el cual resuma las principales caractersticas de cada una de las
maquinas anteriores.
GENERACIONES DE COMPUTADORAS
Primera Generacin
En esta generacin haba un gran desconocimiento de las capacidades de las computadoras, puesto que
se realiz un estudio en esta poca que determin que con veinte computadoras se saturara el
mercado de los Estados Unidos en el campo de procesamiento de datos.
Esta generacin abarco la dcada de los cincuenta. Y se conoce como la primera generacin. Estas
mquinas tenan las siguientes caractersticas:
En 1951 aparece la UNIVAC (NIVersAl Computer), fue la primera computadora comercial, que
dispona de mil palabras de memoria central y podan
leer cintas magnticas, se utiliz para procesar el
censo de 1950 en los Estados Unidos.
En las dos primeras generaciones, las unidades de
entrada utilizaban tarjetas perforadas, retomadas por
Herman Hollerith (1860 - 1929), quien adems fund
una compaa que con el paso del tiempo se
conocera
como IBM (International
Bussines Machines).
Despus se desarroll por IBM la IBM 701 de la cual
se entregaron 18 unidades entre 1953 y 1957.
En esta generacin las mquinas son grandes y costosas (de un costo aproximado
de miles de dlare
s).
UNIDAD EDUCATIVA
Segunda Generacin
Cerca de la dcada de 1960, las computadoras seguan evolucionando, se reduca su tamao y creca
su capacidad de procesamiento. Tambin en esta poca se empez a definir la forma de comunicarse
con las computadoras, que reciba el nombre de programacin de sistemas.
Las caractersticas de la segunda generacin son las siguientes:
nsistores.
de tra
Estn construidas con circuitos
UNIDAD EDUCATIVA
Tercera generacin
Con los progresos de la electrnica y los avances de comunicacin con las computadoras en la dcada
de los 1960, surge la tercera generacin de las computadoras. Se inaugura con la IBM 360 en abril de
1964.3
Las caractersticas de esta generacin fueron las siguientes:
operativos.
La IBM produce la serie 360 con los modelos 20, 22, 30, 40,
50, 65, 67, 75, 85, 90, 195 que utilizaban tcnicas especiales
del procesador, unidades de cinta de nueve canales, paquetes
de discos magnticos y otras caractersticas que ahora son
estndares (no todos los modelos usaban estas tcnicas, sino
que estaba dividido por aplicaciones).
UNIDAD EDUCATIVA
Cuarta Generacin
Aqu aparecen los microprocesadores que es un gran adelanto de
la microelectrnica, son circuitos integrados de alta densidad y
con una velocidad impresionante. Las microcomputadoras con
base en estos circuitos son extremadamente pequeas y baratas,
por lo que su uso se extiende al mercado industrial. Aqu nacen las
computadoras personales que han adquirido proporciones enormes
y que han influido en la sociedad en general sobre la llamada
revolucin informtica.
En 1976 Steve Wozniak y Steve Jobs inventan la primera
microcomputadora de uso masivo y ms tarde forman la compaa
conocida como la Apple que fue la segunda compaa ms grande del mundo, antecedida tan solo por
IBM; y est por su parte es an de las cinco compaas ms grandes del mundo.
En 1981 se vendieron 800 00 computadoras personales, al siguiente subi a 1 400 000. Entre 1984 y
1987 se vendieron alrededor de 60 millones de computadoras personales, por lo que no queda duda
que su impacto y penetracin han sido enormes.
Con el surgimiento de las computadoras personales, el software y los sistemas que con ellas de
manejan han tenido un considerable avance, porque han hecho ms interactiva la comunicacin con el
usuario. Surgen otras aplicaciones como los procesadores de palabra, las hojas electrnicas de clculo,
paquetes grficos, etc. Tambin las industrias del Software de las computadoras personales crece con
gran rapidez, Gary Kildall y William Gates se dedicaron durante aos a la creacin de sistemas
operativos y mtodos para lograr una utilizacin sencilla de las microcomputadoras (son los creadores
de CP/M y de los productos de Microsoft).
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
11
UNIDAD EDUCATIVA
Quinta Generacin
En vista de la acelerada marcha de la microelectrnica, la sociedad industrial se ha dado a la tarea de
poner tambin a esa altura el desarrollo del software y los sistemas con que se manejan las
computadoras. Surge la competencia internacional por el dominio del mercado de la computacin, en
la que se perfilan dos lderes que, sin embargo, no han podido alcanzar el nivel que se desea: la
capacidad de comunicarse con la computadora en un lenguaje ms cotidiano y no a travs de cdigos o
lenguajes de control especializados.
Japn lanz en 1983 el llamado programa de la quinta generacin de computadoras , con los
objetivos explcitos de producir mquinas con innovaciones reales en los criterios mencionados. Y en
los Estados Unidos ya est en actividad un programa en desarrollo que persigue objetivos semejantes,
que pueden resumirse de la siguiente manera:
El futuro previsible de la computacin es muy interesante, y se puede esperar que esta ciencia siga
siendo objeto de atencin prioritaria de gobiernos y de la sociedad en conjunto.
TALLER EN CLASE
Conteste:
1.
2.
3.
Cul de todas las generaciones cree que es la mas importante y por qu?
COMPUTADORA
Mquina capaz de efectuar una secuencia de operaciones mediante un programa, de tal manera, que se
realice un procesamiento sobre un conjunto de datos de entrada, obtenindose otro conjunto de datos
de salida.
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
12
UNIDAD EDUCATIVA
Computadoras digitales
Son computadoras que operan contando nmeros y haciendo
comparaciones lgicas entre factores que tienen valores numricos.
Caractersticas de las Computadoras Digitales:
Computadoras analgicas
Las computadoras analgicas no computan directamente, sino que perciben
constantemente valores, seales o magnitudes fsicas variadas.
Caractersticas de las Computadoras Analgicas
Son las computadoras ms rpidas. Todas las computadoras son rpidas pero la naturaleza directa
de los circuitos que la componen las hacen ms rpidas.
La programacin en estas computadoras no es necesaria; las relaciones de clculo son construidas
y forman parte de stas.
Son mquinas de propsitos especficos.
Dan respuestas aproximadas, ya que estn diseadas para representar electrnicamente algunos
conjuntos de daros del mundo real, por lo que sus resultados son cercanos a la realidad.
Estos se utilizan generalmente para supervisar las condiciones del mundo real, tales como Viento,
Temperatura, Sonido, Movimiento.
UNIDAD EDUCATIVA
SISTEMAS INFORMTICOS
UNIDADES DE MEDIA DE LA INFORMTICA
Usamos los metros para medir las longitudes.
Usamos los litros para medir capacidades.
Cuando necesitamos medir peso, utilizamos los gramos.
Y el tiempo, lo medimos en horas, minutos y segundos.
Para medir la capacidad de almacenamiento de informacin, utilizamos los Bytes.
Dentro de la computadora la informacin se almacena y se transmite en base a un cdigo que slo usa
dos smbolos, el 0 y el 1, y a este cdigo se le denomina cdigo binario.
Todas las computadoras reducen toda la informacin a ceros y unos, es decir que representan todos los
datos, procesos e informacin con el cdigo binario, un sistema que denota todos los nmeros con
combinaciones de 2 dgitos. Es decir que el potencial de la computadora se basa en slo dos estados
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
14
UNIDAD EDUCATIVA
computadora
almacena
los
programas
los
datos
como
colecciones
de
bits.
Hay que recordar que los mltiplos de mediciones digitales no se mueven de a millares como en el
sistema decimal, sino de a 1024 (que es una potencia de 2, ya que en el mbito digital se suelen
utilizar slo 1 y 0, o sea un sistema binario o de base 2).
La siguiente tabla muestra la relacin entre las distintas unidades de almacenamiento que usan las
computadoras. Los clculos binarios se basan en unidades de 1024.
En informtica, cada letra, nmero o signo de puntuacin ocupa un byte (8 bits).
Por ejemplo, cuando se dice que un archivo de texto ocupa 5.000 bytes estamos afirmando que ste
equivale a 5.000 letras o caracteres. Ya que el byte es una unidad de informacin muy pequea, se
suelen utilizar sus mltiplos: kilobyte (kB), megabyte (MB), gigabyte (GB).
UNIDAD EDUCATIVA
DATOS E INFORMACIN
En la vida cotidiana resulta bastante comn emplear indistintamente y con el mismo significado los
trminos dato e informacin. Pero cuando nos referimos a los sistemas de computacin es
conveniente hacer distincin entre ambos conceptos.
Dato es un concepto bsico, elemental y sin elaborar. Por ejemplo, los nombres con que
designamos los objetos que nos rodean, un precio, una direccin,
Informacin es un conjunto de datos ya procesados con un computador convertidos una
forma til e inteligible como, por ejemplo, un documento impreso y con un procesador
de textos, un recibo de pago, una tabla de pesos y edades,
El sistema informtico usa una computadora para el procesamiento de datos proporcionados como
entrada. Una vez procesados estos datos, la computadora genera la informacin de salida solicitada
por el usuario.
ENTRADA DE DATOS
PROCESO
SALIDA DE
INFORMACIN
Los datos son la materia prima necesaria para la obtencin de la informacin. De un conjunto de
datos suficientemente organizados y procesados convenientemente,
extraeremos el
conocimiento que nos faculta para una actuacin apropiada.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Para que un ordenador pueda tratar
automticamente un problema, se le
proporcionar un plan de trabajo muy
concreto: un programa, que ser un conjunto
de instrucciones que dirn a la mquina qu
trabajo debe realizar, adems necesitar que se
le proporcionen una serie de datos, cuya
manipulacin permitir obtener los resultados
deseados. Para que el ordenador pueda realizar
las operaciones necesarias con los datos que se
le suministran es necesario darle las
instrucciones en un lenguaje especfico y
''comprensible'', que es lo que se denomina lenguaje programacin.
Al ordenador se le suministra, por tanto, dos cosas: los datos y los programas; los cuales son
fundamentales en cualquier aplicacin informtica, y producen un resultado.
Por cuestiones de ndole, tcnica, los circuitos electrnicos que conforman una computadora,
suelen estar capacitados, en la mayora de los casos, para reconocer seales elctricas de tipo digital;
por tanto, se hace necesario que los mtodos de codificacin internos tengan su origen en el sistema
binario, y con ellos se puedan representar todo tipo de informaciones que maneje la computadora.
En los circuitos electrnicos, desde el punto de vista lgico, suele representarse la presencia de
tensin en un punto del circuito (respecto a masa) por medio de un 1, correspondiendo el 0 a la
ausencia de tensin. Si se hacen las consideraciones anteriores, se dice que se est utilizando lgica
positiva (utilizada en la mayora de los casos). Por otro lado, si se asocia el 0 a la presencia de
tensin y el 1 a la ausencia de la misma, se dice que se utiliza lgica negativa.
Componentes fsicos
No hace falta saber cmo funciona un ordenador para poder utilizarlo, como tampoco hace falta saber
cules son los fundamentos de los motores de combustin interna para poder conducir un coche. Sin
embargo, cuanto mejor conozca el funcionamiento interno del ordenador y cules son sus
componentes, mejor podr entender su comportamiento y en ocasiones, dar solucin a los pequeos
problemas que puedan surgirle.
El hardware, como ya hemos dicho, es la parte fsica del ordenador. Son elementos tangibles.
Algunos componentes hardware son la memoria, la fuente de alimentacin, los cables, la tarjeta
grfica, el disco duro, etc...
El hardware tuvo especial importancia en las primeras generaciones de ordenadores, debido sobre
todo, a que no se utilizaban los medios electrnicos miniaturizados que se usan en la actualidad. El
ENIAC2000, por ejemplo, era un ordenador capaz nicamente, de procesar operaciones como una
calculadora sencilla y que ocupaba el espacio de una habitacin completa. La conmutacin de las
operaciones de realizaba de forma manual, como si se tratase de una centralita de telfonos de hace
ms de treinta aos.
Un ordenador se compone de las siguientes unidades funcionales:
Unidad de entrada: Es el dispositivo por donde se introducen en el computador los datos e
instrucciones. En estas unidades se transforman las informaciones de entrada en seales binarias de
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
17
VIDA NUEVA
Educacin de calidad para un mundo competitivo
naturaleza elctrica. Estas pueden ser: el teclado, un digitalizador, un scanner, un lector de tarjetas de
crdito, etc.
Unidad de salida: Es un dispositivo por donde se obtienen los resultados de los programas
ejecutados en el computador. La mayor parte de estas unidades transforman las seales elctricas
binarias en caracteres escritos o visualizados o en imgenes. Estas pueden ser: el monitor, la
impresora, el modem, etc.
Unidad central de proceso (CPU). Consta de la unidad aritmtico-lgica (ALU), de la unidad de
control (UC) y de la memoria central.
Unidades perifricas o perifricos de entrada y salida.
Bios
Ranuras PCI
Cach
Chipset
Conectores USB
Zcalo ZIP
Ranuras DIMM
Ranuras SIMM
Conector EIDE (disco duro)
Conector disquetera
Ranuras AGP
Ranuras ISA
VIDA NUEVA
Educacin de calidad para un mundo competitivo
VIDA NUEVA
Educacin de calidad para un mundo competitivo
VIDA NUEVA
Educacin de calidad para un mundo competitivo
El procesador es el elemento encargado del control y ejecucin de las operaciones que se realizan dentro
del ordenador con el fin de realizar el tratamiento automtico de la informacin.
Es la parte fundamental del ordenador. Se encarga de controlar todas las tareas y procesos que
se realizan dentro de l. Al procesador se le denomina unidad central de proceso (CPU del ingles
Central Process Unit). Est formado por la Unidad de Control y la Unidad Aritmtico Lgica y su
propia memoria que no es la RAM.
El procesador es la parte pensante del ordenador; se encarga de todo: controla los perifricos, la
memoria, la informacin que se va a procesar, etc.. Adems de los componentes aqu mencionados
tambin son necesarios los mencionados en la introduccin a este epgrafe, la memoria y las
unidades de entrada y salida.
Una cosa que nos debe quedar clara es que el ordenador, a travs de su
microprocesador, solamente es capaz de procesar rdenes elementales. Lgicamente el procesar un
conjunto de estas rdenes sencillas, nos lleva a realizar el tratamiento de un programa.
La frecuencia con la que trabaja el microprocesador indica el nmero de instrucciones que es capaz
de procesar por segundo. A mayor frecuencia, mayor nmero de instrucciones para procesar.
Es microprocesador est conectado a un oscilador (reloj) que genera impulsos igualmente
espaciados en el tiempo. Su frecuencia base es de 14.31 Mhz (millones de ciclos por segundo). Es el
propio microprocesador el que divide esta frecuencia base para implementar un ciclo de mquina. El
ciclo ms frecuente y con el que empezaron a funcionar la mayora de los ordenadores es 1/3 de la
frecuencia base, es decir, 4.77 Mhz. Pues bien, varios ciclos de mquina son los que una instruccin
necesita para ejecutarse.
Por tanto una de las caractersticas que define a los procesadores es la velocidad o frecuencia a la que
trabajan. Esta velocidad se mide en megahertzios (Mhz), y de ella depender la velocidad de proceso
de nuestro ordenador. Las velocidades o frecuencias de trabajo de los ordenadores han pasado
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
21
VIDA NUEVA
Educacin de calidad para un mundo competitivo
desde los 4.77 Mhz de los primeros, denominados XT, hasta ms de 2 Ghz. Pero esto no parece tener
fin, pues los fabricantes crean procesadores cada vez ms rpidos y fiables.
Unidad de Control (UC)
Registros de uso general (R0 a Rm): Estos registros se utilizan como almacn temporal de los
datos con los que va a operar la ALU o de resultados intermedios. Tambin pueden dedicarse
a almacenar direcciones de memoria.
Acumulador: Es un registro significado (R0) que se usa con gran frecuencia en los lenguajes
mquina para operar entre este y otro registro o el contenido de una posicin de memoria,
depositndose el resultado en el acumulador de nuevo.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
La memoria principal se conecta al exterior por dos buses uno de direcciones y otro de datos,
adems dispone de una seal de control, denominada R/W para especificar si debe leer o
escribir.
Unidad Aritmtico-Lgica (ALU)
Esta unidad contiene los circuitos electrnicos con los que se hacen las operaciones detipo
aritmtico y de tipo lgico. Esta unidad tambin se puede denominar unidad de tratamiento o
camino o ruta de datos ya que aparte de considerar los circuitos especficos que
realizan las operaciones aritmtico-lgicas se consideran tambin otros elementos
auxiliares por donde se trasmiten o almacenan temporalmente los datos al objeto de operar
con ellos.
Memoria RAM
Es un componente necesario para que se pueda procesar la informacin. Lo normal es que los
procesadores incorporen otro tipo de memoria para agilizar los clculos de las instrucciones.
Esta memoria intermedia que almacena y procesa temporalmente la informacin se
denomina memoria cach. Esta memoria no es RAM propiamente dicha, sino un conjunto de
registros que almacenan la informacin que se utiliza con ms frecuencia.
La memoria cach:
Esta memoria de acceso rpido, ms aun que la propia RAM, se incorpora en la placa base de
los equipos, especialmente en los de la ltima generacin, para reducir la frecuencia de
accesos a memoria RAM que el procesador tiene que realizar.
La caracterstica fundamental de esta memoria es que al inicio de una sesin, el
ordenador se encuentra sin ninguna informacin. Una vez que el procesador accede a
memoria RAM para llevar o traer informacin, sta pasa por la memoria cach, quedndose
almacenada en ella. De esta forma, si tenemos que acceder, por la circunstancia que sea, a la
misma informacin de la memoria RAM, ya no ser necesario ir hasta ella, sino que esa
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
23
VIDA NUEVA
Educacin de calidad para un mundo competitivo
informacin se encontrar ya almacenada en la memoria cach; as, el acceso a la misma
informacin ser mucho ms rpido.
El principal problema de la memoria cach es que no tiene demasiada capacidad; por eso, la
informacin que se quedar almacenada en esta memoria ser solamente aquella que
utilicemos con mayor frecuencia.
Los ordenadores actuales suelen montar dos tipos de memoria cach. Los hay que incorporan
o montan cach asociado al propio procesador. Esta memoria agiliza en gran medida las
operaciones que se han de realizar por el propio procesador, ya que no necesita acceder a la
RAM continuamente. Este tipo de cach, llamado cach interno, es de pequea capacidad,
pero de elevado rendimiento.
Los ordenadores denominados celeron son ms baratos que los normales. Esto es debido a
que no incorporan este tipo de memoria cach asociada al procesador, disminuyendo la
velocidad real de proceso.
El otro tipo de cach, que incorporan todos los equipos actuales, se sita, normalmente, entre
el microprocesador y el resto de componentes hardware, como la propia RAM y el
controlador de entrada / salida. Sirve de almacenamiento intermedio, almacenando
aquellas rutinas, instrucciones o informacin que ms se utiliza. Con ello, se consigue
realizar menos accesos reales a la RAM y ganar velocidad de proceso. Este tipo de memoria
se denomina cach externo.
Podemos pensar que en algn momento la memoria cach puede llegar a saturarse. Esto es
cierto, pero el propio procesador ir actualizando la informacin que se almacena en
ella. Eliminar informacin que se utilice poco o que tenga poca importancia y se
cargar con informacin ms importante.
Perifricos. Tipos y caractersticas.
Se denominan perifricos tanto a las unidades o dispositivos a travs de los cuales la CPU se
comunica con el mundo exterior, como a los sistemas que almacenan o archivan
informacin, sirviendo de memoria auxiliar de la memoria principal.
Segn la definicin de perifrico dada anteriormente, stos estn constituidos por
unidades de entrada, unidades de salida y unidades de memoria masiva. Estas ltimas
unidades tambin pueden considerarse como unidades de entrada / salida, ya que la CPU y
memoria principal puede escribir sobre ellas, y la informacin escrita puede ser leda; es
decir, ser dada como entrada. Ahora bien, la informacin grabada en estos soportes no es
directamente inteligible para el usuario del computador; esto es, no puede haber una
intercomunicacin directa usuario-computador como la que hay a travs de un
tecladopantalla.
El ordenador es una mquina que no tendra sentido si no se comunicase con el exterior, es
decir, si careciese de perifricos. Debe disponer de:
Unidades de entrada, a travs de las cuales poderle dar los programas que queremos
que ejecute y los datos correspondientes.
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
24
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Unidades de salida, con las que el computador nos da los resultados de los programas.
Memoria masiva auxiliar, que facilite el funcionamiento y utilizacin del computador.
Qu es el Sistema Operativo?
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Las computadoras de 1960, no posean programas que ayudaran a gestionar su funcionamiento. A esta
organizacin se le llam Sistema Monoltico y facilitaran el trabajo a los usuarios. De hecho, tampoco
existan lenguajes de alto nivel que permitieran al programador sortear las limitaciones de la
computadora a la que programaba. Si el usuario quera leer un archivo, deba escribir el mismo las
rutinas para poner en marcha el motor de la unidad de cintas, buscar la informacin, comprobar que no
existan errores. Adems, todo ello deba realizarse en el cdigo binario del procesador con el que
estuviera trabajando.
Conforme se mejoraban los circuitos electrnicos, se fueron aadiendo facilidades va grupos de
programas que permitan organizar la ejecucin de los procesos, as como el almacenamiento de los
datos. De esta manera nacieron los Sistemas de Procesamiento por Lotes [Batch]. Los archivos BAT
del MS-DOS son herederos directos de esta tecnologa.
A finales de los aos 60, dentro del mundo universitario en Estados Unidos de Amrica se dise el
primer Sistema Operativo moderno: Multics. Este sistema permita un uso racional de los recursos de
la computadora, automatizando el sistema de archivos, la gestin de procesos y permitiendo el trabajo
de "mltiples" usuarios en una misma mquina.
Posteriormente se crearon otros Sistemas Operativos, pero el ms importante fue UNIX. Este, era
descendiente directo de Multics, y fue implementado por primera vez para una computadora PDP-7 en
1969. Una caracterstica que los distingui desde el principio es que no depende de la mquina en la
que funciona. Slo una pequesima parte de su cdigo est en ensamblador, y el resto en lenguaje C,
por lo que se extendi muy rpidamente a distintas mquinas. Actualmente domina el mercado de
Minis y Super Computadoras.
Estos Sistemas Operativos, que funcionaban en las antiguas y costossimas computadoras, deban
permitir el uso de varias personas simultneamente para aprovechar al mximo el rendimiento de la
mquina. Se estableca una estructura en la que la computadora era el centro y, alrededor suyo, se
establecan mltiples terminales sin capacidad de proceso. A estos Sistemas Operativos se les llam de
Tiempo Compartido.
Posteriormente, con el abaratamiento de los circuitos electrnicos, se comenzaron a fabricar Micro
Computadoras para uso personal. En 1980, IBM lanz su popularsima PC que incorporaba la primera
versin del MS-DOS.
Con la aparicin de computadoras personales, se crearon los Sistemas Operativos monousuario.
MSDOS es un claro exponente, ya que slo puede trabajar un usuario a la vez. Por ello, este sistema
no es ms que una simplificacin de los anteriores.
Al desarrollarse las comunicaciones y fabricarse redes de computadoras, se tuvo que disear otro tipo
de Sistema Operativo para gestionar la red. Ahora, debido a los avances en velocidad y calidad de
transmisin de las telecomunicaciones, el establecimiento de redes de computadoras privadas, las
computadoras multiproceso y al inmenso parque mundial de computadoras, se est diseando una
nueva arquitectura de Sistema Operativo. En ella, el mismo Sistema Operativo se encuentra
distribuido por diversas mquinas para aprovechar al mximo los recursos globales del sistema.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
conocen como llamadas al sistema. Estas crean, eliminan y utilizan varios objetos del software,
controlados por el sistema operativo.
Los ms importantes son los procesos y archivos.
Procesos
El concepto central de cualquier sistema operativo es el proceso, una abstraccin de un programa en
ejecucin.
Todas las computadoras modernas hacen varias cosas al mismo tiempo. A la vez que ejecuta un
programa del usuario, una computadora puede leer de un disco e imprimir en una terminal o
impresora.
Aunque en sentido estricto, la CPU ejecuta en cierto instante un solo programa, durante un segundo
puede trabajar con varios de ellos, lo que da una apariencia de paralelismo. A veces, las personas
hablan de seudoparalelismo para indicar este rpido intercambio de los programas en la CPU, para
distinguirlo del paralelismo real del hardware, donde se hacen clculos en la CPU a la vez que operan
uno o ms dispositivos en E/S. Es difcil mantener un registro de las distintas actividades paralelas, los
diseadores de sistema operativos ha desarrollado un modelo que facilita el uso del paralelismo.
Archivos
Como ya mencionamos anteriormente, una de las funciones principales del sistema operativo es la de
ocultar las peculiaridades de los discos y dems dispositivos de entrada/salida, para presentar al
programador un modelo agradable y ntido de archivos independientes de los dispositivos.
Para poder proporcionar un espacio donde almacenar los archivos, los sistemas operativos soportan el
concepto de directorio como una forma de agrupar los archivos.
Es evidente la necesidad de llamadas al sistema en la creacin, eliminacin, lectura y escritura de
archivos. Antes de poder leer un archivo, hay que abrir este, despus de leer un archivo, este debe
cerrarse; siendo las llamadas al sistema, las que permiten realizar estas operaciones.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Los equipos modernos suelen estar ya preparados para ello. No obstante, si al introducir el CD de
instalacin, no se ejecutase el programa de instalacin, habr que modificar la configuracin de la
BIOS, para escoger el CD/DVD como primer dispositivo para el arranque.
Esta operacin depende del modelo de placa base/madre del equipo, por lo que de ser posible
consultaremos la documentacin del fabricante.
Normalmente, para acceder a la modificacin de la configuracin de BIOS, hay que pulsar la tecla
Suprimir, F2 en los primeros segundos del POST (comprobacin del sistema en el encendido).
Luego, en la configuracin avanzada, debemos cambiar el parmetro BOOT para que el primer
dispositivo sea el CD. Esta operacin difiere mucho entre distintos ordenadores. Manipular otros
parmetros de la BIOS puede dejar al ordenador inservible. Solicite ayuda a algn experto si no sabe
qu hacer. Seleccione la opcin de salir sin salvar los cambios (EXIT Without update). Finalmente,
hay que seleccionar la opcin salvar cambios y salir (normalmente pulsando F10).
2. Preparacin del Disco Duro:
Esta fase consiste en crear las particiones del tipo necesario para que nuestro S.O. Pueda instalarse.
En Windows los tipos de particiones que se emplean son FAT32 (Windows 95/98) y NTFS (Windows
NT/2000 y XP). En Linux/UNIX, se aceptan muchos ms tipos de particiones, siendo el sistema de
ficheros ms popular el EXT3.
Si queremos instalar un sistema operativo en un disco donde ya haya otro sistema operativo instalado,
es muy importante hacer copia de seguridad de los datos importantes antes de proseguir la instalacin,
ya que existe un alto riesgo de perderlos TODOS por un error durante el proceso. Una vez hecho esto,
tendremos dos opciones:
Sustituir el sistema operativo anterior.
Instalarlo permitiendo su coexistencia y seleccin durante el periodo de arranque del ordenador. Si
elegimos la primera opcin, suele ser buena idea borrar en el proceso de instalacin las particiones
antiguas y despus crear las nuevas, realizando una comprobacin completa de su estado para conocer
si hay errores o defectos en el disco.
En el caso de querer hacer una instalacin dual, habr que conseguir espacio suficiente para instalar el
nuevo sistema operativo, normalmente restndoselo a las particiones existentes anteriormente para el
primer sistema. Esta delicada tarea, suele hacerse con herramientas software especial, como
Partition Magic o libre y gratuito bajo Linux QTParted. En ambos casos, es muy recomendable
realizar una sola modificacin cada vez y llevarla a efecto, en lugar de programar varias encadenadas.
Los programas instaladores de Linux, suelen incorporar herramientas que permiten dicha
modificacin. No ocurre as en los de Windows, que solo permiten borrar antiguas y crear nuevas.
Suele ser muy interesante por motivos de seguridad, crear particiones independientes para guardar
los datos de los usuarios (por ejemplo una unidad D: en Windows, o directorio /home en Linux).
3. Ejecutar el programa de instalacin
Para ello, normalmente bastar con introducir el CD de instalacin y volver a encender el equipo con
el dentro. Debemos estar atentos a los primeros instantes para leer un posible mensaje de proceder a la
instalacin y aceptarlo. En caso contrario, bastar con esperar sin hacer nada.
4. Proporcionar el nombre y contrasea del usuario que ser administrador del sistema.
Todo sistema multiusuario que se precie, debe tener un responsable de su funcionamiento,
mantenimiento y de otorgar permisos de uso del equipo y/o sus recursos a terceros. Es durante la fase
de instalacin durante la que se especifica la contrasea pare el mismo. En los sistemas UNIX, el
nombre del administrador es siempre root. En sistemas como Windows, UBUNTU o GuadaLinex,
esta labor la lleva el primer usuario creado, hasta que se especifique lo contrario.
5. Seleccionar los componentes software opcionales que queremos instalar.
Muchas distribuciones de S.O. pueden contener software adicional (en ocasiones varios CD o DVDs)
que puede ser instalado durante la instalacin del mismo. Es habitual que se nos pregunte por qu
seleccin de programas recomendada o personalizada queremos instalar. Una vez hecho esto,
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
28
VIDA NUEVA
Educacin de calidad para un mundo competitivo
comienza la copia de todos los ficheros necesarios desde los soportes de instalacin al disco duro del
equipo.
6. Ajustar los parmetros de la red.
Si nuestro equipo va a ser utilizado en una red local o en Internet, habremos de configurar
adecuadamente el dispositivo de comunicaciones (normalmente la tarjeta de red). Para ello,
necesitaremos obtener la informacin pertinente del administrador de la red o del proveedor de
servicios de Internet que tengamos contratado en su caso.
Lo ms comn, (y por tanto la instalacin por defecto) es que los equipos se configuren de modo que
automticamente consigan el ajuste necesario de la red desde otro equipo que los coordina a todos,
mediante un protocolo denominado DHCP (Dinamyc Host Control Protocol). Si es as, no necesitamos
hacer nada ms.
En caso contrario, deberemos obtener y anotar la informacin correspondiente para la tarjeta de red:
(todos ellos combinaciones de 4 nmeros del 0 al 255 separados por puntos) Direccin IP: el nmero
que distingue nuestro ordenador en la red para comunicar.
Mscara de subred: un nmero que ayuda a distinguir si las direcciones que buscamos son de nuestra red
local o externos. Normalmente es 255.255.255.0
Puerta de enlace predeterminada: la direccin I.P. del equipo (p.ej. Router) que nos da acceso a otras
redes, como por ejemplo Internet.
Direccin de un servidor de D.N.S.: La direccin del equipo que puede informarnos de la direccin IP
de otro que solo conocemos por su nombre de dominio. Hacen el trabajo de las pginas blancas de
Internet.
Pueden obtenerse I.P.'s de DNS desde: http://www.bandaancha.st/toolsdns.php 7.
Instalar el gestor de arranque.
Al instalar el sistema operativo, es necesario incluir en el sector de arranque del Disco Duro (llamado
MBR o Master Boot Record), un pequeo programa que nos permite encontrar en qu parte del disco
se encuentran los distintos sistemas operativos, y seleccionar uno para comenzar a trabajar cuando
encendemos el equipo.
En las instalaciones de Linux, el programa en cuestin suele ser el LILO (Linux Loader) o GRUB (GRand
Unified Bootloader).
En Windows, tras su instalacin, se destruye el cargador de arranque que estuviese antes, y solo
quedar la posibilidad de acceder a dicho sistema operativo. Es por ello muy conveniente que de tener
instalado Linux en nuestro ordenador adems de Windows, dispongamos de un disquete de arranque
que tambin tenga el GRUB o LiLo en l para poder arreglar el destrozo que provocar la
reinstalacin de Windows cuando probablemente ocurra.
Si tras instalar Linux, no podemos arrancar el Windows anteriormente instalado (caso poco probable),
podremos reponer el de Windows con un disco de arranque de Windows introduciendo por teclado la
orden: fdisk /mbr Asegrese de tener antes un disquete o CD de arranque con LiLo o GRUB
configurado antes de usar fdisk, o no podr volver a arrancar Linux despus.
8. Realizar las actualizaciones de seguridad.
Probablemente, desde que se public la versin de nuestro S.O. hasta el momento de la instalacin, se
han publicado correcciones del mismo que pueden aplicarse mediante un proceso de actualizacin a
travs de Internet, o de discos de Service Pack que las contienen cuando ya son muy numerosas.
De no llevarlas a cabo, es muy probable que en poco tiempo tengamos problemas causados por virus,
intrusos a travs de la red o fallos del propio S.O. desconocidos en el momento de su publicacin.
9. Reiniciar el sistema
Es la fase final de la instalacin, y nos mostrar que el sistema est convenientemente instalado.
Antes de hacerlo, debemos asegurarnos de que hemos retirado el CD/DVD de instalacin, o
volveremos otra vez iniciar el proceso. Si es as, apagamos el equipo y sacamos inmediatamente el
CD/DVD en los primeros instantes del arranque.
10. Instalar los plugins del navegador
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
29
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Los plugins son pequeos programas que aaden a otras nuevas funcionalidades, como permitir a
nuestro navegador visualizar contenidos y pginas web que no son documentos puros HTML.
Los ms usados y considerados imprescindibles son:
JAVA (http://java.sun.com) para ejecutar programas interactivos, juegos, chats, etc.
Macromedia Flash Player /Shokwave (http://macromedia.com http://www.adobe.com) para
visualizar contenidos multimedia interactivos desarrollados con programas de dicho fabricante. Adobe
Reader (http://www.adobe.com) para visualizar documentos en formato .pdf que cada vez estn ms
extendidos.
Normalmente, en Windows, al visitar una pgina que los emplee, les dirigir de forma automtica a la
pgina donde descargar el plugin para que lo instale.
En Linux, la instalacin debe realizarla en administrador, preferentemente mediante el correspondiente
paquete de su distribucin.
11. Instalar los Drivers necesarios para los dispositivos no reconocidos en la instalacin
Es habitual que si se instala el sistema operativo, ano nos funcione an o al menos correctamente la
impresora, el escner, la tarjeta de sonido la tarjeta grfica, la tarjeta sintonizadora de TV, etc.
Para que puedan hacerlo, es necesario instalar en nuestro S.O. Los DRIVERS de los mencionados
dispositivos correspondientes a la versin de nuestro sistema operativo, y a ser posible actualizados.
Un Driver es un pequeo programa que se encarga de hacer comunicar y funcionar un dispositivo
hardware en el S.O. En muchos casos, el propio S.O. los instala, pero debido a la gran variedad de
tipos de dispositivos y de fabricantes existentes en la actualidad, es imposible incluirlos todos. Para
conseguir los drivers, recurrimos al disco de instalacin del dispositivo o a la pgina WEB del
fabricante del mismo (por ej.: HP, EPSON, Nvidia, ATI, CREATIVE, etc...), seleccionando los de
nuestro S.O. y versin del mismo. En ocasiones suele ser necesario reiniciar el ordenador (casi
siempre en Windows).
Procedimiento estndar para la instalacin de un sistema operativo
I- Salva de informacin.
1. De los usuarios que se encuentran en:
a. Particin de trabajo (por lo general en D)
b. En la carpeta personal del usuario
En caso de sistema en Windows XP en C:/Documents and Settings/usuario/escritorio y mis
documentos.
En caso de sistema Windows 7 en C:/users/usuario/Desktop y documents.
2. Salva de los eventos de seguridad.
Con el nombre, por ejemplo: Nombre de la PC ao-mes-da Esta
salva debe ser comprobada contra virus.
II- Preparacin de la PC
1. Revisin del CD de los driver de la PC. En caso de no poseer el disco de los driver extraerlos con
la siguiente aplicacin:
2. Driver.Genius.Professional.Edition.v9.0.0.180.Multilingual.
3. Configurar el Setup para que la PC realice el proceso de arrancada (booteo) desde el CD.
III- Proceso de instalacin
1. Particionado y formateado del disco duro mediante el programa Partition Magic teniendo en
cuenta capacidad del disco duro y sistema operativo a instalar, segn la siguiente tabla:
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Sistema
Operativo
Windows
Windows XP
Windows 7
Sistema
Linux
Operativo
En el caso del sistema operativo Windows, se instalar la versin ms reciente compilada por el D.I.C.
que contiene las ltimas actualizaciones de seguridad.
En el caso del sistema operativo Linux se escogern versiones cuyo repositorio exista en los servidores de
la Institucin o en la red nacional que posibilite su actualizacin sistemtica.
3. Instalacin de los programas bsicos siguientes:
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Estos programas formarn parte de la ltima compilacin realizada por el D.I.C. con el sistema
operativo parcheado con las ltimas actualizaciones de seguridad y los programas siguientes
actualizados:
Drivers: Controlador de dispositivo es el software que comunica los perifricos con el sistema operativo.
Navegador de Internet: Mozilla Firefox por defecto.
Cliente jabber para mensajera instantnea: Gajim
Antivirus: Segn las propiedades de la PC, que se actualizan de forma automtica y estn aprobados en
el PSI de la Institucin, por ejemplo:
Memoria Ram
Antivirus
< de 128 Mb
Sav32
Kaspersky o Nod32
AVG
Sistema operativo
< de 256 Mb
> de 256 Mb
Office 2003
Office 2007 o superior
VIDA NUEVA
Educacin de calidad para un mundo competitivo
rea
Local
PC
Ciencias Tcnicas
Industrial
CT-Ind-#
Administradores
dominio
/ lectura
del
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Otros procedimientos
Para instala el Windows 98 o Windows Millenium.
1.- Introduce el CD-ROM de Windows 98 o Windows Millenium, teclea E: y Enter.
2.- Teclea Instalar y Enter. Nos avisar que iniciar la instalacin y Enter.
3.- Ahora comenzar a hacer un ScanDisk y al terminar nos dar un informe de errores si encuentra
alguno (lgicamente no habr ninguno ya que acabamos de formatear la unidad C:) 4.- Con la tecla
selecciona Salir y Enter. La instalacin ha comenzado.
5.- Oprime Siguiente cuando aparezca la ventana del Asistente. Haz clic en Acepto el contrato y presiona
Siguiente.
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
34
VIDA NUEVA
Educacin de calidad para un mundo competitivo
6.- Introduce el cdigo del producto que acompaa al CD-ROM de Windows por ejemplo (CDF22 AR987
HJKLM ABCDE VWX4Y) y presiona Siguiente.
7.- En la siguiente ventana escoge el directorio donde quieres que se instale Windows, por defecto est
en C:\Windows, presiona Siguiente y en Opciones de instalacin seleccionamos Tpica y presiona
Siguiente.
8.- Introduce el nombre y organizacin que quieras, por ejemplo puedes poner tu nombre y en
organizacin Personal y presiona Siguiente.
9.- En la ventana de Componentes de Windows selecciona Instalar los componentes ms comunes
(Recomendado) y presiona Siguiente.
10.- En identificacin en Red si no quieres no pongas nada djalo como est, o por el contrario si lo deseas
puedes cambiar todo y luego presiona Siguiente.
11.- Escoge el Pas o Regin y presiona Siguiente.
12.- Escoge la Zona horaria y presiona Siguiente.
13.- Ahora comenzar a crear un disco de Inicio, si no lo deseas presiona Cancelar y si por el
contrario quieres hacer uno, entonces retira el que tienes en la disquetera e introduce un disquete
formateado y etiquetado y presiona Aceptar.
14.- Una vez creado el disco de Inicio o Cancelado la creacin del disco, presiona Finalizar y continuar
la carga de Windows y vers el progreso de la instalacin.
15.- Se reiniciar varias veces el equipo durante la instalacin y finalizar la instalacin
16.- Despus aparecer el cuadro de Contrasea de Windows, tienes la opcin de no poner nada y la
computadora no tendr contrasea o por el contrario puedes poner un nombre de usuario y contrasea
para entrar en la computadora y presiona Aceptar, despus de unos segundos por fin vers el
Escritorio de Windows.
Instalacin de un Sistema Operativo Microsoft Windows con disquete de inicio.
Para instalarlo de cero los pasos serian los siguientes.
a. Formatear el Disco Rgido con un formateo rpido o comn segn corresponda.
b. Reiniciar el sistema con un disquete de inicio del Sistema Operativo a instalar, o utilizar el CD
deMicrosoft Windows XP para la instalacin del mismo.
O en este caso (como tendr que hacer en mquinas viejitas, un poco ms complicado), con el
disquete de inicio del Sistema Operativo Microsoft Windows Me tendr las siguientes opciones en
pantalla:
MEN DE INICIO D
WINDOWS MILLENNIUM
EMICROSOFT
1. AYUDA
2. INICIAR PC CON COMPATIBILIDAD CON
CD-ROM
3. INICIAR PC SIN COMPATIBILIDAD
CON CD-ROM
4. INICIO MNIMO
Hay que seleccionar la opcin nmero 2. De esta forma se cargarn los Drivers para la lectora de CD
desde la cual se instalar este Sistema Operativo.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Dirjase a la unidad de CD escribe setup, install o instalar segn la versin que se disponga instalar
de Microsoft Windows. No ocurre nada si se equivoca y escribe setup cuando debi haber escrito
instalar, solo mostrar un mensaje diciendo que no encontr el archivo. Al ejecutar el programa
de instalacin (por ejemplo setup) se iniciar el programa de instalacin que luego de comprobar
rpidamente que el HD est en condiciones le ir mostrando distintas pantallas y guiando en el
proceso de instalacin de este SO. Le preguntar el nmero de serie del producto, que acepte una
licencia de uso, que le indique la ubicacin geogrfica en la cual est instalando l, etc.
Actualizar a Microsoft Windows XP
Si desea actualizar a Microsoft Windows XP y cumple con los requerimientos mnimos de sistema
(requerimientos de Memoria RAM, Microprocesador, etc.) o se le complica mucho la instalacin de
Windows XP desde el CD (porque le de algn error, en las primeras versiones a veces ocurra)
puede instalar por ejemplo el Sistema Operativo Microsoft Windows Me, y sin configurar e instalar
los Drivers ya que ser algo intil en este caso. Inserte el CD de Microsoft Windows XP estando
funcionando Windows Me. Le saldr una ventana como la mostrada en siguiente imagen, para
actualizar el Sistema Operativo.
De esta ventana seleccione Instalar Windows XP. Luego de esto mostrar la siguiente pantalla:
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Historia De Ms-Dos
La primera computadora personal fue la Altair, producida en 1975 por la compaa MITS. Tena un
CPU con el Intel 8080 de 8 bits y 256 bytes de memoria. No tena teclado, pantalla, cintas o discos.
Despus de unos aos, muchas compaas comenzaron a fabricar computadoras personales con base
en el chip 8080, casi todas con un sistema operativo llamado CP/M.
La PC-IBM
Alrededor de 1980, IBM, vio la necesidad de tener su propia computadora personal. Para entonces
Intel haba producido dos sucesores del 8080, el 8086 de 16 bits y una versin de l con un bus de 8
bits, el 8088 que fue comprada por IBM. Microsoft compr para IBM un sistema operativo del tipo de
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
37
VIDA NUEVA
Educacin de calidad para un mundo competitivo
CP/M-86 al cual le realizo unos cuantos arreglos. Cambiaron su nombre por el de MS-DOS
(MicroSoft Sistema operativo de disco). IBM anunci la PC en agosto de 1981.
MS-DOS poda ejecutar la mayor parte del software que se utilizaba entonces en el 8080 bajo CP/M.
La PC estaba equipada con hardware para el control de las cintas de audiocassette y palancas de
control para los videojuegos.
Respecto del hardware de la PC. Aunque el 8088 tiene un espacio de direcciones de 1 megabyte, IBM
decidi asignar los primeros 640 de stos al RAM y el resto a ROM, tarjetas de vdeo y otros
elementos. En consecuencia, la configuracin de MS-DOS slo soporta programas con un tamao
mximo de 640 K. Al surgir despus modelos con hasta 16 MB, la incapacidad para ejecutar
programas mayores de 640 K se convirti en un problema.
Los programas de la PC de IBM eran libres de no utilizar el sistema operativo y tener acceso directo al
hardware.
MS-DOS Versin 1.0
Fue lanzada junto con la PC DE IBM. Ocupaba 12 K de los 64 K de la memoria de la mquina. El
cdigo constaba de 4000 lneas de cdigo ensamblador. El nico disco que soportaba era el de 5
plg, de un solo lado y 160 K.
El sistema operativo constaba de 3 programas: ibmbio.com, el sistema de E/S de discos y caracteres;
ibmdos.com, el manejador de discos y archivos; y command.com, el procesador de comandos, un shell
primitivo. MS-DOS siempre ha hecho uso de un ROM en hardware integrado a la PC DE IBM,
llamado BIOS (Sis. Bsico de E/S). BIOS contiene los manejadores de los dispositivos estndar, por lo
que bastaba que MS-DOS los llamara para realizar la E/S.
El BIOS se localizaba cerca de la parte superior del espacio de direcciones de MI en el ROM del 8088, no
ocupaba RAM.
La versin MS-DOS 1.0 era compatible con CP/M.
Microsoft lanz la versin 1.1 en 1982, la cual soportaba los discos de 320K de doble lado. En lo dems
era similar a la versin 1.0.
MS-DOS Versin 2.0
En 1983, IBM present la PC/XT, su primera computadora personal con un disco duro. Vena con la
versin 2.0. Aunque soportaba las llamadas al sistema de CP/M, Microsoft volvi a escribirlo desde
cero y le incorpor ideas de UNIX como las llamadas al sistema OPEN, READ, WRITE y CLOSE. El
shell tambin se mejor; poda manejar el redireccionamiento de la E/ S, adems de soportar
entubamientos y filtros.
MS-DOS 2.0 tambin incluy manejadores de dispositivos que poda instalar el usuario, cola de
impresin (spooloing), configuracin del sistema, administracin de la memoria y shells adaptados. Al
surgir una gran demanda a nivel mundial de la PC/XT produjo la versin 2.05, que soportaba la hora,
fecha, moneda y smbolos decimales de muchos pases.
MS-DOS Versin 3.0
En 1984, IBM lanz la PC/AT, su primera computadora personal con base en el chip 286. Esta
soportaba una memoria de hasta 16 MB, tena modos usuario y ncleo, un modo de proteccin con
base en anillos y capacidad de ejecutar varios programas a la vez. La versin de MS/DOS empacada
con la PC/AT era la 3.0.
La PC/AT vena con una unidad de disco de 1.2 M, reloj con batera y la informacin de la configuracin
en CMOS, se aadi el soporte para estos dispositivos.
Adems, ahora se soportaban los discos duros de ms de 10M y se presentaron los discos en RAM y el
procesador de comandos (shell) se elimin del sistema operativo y se conform como un programa
independiente.
El 3.0 se reemplaz por 3.1, que proporcion el primer soporte para las redes.
La siguiente edicin fue la 3.2. Soportaba discos de 3 plg..
En 1987, IBM present el sucesor de la lnea PC, la familia PS/2 (Sistema Personal 2). Venan con
discos de 3 plg. y 720K en las versiones ms pequeas y discos de 3 plg. con 1.44M en las
versiones ms grandes.
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
38
VIDA NUEVA
Educacin de calidad para un mundo competitivo
IBM y Microsoft lanzaron un sistema operativo nuevo llamado OS/2. Como se entreg tarde e
incompleto, Microsoft lo desech, esto molest a IBM, que abandon a Microsoft y firm contrato
con Apple Computer para su futuro software.
MS-DOS Versin 4.0
IBM present la versin 4.0. Una de las grandes mejoras de esta edicin fue el soporte de discos duros
mayores de 32 M. MS-DOS 4.0 soporta discos de hasta 2 gigabytes. Aunque los programas seguan
restringidos a 640 K, se podan utilizar hasta 16M de memoria extendida para el disco en RAM. Otra
mejora fue el shell de DOS, controlado mediante mens. En fin, esta versin no se utiliz con
amplitud.
MS-DOS Versin 5.0
Fue anunciada en 1991, fue la primera versin que haca un uso serio de la memoria extendida, de la
que muchos poseedores de 286 y 386 tenan varios megabytes. An con la restriccin de que los
programas no podan exceder los 640K, al menos tena la capacidad de colocar la mayora del propio
MS-DOS en la memoria extendida, de modo que cerca de 600K de los 640K inferiores estaban
disponibles para los programas del usuario. Adems, los manejadores de dispositivos escritos por el
usuario tambin se podran colocar en la memoria extendida. MS-DOS 5.0 tambin poda utilizar la
memoria entre los 640K y 1M de las mquinas 386 para los manejadores de dispositivos y ciertas
utilerias.
Tambin proporcion un nuevo shell, con la capacidad de tener varios programas en la memoria al
mismo tiempo. 5.0 tambin vena con un amplio programa de ayuda (HELP), para auxiliar a los
nuevos usuarios.
Panorama de MS-DOS
Uso de MS-DOS
Existe un shell, comand.com, un sistema de archivos, llamadas al sistema, programas de utileras y
otras caractersticas. Para utilizar MS-DOS slo hay que encender la computadora. Unos segundos
despus, aparece el indicador del shell. Por la razn de que la mquina es utilizada por una nica
persona, los archivos y directorios no tienen propietarios y no existen bits de proteccin.
Para ejecutar un programa, se escriben su nombre y argumentos en el shell. Los comandos de MSDOS
se dividen en dos categoras: internos y externos. Los internos se ejecutan por el propio shell, los
externos son autnticos programas, que, por lo general, se encuentran en el directorio /dos o /bin.
En MS-DOS, muchas de las utileras de ms uso son comandos internos del shell. En total existen 40
comandos internos. La construccin de tantos comandos dentro del shell representa una situacin
contradictoria. Por un lado, el hecho de no tener que buscarlos en un disco lento los hace ms rpidos.
Puesto que la PC DE IBM original no tena un disco duro. Por otro lado, todo ese cdigo hace que el
shell sea ms grande.
En MS-DOS, la lnea de comandos se transfiere de manera literal al programa.
MS-DOS 5.0 tiene un programa doskey que se puede instalar con el fin de registrar y guardar en un
buffer todas las combinaciones de teclas. Su funcin es permitir la repeticin de comandos, con o sin
edicin. Por ejemplo, al oprimir la tecla F7, doskey exhibe una lista de los comandos ms recientes. Se
puede seleccionar uno de ellos mediante la tecla F9. El comando se puede volver a ejecutar de manera
directa, o bien editarlo y volverlo a ejecutar.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Hay tres formas de ingresar al MS-DOS de nuestro sistema las cuales las detallamos a continuacin. A.
Primera forma.
1. Clic en el botn de inicio.
2. Seleccionamos Todos los programas.
3. Abrimos la carpeta de Accesorios.
4. Escogemos Smbolo del sistema.
B. Segunda forma.
1. Clic en el botn de inicio.
2. Clic en buscar.
3. Digitamos CMD y enter.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
C. Tercera forma.
1. Presionamos una combinacin de teclas (Windows+R)
2. Se nos presenta una pequea ventana de dialogo en la cual digitamos CMD y presionamos enter.
En la cual comenzaremos a trabajar con los diferentes comandos que mencionaremos a continuacin.
Caracteres de interaccin (PROMPT)
El prompt del sistema identifica la unidad por omisin, la unidad donde el MS-DOS busca los
archivos, tambin se le llama carcter de interaccin o indicador de comandos, y es lo que emplea el
MS-DOS para indicar que est pidiendo que introduzca un comando.
Ej:
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
41
VIDA NUEVA
Educacin de calidad para un mundo competitivo
C:\>_
A:\>_
Tipos de archivos
Se consideran tres tipos:
1. Archivos de Texto: Contiene informacin que se puede ver. Por ejemplo procesadores de texto (que no
tengan extensiones COM y EXE).
2. Archivos de Datos: Contiene informacin que puede ser leda por un programa, pero no por una
persona. No tienen extensiones COM o EXE.
3. Archivos de Programas: Contienen programas que la computadora puede ejecutar. Tienen extensiones
COM y EXE.
Nombres de archivos y extensiones
Un archivo puede tener un nombre formado por hasta ocho caracteres de longitud, ya sean letras o
nmeros. Se puede aadir un sufijo denominado extensin - al nombre del archivo para describir su
contenido con ms precisin. La extensin puede tener una longitud de hasta tres caracteres, y es
necesario que exista un punto entre el nombre y la extensin del archivo.
Ej:
INFORME.ENE
INFORME.FEB
INFORME.MAR
Extensiones especiales
Nombre
Significado para el MS-DOS
BAT
COM
EXE
HLP
OVL
SYS
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Comandos del MS-DOS
Las instrucciones que le damos al MS-DOS se llaman comandos, usndose generalmente las teclas:
enter, retroceso y las direccionales.
Comandos internos
Los comandos internos o residentes son aquellos que se transfieren a la memoria en el momento de
cargarse el Sistema Operativo y se pueden ejecutar sin necesidad de tener el DOS presente en la
unidad por defecto desde el cual se puede ejecutar el mandato. La unidad por defecto es la unidad en
la que se est, por ejemplo A:\>_ ; y la unidad especificada es aquella a la cual nos dirigimos o
especificamos estando en otra unidad, por ejemplo A:\>B: , la unidad especificada es B.
Los comandos internos se encuentran almacenados en un archivo llamado COMMAND.COM. Algunos de
los comandos internos son:
COMANDO
FUNCIN
EJEMPLO
CD
Cambiarse a un directorio
determinado
C:>CD LIBRO
CLS
Limpia la pantalla
C:>CLS
Dir
Muestra
los
C:>Dir
archivos y
subdirectorio a otro disco de
trabajo.
Copia a un archivo de un C:>Copy dibujame.doc
directorio a otro o de una
unidad de almacenamiento a
otro
Copy
Date
C:> date
Del
MD
Move
Crea un directorio en el
disco duro de trabajo
C:>MD libro
C:>move dibujo
Comandos externos
Los comandos externos en contraccin con los mandos internos se almacena en archivos de comandos
denominados transitorios o externos, y para ejecutarse necesitan de estos archivos, adems de los
comandos externos tienen nombre propio y se pueden copiar de un disco a otro.
ATTRIB - Sin parmetros, visualiza los atributos de los directorios y archivos. Con parmetros, cambia
los atributos de directorios y archivos.
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
43
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Los atributos de los directorios, y los ficheros son: de lectura (r), de escritura (w), de archivo (a),
oculto (h), de sistema (s). Parmetros: signos (ms o menos) y letras r, w, a, y h "v". Ejemplo: Attrib
+r *.* (atributo de slo lectura, para todos los ficheros de ese directorio)
APPEND - Sirve para especificar trayectorias para ficheros de datos.
BACKUP - Ejecuta una copia de seguridad de uno o ms archivos de un disco duro a un disquete.
CHKDSK - Verifica si hay errores en el disco duro. (Tambin se puede utilizar para corregirlos con el
parmetro "/F")
DELTREE - Borra un directorio sin importar que contenga subdirectorios con todos sus contenidos.
DISKCOMP - Tras realizar una copia de disquetes podemos realizar una verificacin, para ver si ha
copiado todos los contenidos, comparando. Este comando compara discos o disquetes.
DISKCOPY - Permite hacer una copia idntica de un disquete a otro, pertenece al grupo de las rdenes
externas.
DOSKEY - Permite mantener residentes en memoria RAM las rdenes que han sido ejecutadas en el
punto indicativo.
FC - Compara ficheros.
FORMAT - Permite crear la estructura lgica, en una unidad fsica de almacenamiento (discos duros,
disquetes y unidades de almacenamiento masivo).
PRINT - Permite imprimir ficheros.
Se pueden utilizar estos parmetros combinados.
KEYB - Establece el idioma del teclado segn el parmetro adicionado (Ejemplo: KEYB SP para el
teclado espaol).
LABEL - Muestra o cambia la etiqueta de la unidad de disco duro.
MEM - Muestra la memoria RAM, el espacio ocupado y el espacio libre.
MOVE - Mueve o cambia de posicin un directorio y/o ficheros. Tambin renombra subdirectorios.
SUBST - Crea una unidad lgica virtual a partir de un directorio.
TREE - Muestra los directorios en forma de rbol.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
utilidades (ensambladores, compiladores para varios idiomas, procesador de textos, correo electrnico,
etc.). Adems, es altamente transportable, lo que significa que es posible implementar un sistema Unix
en casi todas las plataformas de hardware.
Actualmente, los sistemas Unix se afianzaron en entornos profesionales y universitarios gracias a su
estabilidad, su gran nivel de seguridad y el cumplimiento de estndares, especialmente en lo que se
refiere a redes.
mejor
la inclusin de varias
utilidades.
Un decreto que data del ao 1956 impidi que la compaa AT&T, a la que perteneca Bell Labs,
comercializara cualquier otro producto que no fuesen telfonos o equipos de telgrafo. Es por este
motivo que se tom la decisin, en el ao 1973, de distribuir el cdigo fuente de UNIX en las
universidades, con fines educativos.
Para fines del ao 1977, investigadores de la Universidad de California desarrollaron otra versin
Unix a partir del cdigo fuente provisto por AT&T para poder ejecutar el sistema en su plataforma
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
45
VIDA NUEVA
Educacin de calidad para un mundo competitivo
VAX y lo denominaron BSD, que significa Berkeley Software Development (Desarrollo del Software
Berkeley).
De esta forma se conformaron dos ramas de desarrollo para el cdigo fuente:
La rama de AT&T que se convertira en Sistema V de los Laboratorios del Sistema UNIX (USL)
La rama de BSD (Berkeley Software Development [Desarrollo del Software Berkeley]), desarrollado
por la Universidad de California.
En 1977, AT&T puso el cdigo fuente de UNIX a disposicin de otras compaas, a pesar de que se
desarrollaron muchos sistemas similares a UNIX:
AIX, Unix comercial basado en el Sistema V desarrollado por IBM en febrero de 1990
Sun Solaris, Unix comercial basado en el Sistema V y en BSDdesarrollado por SUN Microsystems
HP-UX, Unix comercial basado en BSD desarrollado por Hewlett Packard a partir de 1986
Ultrix, Unix comercial desarrollado por DEC
IRIX, Unix comercial desarrollado por SGI
Unixware, Unix comercial desarrollado por Novell
Unix SCO, Unix comercial
basado en
el Sistema
V desarrollado por Santa
Cruz
Operations y Hewlett Packard a partir de 1979
Tru64 UNIX, Unix comercial desarrollado por Compaq
En 1983, AT&T tuvo el derecho de comercializar su Unix, lo que marc la aparicin del Sistema UNIX V,
la versin comercial de su sistema Unix.
En 1985, un profesor holands llamado Andrew Tannenbaum, desarroll un sistema operativo mnimo
denominado Minix, con el objetivo de poder ensearles a sus alumnos la programacin de sistemas.
En 1991, un estudiante finlands, Linus Torvalds, decidi disear, basndose en el modelo Minix, un
sistema
operativo
capaz de
ejecutar
386
tipos de
arquitecturas. Este
sistema operativo se denomin "Linux" y mostraba el siguiente mensaje en el foro de discusin
comp.os.minix:
Hola a todos los que estn utilizando minix Estoy diseando un sistema operativo gratuito (se trata slo
de un pasatiempo, no ser gigante y profesional como gnu) para clones AT 386 (486).
A continuacin le mostraremos un diagrama no exhaustivo que muestra nuevamente la apariencia general
de los principales sistemas Unix:
VIDA NUEVA
Educacin de calidad para un mundo competitivo
El estndar UNIX
Si tenemos en cuenta el gran nmero de sistemas Unix desarrollados basados en el sistema de AT&T
o en el de BDS, la pregunta acerca de un estndar Unix ha estado presente desde 1981 en el foro de
discusin /etc/group, de manera que se pueda asegurar la mxima portabilidad entre los sistemas:
en 1983, AT&T public SVID (System V Interface Definition [Definicin de la Interfaz del
Sistema V]) que describe al Sistema V. La primera definicin es diferente de la POSIX
en 1984 el grupo /etc/group public POSIX, una serie de estndares desarrollados a travs de
IEEE (Institute of Electrical and Electronics Engineers, [Instituto de Ingeniera Elctrica y
Electrnica]). Por lo tanto, POSIX tambin es conocido por el nombre IEEE P1003.
en la misma poca, un consorcio de fabricantes (Sun, IBM, HP, DEC, AT&T, Unisys, ICL, etc.)
public el estndar X/Open Portability Guide Issue 3 (XPG3). Este estndar trata, en particular,
los diferentes temas relacionados con la localizacin geogrfica (fechas, alfabeto, etc.).
Descrip Opciones
cin
ls
Muestra
las
listas de
los
conteni
dos de
un
director
io
-a
VIDA NUEVA
Educacin de calidad para un mundo competitivo
medir
rmdir
Eliminacin de un directorio
-f Eliminacin forzada
- Eliminacin recurrente (es decir,
R en el directorio y en sus
subcategoras)
cp
Copia de un archivo
Copy, xcopy
mv
Mover un archivo
Mover
rm
Eliminar un archivo
-f Eliminacin forzada
- Eliminacin recurrente (es decir,
R en el directorio y en sus
subcategoras)
pwd
passwd
cat
ms
archivo
cat
VIDA NUEVA
Educacin de calidad para un mundo competitivo
chmod
chfn
chsh
limpiar
finger, who
traceroute
ping
ftp[mquina]
[puerto]
obtener
poner
salir
ftp
Recupera un archivo
Enva un archivo
Sale de la sesin FTP
telnet
[mquina]
hablar
telnet
VIDA NUEVA
Educacin de calidad para un mundo competitivo
mesg
salir
Desconectarse
Aunque parezca una broma, eso te servir de mucho si recin te inicias en esto, de ahora en
ms cada smbolo ir acompaado del aspecto real del componente.
Interruptor No necesita descripcin, de todos modos aprende a
utilizarlo...!.
(terminal
VIDA NUEVA
Educacin de calidad para un mundo competitivo
de
colores.
cursor
menor luz
que
lado
se
conectan.
signo
en
el
cuerpo
de
componente.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Transistores Cmo lo digo...! Bsicamente un transistor puede
controlar una corriente muy grande a partir de una muy pequea.
muy comn en los amplificadores de audio. En general son del tipo
NPN y
PNP, que es eso?, no desesperes que pronto se aclararn tus dudas, sus
terminales son; Colector, Base y Emisor.
Sus
siendo
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Y aqu est..., en lo posible consigue cables finos de telfono para realizar los puentes de unin, son
los que ms se adaptan a los orificios de la placa, bienen en una gran variedad de colores, los puedes
conseguir de 24 hilos de 10, de 8 y bueno... en las casas de electricidad te podrn asesorar.
Esto es lo que se encuentra por dentro. Las lneas horizontales son las que puedes utilizar para
identificar las conexiones a los polos positivo y negativo, fjate en la imagen anterior que estas lneas
estn marcadas, con respecto a las verticales, cualquier terminal que conectes en una lnea de estas
estarn unidos entre s.
Otra de las herramientas que necesitaras ser una batera (esas de 9 volt vienen bien), o con un par de pilas
secas bastara, de todos modos puedes armar tu propia fuente de alimentacin.
Sera bueno que consigas un multmetro, multitester o tester, como lo quieras llamar, te ser de gran
utilidad para saber el estado de un componente, si ste se encuentra en condiciones o no, para verificar
las fallas en tus circuitos, medir tensiones, resistencias, etc.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Es decir que para una resistencia de 70 ohm sus colores deberan ser violeta, negro y negro.
Eso es todo...Ahora vamos por las primeras prcticas...
Soldador
Hay muchos tipos de soldador, pero para soldadura electrnica la opcin es clara: tipo Lpiz. La punta
es fina, lo cual facilita las soldaduras pequeas y precisas. Cuando compres un soldador, la
caracterstica bsica que debes tener en cuenta es su potencia. Para soldadura electrnica de 15 a 25 W
es lo recomendado, ms potencia es innecesaria y solo te ayudar a ponerte ms nervioso por el calor,
sobre todo cuando ests aprendiendo. Para empezar, cualquier modelo genrico de esa potencia te
sirve. Con genrico me refiero a un soldador de marca desconocida que es simplemente eso, un
soldador .Comprueba la potencia y que la punta sea fina y tenga forma de lpiz. Si ms adelante le
coges practica y sigues soldando, puedes adquirir un soldador de calidad, como Weller (recomiendo
uno de 25 w)
Soldador Generico
Incluyo tambin en este apartado un accesorio barato y realmente til que te gustara tener: un soporte
para el soldador. La punta del soldador puede estar a una temperatura de unos 350 C, probablemente
no quieres tener eso suelto encima de la mesa. No sera la primera vez que alguien no demasiado
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
54
VIDA NUEVA
Educacin de calidad para un mundo competitivo
acostumbrado a soldar tantea con la mano en la mesa buscando un destornillador y lo que encuentra es
el soldador... donde compres el soldador te pueden vender soportes del estilo del de la foto:
Estao
Lo que llamamos estao no es realmente estao sin ms; es una aleacin de estao y plomo (la
proporcin mas adecuada normalmente es de 60% y 40 % respectivamente). Para hacer buenas
soldaduras se necesita adems de estao, resina o pasta de soldar . En la mayora de los casos ya
viene aadida en el estao, por lo que no hay que preocuparse por ello.
En la etiqueta del rollo de estao de la imagen podemos ver dos caracteristicas importantes:
La composicin, de la que te habl antes. Sn62Pb36Ag2 significa que ese hilo de estao tiene un
62% de Estao, un 36% de Plomo y un 2% de plata. A m personalmente sta composicin me
da buenos resultados.
El dimetro del hilo, 0.5 mm en este caso. Mi recomendacin es que uses hilo cuyo dimetro
est comprendido entre 0.5 y 1 mm, es lo ms cmodo.
Procedimiento
Poner las dos partes a unir en contacto. Soldar al aire
Ahora hay que aplicar el soldador. Como las dos partes a soldar estn en contacto, debe resultarnos
fcil aplicar la punta del soldador y calentar ambas partes por igual. Ahora es cuando debes gastar
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
55
VIDA NUEVA
Educacin de calidad para un mundo competitivo
cuidado: las dos partes se van a calentar poco a poco, casi alcanzando la temperatura de la punta del
soldador.
Entonces aplicamos el estao a la unin, intentando que sean las partes a unir las que fundan el hilo de
estao, y no el soldador. Debemos aplicar el estao adecuado a la unin (la experiencia te dir cuanto),
unos 3 O 4 mm del hilo de estao suelen dar uniones correctas. Mientras aplicas el estao, fjate como
el estao fundido se distribuye por la unin, y mueve la punta del estao si es necesario para ayudar a
que se distribuya.
Entonces, retira el estao y seguidamente retira el soldador. Error tpico de novato: soplar. NO se sopla
una soldadura, debe enfriarse sola; si soplas la soldadura ser quebradiza y de mala calidad. Seguro
que puedes esperar 3 o 4 segundos a que el estao se enfre solo.
1. Mantener las piezas unidas y firmes.
3 Aplicar estao en la unin, intentando que sea fundido por las partes, no por el Cautin
VIDA NUEVA
Educacin de calidad para un mundo competitivo
4. Retirar estao y Cautin, por ese orden. NO soples
EJEMPLOS
Antes de comenzar quiero aclarar algo... En todas estas prcticas voy a suponer que la corriente elctrica
fluye desde el polo positivo (+) hacia el negativo (-). Aunque en verdad es a la inversa.
Diodos LED's.
El primer circuito, ser para ver como encender un LED, recuerda lo de sus terminales, el mas largo
(nodo) apunta al polo (+), el corto (ctodo) al negativo (-), si por alguna razn los terminales son
iguales, o lo sacaste de un circuito en desuso, puedes identificar el ctodo por un pequeo corte en la
cabeza del componente. R1 es una resistencia de 220 ohm que hace de proteccin para el LED, puedes
usar otras de mayor valor para ver que ocurre.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
DIODOS.
Los diodos permiten que la corriente circule en un slo sentido. Un Diodo al igual que un LED
necesita estar correctamente polarizado. El ctodo se indica con una banda que rodea el cuerpo del
componente.
Como no todo est dems podemos utilizar el circuito anterior como un probador de diodos (as de paso
vamos armando nuestras propias herramientas).
Segn el grfico el diodo conduce correctamente y el LED se enciende, no as si inviertes el diodo.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Ahora bien, los extremos A y B del potencimetro son indistintos ya que la resistencia entre ambos es
constante y en nuestro circuito es de 100 k, mientras que la resistencia entre cualquier extremo y el
cursor C depende de la posicin de este ltimo, pero su mxima resistencia ser 100 k.
Si utilizas los contactos A y C, al girar el eje en sentido horario, la resistencia aumentar entre estos dos
puntos. Prueba utilizar B y C.
Te propongo un pequeo desafo...Intenta armar un circuito con dos LED's de tal modo que al girar el
cursor del potencimetro la intensidad de luz aumente en uno, mientras disminuye en el otro.
Fotocelda o LDR...
Muy comn en cmaras fotogrficas, lo que hacen es mediante el circuito adecuado desactivar el flash
cuando hay suficiente luz.
En este ejemplo, totalmente funcional si cubres parcial o totalmente la superficie de la fotocelda vers
los cambios en el brillo del LED. A ms luz incidente, menor ser su resistencia, habr mayor flujo de
corriente y mayor ser el brillo del LED.
No hay distincin entre sus terminales. Para conseguirla dirgete a cualquier casa de electrnica y pdela
como LDR fotocelda y elige el tamao que ms te guste.
Condensadores o Capacitores Electrolticos.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Como habrs notado, no har referencia a los capacitores de cermica por ahora ya que almacenan muy
poca energa de todos modos lo veremos ms adelante. Vamos entonces con los Capacitores Electrolticos
Estos almacenan ms energa que los anteriores, eso s debes respetar la polaridad de sus terminales. El
terminal ms corto es el negativo.
Qu pasa si lo saco de un circuito en desuso?. Fcil..., podrs identificarlo por el signo en el cuerpo de
componente, como vers los fabricantes pensaron en todo.
Montemos el siguiente circuito...
Conectemos la fuente y veamos que ocurre..., de acuerdo, no ocurre nada, solo se enciende el LED. Te lo
explicar brevemente.
La corriente que parte de la batera fluye por R1 hacia el nodo, donde se encuentra R2 y el capacitor
C1. Aqu comienza a cargarse el Capacitor, una vez cargado, se encender el LED, te preguntars para
que me sirve esto...?, desconecta la fuente y obtendrs la respuesta.
Si todo va bien, el LED permanecer encendido por un cierto tiempo gracias a la energa almacenada en
el capacitor, a medida que sta se agote el brillo del LED disminuir.
Veamos esto un poco ms en detalle
La carga del capacitor depende de su capacidad de almacenamiento, (dado en microfaradios), por otro
lado... esa carga se agota a travs de R2 o sea que el tiempo de descarga tambin depende de R2. As
es como llegamos a los conocidos circuitos de tiempo RC (resistencia-capacitor)
Conclusin; la energa almacenada depende del valor de C1, el tiempo en que ste se carga de R1 y el
tiempo en que esta energa se agote del producto C.R2. Para interpretarlo mejor, cambia los valores de
R1, R2, C1 y luego observa los cambios...
Transistores.
Los transistores tienen aplicacin en muchsimos circuitos, por lo general son utilizados en procesos
de amplificacin de seales (las que veremos ahora) y tambin en circuitos de conmutacin a ellos le
dedicaremos un lugar especial.
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
60
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Estos componentes vienen en dos tipos, los NPN y los PNP, no entrar en detalle respecto al nombre ya
que podrs notar las diferencias en los circuitos de aplicacin, pero s quiero aclarar algo... Sus
terminales...!!! Cada transistor tiene una disposicin distinta, segn el tipo de que se trate y las
ocurrencias de su fabricante, por lo que necesitars un manual para identificarlos. Uno bastante bueno es
el que se encuentra en www.burosch.de (de la mano de su creador...!!!). Ejecutable en una ventana de
DOS, imperdible...!!! no requiere instalacin, slo lo descomprimes y ejecutas IC.exe...
Continuemos... veamos ahora estos dos transistores en modo amplificador...
Transistores NPN.
En este ejercicio puedes utilizar uno de los dos transistores que se indican en la siguiente tabla, los dos son
del tipo NPN con su respectiva disposicin de terminales.
Cuando acciones S1 llegar una cierta cantidad de corriente a la base del transistor, esta controlar la
cantidad de corriente que pasa del Colector al Emisor, lo cual puedes notar en el brillo de los LED's.
Este es el famoso proceso de AMPLIFICACIN.
Como puedes imaginar, a mayor corriente de base mayor corriente de colector. Prueba cambiar R2.
Transistores PNP.
Aqu utilizaremos uno de los dos transistores que se encuentran en el siguiente cuadro.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
En estos transistores, para obtener el mismo efecto que el anterior, su base deber ser ligeramente
negativa. Observa que en este esquema tanto los LED's como la fuente fueron invertidos.
Como vers el integrado en cuestin es un 555, o bien NE555. Se trata de un temporizador (TIMER),
utilizado como un generador de pulsos, y la frecuencia de stos puede variar de 1 pulso por segundo
hasta 1 milln de pulsos por segundo, sorprendente verdad?
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
62
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Bueno, pero veamos que ocurre aqu; Como necesitamos ver el efecto del circuito le pusimos como
siempre un LED y una resistencia R3 conectadas al pin 3 del 555 (IC1), que justamente es el pin de
salida.
Observa la polaridad de la fuente respecto al LED..., te habrs dado cuenta que la nica forma de
encenderlo es que el pin 3 de IC1 sea negativo. Y lo ser..., observa la onda rectangular de los pulsos
de salida..., cuando est arriba ser (+) o 1, y el LED estar apagado. Cuando est abajo ser (-) o 0,
entonces el LED se encender. Segn la seal de salida el LED encender de forma alternada.
Veamos los otros componentes; R1, R2 Y C1 forman una red de tiempo. El capacitor C1 se cargar a
travs de R1 y R2, del otro lado el 555 espera impaciente que termine de hacerlo, y cuando lo logre lo
reflejar en su terminal de salida (pin 3), y he aqu el pulso que produce la descarga del capacitor.
Ahora s..., ya estamos listos para la siguiente carga que generar el segundo pulso. Veamos que
modificaciones podemos hacerle al circuito.
En este esquema marqu los puntos A y B, all puedes conectar un pequeo parlante (como los de PC),
ahora cambia C1 por un capacitor de cermica (el que tengas a mano, cualquiera va bien), intercala un
potencimetro de 100k entre R2 y el pin 6. Si haces esto obtendrs un generador de sonido.
Otra cosa que puedes hacer es agregarle otra resistencia igual a R3 y un LED ms entre los puntos B y
el polo negativo de la fuente, pero invertido, y obtendrs algo as como un semforo, claro... si un
LED es rojo y el otro verde.
En fin, son muchos los cambios que le puedes hacer y los resultados obtenidos son muy llamativos.
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
63
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Recomendaciones de seguridad
Antes de manipular cualquier COMPUTADOR es importante tener en cuenta las siguientes medidas de
seguridad.
ATENCION!
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Negocio con un ambiente de oficinas limpio; pero muchos usuarios para cada PC - cada tres meses.
Negocio que es una fbrica o que permite fumar - cada dos meses.
Escuela de jvenes adultos - cada tres meses.
Escuelas de nios o adolescentes - mensualmente.
Mantenga la PC libre de polvo.
Antes de llevar a cabo algn tipo de limpieza fsica a la PC, apguela.
Mantenga las bebidas y la comida alejadas de la PC.
Limpie el exterior de la PC y los perifricos con un pao suave levemente humedecido con agente
limpiador no corrosivo o spero.
Por lo general el monitor se ensucia con las marcas de los dedos. Limpie el monitor con (CRT) con
limpiador para cristales.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Existen varios procesos que se deben realizar antes ce iniciar un mantenimiento preventivo para
determinar el correcto funcionamiento de los componentes. Estos son:
Probar la unidad de disco flexible. Una forma prctica de realizar este proceso es tener un disco
antivirus lo ms actualizado posible y ejecutar el programa. Esto determina el buen funcionamiento de
la unidad y a la vez. Se verifica que no haya virus en el sistema.
Chequear el disco duro con el comando CHKDSK del DOS.
Si se tiene multimedia instalada, puede probarse con un CD de msica, esto determina que los altavoces y
la unidad estn bien.
Realice una prueba a todos los perifricos instalados. Es mejor demorarse un poco para determinar el
funcionamiento correcto del computador y sus perifricos antes de empezar a desarmar el equipo.
Debemos ser precavidos con el manejo de los tornillos del sistema en el
momento de desarmarlo. Los tornillos no estn diseados para todos los
puntos. Es muy importante diferenciar bien los que son cortos de los
medianos y de los largos. Por ejemplo, si se utiliza un tornillo largo para
montar el disco duro, se corre el riesgo de daar la tarjeta interna del
mismo. Escoja la mejor metodologa segn sea su habilidad en este
campo:
Algunos almacenan lodos los tornillos en un solo lugar, otros los
clasifican y otros los ordenan segn se va desarmando para luego formarlos en orden contrario en el
momento de armar el equipo.
El objetivo primordial de un mantenimiento no es desarmar y armar, sino de limpiar, lubricar y
calibrar los dispositivos. Elementos como el polvo son demasiado nocivos para cualquier componente
electrnico, en especial si se trata de elementos con movimiento tales como los motores de la unidad
de disco, el ventilador, etc.
Todas estas precauciones son importantes para garantizar un buen mantenimiento preventivo.
PASOS A REALIZAR PARA UN BUEN MANTENIMIENTO:
Mantenimiento de la unidad central. Mantenimiento de las tarjetas principal y de interface
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Al destapar la unidad central debemos tener desconectados lodos los dispositivos tanto los de potencia
como los de comunicacin, No olvide organizar los tomillos a medida que se van retirando.
No haga fuerzas excesivas para retirar la tapa de la unidad central. Haga un anlisis de la forma en que
sta se encuentra ajustada de tal modo que no se corran riesgos de dao en algn elemento.
Detectar alguna falla que deba corregirse. Con estos procedimientos previos se delimita el grado de
responsabilidad antes de realizar el mantenimiento en caso de que algo no funcione correctamente.
El siguiente paso es retirar las tarjetas de interface (video, sonido, faxmdem, etc.), figura 1. Es muy
recomendable establecer claramente la ranura (slot) en la que se encuentra instalada cada una para
conservar el mismo orden al momento de insertarlas.
El manejo de las tarjetas electrnicas exige mucho cuidado. Uno de los ms importantes es utilizar
correctamente una pulsera antiesttica con el fin de prevenir las descargas electrostticas del cuerpo.
Luego se retiran los cables de datos Ribbon) que van desde la tarjeta principal hasta las unidades de
disco duro. De disco flexible, de tape y de CD-ROM con el objetivo de liberar el espacio para la
limpieza de la unidad central. Fjese muy bien en la conexin de cada cable con el fin de instalarlos en
la misma posicin. Una buena precaucin puede ser elaborar un plano simplificado indicando cada
una de las conexiones. Esto sobre todo en equipos con los cuales no est muy familiarizado.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Figura 2. Retira
ndo los bus de datos
.
Recuerde que estos cables tienen marcado el borde que corresponde al terminar nmero 1de sus
respectivos conectares.
Adicionalmente, se deben retirar los cables de alimentacin de la fuente de poder.
Se procede luego a retirar las unidades de disco flexible, de disco duro. Y la unidad de CD-ROM
fijndolo en su ubicacin y en el tipo de tornillos que utilizan, generalmente los tornillos cortos
corresponden a la unidad de disco duro. Si despus de revisar la unidad central es necesario retirar la
tarjeta principal para limpiara bien o para hacerle mantenimiento a otros elementos, libere los
tornillos que la sujetan al gabinete. Se debe Tener Mucha cuidado con las arandelas aislantes que
tienen los tornillos ya que stas se pierden muy fcil. Observe con detenimiento el sentido que tienen
los conectores de alimentacin de la tarjeta principal ya que si estos se invierten, se pueden daar sus
componentes electrnicos.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Con elementos sencillos como una brocha, se puede hacer la limpieza general de las tarjetas principal
y de interface, al igual que en el interior de la unidad. Para una mejor limpieza utilizar aire
comprimido.
Para limpiar los contactos de las tarjetas de interface se utiliza un borrador blando para lpiz. Despus
de retirar el polvo de las tarjetas y limpiar los terminales de cobre de dichas tarjetas, podemos aplicar
limpia-contados (dispositivo en aerosol para mejorar la limpieza y que tiene gran capacidad
dielctrica) a todas las ranuras de expansin y en especial a los conectares de alimentacin de la tarjeta
principal.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Si usted es una persona dedicada al mantenimiento de computadoras, el soplador es una herramienta
indispensable para hacer limpieza en aquellos sitios del sistema de difcil acceso. Utilcelo con el
computador apagado ya que ste posee un motor que podra introducir ruido sobre la lnea elctrica y
generar daos a las mquinas.
Luego se desconectan todos los perifricos. Los conectores utilizados para el disco duro, la unidad de
CD-ROM y la unidad de disco flexible, no tienen un orden especfico en su conexin, cualquiera de
los cables puede ir a cualquiera de estas unidades.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
VIDA NUEVA
Educacin de calidad para un mundo competitivo
VIDA NUEVA
Educacin de calidad para un mundo competitivo
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Limpieza de unidades de cd-rom
Para realizar el mantenimiento a la unidad de CD-ROM, es recomendable utilizar un disco especial de
limpieza. Este proceso se hace con el sistema funcionando. Si existe algn problema de lectura, se
debe destapar la unidad y limpiar el sistema ptico con alcohol isoproplico.
Figura 7.
Figura 8. Limpieza
teclado
del
VIDA NUEVA
Educacin de calidad para un mundo competitivo
El mantenimiento preventivo que se hace a un teclado consiste bsicamente en la limpieza exterior, ya
que ste acumula bastante suciedad producida por los usuarios y el medio ambiente. Esta limpieza se
debe hacer con un compuesto a jabon especial para este propsito, generalmente en forma de crema.
Existen espumas que permiten limpiar las teclas sin que se produzca humedad en el teclado lo que
podra ocasionar cortocircuitos.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
El mouse es uno de los accesorios indispensables durante la operacin diaria del computador. Su
funcionamiento normal se altera con frecuencia debido a los residuos de polvo y otras sustancias que, se
acumulan en sus diferentes partes, especialmente las mviles, se observan los discos correspondientes al
desplazamiento del cursor, los cuales se ensucian y forman una capa que evita que el sistema de la foto
sensor trabaje correctamente.
Verificacin de conexiones
Durante la exploracin, voluntariamente o accidentalmente puede ocurrir que se hayan desconectado
algunos cables. Verifique minuciosamente que cada uno de los conectares que est bien ajustado al
dispositivo correspondiente. Revise tambin de la conexin de alimentacin para el ventilador del
microprocesador. Si ste queda sin corriente, la computadora funcionar bien, pero con el tiempo
puede fallar.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
VIDA NUEVA
Educacin de calidad para un mundo competitivo
VIDA NUEVA
Educacin de calidad para un mundo competitivo
VIDA NUEVA
Educacin de calidad para un mundo competitivo
UNIDAD 5 REDES
Conjunto de tcnicas, conexiones fsicas y programas informticos empleados para conectar dos o ms
ordenadores o computadoras. Los usuarios de una red pueden compartir ficheros, impresoras y otros
recursos, enviar mensajes electrnicos y ejecutar programas en otros ordenadores.
NIVELES DE COMPONENTES:
Una red tiene tres niveles de componentes:
Software de aplicaciones.
Software de red.
Hardware de red.
El software de aplicaciones est formado por programas informticos que se comunican con los
usuarios de la red y permiten compartir informacin (como archivos de bases de datos, de
documentos, grficos o vdeos) y recursos (como impresoras o unidades de disco). Un tipo de software
de aplicaciones se denomina cliente-servidor. Las computadoras cliente envan peticiones de
informacin o de uso de recursos a otras computadoras, llamadas servidores, que controlan el flujo de
datos y la ejecucin de las aplicaciones a travs de la red. Otro tipo de software de aplicacin se
conoce como de igual a igual (peer to peer). En una red de este tipo, los ordenadores se envan
entre s mensajes y peticiones directamente sin utilizar un servidor como intermediario. Estas redes
son ms restringidas en sus capacidades de seguridad, auditora y control, y normalmente se utilizan
en mbitos de trabajo con pocos ordenadores y en los que no se precisa un control tan estricto del uso
de aplicaciones y privilegios para el acceso y modificacin de datos; se utilizan, por ejemplo, en redes
domsticas o en grupos de trabajo dentro de una red corporativa ms amplia.
El software de red consiste en programas informticos que establecen protocolos, o normas, para que
las computadoras se comuniquen entre s. Estos protocolos se aplican enviando y recibiendo grupos de
datos formateados denominados paquetes. Los protocolos indican cmo efectuar conexiones lgicas
entre las aplicaciones de la red, dirigir el movimiento de paquetes a travs de la red fsica y minimizar
las posibilidades de colisin entre paquetes enviados simultneamente.
El hardware de red est formado por los componentes materiales que unen las computadoras. Dos
componentes importantes son los medios de transmisin que transportan las seales de los
ordenadores (tpicamente cables estndar o de fibra ptica, aunque tambin hay redes sin cables que
realizan la transmisin por infrarrojos o por radiofrecuencias) y el adaptador de red, que permite
acceder al medio material que conecta a los ordenadores, recibir paquetes desde el software de red y
transmitir instrucciones y peticiones a otras computadoras. La informacin se transfiere en forma de
dgitos binarios, o bits (unos y ceros), que pueden ser procesados por los circuitos electrnicos de los
ordenadores.
TIPOS DE REDES
Redes de rea local (LAN)
Uno de los sucesos ms crticos para la conexin en red lo constituye la aparicin y la rpida difusin
de la red de rea local (LAN) como forma de normalizar las conexiones entre las mquinas que se
utilizan como sistemas ofimticos. Como su propio nombre indica, constituye una forma de
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
80
VIDA NUEVA
Educacin de calidad para un mundo competitivo
interconectar una serie de equipos informticos. A su nivel ms elemental, una LAN no es ms que un
medio compartido (como un cable coaxial al que se conectan todas las computadoras y las impresoras)
junto con una serie de reglas que rigen el acceso a dicho medio. La LAN ms difundida, Ethernet,
utiliza un mecanismo conocido como CSMA/CD. Esto significa que cada equipo conectado slo
puede utilizar el cable cuando ningn otro equipo lo est utilizando. Si hay algn conflicto, el equipo
que est intentando establecer la conexin la anula y efecta un nuevo intento ms tarde. Ethernet
transfiere datos a 10 Mbits/s, lo suficientemente rpido para hacer inapreciable la distancia entre los
diversos equipos y dar la impresin de que estn conectados directamente a su destino.
Hay tipologas muy diversas (bus, estrella, anillo) y diferentes protocolos de acceso. A pesar de esta
diversidad, todas las LAN comparten la caracterstica de poseer un alcance limitado (normalmente
abarcan un edificio) y de tener una velocidad suficiente para que la red de conexin resulte invisible
para los equipos que la utilizan.
Adems de proporcionar un acceso compartido, las LAN modernas tambin proporcionan al usuario
multitud de funciones avanzadas. Hay paquetes de software de gestin para controlar la configuracin
de los equipos en la LAN, la administracin de los usuarios y el control de los recursos de la red. Una
estructura muy utilizada consiste en varios servidores a disposicin de distintos usuarios. Los
servidores, que suelen ser mquinas ms potentes, proporcionan servicios a los usuarios, por lo general
computadoras personales, como control de impresin, ficheros compartidos y correo electrnico.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Se prev que proporcionen los enlaces necesarios entre LAN para hacer posible lo que han dado en
llamarse autopistas de la informacin.
TOPOLOGIA DE REDES
Se refiere a como distribuyen, organizan o conectan el conjunto de computadoras o dispositivos dentro de
una red, es decir, a la forma en que estn interconectados los distintos nodos que la forman.
Buscar minimizar los costos de encaminamiento (necesidad de elegir los caminos ms simples entre
el nodo y los dems)
Tolerancia a fallos o facilidad de localizacin a estos.
Facilidad
de
instalacin
y
reconfiguracin de la red.
Tipos de topologias:
Topologa En Estrella:
Se caracteriza por tener todos sus nodos conectados a un controlador central. Todas las transacciones
pasan a travs del nodo central siendo este el encargado de gestionar y controlar todas las
comunicaciones. El controlador central es normalmente el servidor de la red, aunque puede ser un
dispositivo especial de conexin denominado comnmente concentrador o hub.
Ventajas:
Presenta buena flexibilidad para incrementar el nmero de equipos conectados a la red.
Si alguna de las computadoras falla el comportamiento de la red sigue sin problemas, sin embargo, si
el problema se presenta en el controlador central se afecta toda la red.
El diagnstico de problemas es simple, debido a que todos los equipos estn conectados a un
controlador central.
Desventajas:
No es adecuada para grandes instalaciones, debido a la cantidad de cable que deben agruparse en el
controlador central.
Esta configuracin es rpida para las comunicaciones entre las estaciones o nodos y el controlador,
pero las comunicaciones entre estaciones es lenta.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Topologa en anillo:
Todas las estaciones o nodos estn conectados entre si formando un anillo, formando un camino
unidireccional cerrado que conecta todos los nodos. Los datos viajan por el anillo siguiendo una nica
direccin, es decir, la informacin pasa por las estaciones que estn en el camino hasta llegar a la
estacin destino, cada estacin se queda con la informacin que va dirigida a ella y retransmite al nodo
siguiente los tienen otra direccin.
Ventajas:
Esta topologa permite aumentar o disminuir el nmero de estaciones sin dificultad.
La velocidad depender del flujo de informacin, cuantas ms estaciones intenten hacer uso de la red
mas lento ser el flujo de informacin.
Desventajas:
Una falla en cualquier parte deja bloqueada a toda la red.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Cuando una estacin transmite, la seal se propaga a ambos lados del emisor haca todas las estaciones
conectadas al bus, hasta llegar a las terminaciones del mismo.
As, cuando una estacin transmite un mensaje alcanza a todos las estaciones, por esto el bus recibe el
nombre de canal de difusin.
Ventajas:
Permite aumentar o disminuir fcilmente el nmero de estaciones.
El fallo de cualquier nodo no impide que la red siga funcionando normalmente, lo que permite aadir
o quitar nodos sin interrumpir su funcionamiento.
Desventajas:
Cualquier ruptura en el bus impide la operacin normal de la red y la falla es muy difcil de detectar.
El control del flujo de informacin presenta inconvenientes debido a que varias estaciones intentan
transmitir a la vez y existen un nico bus, por lo que solo una estacin lograr la transmisin.
PROTOCOLO CLIENTE/SERVIDOR
En vez de construir sistemas informticos como elementos monolticos, existe el acuerdo general de
construirlos como sistemas cliente/servidor. El cliente (un usuario de PC) solicita un servicio (como
imprimir) que un servidor le proporciona (un procesador conectado a la LAN). Este enfoque comn de
la estructura de los sistemas informticos se traduce en una separacin de las funciones que
anteriormente forman un todo. Los detalles de la realizacin van desde los planteamientos sencillos
hasta la posibilidad real de manejar todos los ordenadores de modo uniforme.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Un ejemplo de par trenzado es el sistema de telefona, actualmente se han convertido en un estndar en el
mbito de las redes locales.
Tipos de cables de par trenzado:
Cable de par trenzado apantallado (STP): es utilizado generalmente en las instalaciones de
procesos de datos por su capacidad y buenas caractersticas contra las radiaciones electromagnticas,
pero el inconveniente es que es un cable robusto, caro y difcil de instalar.
Cable de par trenzado no apantallado (UTP): es el que ha sido mejor aceptado por su costo,
accesibilidad y fcil instalacin. El cable UTP es el ms utilizado en telefona. Existen actualmente 8
categoras del cable UTP. Cada categora tiene las siguientes caractersticas elctricas:
Atenuacin.
Capacidad de la lnea
Impedancia.
Categora 1: Este tipo de cable esta especialmente diseado para redes telefnicas, es el tpico cable
empleado para telfonos por las compaas telefnicas. Alcanzan como mximo velocidades de hasta
4 Mbps.
Categora 2: De caractersticas idnticas al cable de categora 1.
Categora 3: Es utilizado en redes de ordenadores de hasta 16 Mbps. de velocidad y con un ancho de
banda de hasta 16 Mhz.
Categora 4: Esta definido para redes de ordenadores tipo anillo como Token Ring con un ancho de
banda de hasta 20 Mhz y con una velocidad de 20 Mbps.
Categora 5: Es un estndar dentro de las comunicaciones en redes LAN. Es capaz de soportar
comunicaciones de hasta 100 Mbps. con un ancho de banda de hasta 100 Mhz. Este tipo de cable es
de 8 hilos, es decir cuatro pares trenzados. La atenuacin del cable de esta categora viene dado por
esta tabla referida a una distancia estndar de 100 metros:
Categora 5e: Es una categora 5 mejorada. Minimiza la atenuacin y las interferencias. Esta
categora no tiene estandarizadas las normas aunque si esta diferenciada por los diferentes
organismos.
Categora 6: No esta estandarizada aunque ya se est utilizando. Se definirn sus caractersticas para
un ancho de banda de 250 Mhz.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Categora 7: No esta definida y mucho menos estandarizada. Se definir para un ancho de banda de
600 Mhz. El gran inconveniente de esta categora es el tipo de conector seleccionado que es un RJ-45
de 1 pines.
Cable de par trenzado con pantalla global (FTP): sus propiedades de transmisin son parecidas a
las del UTP. Tiene un precio intermedio entre el UTP y el STP.
Cable coaxial.
Tena una gran utilidad por sus propiedades de transmisin de voz, audio, video, texto e imgenes.
Est estructurado por los siguientes componentes de adentro haca fuera:
Un ncleo de cobre slido, o de acero con capa de cobre.
Una capa aislante que reduce el ncleo o conductor, generalmente de material de poli vinilo.
Una capa de linaje metlico generalmente cobre o aleacin de aluminio entre tejido, cuya funcin es
la de mantenerse la ms apretada para eliminar las interferencias.
Por ltimo tiene una capa final de recubrimiento que normalmente suele ser de vinilo, xeln y
polietileno uniforme para mantener la calidad de las seales.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Son compactas.
Ligeras.
Con baja prdida de seal.
Amplia capacidad de transmisin.
Alto grado de confiabilidad, ya que son inmunes a las interferencias electromagnticas.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Fibra multimodal: en este tipo de fibra viajan varios rayos pticos reflejndose ngulos, que
recorren diferentes distancias y se desfasan al viajar dentro de la fibra. Por esta razn, la distancia
a la que se puede transmitir esta limitada.
Fibra multimodal con ndice graduado: en este tipo de fibra ptica el ncleo est hecho de
varias capas concntricas de material ptico con diferentes ndices de refraccin. En estas fibras
el nmero de rayos pticos que viajan es menor y sufren menos problemas que las fibras
multimodales.
Fibra monomodal: esta fibra es la de menor dimetro y solamente permite viajar al rayo ptico
central. Es ms difcil de construir y manipular. Es tambin la ms costosa pero permite distancias
de transmisin mucho mayores.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
1.
2.
3.
4.
Pasos
Cortar el cable UTP.
Una vez cortado el plastico aislante que recubre el cable UTP, retiralo y dejando libre los hilos conductores
de este, como muestra la imagen
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Una vez realizado este paso elige el tipo de conector que deseas aplicar.
Normas:
LA NORMA IEEE T568 A:
1.
2.
3.
4.
5.
6.
7.
8.
BLANCO / VERDE
VERDE
BLANCO / NARANJA
AZUL
BLANCO / AZUL
NARANJA
BLANCO / CAFE
CAFE
BLANCO / NARANJA
NARANJA
BLANCO / VERDE
AZUL
BLANCO / AZUL
VERDE
BLANCO / CAFE
CAF
Dependiendo el tipo de cable que queremos usar utilizamos el tipo de norma es decir:
Si quiere crear un cable cruzado (cuando las funciones de los equipos a conectar son iguales), por
ejemplo para conectar dos pc punto a punto usamos las dos normas A y la B, la norma a por un lado de
cable y la norma B por el otro lado del cable.
Si quiere crear un cable directo (cuando las funciones de un equipo sean diferentes), por ejemplo para
conectar un pc con un switch usamos cualquiera de las dos normas pero esa norma que elegimos la
usamos en ambos lados del cable.
Es importante organizar bien el cable segun la norma.
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
90
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Habiendo organizado el cableado juntamos muiy bien los cables y procesamos cortandolos del mismo
tamao de la siguiente forma:
Ahora los cables estan listos para ser insertados en un conector RJ45 asi:
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Ahora lo siguiente es acomodar el revestimiento del cable que quede mas o menos en la cua del
receptor RJ45 y que las puntas de los pares trenzados esten bien acomodadas tocando la base del
conector.
El ultimo paso es "ponchar "es decir, colocar el RJ45 dentro de la ponchadora y apretar co mo unas
pinsas para que la cua del conector se quiebre y quede apretado (firme) el conector con el cable y no
se valla a soltar.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Se debe apretar las patas como unas tijeras y sonara un ruido como que se parte el plastico del conector
RJ45, eso es normal por que cuando la cua delse quierbra para apretar el cable y no soltarse.
Si no suena, o quedo mal (esta suelto el conector del cable) o simplemente no sono.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Y ahora para probar el cable si quedo bien ponchado solo resta probarlo con un dispositivo que se
utiliza para probar cables UTP o crea una red punto entre dos pc y si logra hacer ping el cable funciona
correctamente.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Estudio y trabajo autnomos
Preparacin de seminarios, lecturas, investigaciones, trabajos, memorias, etc. Para
exponer o entregar en las clases tericas. Se incluye la preparacin de ensayos,
resmenes de lecturas, seminarios, conferencias, obtencin de datos, anlisis, etc. As
como el estudio de contenidos relacionados con las clases tericas, prcticas,
seminarios, etc. (estudiar para exmenes, trabajo en biblioteca, lecturas
complementarias, hacer problemas y ejercicios, etc.). Todo ello, realizado de manera
autnoma, individual.
Finalidad
Desarrollar la capacidad de autoaprendizaje.
RECURSOS
HUMANOS
Comunidad Educativa
MATERIALES
Manual Tcnico
Pizarra
Marcadores
Borrador
TECNOLOGICOS
Internet
Computador
Infocus
Amplificacion
VIDA NUEVA
Educacin de calidad para un mundo competitivo
EVALUACIN
A) Conteste:
1. Qu significa las siglas RAM y que son?
2. Qu es el sistema operativo?
3. En que consiste el mantenimiento preventivo?
4. Qu significa las siglas MS-DOS y para que se utiliza?
5. Qu es el protoboard y cual es su funcionamiento?
6. Cules son las principales ventajas de una red de computadoras?
B) Seleccione la respuesta correcta 7. La pascalina fue contruida por:
a) Blaise Pascal
b) Charles Babbage
c) Charles Jacquard
8. La tercera generacin de computadoras esta fabricada a base de :
a) Transistores
b) Circuitos integrados
c) Tubos al vacio
9. El termino informtica se creo en:
a) Espaa
b) Estados unidos
c) Francia
10. 150 GB equivale a X MB :
a) 153600
b) 0.1464
c) 15
C) Una segn corresponda
8. Valor de los colores de las resistencias
Valor
Color
1 blanco
2 plomo
3 violeta
4 azul
5 verde
6 amarillo
7 naranja
8 rojo 8
caf
9
negro
D) complete
12. __________ es un conjunto de __________ ya procesados con un computador.
13. La ___________ es la parte principal de un computador ya que nos sirve de
_____________ de los dems _____________ permitiendo que estos interacten entre
si y puedan realizar _____________.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
14. El _______ es el elemento encargado del _______ y _______ de las operaciones que
se realizan dentro del ________ con el fin de realizar el tratamiento _______ de la
informacin
15. La memoria cach es de acceso ______, ms aun que la propia ____, se incorpora en
la placa ______ de los equipos, especialmente en los de la ltima _________, para
reducir la frecuencia de accesos a memoria ______ que el procesador tiene que
realizar.
16. Los sistemas Mono tareas son aquellos que solo permiten una ____ a la vez por el
_____. Puede darse el caso de un sistema multiusuario y mono tarea, en el cual se
admiten varios usuarios al mismo _______ pero cada uno de ellos puede estar
haciendo solo una _______ la vez.
17. El Sistema Operativo, es el _________ entre los __________ y los _______
electrnicos de la __________, es decir que es el que se encarga de la gestin de los
recursos del sistema y de realizar las operaciones que solicitan los _____________.
E) Verdadero falso
18. En la segunda generacin de computadoras se programan en nuevos lenguajes
llamados lenguajes de alto nivel
( )
19. Las computadoras analgicas son precisas, proveen exactamente la respuesta correcta a
algn problema especfico. ( )
20. Las computadoras analgicas no computan directamente, sino que perciben
constantemente valores, seales o magnitudes fsicas variadas.
( )
21. Para medir la capacidad de almacenamiento de informacin, utilizamos los
Bytes.
( )
F) Ordene los siguientes pasos
22. LA NORMA IEEE T568 A:
___VERDE
___NARANJA
___BLANCO / VERDE
___CAFE
___AZUL
___BLANCO / AZUL
___BLANCO / CAF
___BLANCO / NARANJA
23. LA NORMA IEEE T568 B:
___VERDE
___NARANJA
___BLANCO / VERDE
___CAFE
___AZUL
___BLANCO / AZUL
___BLANCO / CAF
___BLANCO / NARANJA
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
97
VIDA NUEVA
Educacin de calidad para un mundo competitivo
G) Grafique e identifique sus partes de los siguiente:
24. Topologa estrella
25. Topoligia bus
26. Topologa anillo
27. Topologa rbol
28. Protoboard
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Aprender a programar en los diferentes lenguajes de programacin para crear programas que
sean tiles a los usuarios analizando cada uno de los diferentes lenguajes de programacion de este
modulo.
INTRODUCCIN
Como ya lo hice una vez, con el Manual de C; es realmente para, mi un verdadero privilegio el poder presentar
parte del aprendizaje colectado durante ste ao.
Pero sta vez, en un documento que, pretende como principal fin, el servir como gua al estudiante en su
aprendizaje de ste interesantsimo y actual lenguaje de programacin.
A diferencia de C, considero respecto a Java, podemos encontrar una gran cantidad de recursos didcticos
para la enseanza-aprendizaje, de dicho lenguaje de programacin, recursos, que dicho sea de paso; son de
excelente calidad.
Sin embargo, no es mi intencin el quedarme atrs sin aportar un granito de mostaza, a la comunidad de
programadores, y aquellos que inician esta aventura, en Java.
Una aventura que, puede ser de gran utilidad en nuestra vida como programadores profesionales, debido a gran
cantidad de aplicaciones que Java posee, no slo en rea de la programacin, sino tambin en el
entretenimiento y en la web.
Finalmente debo recordar que, los sueos no son para los soadores; sino para aquellos que luchan y trabajan
para hacer que sus sueos se conviertan en una realidad Animo y adelante!!!!!
PREREQUISITOS
Algoritmos
Pseudocdigos
Diagramas de flujo
Lenguaje de programacion C++:
Estructuras de un programa en C++
Libreras de C++
Declaracin y tipos de variables
VIDA NUEVA
Educacin de calidad para un mundo competitivo
HTML
Internet
Manejo de navegadores
Correos electrnicos
Descarga e instalacin de programas
Base de datos
EVALUACIN INICIAL
A) CONTESTE
1. Qu son los algoritmos?
________________________________________________________________________
________________________________________________________________________
2. Qu son los pseudocdigos?
________________________________________________________________________
________________________________________________________________________
3. Qu representan los diagramas de flujo?
________________________________________________________________________
________________________________________________________________________
4. Qu significa las siglas HTML?
________________________________________________________________________
________________________________________________________________________
5. Qu es una base de datos?
________________________________________________________________________
________________________________________________________________________
B) ENUMERE
1. 4 Navegadores
________________________________________________________________________
________________________________________________________________________
2. 4 buscadores
________________________________________________________________________
________________________________________________________________________
3. 5 lenguajes de programacin
________________________________________________________________________
________________________________________________________________________
REALICE.
4. Tabla de los tipos de datos de C++
5. Tabla de operadores lgicos de C++
6. Tabla de operadores de relacin de C++
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
100
C)
VIDA NUEVA
Educacin de calidad para un mundo competitivo
7.
8.
9.
10.
11.
ORIENTACIONES GENERALES
El Modulo de programacion en lenguajes estructurados iniciara el 6 de febrero del 2014 y culminara el 23 de
julio del 2014.
En el mdulo revisaremos temas como:
Programacion orienta a objetos en el lenguaje de programacion Java y Java Script en los cuales nos
dedicaremos a realizar ejercicios practicos deacuerdo al tema.
Se recomienda al estudiante transquibir los ejercicios al programa y fijarce bien el momento de su ejecucin.
Programacion para la creacin de pgina Web que interacten con los usuarios utilizando Java Script, PHP y
Mysql
VIDA NUEVA
Educacin de calidad para un mundo competitivo
UNIDAD 6 JAVA
PROGRAMACIN ORIENTADA A OBJETOS PROGRAMACIN
CONVENCIONAL
Como todos sabemos, los programas se componen de procedimientos y datos. Los procedimientos son los que
se encargan de realizar tareas especficas, como calcular la suma de dos nmeros, o mostrar un Frame en
pantalla. Los argumentos (datos que se le pasan a los procedimientos), son generalmente estructuras globales o
se pasan como parmetros.
Java, es un lenguaje de programacin Orientado a Objetosmmm entonces, qu es la
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
102
VIDA NUEVA
Educacin de calidad para un mundo competitivo
programacin orientada a objetos?... pues bien, es una tcnica de programacin, que usa los objetos como
secuencia de construccin.
OBJETOS
Qu es un objeto?, Un Objeto es una coleccin de datos, junto con las funciones asociadas a esos datos y que
operan sobre ellos.
Lo importante y fundamental de los objetos, son las propiedades de ellos, y estas son:
Herencia
Encapsulamiento o Encapsulacin
Polimorfismo.
Supongo que, al igual que yo, es muy difcil de buenas a primeras comprender la Abstraccin de los objetos,
en programacin.
Pero no es tan difcil como parece, solo mire a su alrededor Qu ve?... una lmpara, un escritorio, una
computador, qu es lo que ve?... un sof, unos libros. Pues bien, todas las cosas que usted ve, son objetos.
Debemos tener presente que, los humanos pensamos en trminos de objetos.
Por ejemplo, si usted ve una lmpara, inmediatamente la identifica como tal, pero usted sabe que un lmpara
se compone de una base (que puede ser de metal, de porcelana, de plstico), se compone tambin de un foco,
el cual es el que emite la luz, posee tambin una cortinilla, que a veces es slo cartn forrado, y que sirve
como adorno. Etc, etc pero usted cuando piensa en una lmpara, NO piensa en los componentes de sta,
sino que piensa en el objeto_lmpara
7.
Un objeto se puede representar grficamente de la siguiente manera:
VIDA NUEVA
Educacin de calidad para un mundo competitivo
En donde, Nombre, es identificar correspondiente a ese objeto: Por ejemplo Empleados(), Alumnos(), Datos(),
etc, etc.
Los atributos, son los datos con los que operan los mtodos (o Funciones) del objeto.
Y las Funciones o Mtodos, son las que operan sobre esos datos. Clases
Se puede decir, que son tipos definidos por el usuario, las cuales determinan la estructura de los datos y las
funciones asociadas con esos tipos.
Las clases como plantillas (que el programador crea). La clase define las variables y los mtodos comunes a
los objetos de ese tipo, pero luego, cada objeto tendr sus propios valores y compartirn las mismas funciones.
Primero deberemos crear una clase antes de poder crear objetos o instancias (ejemplares) de esa clase.
Qu es la herencia?
La herencia es un mecanismo que permite crear una clase basndose en una clase existente, y sta tendr todas
las variables y los mtodos de su superclase, y adems se le podrn aadir otras variables y mtodos propios.
Se llama Superclase a la clase de la que desciende una clase.
Polimorfismo
(Poli=muchos; morfo=Formas), Polimorfismo, es la cualidad de tener ms de una forma. Java, permite que el
cdigo de sus programas tenga la posibilidad de ser usados con diferentes tipos de datos u objetos.
Por ejemplo, supongamos que A y B son dos variables de tipo entero, entonces, la operacin: C= A+B
Nos devolver la suma de stos dos nmeros, el cuyo resultado ser guardado en la variable C. Pero
supongamos que A y B son del tipo String (es decir, dos cadenas de caracteres):
String A= Hola;
String B= Bienvenidos a la Programacin en Java;
String C;
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
104
VIDA NUEVA
Educacin de calidad para un mundo competitivo
C=A+B;
Al tener esa secuencia de commandos, ya no obtendremos como resultado la suma de esos dos nmeros, sino
la concatenacin de esas dos cadenas. Por tanto, el resuldao en pantalla, sera el siguiente:
HISTORIA DE JAVA
Java surgi en 1991 cuando un grupo de ingenieros de Sun Microsystems trataron de disear un nuevo
lenguaje de programacin destinado a electrodomsticos. La reducida potencia de clculo y memoria de los
electrodomsticos llev a desarrollar un lenguaje sencillo capaz de generar cdigo de tamao muy reducido.
Debido a la existencia de distintos tipos de CPUs y a los continuos cambios, era importante conseguir una
herramienta independiente del tipo de CPU utilizada. Desarrollaron un cdigo neutro que no dependa del
tipo de electrodomstico, el cual se ejecutaba sobre una mquina hipottica o virtual denominada Java
Virtual Machine (JVM). Era la JVM quien interpretaba el cdigo neutro convirtindolo a cdigo particular de
la CPU utilizada. Esto permita lo que luego se ha convertido en el principal lema del lenguaje: Write Once,
Run Everywhere. A pesar de los esfuerzos realizados por suscreadores, ninguna empresa de electrodomsticos
se interes por el nuevo lenguaje.
Como lenguaje de programacin para computadores, Java se introdujo a finales de 1995. La clave fue la
incorporacin de un intrprete Java en la versin 2.0 del programa Netscape Navigator, produciendo una
verdadera revolucin en Internet. Java 1.1 apareci a principios de 1997, mejorando sustancialmente la
primera versin del lenguaje. Java 1.2, ms tarde rebautizado como Java 2, naci a finales de 1998.
Al programar en Java no se parte de cero. Cualquier aplicacin que se desarrolle cuelga (o se apoya, segn
como se quiera ver) en un gran nmero de clases preexistentes. Algunas de ellas las ha podido hacer el propio
usuario, otras pueden ser comerciales, pero siempre hay un nmero muy importante de clases que forman
parte del propio lenguaje (el API o Application Programming Interface de Java). Java incorpora en el propio
lenguaje muchos aspectos que en cualquier otro lenguaje son extensiones propiedad de empresas de software o
fabricantes de ordenadores (threads, ejecucin remota, componentes, seguridad, acceso a bases de datos, etc.).
Por eso muchos expertos opinan que Java es el lenguaje ideal para aprender la informtica moderna, porque
incorpora todos estos conceptos de un modo estndar, mucho ms sencillo y claro que con las citadas
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
105
VIDA NUEVA
Educacin de calidad para un mundo competitivo
extensiones de otros lenguajes. Esto es consecuencia de haber sido diseado ms recientemente y por un nico
equipo.
El principal objetivo del lenguaje Java es llegar a ser el nexo universal que conecte a los usuarios con la
informacin, est sta situada en el ordenador local, en un servidor de Web, en una base de datos o en
cualquier otro lugar.
Java es un lenguaje muy completo (de hecho se est convirtiendo en un macro-lenguaje: Java 1.0 tena
12 packages; Java 1.1 tena 23 y Java 1.2 tiene 59). En cierta forma casi todo depende de casi todo. Por ello,
conviene aprenderlo de modo iterativo: primero una visin muy general, que se va refinando en sucesivas
iteraciones. Una forma de hacerlo es empezar con un ejemplo completo en el que ya aparecen algunas de las
caractersticas ms importantes.
La compaa Sun describe el lenguaje Java como simple, orientado a objetos, distribuido, interpretado,
robusto, seguro, de arquitectura neutra, portable, de altas prestaciones, multitarea y dinmico . Adems de una
serie de halagos por parte de Sun hacia su propia criatura, el hecho es que todo ello describe bastante bien el
lenguaje Java, aunque en algunas de esas caractersticas el lenguaje sea todava bastante mejorable. Algunas de
las anteriores ideas se irn explicando a lo largo de este manual (Tomado de: Aprenda Java como si
estuviera en Primero).
En ste curso, usaremos una de las versiones ms recientes de Java, como lo es Java 2, y para compilar los
programas, usaremos el compilador: JGrasp 1.8.4 de la Universidad de Auburn, el cual puede obtenerse de
forma
gratuita
y
sin
problemas
de
licencia
en:
Spider.eng.auburn.edu/usercgi/grasp/grasp.pl?;dl=download_jgrasp.html
Java 2 (antes llamado Java 1.2 o JDK 1.2) es la tercera versin importante del lenguaje de programacin Java.
No hay cambios conceptuales importantes respecto a Java 1.1 (en Java 1.1 s los hubo respecto a Java 1.0),
sino extensiones y ampliaciones, lo cual hace que a muchos efectos por ejemplo, para esta introduccin- sea
casi lo mismo trabajar con Java 1.1 o con Java 1.2.
Los programas desarrollados en Java presentan diversas ventajas frente a los desarrollados en otros lenguajes
como C/C++. La ejecucin de programas en Java tiene muchas posibilidades: ejecucin como aplicacin
independiente (Stand-alone Application), ejecucin como applet, ejecucin como servlet, etc. Un applet es una
aplicacin especial que se ejecuta dentro de un navegador o browser (por ejemplo Netscape Navigator o
Internet Explorer) al cargar una pgina HTML desde un servidor Web. El applet se descarga desde el servidor
y no requiere instalacin en el ordenador donde se encuentra el browser. Un servlet es una aplicacin sin
interface grfica que se ejecuta en un servidor de Internet. La ejecucin como aplicacin independiente es
anloga a los programas desarrollados con otros lenguajes.
Adems de incorporar la ejecucin como Applet, Java permite fcilmente el desarrollo tanto de arquitecturas
cliente-servidor como de aplicaciones distribuidas, consistentes en crear aplicaciones capaces de conectarse a
otros ordenadores y ejecutar tareas en varios ordenadores simultneamente, repartiendo por lo tanto el trabajo.
Aunque tambin otros lenguajes de programacin permiten crear aplicaciones de este tipo, Java incorpora en
su propio API estas funcionalidades. Este puede descargarse, tambin de forma gratuita, desde
http://www.java.sum.com
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Despus de haber instalada a Java2 debe instalar a JGrasp ya que ste es el que nos servir como editor de
nuestros programas.
Despus que haya instalado a JGrasp ( si es que est haciendo uso de ste programa), debe abrir ste programa
(JGrasp) y en el men principal, escoger Setting, luego Compiler Setting y luego Workspace. Deber aparecer
una ventana, como la que se muestra a la derecha. En ella debe cerciorarse que en la opcin de lenguaje, sea
Java y que est seleccionada las pestaa que dice: Enviromennt.
Luego seleccionar la carpeta j2sdk 1.5 y dar un clic en el botn copy , aparecer otra ventana. Luego debe
seleccionar esa copia que acaba de hacer (generalmente aparece hasta el final del listado) y dar un clic en el
botn edit , en la ventana que aparecer, puede cambiar el nombre de la copia. Y en la opcin llamada
V1(%V1) que aparece casi al final de la ventana debe instalar la direccin completa en la cual se encuentra
instalado Java en su mquina (Ejemplo: C:\Archivos de programa\Java\jdk1.5.0_08\bin\)
Las dems opciones No deben ser modificadas, luego clic en OK. Ahora debe verificar que tiene seleccionado
el ambiente que recin acaba de crear, para ello, seleccione nuevamente el ambiente que ha creado (la copia de
j2sdk 1.5), luego clic en Apply y clic en Ok.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
TIPOS DE DATOS
En java, hay que distinguir esencialmente dos grandes rubros:
1. Tipos de datos Orientados a Objetos
2. Tipos de datos No orientados o Objetos (Muy parecidos a los de C)
Tipos de Datos Simples
Tipos
Descripcin
boolean
byte
char
double
float
int
long
short
Tabla 2.1
16 bits
int
32 bits
long
64 bits
VIDA NUEVA
Educacin de calidad para un mundo competitivo
La zona de inclusin: que es similar al pre-procesador de C, donde especificamos los paquetes que vamos a
usar en nuestro programa. Los cuales deben ser especificados al inicio del programa, con ayuda de la sentencia
import y acompaado de un punto y coma (;) al final de la instruccin. Eje:
Import javax.swing.JOptionPane;
import java.io.*;
En java, podemos incluir todo el paquete, como en el caso de java.io, al agregarle el asterisco; o simplemente,
especificamos que archivos del paquete que queremos usar, como en el primer caso, en el cual estamos
incluyendo (o mejor dicho importando) el archivo JOptionPane, del paquete javax.swing. (El cual nos ayuda
para poder usar las cajitas de texto para mandar informacin a la pantalla o para leerla desde el telado).
Las clases: Un Programa en java, debe poseer AL MENOS una clase, con la cual se debe proseguir en la
configuracin de nuestro programa.
Eje:
class PrimerPrograma {
Como puede verse, una clase se especifica con la palabra reservada class. Una clase
puede ser: Pblica o Privada.
De lo cual hablares ms adelante, por el momento el usuario, debe unicamente especificar una clase,
nicamente con class por que despus comprender la diferencia y podr aplicarlo a sus programas.
Adems el nombre de la clase, debe iniciar con mayscula.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Lo que est entre los parentesis, indica nada ms los argumentos que recibe nuestro programa, el cual
SIEMPRE SER uno del tipo String, el nombre de args, puede ser cambiado, pero NUNCA debe omitirse los
corchetes.
import java.lang.*;
class PrimerPrograma {
public static void main (String args[]){
System.out.println("Hola! Bienvenido a Java");
}
}
Explicacin
En la lnea numero Uno, encontramos la llamada al paquete, el cual es java.lang (ste paquete nos ayuda para
usar las funciones matemticas y otras funciones como System.out.println, sin embargo NO es necesario
especificarlo, ya que Java, por defecto, incluye ste paquete en todos los programas que creamos).
Luego encontramos la declaracin de la clase, la cual es PrimerPrograma, como puede observar la primera
letra es mayscula, y como el nombre est compuesto por dos palabras (Primer y Programa), es por tal razn
que cada una de ellas tienen su primera letra mayscula. Otra cosa importante es que, el nombre del archivo,
(que tiene extencin *.java), SIEMPRE se debe llamar igual que la clase; es decir que, este cdigo, est
guardado como: PrimerPrograma.java. Si est usando JGrasp, generalmente el coloca el nombre y lo unico
que tenemos que hacer es dar clic en guardar en el commandwindow, pero a veces, con esos paradigmas de la
programacin, JGrasp no lo coloca, es por tal razn que debemos estar seguros que el archivo ha sido
guardado con el mismo nombre de la clase. Por que de lo contrario lanzar una excepcin (de la cual
hablaremos ms adelante) y NO correr el
programa. Posteriormente, encontramos la sentencia
System.out.println(), el cual nos sirve para mandar informacin a pantalla, la cual ser mostrada en la consola
de DOS, y ser ms o menos as:
VIDA NUEVA
Educacin de calidad para un mundo competitivo
USO DE VARIABLES
En todas las aplicaciones que realizamos, se necesitan entre muchas cosas, valores, datos; que cambien a
medida se ejecuta el programa.
Por tal razn, un programa que solo muestre en pantalla datos (como el ejemplo 2.1), no es muy funcional que
se diga. Para ello, es necesario hacer uso de las variables que no son ms que una unidad de almacenamiento,
la cual tiene la propiedad de cambiar a medida se ejecuta la aplicacin ( a diferencia de las constantes cuyo
valor NO cambia).
Para declarar una variable en Java, se prosigue de la siguiente forma:
tipo identificado=valor;
Donde:
Tipo: Es el tipo de dato que almacenar, el cual puede ser cualquiera de los que se muestran en la tabla 2.1.
Identificar: que hace referencia al nombre de la variable.
Valor: No es necesario, pero Java permite inicializar variables, por ejemplo, los contadores, acumuladores,
etc; Ejemplos:
1
2
3
4
int i;
float suma=0;
double saldo;
String Nombre
En la lnea uno, estamos declarando una variable de tipo entero, identificada por i. en la lnea dos, tenemos una
variable del tipo real, inicializada a cero, podemos asumir que se trata de un acumulador. Luego, se puede
hacer notar que saldo, est declarada como real de doble precisin, y finalmente en la lnea 4 se encuentre
Nombre que es una variable de tipo String, es decir; una cadena de caracteres, ya que Java soporta este tipo de
datos.
Ejemplo
Programa que Muestra el nombre, edad y sueldo de una persona.
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
111
VIDA NUEVA
Educacin de calidad para un mundo competitivo
class DatosPersonales { public static void main
(String args[]) { String Nombre="Manuel
Ortez";
int edad=20;
double
sueldo=500.00;
System.out.println("Nombre del empleado: "+Nombre);
System.out.println("Edad: ");//Impresion de la leyenda edad
System.out.println(edad);
System.out.println("Sueldo: "+sueldo);
}//fin del main
}//fin de la clase
Explicacin
Como puede notarse, la variable Nombre, es una cadena de caracteres, la cual est inicializada, y todos los
valores de una cadena se escriben entre comillas dobles. Adems note que, en el mtodo System.out.printl,
podemos hacer varias combinaciones al momento de mandar a la impresin. Para el caso, si una ( o ms
cadenas) se van a mandar a impresin acompaadas de una (o ms variables), estos argumentos se unen,
mediante el operador +. Sin embargo, esto no es necesario cuando se trata de la impresin de una sola
variable:
System.out.println(edad);
Ejemplo
Programa que calcula el area y el permetro de un crculo
class Circulo {
public static void main (String args[])
{ double radio=2.3; double perimetro;
double area; area=Math.PI*radio*radio;
perimetro=2*Math.PI*radio;
System.out.println("El area es: "+area+" Y el permetro es: "+perimetro); }
}
Explicacin
Me parece que, en lo nico que debemos poner atencin es en dos cosas.
La primera, es que Math.PI es una constante, (3.14159.), la cual, est dentro del paquete de java.lang; el
cual, como ya lo hemos dicho, est incluido, por defecto, en todos nuestros programas de manera automtica;
adems que, note que la nica impresin que se hace, enlazamos los parmetros con el operador +.
System.out.println("El area es: "+area+" Y el permetro es: "+perimetro);
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Operadores
Un Operador, es un smbolo que le indica al compilador que realice una determinada operacin, ya sea
lgica, relacional, aritmticas, etc.
Como consecuencia, nacen los diferentes tipos de operadores que existen. En Java, podemos encontrar los
siguientes tipos:
Operadores Aritmticos
Operadores a nivel de Bit
Operadores Relacionales
Operadores Lgicos
Operadores Aritmticos
Estos operadores se utilizan para realizar diferentes operaciones aritmticas, por tal razn se utilizan en
variables de tipo numricas.
Aritmtico
s
+
Suma
Resta
Multiplica
Divide
DESCRIPCIN
++
Incrementa en 1
--
Decremento en 1
Tabla 2.2
Ejemplo
Programa que usa varios tipos de instrucciones
class Operadores {
public static void main (String args[]){
int
x=10;
int y=12;
int
resultado;
resultado=x+y;
System.out.println("El resultado de la suma es: "+resultado); resultado=y-x;
System.out.println("El resultado de la resta es: "+resultado);
resultado=x/y;
System.out.println("El resultado de la divisin es: "+resultado);
x++;
y++;
System.out.println("Ahora x es: "+x+"y Y es: "+y);
}
}
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
113
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Operadores Lgicos
Operador
&&
||
!
Operadores Relacionales
Operador
==
!=
>
<
>=
<=
Descripcin
Y lgico. Condicion1 && Condicion2
O lgico. Condicion1 || Condicion2
Negacin. !(Condicion1)
Descripcin
Es igual a
No es igual a (Distinto)
Mayor que
Menor que
Mayor o Igual a
Menor o igual que
Comentarios
Un comentario es un mensaje cualquiera, que se escribe entro del cdigo; pero que no es interpretado por le
compilador, y que ayuda, al programador para futuros mantenimientos y para comprender, tiempo despus, la
secuencia de ejecucin del programa. Java, posee tres tipos de comentarios:
1. Tradicional:
Comienza con /* y termina con */, en l podemos escribir una lnea o un prrafo completo. Ejemplo:
/*Ejemplo de un comentario */
/* Tambin podemos escribir
Nuestros comentarios
En varias lneas*/
2. De una sola lnea:
Comienzan con una doble barra (//), y se extiende hasta el final de la lnea. Ejemplo: //Este
comentario es vlido slo para una lnea
3. Comentario de Documentacin
Comienza con /** y termina con */ son comentario especiales que javadoc utiliza para generar, documentacin
acerca del programa.
Ejemplo:
/** Programa Visor 3.11
San Salvador, El Salvador
Diciembre de 2006*/
Literales
Los literales, son valores fijos que son legibles, para nosotros los humanos. Generalmente son llamados
constantes.
En java, los literales, pueden ser del tipo real, entero, cadenas, booleanas y null. Las constantes de tipo
carcter, se encierran entre comillas simples, as: m, `$`.
Las constantes enteras, son aquellas que no llevan parte fraccionaria, ni tampoco van entre comillas.
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
114
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Ejemplo: 10, -1.
Las constantes de tipo flotante, son aquellas que se componen de una parte entera, un punto decimal, y una
parte fraccionaria: 8.75, 142.639.
Las Literales de tipo cadena, se especifican entre comillas dobles. As: Ejemplo de una cadena ; Adems,
un literal de tipo String, puede contener una o ms secuencias de escape. Por ejemplo, la secuencia de escape
\n, se utiliza para cambiar de lnea. As:
Manuel\nOrtez ;
Si mandamos a imprimir esa literal, veremos el siguiente resultado:
ENTORNO GRFICO
Hasta, el momento, no hemos conocido las bondades de Java, por que, tal parece que, nuestros programas
fuesen compilados en C, ya que corren en la ventana de DOS.
Sin embargo Java permite el uso de ventanas, para leer y mostrar datos. As como el uso de aplicaciones web,
lo que se conoce como Applet.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Mensaje , es la cadena de caracteres que queremos imprimir.
Ejemplo
Veamos este ejemplo que, manda a impresin el mensaje de Hola
1
2
3
4
5
6
import javax.swing.*;
class Mensaje{
public static void main (String args[]){
JOptionPane.showMessageDialog(null,"Hola");
}
}
Ejemplo
Note, las secuencias de escape que, tambin se pueden utilizar en ste mtodo
1 import javax.swing.*;
2 class Mensaje1{
3 public static void main (String args[]){
4 JOptionPane.showMessageDialog(null,"Manual de Java\nUna forma Facil de Aprender a
Programar\n\n\t\tDiciembre de 2006");
5 JOptionPane.showMessageDialog(null, "Creado por Manuel Ortez");
6 }
7 }
LEER DATOS
Para leer los datos, usamos el mtodo ShowInputDialog, de la forma siguiente:
Var=JOptionPane.showInputDialog(Mensaje );
Donde:
Var: es el nombre de la variable que hace referencia al valor ledo.
Mensaje: Es el mensaje que aparecer, en la caja de dilogo.
Pero debemos tener presente que, ste mtodo devuelve un tipo de dato String, por tal razn cuando leamos un
flotante, double, int, etc, debemos realizar la conversin.
Ejemplo
Programa que lee un nombre y luego lo imprime
1 import javax.swing.*;
2 class Mensaje2{
3 public static void main (String args[]){
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
116
VIDA NUEVA
Educacin de calidad para un mundo competitivo
4
5
6
String Nombre;
Nombre=JOptionPane.showInputDialog("Digite su nombre");
JOptionPane.showMessageDialog(null, "Bienvenido "+Nombre);
7
8
9
}
}
Ejemplo
Se desea Crear una Mini-calculadora, que permita, sumar, restar y multiplicar dos nmeros ingresados por el
usuario.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import javax.swing.*;
class MiniCalcu{
public static void main (String args[]){
double n1, n2, resultado;//Estos son los numeros
String leer;//variable auxiliar con la cual leeremos los datos
leer=JOptionPane.showInputDialog("Escriba el primer Nmero");
//Esta es la forma para hacer el cambio de cadena a doble
n1=Double.parseDouble(leer);
leer=JOptionPane.showInputDialog("Escriba el primer Nmero");
n2=Double.parseDouble(leer);
resultado=n1+n2;
JOptionPane.showMessageDialog(null, "El resultado de la suma es: "+resultado);
resultado=n1-n2;
JOptionPane.showMessageDialog(null, "El resultado de la resta es: "+resultado);
resultado=n1*n2;
JOptionPane.showMessageDialog(null, "El resultado de la multiplicacin es: "+resultado);
resultado=n1/n2;
JOptionPane.showMessageDialog(null, "El resultado de la divisin es: "+resultado); 19 }
20 }
Explicacin
El lector, debe notar, la forma en que debe hacer la conversin de un carcter a un valor diferente. Para el caso,
la lnea 8 y 13, despus de haber ledo los valores correspondiente, hacemos el cambio as:
N1=Double.parseDouble(leer);
Double, es la clase que contiene al tipo de dato double, luego se escribe el mtodo parse, y le pasamos como
argumento, la variable leer, que contiene el nmero(en cadena de caracteres), que deseamos convertir a
double.
Si queremos convertir a entero:
N1=Integer.parseInt(leer);
Si lo que queremos es convertirlo a float:
N1=Float.parseFloat(leer);
VIDA NUEVA
Educacin de calidad para un mundo competitivo
APPLETS
USO DE APPLET`S
Muchos de los libros y Manuales de Java, tratan ste tpico hasta muy avanzados en el curso. Sin embargo,
considero que, es mejor aprender a usar applets, antes de tratar otros temas como los elementos grficos,
animaciones, etc, que generalmente, son ms conocidas en Internet.
QU ES UN APPLET?
Un Applet, es una mini-aplicacin escrita en Java, y que se ejecuta en un navegador (Netscape, Internet
Explorer, etc), al cargar una pgina HTML que contiene informacin sobre el applet a ejecutar.
CARACTERSTICAS
Las caractersticas de las applets se pueden considerar desde el punto de vista del programador y desde el del
usuario. En este manual lo ms importante es el punto de vista del programador:
Las applets no tienen un mtodo main() con el que comience la ejecucin. El papel central de su ejecucin
lo asumen otros mtodos que se vern posteriormente.
Todas las applets derivan de la clase java.applet.Applet. La
Figura de la izquierda muestra la jerarqua de clases de la que deriva la clase Applet. Las applets deben
redefinir ciertos mtodos heredados de Applet que controlan su ejecucin: init(), start(), stop(), destroy().
Se heredan otros muchos mtodos de las super-clases de Applet que tienen que ver con la generacin de
interfaces grficas de usuario (AWT). As, los mtodos grficos se heredan de Component, mientras que la
capacidad de aadir componentes de interface de usuario se hereda de Container y de Panel.
Las applets tambin suelen redefinir ciertos mtodos grficos: los ms importantes son paint() y update(),
heredados de Component y de Container; y repaint() heredado de Component.
Las applets disponen de mtodos relacionados con la obtencin de informacin, como por ejemplo:
getAppletInfo(),
getAppletContext(),
getParameterInfo(),
getParameter(),
getCodeBase(),
getDocumentBase(), e isActive().
VIDA NUEVA
Educacin de calidad para un mundo competitivo
MTODOS QUE CONTROLAN LA EJECUCIN DE UN APPLET
Los mtodos que se estudian en este Apartado controlan la ejecucin de las applets. De ordinario el
programador tiene que redefinir uno o ms de estos mtodos, pero no tiene que preocuparse de llamarlos: el
browser se encarga de hacerlo.
Mtodo init()
Se llama automticamente al mtodo init() en cuanto el browser o visualizador carga el applet. Este mtodo se
ocupa de todas las tareas de inicializacin, realizando las funciones del constructor (al que el browser no
llama).
En Netscape Navigator se puede reinicializar un applet con Shift+Reload.
Mtodo start()
El mtodo start() se llama automticamente en cuanto el applet se hace visible, despus de haber sido
inicializada. Se llama tambin cada vez que el applet se hace de nuevo visible despus de haber estado oculta
(por dejar de estar activa esa pgina del browser, al cambiar el tamao de la ventana del browser, al hacer
reload, etc.).
Es habitual crear threads en este mtodo para aquellas tareas que, por el tiempo que requieren, dejaran sin
recursos al applet o incluso al browser. Las animaciones y ciertas tareas a travs de Internet son ejemplos de
este tipo de tareas.
Mtodo stop()
El mtodo stop() se llama de forma automtica al ocultar el applet (por haber haber dejado de estar activa la
pgina del browser, por hacer reload o resize, etc.).
Con objeto de no consumir recursos intilmente, en este mtodo se suelen parar las threads que estn
corriendo en el applet, por ejemplo para mostrar animaciones.
Mtodo destroy()
Se llama a este mtodo cuando el applet va a ser descargada para liberar los recursos que tenga reservados
(excepto la memoria). De ordinario no es necesario redefinir este mtodo, pues el que se hereda cumple bien
con esta misin.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
que es ms fcil de usar, pues no requiere argumentos. El mtodo repaint() se encarga de llamar a paint() a
travs de update().
El mtodo repaint() llama a update(), que borra todo pintando de nuevo con el color de fondo y luego llama a
paint(). A veces esto produce parpadeo de pantalla o flickering. Existen dos formas de evitar el flickering:
1. Redefinir update() de forma que no borre toda la ventana sino slo lo necesario.
2. Redefinir paint() y update() para utilizar doble buffer.
Mediante el objeto de la clase Font asignaremos tipo de letra, estilo y tamao. Luego utilizaremos el mtodo
setFont para establecer ese tipo de letra. Para mostrar esa cadena utilizaremos otros mtodos dentro de paint.
En resumen para trabajar con texto, primero le damos las caractersticas, luego las establecemos y por ltimo
lo mostramos.
Mostrar texto:
Objeto_grfico.drawString(mensaje ,x,y);
Objeto_grafico.drawChars(mensaje ,pos_char,1,x,y);
Cuando mostramos la cadena, la posicin donde se muestra se lo indicamos mediante los valores de x e y, que
es el extremo izquierdo de la lnea base de los caracteres. Los valores que puede tomar el parmetro estilo son:
ESTILO
DESCRIPCIN
Font.BOLD
Negrita.
Font.ITALIC
Cursiva.
Font.PLAIN
Normal.
Ejemplo
Disee un Applet que Dibuje una leyenda, la cual el usuario ingresar mediante una caja de texto. 1 import
java.applet.Applet;
2 import java.awt.*;
3 import javax.swing.*;
4 //declaracin de la clase
5 public class PrimerApplet extends Applet
6 {
7 String leyenda;
8 public void init()
9 {
10 //vamos a leer
11 leyenda=JOptionPane.showInputDialog("Ingrese la Leyenda que Desea Dibujar:");
12 }
13 public void paint(Graphics g)
14 {
15 //llamar a la versin del mtodo paint de la clase Applet
16 super.paint(g);
17 g.drawString(leyenda, 50,50);
18 //dibujamos el contenido de leyenda, comenzando en las coordenadas x=50 y Y=50
19 }
20 }
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
120
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Explicacin
Para correr ste cdigo, lo que debemos hacer es guardar el archivo, una vez que hemos digitado todas las
instrucciones. Luego compilarlo, una vez hecho esto, procedemos a ejecutarlo, dando un clic sobre
el botn:
o en Build/Run as Applet.
En la lnea cinco, el lector debe notar una palabra, nueva extends la cual, le indica al compilador que, esa clase
de deriva de la SuperClase Applet, y que por tanto ste archivo debe ser tratado como un Applet.
Luego, realizamos una declaracin, de la variable que vamos a leer, note que, lo hacemos fuera de cualquier
mtodo, esto es, para que sta variable pueda ser utilizada por cualquier mtodo sin necesidad de pasarla como
parmetro.
Recuerde, adems que, los mtodos siempre sern del tipo public y no devolvern ningn valor (void),
adems que paint, recibe como parmetro, a g (que puede llamarse diferente), y que es del tipo Graphics. El
mtodo drawString, se utiliza para dibujar una cadena de caracteres, de la cual siempre debemos especificar,
las coordenadas donde iniciar a dibujar.
Estas coordenadas, de cuentan de la esquina superior izquierda, hacia la derecha (para x), y hacia abajo (para
y).
Otros mtodos tiles son:
g.drawLine(10,10,250,30); Para dibujar una lnea, ancho alto, y coordenadas
g.drawRet(20, 20, 50,50); Para dibujar un rectngulo, base altura y coordenadas
g.drawOval(5,6,50,50); Para dibujar un valo, radio mayor, radio Menor y Coordenadas.
Ejemplo
Se desea crear un Appletque, dibuje un rectangulo, un valo y una lnea, e indique, con una leyenda, el nombre
de la misma.
1 import java.awt.*;
2 import javax.swing.*;
3 public class DibujosVarios extends JApplet{
4
5 public void paint(Graphics g)
6 {
7 super.paint(g);
8 g.drawLine(25,25,100,25);
9 g.drawString("Esta es una Lnea", 30,100);
10 g.drawRect(150,25,50, 60);
11 g.drawString("Este es un Reactangulo", 150,100);
12 g.drawOval(300,25,40,20);
13 g.drawString("Este es un Ovalo", 300,100);
14 }
15 }
Explicacin
Para poder ver, ste archivo, es necesario crear un archivo HTML, que contenga, el siguiente cdigo: <html>
<applet code="DibujosVarios.class" width="500" height="250" > </applet> </html>
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
121
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Recuerde que, ste archivo, lo debe editar con el bloc de notas y guardarlo con extencin *.htm, para ver el
resultado siguiente:
import javax.swing.*;
import java.awt.*;
public class Dibujos extends JApplet {
public void init()
{
setBackground(Color.blue);
}
9
10
11
12
13
14
15
16
17
18
19
VIDA NUEVA
Educacin de calidad para un mundo competitivo
CADENAS DE CARACTERES
VARIABLES
Como ya lo hemos dicho, una variable, es aquella que, tiene la propiedad o capacidad de cambiar de valor,
durante al ejecucin del programa. Supongamos que se necesitan dos variables de tipo double, la declaracin
de ellas, sera:
double x, y;
Cuando, realizamos sta accin (o la declaracin de cualquier otro tipo de variables), estamos asignando
espacio en memoria (el tamao viene dado por el tipo de dato, del cual se est declarando.
Ver tabla 2.2). En dicho espacio, se guardar el valor, que almacenar dicha variable. Por tanto,
una variable tiene tres propiedades bsicas:
1. Una posicin de memoria para almacenar el valor
2. El tipo de datos almacenado en la posicin de memoria.
3. Y el identificar (nombre) asociado a sa posicin de memoria.
Ahora bien, el lector se preguntar, el por qu, pareciera una redundancia, al hablar de las variables, ya que,
esto lo hemos tratado con anterioridad.
Pues bien, es importante saber esto, ya que iniciaremos hablando de lo que es la esencia de Java:
LOS OBJETOS
Un Objeto, es una coleccin de datos y operaciones, que utilizan esos datos.
Declarar un Objeto
Al declarar un objeto, lo nico que hacemos es declarar una variable, de se tipo, la cual har referencia a se
objeto. Por tanto, dicha variable contendr una direccin de memoria (Algo similar a lo que eran los punteros
en C).
Un objeto se crea, a partir del operador new y el constructor correspondiente a la clase, de la cual se est
creando el objeto.
Por ejemplo, si deseamos crear, un objeto de la Clase Datos, sera as:
Datos Jefe; //Declaracin del Objeto
Jefe=new Datos();//Creacin del Objeto
Pero Tambin podemos hacerlo en una sola lnea:
Datos Jefe=new Datos();//Declaracin y Creacin del Objeto
Puesto que, de la misma manera que, se puede declarar e inicializar una variable; un objeto puede ser
declarado y creado al mismo tiempo.
Uso de Las Cadenas de Caracteres
Las clases String y StringBuffer estn orientadas a manejar cadenas de caracteres. La clase String est
orientada a manejar cadenas de caracteres constantes, es decir, que no pueden cambiar. La clase StringBuffer
permite que el programador cambie la cadena insertando, borrando, etc. La primera es mseficiente, mientras
que la segunda permite ms posibilidades.
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
123
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Ambas clases pertenecen al package java.lang, y por lo tanto no hay que importarlas. Hay que indicar que el
operador de concatenacin (+) entre objetos de tipo String utiliza internamente objetos de la clase
StringBuffer y el mtodo append().
Los mtodos de String se pueden utilizar directamente sobre literales (cadenas entre comillas), como por
ejemplo: "Hola".length().
Por ejemplo, si deseamos crear una cadena de caracteres del tipo String: String
nombre;
String Direccion= San Salvador, El Salvador ;
A continuacin, veamos algunos mtodos de la Clase String:
Mtodo
Descripcin
String( )
Constructor para crear el objeto. Casi nunca se utiliza, ya que no
es tan eficiente.
CharAt(int)
getChars(int,
int,char[], int)
indexOf(String, [int])
length()
replace(char, char)
startsWith(String)
substring(int, int)
toLowerCase()
toUpperCase()
trim()
valueOf()
Ejemplo
Disee un Programa que, lea una cadena de Caracteres, y luego, muestre esa misma cadena en minsculas,
maysculas y la longitud de la misma.
1
import javax.swing.*;
VIDA NUEVA
Educacin de calidad para un mundo competitivo
2
3
4
5
6
Explicacin Declaramos dos referencias a objetos de la clase String, una de ellas es identificada por
cadena , la cual guardamos, la cadena que, el usuario ha ingresado. La otra referencia (aux), nos sirve para
guardar, el resultado que devuelven los mtodos que hemos llamado.
En las lneas 9,10 y 11, puede observar, la forma en la que se llaman a los mtodos correspondientes, para las
operaciones que deseamos realizar. La sintaxis es la siguiente:
Nombre_de_la_refencia_de_objeto . Nombre_del_metodo();
Existen, algunos mtodos que, reciben parmetros, los cuales, deben especificarse, dentro de los parntesis del
mismo. Pero, en el ejemplo anterior no es el caso.
La clase StringBuffer se utiliza prcticamente siempre que se desee modificar una cadena de caracteres.
Completa los mtodos de la clase String ya que stos realizan slo operaciones sobre el texto que no conllevan
un aumento o disminucin del nmero de letras del String.
Recurdese que hay muchos mtodos cuyos argumentos deben ser objetos String, que antes de pasar esos
argumentos habr que realizar la conversin correspondiente. La Tabla 4.2 muestra los mtodos ms
importantes de la clase StringBuffer.
Nombre del Mtodo
Descripcin
StringBuffer()
Constructores del Objeto.
capacity()
Devuelve el espacio disponible del Objeto
StringBuffer
charAt(int)
Devuelve el carcter que ocupa la posicin
especificada.
getChars(int, int,
Copia los caracteres indicados en la posicin
char[], int)
indicada de un array de caracteres
insert(int)
length()
reverse()
setCharAt(int, char)
toString()
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Ejemplo
Escriba un Applet que, lea una cadena de caracteres y luego, la imprima tal cual fue digitada, y luego la dibuje
de al revs.
1
2
3
4
5
6
7
8
9
10
11
13
14
15
16
17
18
import javax.swing.*;
import java.awt.*;
public class UsaBuffer extends JApplet
{
String aux;
StringBuffer cadena;//Declaracin del objeto
public void init()
{
//Realizamos la lectura
aux=JOptionPane.showInputDialog("Ingrese la Cadena");
cadena=new StringBuffer(aux);// al constructor del objeto le enviamos el valor de aux 12
public void paint (Graphics g)
{
super.paint(g);
g.drawString("La cadena Original es: "+cadena, 25,25);
cadena.reverse();
g.drawString("La cadena invertida es: "+cadena, 25,50); 19
}
20
21 }
MTODOS MATEMTICOS
La biblioteca de clases de Java incluye una clase Math en su paquete java.lang, la cual define un conjunto de
operaciones matemticas de uso comn que pueden ser utilizadas en cualquier programa. Veamos la siguiente
tabla:
Mtodo
static double E
Descripcin
Valor del nmero e, base del logaritmo
natural.
Valor del nmero PI (3.1416..)
Valor absoluto de a.
Valor mayor entre a y b
Valor menor entre a y b
Valor aleatorio, comprendido entre 0.0 y
1.0
Redondeo de a
Devuelve la raz cuadrada de a
Devuelve el avlor de ea
Devuelve el logaritmo a de a
Devuelve el valor de ab
Devuelve el arco coseno de a
Devuelve el arco seno de a
Devuelve el arco tangente de a
Devuelve el seno de a
Devuelve el coseno de a
Tangente de a
double PI
Tipo abs(tipo a)
Tipo max(tipo a, tipo b)
Tipo min(tipo a, tipo b)
double random()
double rint(double a)
double sqrt (double a)
double exp(double a)
double log (double a)
double pow(double a, double b)
double acos(double a)
double asin(double a)
double atan(double a)
double sin(double a)
double cos(double a)
double tan(double a)
Tabla 4.3
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Ejemplo
Disee una aplicacin en Java que dado el valor de un ngulo, encuentre su seno, coseno, tangente. Luego, le
permita ingresar un dato al usuario, con el cual, pueda calcular su raz cuadrada.
EXCEPCIONES
Una excepcin es una condicin anormal que surge en una secuencia de cdigo durante la ejecucin. La
gestin de excepciones lleva a la gestin de errores en tiempo de ejecucin. Cuando surge una condicin
excepcional se crea un objeto Exception.
El trabajo con excepciones se realiza mediante las siguientes palabras clave:
try Tiene el cdigo de ejecucin, si se produce un error lanza (throw) una excepcin que ser
capturada.
catch Captura la excepcin lanzada por try que le precede. Puede capturar ms de una excepcin, es
decir que se pueden aadir.
finally La excepcin es tratada en un gestor por omisin.
Sintaxis de excepciones:
try{
Bloque de cdigo;
}
catch(TipoExcepcion1 e){
gestin de la excepcin;
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
127
VIDA NUEVA
Educacin de calidad para un mundo competitivo
}
catch(TipoExcepcion2 e){
excepcin;
throw(e);
}
finally{}
gestin de la
Ejemplo
Supongamos que, una persona, desea realizar una divisin entre cero:
1 public class EjemploExcep{
2 public static void main (String args[]){
3 try{
4 double resul;
5
6 resul=27/0;
7 System.out.println("Resultado es: "+resul);
8 }//fin del try
9 catch (ArithmeticException e){
10 System.out.println("Java, lanza una excepcin, ya que no puede realizar una divisin entre
cero");
11 }
12 }
13 }
A continuacin mostramos una lista de las excepciones lanzadas por Java:
VIDA NUEVA
Educacin de calidad para un mundo competitivo
SENTENCIAS DE CONTROL
Todo lenguaje de programacin cuenta (o al menos debera contar), con una serie de iunstrucciones que, le
permitan controlar el flujo de ejecucin de las instrucciones. Afortunadamente Java posee dos grandes rubros
de dichas sentencias:
Estructuras Selectivas, en las cuales encontramos el if, elseif y switch.
Estructuras Repetitivas o Cilclos, entre las cuales estn: while, do while y for.
ESTRUCTURAS SELECTIVAS
En la vida, muchas veces, nos toca elegir entre un camino y otro a seguir. En muchas de las actividades que
realizamos da con da, nos enfrentamos a decisiones que debemos tomar y que, de una u otra forma, alteran el
cause normal de nuestra vida (o de nuestro programa).
Sentencia if
La sentencia if (o si condicional), le permite a un programa decidir, mediante la evaluacin de una condicin,
ejecutar una u otra accin o acciones.
La sintaxis General es La siguiente:
VIDA NUEVA
Educacin de calidad para un mundo competitivo
if(condicion1) Accion1; En
donde:
Condicin 1: Representa una expresin que puede ser del tipo booleana.
Accin 1: es la accin que, al evaluar la condicin como verdadera, se ejecutar. Si son
varias acciones, van entre llaves.
Ejemplo
Disee un programa en Java, que calcule, los descuentos a un trabajador, sabiendo que, son aplicables, un
6.25% del salario en AFP, slo si ste es superior a $300.00; Adems que, si es un trabajador hombre, se le
descuenta, aparte del AFP, el 3% sobre el sueldo en concepto de ISSS y 10% en concepto de Renta.
1
2
3
4
5
6
7
8
9
10
11
import javax.swing.*;
class Descuentos{
public static void main (String args []) {
String datos;
int sexo;
double sueldo, afp=0, isss, totalre, nsueldo, renta;
datos=JOptionPane.showInputDialog("Ingrese el sueldo del empleado (a)");
sueldo=Double.parseDouble(datos);
if(sueldo>300)//Preuntamos si el sueldo es mayor a 300
afp=sueldo*0.0625;// si es mayor, aplicamos descuento
JOptionPane.showMessageDialog(null, "Este empleado tiene un sueldo de: "+sueldo+" y El
descuento del AFP es: "+afp);
12 datos=JOptionPane.showInputDialog("Ingrese el Sexo: \nSi es Masculino (1)\nSi es Femenino
(2)");
13
14
15
16
17
18
19
20
sexo=Integer.parseInt(datos);
if(sexo==1)//Si es de sexo masculino
{
isss=sueldo*0.03;//aplicamos las otras retenciones
renta=sueldo*0.10;
totalre=afp+isss+renta;
nsueldo=sueldo-totalre;
JOptionPane.showMessageDialog(null, "A este empleado, se le retiene: "+isss+" En concepto de
ISSS\nAdems Se le retiene: "+renta+" En Concepto de Renta\nLo que hace un total de:
"+totalre+"\nY su nuevo sueldo es: "+nsueldo);
21 }//del if
22
23 }//del main
24 }// de la clase
En las sentencias if, podemos agregar la sentencia else, la cual indica que, si al evaluar la condicin, sta es
falsa, entonces, realizar las acciones, que estn despus del else. La sintaxis es la siguiente:
if(condicin1) {
Acciones; } else
{
Condiciones;
}
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Ejemplo
Al ingresar la nota de un alumno, se desea saber si ste aprob o no, una materia en el colegio. Se sabe que
para aprobar, se necesita una nota mayor o igual a 7.0. Disee una aplicacin en Java que, al ingresar la nota,
muestre con un mensaje, si el alumno, aprob o no. Adems se sabe que si la nota est entre 6.50 y 6.99, tiene
la posibilidad de realizar un examen de suficiencia para aprobar.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import javax.swing.*;
public class NotaAlum{
public static void main (String args []){
String leer;
double Nota;
leer=JOptionPane.showInputDialog("Ingrese la nota del alumno");
Nota=Double.parseDouble(leer);
if(Nota>=7.0)
JOptionPane.showMessageDialog(null, "El alumno APROB!!!!!!");
else
{
JOptionPane.showMessageDialog(null, "El alumno reprob");
if(Nota>=6.5 && Nota<=6.99)
JOptionPane.showMessageDialog(null, "Pero tiene la posibilidad de realizar el
examen de suficiencia");
15 }//del else
16 }//del main
17 }//de la clase
Explicacin:
En la lnea 13, colocamos una condicin compuesta, es decir que, si el alumno alcanza una nota mayor o
igual a 6.5, pero menor a 7.0 (es decir 6.99), tiene la posibilidad de realizar el examen. Note adems que, una
estructura, puede estar dentro de otra, lo que llamamos Anidamiento, para el caso, el if de la lnea 13, est
dentro del else, que inicia en la lnea 10.
Sentencia elseif
Esta estructura, es una consecuencia de las estructuras if anidadas, sus formato es el siguiente:
if(condicion1)
Sentencia 1; elseif(condicion2)
Sentencia 2; elseif(condicion3)
Sentencia 3;
...
else
Sentencia n;
Funciona de la siguiente manera:
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
131
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Se evala la primera condicin, si resulta verdadera se ejecuta la sentencia 1, y se contina con la ejecucin
del programa; de lo contrario, de evala la condicin 2, si resulta verdadera, se ejecuta la sentencia 2, de lo
contrario se evala la condicin 3 y as sucesivamente. Si al evaluar todas las condiciones, ninguna resulta
verdadera, se ejecuta el bloque del else.
Ejemplo
Cree un Applet que, reciba como ingreso la nota de un alumno y la clasifique, segn la siguiente tabla:
10-9 Excelente
8-7
Muy Bueno
6-4
Bueno
3-2
Regular
0-1
Necesita Mejorar
Cabe recalcar que dicha escuela, maneja solamente notas cerradas, es decir, sin decimales.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import javax.swing.*;
import java.awt.*;
public class NotasAlumno extends JApplet
{ //declaracion de variables
String leer;
double nota;
public void init()
{
leer=JOptionPane.showInputDialog("Ingrese La Nota:");
nota=Double.parseDouble(leer);
}
public void paint(Graphics g)
{
super.paint(g);
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Sentencia switch
Esta sentencia, permite ejecutar, una u otra u otra accin, al evaluar una condicin, cuyo resultado es el que
indica que bloque (o bloques) de instrucciones se van a ejecutar.
Su sintaxis es la siguiente: switch(expresin)
{
case 1:
Sentecia 1;
break; case 2:
Sentecia 2;
break;
...
default:
Sentencias;
break;
}
En donde, expresin es una condicin que, al evaluarla, nos indicar que camino debemos seguir. Adems sta
puede ser, una expresin entera char, byte, int y short. Adems que, la expresin constante que acompaa a la
palabra reservada case debe ser del mismo tipo que expresin. La clusula default es opcional y puede
omitirse en los programas que desarrollemos.
Ejemplo
En una tienda, se realizan diferentes descuentos, a sus clientes al momento de cancelar en caja. Ya que, cuando
se disponen a cancelar tienen la oportunidad de sacar una bolita, y dependiendo del color de la misma, se le
aplica su respectivo descuento. Si la bolita es roja, se le aplica un 10% de descuento sobre la compra; si la bola
es verde, se le aplica un 5% de descuento, y si la bolita es blanca, no se le aplica descuento alguno. Disee una
aplicacin que de soporte a sta actividad en el sper mercado.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
VIDA NUEVA
Educacin de calidad para un mundo competitivo
18 {
19 descuento=compra*.10;
20 monto=compra-descuento;
21
22
23
24
25
26
27
}
break;
case 2:
{
descuento=compra*.05;
monto=compra-descuento;
28
29
30
31
32
33
34
35
36
37
38
}
break;
case 3:
monto=compra;
break;
default:
monto=compra;
break;
}//del switch
JOptionPane.showMessageDialog(null, "El cliente haba
consumido: "+compra+"
Pero sac una bolita color: "+bolita+"\nPor lo que se aplic un descuento de: "+descuento+"\nAhora el saldo a
cancelar es: "+monto);
39 }//del main
40 }// de la clase
ESTRUCTURAS REPETITIVAS
Introduccin
Es muy comn encontrar en los programas operaciones que se deben ejecutar un nmero repetido de veces en
perodos ms o menos espaciados. Si bien las instrucciones son las mismas, los datos sobre los que operan
varan. A nuestro alrededor, encontramos problemas que presentan esas caractersticas, por ejemplo: el clculo
de la nota final de los estudiantes de Programacin III, se realizar tantas veces como alumnos hayan inscritos
en dicha asignatura, el clculo del salario de los empleados de una empresa, etc. En estos casos la solucin que
se disee para un solo grupo de datos se debe repetir tantas veces como sea necesario (de acuerdo al nmero
de estudiantes y de empleados para los ejemplos anteriores).
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Los clculos simples o la manipulacin de pequeos conjuntos de datos se pueden realizar fcilmente a mano,
pero las tareas grandes o repetitivas son realizadas con mayor eficacia por una computadora, ya que estas estn
especialmente preparadas para ello.
Para repetir varias veces un proceso determinado haremos uso de los ciclos repetitivos, a los cuales se les
conoce con el nombre de estructura repetitiva, estructura iterativa, lazo o bucle. En C, al igual que en Java
podemos encontrar tres tipos de ciclos:
Funcionamiento de Un Ciclo
Un ciclo, funciona de la siguiente manera: Evala una condicin de resultar cierta, realiza una accin o bloque
de acciones, luego vuelve a evaluar la condicin y si nuevamente resulta cierta, realiza la (s) accin (es).
Cuando la condicin de cmo resultado falso, se sale del ciclo y contina con la ejecucin normal del
programa.
Acumulador:
Es una variable, que , como su nombre lo indica se encarga de acumular valores. Esto se vuelve muy til, por
ejemplo, cuando queremos encontrar la suma de los nmeros del 0 al 9, en el acumulador, vamos guardando
los valores de dichas cifras. Puede ser tanto real como entera. Su valor inicial, en la mayora de los casos es
cero.
Contador:
Es una variable de tipo entero, que nos ayuda, en el programa a contabilizar el nmero de ejecuciones de una
misma accin, de un grupo de alumnos etc. Un acumulador tiene tres valores distintos:
Valor Inicial: es el valor con el cual iniciamos nuestro contador. Generalmente es cero. Esta asignacin
puede hacerse cuando se declara la variable.
Valor Final: despus de la ejecucin del ciclo, el valor del contador, ser distinto a su valor inicial, este
puede ser mayo o menor que el mismo, todo depende si fue una cuenta creciente o decreciente.
Valor de Cambio: Es el valor Constante, en el cual se ir incrementando nuestro contador, este puede
ser positivo o negativo; es decir, si la cuanta se realiza de manera ascendente o descendente.
Bandera:
Las variables tipo bandera son aquellas que slo admiten dos valores: cierto o falso, true o false, hombre o
mujer... etc
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
135
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Ciclo de Entrada Asegurada
La sintaxis es la siguiente:
while(condicin)
Accin;
Funciona de la siguiente manera: primero evala la condicin, si da como resultado cierta realiza la accin,
luego vuelve a evaluar la condicin, si su resultado es falso, se sale del ciclo y contina con la ejecucin del
programa. Hay que tener mucho cuidado, cuando trabajamos con ciclos, ya que podemos caer en un ciclo
infinito, es decir que nunca se sale de l. Por lo cual en las acciones debemos siempre colocar algo que haga
que se modifique el resultado de la condicin, lo cual puede ser una bandera, un contador o un acumulador.
Ejemplo
En una empresa, se desea se tienen datos correspondientes a los sueldos de 10 empleados, de los cuales, se
desea saber, quien goza del sueldo mayor, quien goza del sueldo menor y cuantos poseen un sueldo mayor a
$300.00
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import javax.swing.*;
class UsaWhile{
public static void main (String args []){
String leer;
double sueldo, mayor=0, menor=10000;
int i=1, contador=0;
while(i<=10)
{
leer=JOptionPane.showInputDialog("Ingrese el sueldo del empleado: "+i);
sueldo=Double.parseDouble(leer);
while(sueldo<0)//si el sueldo es negativo
{
leer=JOptionPane.showInputDialog("ERROR, el sueldo no puede ser Negativo\nIngrese el sueldo
del empleado: "+i);
sueldo=Double.parseDouble(leer);
}
if(sueldo>300)
contador=contador+1;
if(sueldo>mayor)
mayor=sueldo;
if(sueldo<menor)
menor=sueldo;
i=i+1;
}
JOptionPane.showMessageDialog(null, "El sueldo mayor es de: "+mayor+"\nEl sueldo menor es:
"+menor+"\n"+contador+" Empleados tienen un sueldo mayor a $300");
}
}
VIDA NUEVA
Educacin de calidad para un mundo competitivo
for( valor inicial; condicin; incremento)
accion;
Donde:
Valor inicial: es el valor con el cual inicializamos nuestra variable de control.
Condicin: si la cumple, ejecuta la accin o acciones e incrementa o decrementa la variable de control, sino la
cumple la condicin, se sale del ciclo. Incremento; que puede ser positivo o negativo (decremento).
Ejemplo
Escriba un Applet que dibuje un rectngulo, unas lneas u valos en base a la entrada del usuario. (Tomado de
cmo Programar en Java)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import java.awt.*;
import javax.swing.*;
public class PruebaFor extends JApplet{
int opcion; //la opcion del usuario
public void init ()
{
String entrada;
//obtener la opcion del usuario
entrada=JOptionPane.showInputDialog("Escriba 1 para dibujer Lineas\nEscriba 2 para dibujar
rectangulos\nEscriba 3 pra dibujar Ovalos");
opcion=Integer.parseInt(entrada);
}//fin del metodo init
//dibujer figuras en el fondo el Applet
public void paint (Graphics g)
{
super.paint(g);
for(int i=0; i<10; i++)
{
switch(opcion)
{
case 1://dibujar lineas
g.drawLine(10,10,250,10+i*10);
break;
case 2://dibujar rectangulos
g.drawRect(10+i*10,10+i*10,50+i*10, 50+i*10);
break;
case 3: //dibujar un Ovalo
g.drawOval(10+i*10, 10+i*10, 50+i*10, 50+i*10);
break;
default: //Valor Incorrecto
g.drawString("Se escribi un valor Incorrecto", 10,20+i*15);
}//fin del switch
}//fin del for
}//fin del paint
}//fin de la clase
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Ciclo Do... while
Es te ciclo funciona de la siguiente manera, realiza la accin o conjunto de acciones, luego evala una
condicin de resultar cierta vuelve a realizar la/s accion/es. Cuando sea falsa, se sale del ciclo. Formato:
do
{
sentencia;
.
.
} while(<expL>);
La diferencia fundamental, entre el ciclo while y do...while, es que en este ultimo, las sentencias se realizarn
por lo menos una vez, en cambio, con while, solo se cumplirn mientras se cumpla la condicin, lo cual
puede ser nunca.
Ejemplo
Programa que suma los valores de n1, mientras estos no sean mayores que 100 1 class
fibo{
2 public static void main(String args[]){
3 int n1=0;
4 do{
n1++;
5 System.out.println(n1+" ");
6 }while(n1<100);
7 }
8 }
ARREGLOS EN JAVA
Los arreglos en Java son dinmicos, pero no extensibles, lo cual significa que deben ser creados con el tamao
que tendrn hasta el final de su vida.
Un arreglo se declara de la siguiente forma:
<tipo>[] <nombre>;
O sea, para declarar, por ejemplo, un arreglo de nmeros enteros utilizaremos la siguiente sentencia:
int[] arrInt;
Es importante notar que el arreglo an no ha sido creado, sino meramente declarado. Para crear el arreglo
(reservar su memoria e inicializarlo) deberemos recurrir al operador new:
arrInt = new int[10];
Este comportamiento debe comprenderse de esta forma: en Java todo es un objeto, y los objetos deben ser
creados mediante el operador new. El caso de los arreglos no es diferente, el tipo de datos del arreglo (int[] en
este caso) es una clase y cada una de sus instancias debe ser creada explcitamente, el tamao puede pensarse
como un parmetro al constructor de la clase.
A partir de este momento podemos utilizar arrInt como un arreglo de cualquier otro lenguaje.
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
138
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Una de las caractersticas que hacen de Java un entorno de programacin seguro, y que se relaciona con el
manejo de los arreglos es que el lenguaje no permite la indexacin de arreglos fuera de rango, o sea, una
asignacin de este tipo generar una excepcin:
ArrInt[25] = 1;
Otra forma de declararlos es la siguiente:
UNIDIMENSIONALES:
tipo nombre_array[]=new
nombre_array[]={valores};
tipo[n];
tipo
BIDIMENSIONALES:
tipo nombre_array[][]=new tipo[n][n]; tipo
nombre_array[][]={valores}; Ejemplo
Se sabe que la velocidad de un proyectil est dada por la ecuacin, en forma vectorial: V= ai+ bj+ ck. Disee
una aplicacin que sea capaz de leer los valores de las constantes a, b y c. y muestre la magnitud y direccin
de dicho proyectil.
1 import javax.swing.*;
2 public class Proyectil{
3 public static void main (String args []){
4 String leer;
5 double magnitud, direccion, sum;
6 double vector[]=new double[3];
7 int ban=1;
8 while(ban==1)//miestras hayan datos a procesar
9 {
10 //leemos el valor de las constantes
11 leer=JOptionPane.showInputDialog("Ingrese el valor de a:");
12 vector[0]=Double.parseDouble(leer);
13 leer=JOptionPane.showInputDialog("Ingrese el valor de b:");
14 vector[1]=Double.parseDouble(leer);
15 leer=JOptionPane.showInputDialog("Ingrese el valor de c:");
16 vector[2]=Double.parseDouble(leer);
17 //calculamos la magnitud
18 //la cual es la raz cuadrada de las suma+
19 //de las componentes al cuadrado
20 sum=(vector[0]*vector[0])+(vector[1]*vector[1])+(vector[2]*vector[2]);
21 magnitud=Math.sqrt(sum);
22 //La direccin viene dada por la tangente inversa
23 //del cociente de las componentes x,y
24 direccion=Math.atan(vector[1]/vector[0]);
25 JOptionPane.showMessageDialog(null, "El valor de la magnitud es: "+magnitud+"\n y con un
angulo direccional de: "+direccion+" Radianes");
26 leer=JOptionPane.showInputDialog("Hay ms datos a procesar?\n\nSi=1 y No=0"); 27
ban=Integer.parseInt(leer);
28 }//del while
29 }//del main
30 }//de la clase
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
139
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Ejemplo
Se tienen las notas de 5 exmenes de 10 alumnos, y se desea promediar la nota final de cada uno de ellos.
Disee una aplicacin que solucione este problema.
1
2
3
4
5
6
7
8
9
10
11
12
13
import javax.swing.*;
public class MatrizNotas{
public static void main (String args []) {
int f,c;
double suma, promedio;
double notas [][]=new double[10][5];
String leer;
for(f=0; f<10; f++)//las filas
{
suma=0;
for(c=0; c<5; c++)
{
leer=JOptionPane.showInputDialog("Ingrese la nota: "+c+" del alumno: "+f); 14
notas[f]
[c]=Double.parseDouble(leer);
15 while(notas[f][c]>10 || notas [f][c]<0)
16 {
17 leer=JOptionPane.showInputDialog("Ingrese la nota: "+c+" del alumno: "+f);
18 notas[f][c]=Double.parseDouble(leer);
19 }
20 suma=suma+notas[f][c];
21 }
22 promedio=suma/5;
23 JOptionPane.showMessageDialog(null, "El alumno, tiene un promedio de: "+promedio);
24 }
25 }
26 }
27
CARACTERISTICAS MS IMPORTANTES
1. Los arrays se crean con el operador new seguido del tipo y nmero de elementos.
2. Se puede acceder al nmero de elementos de un array con la variable miembro implcita length (por
ejemplo, vect.length).
3. Se accede a los elementos de un array con los corchetes [] y un ndice que vara de length-1.
4. Se pueden crear arrays de objetos de cualquier tipo. En principio un array de objetos es un array de
referencias que hay que completar llamando al operador new.
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
140
VIDA NUEVA
Educacin de calidad para un mundo competitivo
5. Los elementos de un array se inicializan al valor por defecto del tipo correspondiente (cero para valores
numricos, el carcter nulo para char, false para boolean, null para Strings y para referencias).
6. Como todos los objetos, los arrays se pasan como argumentos a los mtodos por referencia.
7. Se pueden crear arrays annimos (por ejemplo, crear un nuevo array como argumento actual en la llamada a
un mtodo).
INICIALIZACIN DE ARRAYS:
1. Los arrays se pueden inicializar con valores entre llaves {...} separados por comas.
2. Tambin los arrays de objetos se pueden inicializar con varias llamadas a new dentro de unas llaves
{...}.
3. Si se igualan dos referencias a un array no se copia el array, sino que se tiene un array con dos nombres,
apuntando al mismo y nico objeto.
4. Creacin de una referencia a un array. Son posibles dos formas:
double[] x; // preferible
double x[];
5. Creacin del array con el operador new:
x = new double[100];
6. Las dos etapas 4 y 5 se pueden unir en una sola:
double[] x = new double[100];
CLASES EN JAVA
Al fin!!!... lo que hasta el captulo anterior, pareciera que hayamos estado repasando el lenguaje C/C++, puesto
que Java, posee mucho de estos lenguajes. Pero nos estamos adentrando a la esencia de la Programacin
Orientadaza o Objetos.
Un programa se construye a partir de un conjunto de clases.
Una vez definida e implementada una clase, es posible declarar elementos de esta clase de modo similar a
como se declaran las variables del lenguaje (de los tipos primitivos int, double, String, ). Los elementos
declarados de una clase se denominan objetos de la clase. De una nica clase se pueden declarar o crear
numerosos objetos. La clase es lo genrico: es el patrn o modelo para crear objetos.
Cada objeto tiene sus propias copias de las variables miembro, con sus propios valores, en general distintos de
los dems objetos de la clase. Las clases pueden tener variables static, que son propias de la clase y no de cada
objeto.
Conceptos Claves
Una clase es una agrupacin de datos (variables o campos) y de funciones (mtodos) que operan sobre esos
datos. A estos datos y funciones pertenecientes a una clase se les denomina variables y mtodos o funciones
miembro. La programacin orientada a objetos se basa en la programacin de clases.
Una clase es una agrupacin de datos (variables o campos) y de funciones (mtodos) que operan sobre esos
datos. La definicin de una clase se realiza en la siguiente forma:
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
141
VIDA NUEVA
Educacin de calidad para un mundo competitivo
[public] class Classname { //lo de public es opcional
// definicin de variables y mtodos
...
}
Donde la palabra public es opcional: si no se pone, la clase tiene la visibilidad por defecto, esto es, slo es
visible para las dems clases del package. Todos los mtodos y variables deben ser definidos dentro del
bloque {...} de la clase.
Un objeto (en ingls, instance) es un ejemplar concreto de una clase. Las clases son como tipos de variables,
mientras que los objetos son como variables concretas de un tipo determinado.
Classname unObjeto;
Classname otroObjeto;
Creacin de Un Objeto
nomb_clase nomb_objeto=new nomb_clase([valores]);
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Cuando se hace referencia a un mtodo este debe estar declarado y desarrollado al igual que el objeto. Para
declarar y desarrollar un mtodo debe estar dentro de una clase y se debe indicar el valor que devuelve, el
nombre y los valores que se le pasan.
Definicin
de
los
Mtodos
nombre_mtodo([valores])
{ cuerpo;
}
valor
devuelto
Si tenemos que hacer referencia a las variables de instancia y los mtodos contenidos en un objeto se necesita
el operador punto(.).
Objeto.nomb_mtodo( );
Objeto.nomb_mtodo(valores);
Objeto.variable;
Veamos un Ejemplo para ilustrar lo que se ha dicho:
Ejemplo
Disee una Clase, para crear objetos del tipo Alumnos, en el cual, permita ingresar el nombre, edad y Nota de
ciertos objetos de ese tipo.
Solucin:
1. Digite el siguiente cdigo
1
2
3
4
5
6
7
/*Archivo Alumnos.Java*/
import javax.swing.*;
public class Alumnos{
//declaracin de los atributos
public String Nombre;
public int Edad;
public double Nota;
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
VIDA NUEVA
Educacin de calidad para un mundo competitivo
27 JOptionPane.showMessageDialog(null, salida);
28 }
29 }
2. Luego guarde el archivo, Complelo, pero NO lo ejecute. Con esto estamos creando nuestra Clase, con la
cual, podremos construir Objetos de este tipo.
3. Ahora, y en otro archivo digite las siguientes sentencias:
1
2
3
4
5
6
7
8
9
/*Archivo UsaAlumnos.java*/
class UsaAlumnos{
public static void main (String args []) {
//declaramos y creamos un objeto del tipo Alumnos
Alumnos Datos=new Alumnos();
//LLamamos a los mtodos
Datos.EstablecerNombre();
Datos.EstablecerEdad(20);
Datos.EstablecerNota(9.5);
10
11 //Ahora mostramos los Datos
12 Datos.MostrarDatos();
13 }
14 }
4. Luego Guarde el archivo, Complelo y Ejectelo.
Explicacin.
En el ejemplo anterior puede notar que, los atributos, son esas variables simples, es las cuales almacenaremos
informacin relevante a los objetos que, crearemos a partir de esa clase.
Adems que, los estamos declarando como pblicos, lo cual indica que tenemos acceso directo desde cualquier
otro archivo a los atributos. Los mtodos son del tipo public y no devuelven ningn valor, por tal razn son
declarados como void. Adems que. El mtodo EstablecerEdad y EstablecerNota, reciben un argumento cada
uno de ellos, el cual es asignado al respectivo atributo.
CONSTRUCTORES
Un Constructor es una funcin, mtodo, etc, de las clases, la cual es llamada automticamente cuando se crea
un objeto de esa clase.
Por ser mtodos, los constructores tambin aceptan parmetros. Cuando en una clase no especificamos ningn
tipo de constructor, el compilador aade uno pblico por omisin sin parmetros, el cual NO hace nada.
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
144
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Caractersticas de los Constructores
1. Un constructor, tiene el mismo nombre de la clase a la cual pertenece.
2. No puede ser Heredado.
3. No retorna ningn valor (Ni void), por lo cual no debe especificarse ningn tipo de dato.
4. Debe declararse como public, slo en casos realmente extraordinarios ser de otro tipo.
Supongamos una clase llamada Datos
public class Datos
{
//declaracion de atributos
public Datos();//constructor sin parametros
public Datos(int Edad) {//Constructor con
parmetros
EdadM=Edad;
}
}
Ejemplo
Se Desea crear un objeto del tipo Coordenadas, que indique, la posicin de un punto en el plano cartesiano, y
permita calcular la distancia existente con otro punto, adems del punto medio entre ellos.
1 /*Archivo Coordenadas.java*/
2
3 public class Coordenadas {
4 private int x,y;//Atributos
5 public Coordenadas (int x1 , int y1)//constructor
6 {
7 //asignamos esos valores
8 x=x1;
9 y=y1;
10 }
11 public double Distancia (int x1, int y1)
12 {
13 //este mtodo recibe como parametros
14 //las coordenadas del segundo punto
15 double D;
16 D=Math.sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1));
17 return D;//Retornamops el valor de la distancia
18 }
19 public void Pmedio(int x1, int y1)
20 {
21 double p1, p2;
22 p1=(x+x1)/2;
23 p2=(y+y1)/2;
24 System.out.println("El puntomedio es: "+p1+","+p2);
25 }
26 }
1 /*Archivo UsaCoordenadas.java*/
2 public class UsaCoordenadas {
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
145
VIDA NUEVA
Educacin de calidad para un mundo competitivo
3 public static void main (String args []){ 4 Coordenadas P=new Coordenadas (10,20); 5
la Distancia:
6 System.out.println("La Distancia es: "+P.Distancia(5,6));
7 //Punto Medio
8 P.Pmedio(5,6);
9 }
10 }
//calculamos
Explicacin:
Un mtodo, si va a devolver algn valor, ste debe especificarse cuando se hace la definicin del mismo, para
el caso, el mtodo Distancia, devuelve el valor de la distancia, es por ello que lo especificamos como public
double. Adems que, cuando realizamos la llamada de ese mtodo, es en ese preciso lugar que aparecer el
valor que devuelve. Por otra parte, los atributos, son de acceso privado, lo cual implica que, slo podemos
acceder a ellos, en la clase Coordenadas.
Sobrecarga
Cuando en una clase, se definen un mismo mtodo, con diferente nmero de parmetros, o bien con el mismo
numero de parmetros pero diferencindose en la definicin, en la cual, al menos un parmetro sea de
diferente tipo, cuando esto sucede, se dice que el mtodo est sobrecargado.
Ejemplo
Cree una aplicacin en Java, que imprima un nmero imaginario. Nota, los nmeros imaginarios, poseen una
parte real y otra imaginaria, acompaada por la constante i.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
1
2
3
4
5
6
class Imaginario {
private int real, imag;
public Imaginario()
{
real=0;
imag=0;
}
public Imaginario(int x, int y)
{
real=x;
imag=y;
}
public void Mostrar()
{
System.out.println("El Numero Imaginario es: "+real+" + "+imag+"i");
}
}
class UsaImaginario{
public static void main (String args []) {
Imaginario oI=new Imaginario(5,6);
oI.Mostrar();
}
}
VIDA NUEVA
Educacin de calidad para un mundo competitivo
ANTES DE EMPEZAR:
Manual F.V.
Significa manual prctico de informtica , pero realmente realmente PRCTICO.
Todos los programas y ejercicios del manual han sido probados sin problema en el Microsoft
Internet Explorer 5.0
Mi consejo, es que escribas de nuevo tal como te indico en el texto, cada uno de los programas
utilizando el Bloc de Notas del Windows. Slo en el caso de que el programa no te funcione y no
VIDA NUEVA
Educacin de calidad para un mundo competitivo
descubras cul es el error, cpialo a partir del Word en el Bloc de Notas y grbalo con otro nombre;
para poder compararlo con el tuyo y as descubrir el error.
Piensa que se aprende ms descubriendo los propios errores, que avanzar sin hacer ningn error.
Netscape Comunicator
Microsoft Internet Explorer
VIDA NUEVA
Educacin de calidad para un mundo competitivo
[Inicio]
Programas
Accesorios Bloc de
Notas Escribe:
<HTML>
<HEAD>
<TITLE>PROG000.HTM</TITLE>
</HEAD>
<BODY>
<P>Esto aparecer en el navegador porque es un prrafo</P>
<P>Esto es otro prrafo</P>
<P>Observa lo que aparece en la lnea de ttulo</P> <P>La lnea
de ttulo es la frase que aparece en el marco del navegador, lnea
superior</P>
<P>Est claro para qu sirven los tags P, /P?</P>
</BODY>
</HTML>
Graba el fichero anterior con el nombre PROG000.HTM en TuCarpeta
Ejecuta el Explorador de Windows . Sitate en TuCarpeta y haz un doble click en PROG000.HTM
De esta forma, se ejecuta el navegador de tu ordenador (supondr que es el Internet Explorer) y se
carga la pgina PROG000.HTM
El navegador nos muestra la pgina HTML visualmente , para ver su cdigo debes hacer:
Men Ver
Cdigo fuente
La programacin en HTML no tiene ninguna utilidad para un usuario normal, ya que en el mercado existen
herramientas que evitan la necesidad de tener que introducir manualmente los tags :
HotMetal, FontPage, Word, etc.
Lo que s tienen sentido es el estudio de la programacin en JavaScript.
JavaScript es un lenguaje de programacin creado por la empresa Netscape (creadora de uno de los
navegadores ms conocido)
Es el lenguaje de programacin ms utilizado en Internet para aadir interactividad a las pginas Web No
confundir el JavaScript con el Java. El Java es un lenguaje de programacin de propsito general como lo
son el C++ o el Visual Basic.
Un programa en JavaScript se integra en una pgina Web (entre el cdigo HTML) y es el navegador el que lo
interpreta (ejecuta). Es decir el JavaScript es un lenguaje interpretado, no compilado (no se genera ningn
tipo de fichero objeto o exe).
Para programar en JavaScript slo necesitamos un editor de texto (utilizaremos el Bloc de Notas del
Windows) y un navegador (utilizaremos el Microsoft Internet Explorer) para ejecutarlo.
Por qu el JavaScript y no otro lenguaje de programacin? Porque:
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
149
VIDA NUEVA
Educacin de calidad para un mundo competitivo
SINTAXIS BSICA
Escribe, utilizando el Bloc de Notas del Windows, el siguiente programa:
<HTML>
<HEAD>
<TITLE>PROG001.HTM</TITLE> <SCRIPT
LANGUAGE="JavaScript"> alert("Hola Mundo!");
</SCRIPT>
</HEAD>
<BODY>
<P>
Programa 1 en JavaScript
</P>
</BODY>
</HTML>
Graba el fichero anterior en TuCarpeta con el nombre Prog001.htm Ejecuta el
programa Prog001.htm, es decir:
Ejecuta el Explorador de Windows
Sitate en TuCarpeta
Clic-Click en Prog001.htm
Estudio del Prog001.htm:
Un programa JavaScript se escribe integrado en una pgina HTML, por lo tantono es ms que un fichero
de texto que contiene una serie de pares de tags correspondientes a la pgina Web (como mnimo el par:
<HTML>, </HTML>), adems del par de tags caracterstico de un programa JavaScript. Dicho fichero se ha
de grabar necesariamente con la extensin HTM (caracterstica de una pgina HTML).
Un programa JavaScript no es ms que una secuencia de ordenes, que deben terminar en punto y coma,
entre los tags:
<SCRIPT LANGUAGE=JavaScript> y
</SCRIPT>
En nuestro Prog001.htm, hemos incluido el programa en la cabecera (HEAD) de la pgina, pero podramos
colocarlo en cualquier parte del fichero htm
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
150
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Nuestro primer programa JavaScript contiene una nica sentencia: alert(Hola Mundo!); Que
abre una ventana con el mensaje que tenemos entre comillas.
Al hacer clic en el [Aceptar] de la ventana alert, se acaba el programa JavaScript (se encuentra el tag
</SCRIPT>) y continua ejecutndose la pgina HTML.
Utilizando el Bloc de Notas escribe el siguiente programa:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG002.HTM var nom;
nom=prompt("Escribe tu nombre ","Paco"); alert("Mucho gusto
"+ nom);
</SCRIPT>
</HTML>
Grbalo en TuCarpeta con el nombre Prog002.htm
Ejectalo varias veces, observando detenidamente lo que sucede.
Estudio del Prog002.htm
1. Primera y ltima lnea: <HTML> y </HTML>
Es decir: pgina html mnima que necesitamos para incluir un programa JavaScript.
2. Segunda y penltima lneas: <SCRIPT LANGUAGE=.....> y </SCRIPT>, es decir programa en
JavaScript
3. Primera sentencia del programa: // PROG002.HTM
nica lnea del programa que no es necesario acabarla con punto y coma.
Todas las lneas que empiezan por // son comentarios para el programador, es decir no forman parte
del programa, dicho de otra forma: el navegador si encuentra una lnea que empieza por
//, la salta.
4. var nom;
Definimos una variable de nombre nom
5. nom = prompt(Escribe tu nombre , Paco );
Aparece un recuadro con un mensaje y un campo donde podemos escribir algo; el mensaje
corresponde a lo que escribimos en el primer argumento de la funcin prompt, encerrado entre
comillas. El segundo argumento del prompt contiene el valor que aparece por defecto en el campo del
cuadro de dilogo.
El valor del prompt es nom, es decir lo que nosotros escribamos en el cuadro ser el valor que tomar
la variable nom. Si no escribimos nada y hacemos click en [Aceptar], el prompt, es decir la variable nom
tomar el valor de Paco, porque es el valor que aparece por defecto. 6. alert("Mucho gusto "+nom);
Aparece un cuadro con el mensaje "Mucho gusto" y a continuacin el valor de la variable "nom", que
ser lo que hemos escrito en el primer cuadro que nos ha aparecido.
En definitiva:
La funcin prompt nos permite introducir "valores", dichos valores se han de guardar en variables, que
previamente hemos de declarar con la palabra reservada "var".
La funcin "alert" muestra mensajes y/o valores de variables.
Utilizando el "Bloc de Notas del Windows" escribe el siguiente programa:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG003.HTM
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
151
VIDA NUEVA
Educacin de calidad para un mundo competitivo
/*Programa que sirve para calcular el rea de un rectngulo */
var base,altura; base=prompt("Escribe la base del
Rectngulo",""); altura=prompt("Escribe la altura del
Rectngulo","");
alert("El rea del Rectngulo es = "+(base*altura));
</SCRIPT>
</HTML>
Grbalo en TuCarpeta con el nombre Prog003.htm
Ejectalo varias veces. Sera conveniente utilizar nmeros enteros y tambin decimales (5.72, 0.531:
observa que has de utilizar el punto decimal ingls).
Si has ejecutado el programa una vez, para volverlo a ejecutar, no es necesario que "cierres" el
navegador, basta que hagas:
Men Ver Actualizar
o si quieres ir ms rpido, pulsa la tecla [F5]
Es importante que tengas claro este programa:
Declaramos dos variables (var), que necesitamos para introducir la base y la alturadel rectngulo, a travs de
dos "prompts":
base=
prompt......
prompt.....
altura=
Por ltimo necesitamos dos "alerts" que nos muestre el resultado del programa, que es simplemente el
producto base * altura
El nico elemento nuevo que aparece en el Prog003.htm es:
/*Programa que sirve para calcular el rea de un rectngulo */
Todo lo que aparece escrito entre /* y */ no es ms que un comentario para el programador, igual que pasaba
con las lneas que empezaban por //
La diferencia entre // y /* */ est en que esta ltima forma de incluir un comentario, nos permite colocarlo de
forma que ocupe ms de una lnea.
VARIABLES
DECLARACIN DE VARIABLES
Una variable se puede declarar en JavaScript, de dos formas:
En el ltimo caso no es imprescindible escribir var, pero es conveniente, ya que de esta forma localizamos
rpidamente todas las variables del programa.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
El "JavaScript" es un lenguaje de programacin "Case Sensitive", esto es: no es lo mismo las maysculas
que las minsculas. Es decir, para el JavaScript: pepe es distinto de Pepe y distinto de pEpe.
<HTML>
<SCRIPT LANGUAGE=''JavaScript''>
// PROG004.HTM
/* Programa que utiliza una variable explcita y dos
implcitas */
var Expli; var pi=3.141592;
var radio=7;
Expli=pi*radio*radio;
alert("rea del Crculo = "+Expli);
</SCRIPT>
</HTML>
Grbalo en TuCarpeta con el nombre Prog004.htm
Ejectalo
TIPOS DE DATOS
Cuando declaramos una variable, sta no pertenece a ningn tipo de dato en concreto, se dice que es Undefined. Es al
asignarle un valor cuando pasa a ser de uno u otro tipo, segn el dato que albergue.
Existen 6 tipos de datos:
String: cadenas de texto
Number: valores numricos
Boolean: true o false
Object: objetos
Null: nulo
Undefined: no definido.
Podemos averiguar el tipo de dato que contiene una variable si utilizamos la funcin incorporada typeof
siguiente programa:
<HTML>
<SCRIPT LANGUAGE=''JavaScript''>
// PROG005.HTM var Pepe;
var PEPE="Hola que tal "; var
pepE=75.47;
var pEpe=" Como ests?";
Pepe=PEPE+pEpe;
alert("PEPE="+PEPE); alert("PEPE es
"+typeof(PEPE)); alert("pepE="+pepE);
alert("pepE es "+typeof(pepE));
alert("pEpe="+pEpe); alert("pEpe es
"+typeof(pEpe));
Escribe el
VIDA NUEVA
Educacin de calidad para un mundo competitivo
alert("Pepe="+Pepe); alert("Pepe es
"+typeof(Pepe));
</SCRIPT>
</HTML>
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Podemos guardar indistintamente en una variable number un nmero entero, decimal, positivo o negativo.
Ejemplos:
var numNatural= 1234; var
numEntero = -479; var numDecimal
= 3.141592;
var numDecimal2 = -0.123;
CONTADORES
Uno de los instrumentos ms utilizados en todo lenguaje de programacin es el llamado
contador Observa: var x= 10; x = x+1; x = x-5;
Declaramos una variable "x", que es numrica y que inicialmente es 10.
La lnea "x = x+1" es un contador, que hemos de leer: El nuevo valor de "x" es igual al anterior valor de "x"
ms una unidad. Es decir, que en estos momentos nuestra variable "x" es igual a 11.
La siguiente lnea: "x = x-5" es otro contador que hemos de leer: el nuevo valor de "x" es igual al anterior
valor de "x" menos 5 unidades. Es decir, que el valor de la variable "x" es ahora 11 - 5 = 6
Haz un programa para comprobar lo que hemos dicho sobre los contadores, es decir:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
VIDA NUEVA
Educacin de calidad para un mundo competitivo
// PROG008.HTM var
x=10;
alert("El valor inicial de x es "+x); x=x+1;
alert("Despus de x=x+1, x="+x); x=x-5;
alert("Despus de x=x-5, x="+x);
</SCRIPT>
</HTML>
Grbalo en Tu carpeta con el nombre Prog008.htm y ejectalo.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
ABC16 = 274810
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Si x ha de ser una cadena de texto escribiremos: x =
prompt(Escribe el texto correspondiente , ) ;
Escribe el siguiente programa:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// Prog011.htm var x,y; x=parseInt(prompt("Escribe un
entero ","")); y=parseInt(prompt("Escribe otro entero
",""));
alert("La suma de "+ x +" + " + y +" es =" + (x+y) +"\n"+
"El producto de "+ x +" y "+ y +" = "+(x*y)+"\n"+
"El promedio de "+ x +" y "+ y +" es "+ (x+y)/2);
</SCRIPT>
</HTML>
Grbalo con el nombre Prog011.htm, y ejectalo.
OPERADORES
OPERADORES LGICOS Y
RELACIONALES
>, <, <=, >=
==
igualdad
!=
diferente
&&
y
||
o
o
No
ESTRUCTURAS DE CONTROL
LA ESTRUCTURA if-else
Escribe el siguiente programa:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG012.HTM var num;
num=parseFloat(prompt("Escribe un nmero","")); if(num==100)
{
alert("El nmero que has escrito es 100");
}
Else
{
alert("El nmero que has escrito no es 100");
}
if(num>0)
{
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
158
VIDA NUEVA
Educacin de calidad para un mundo competitivo
alert("El nmero que has escrito es positivo");
}
Else
{
alert("El nmero es negativo o 0");
}
</SCRIPT>
</HTML>
Grbalo con el nombre Prog012.htm en TuCarpeta Ejectalo.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
}
</SCRIPT>
</HTML>
Grbalo con el nombre Prog013htm en TuCarpeta.
Ejecuta el programa para los siguientes casos, observando detenidamente lo que aparece: 1) a=70,
b=2
2) a=50, b=30
3) a=7, b=11
4) a=100, b=50
5) a=50, b=100
Observa:
a==b a es igual a b
a != b a es diferente a b (a>b) && (100>a)
a es mayor que b y adems 100 es mayor que a-
El else correspondiente a la condicin anterior, sera equivalente a no(a>b) || no(100>a), es decir la
negacin de la primera condicin o la negacin de la segunda (o las dos negaciones a la vez).
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Aparece escrito x=0
Al pasar por el contador x=1
Se cumple la condicin x<6
Aparece escrito x=1
Al pasar por el contador x=2 Aparece
escrito x=2
CONTADORES EN JAVASCRIPT
a=a+1 es equivalente a escribir a++ a=a-1 es equivalente a escribir a num=num+2 es equivalente a escribir
num += 2 num=num*2 es equivalente a escribir num *= 2 num=num/2 es equivalente a escribir num /= 2
Escribe el siguiente programa:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG015.HTM var
i=2; var res=""; var j=7;
while (i<j)
{
res=res+" "+i+" "+j+"\n";
i++;
j--; } alert(res);
</SCRIPT>
</HTML>
Grbalo con el nombre Prog015.htm en TuCarpeta
Ejecuta el programa, es importante que tengas claro el funcionamiento del Prog016.htm: compara el listado
del programa con lo que sucede al ejecutarlo.
Observa cmo conseguimos escribir toda la salida en un nico alert (variable res ).
Programa que repite un texto cualquiera, el nmero de veces que queramos, utilizando un while
Escribe el siguiente programa:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG016.HTM var
nom; var indice=1; var
num; var respuesta="
";
nom=prompt("Escribe tu nombre",""); num=prompt("Cuntas
veces quieres que lo repita",""); num=parseInt(num,10); // era
una cadena y ahora es un nmero while (indice <= num)
{ respuesta=respuesta+nom+"\n"; indice++;
}
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
161
VIDA NUEVA
Educacin de calidad para un mundo competitivo
alert(respuesta);
</SCRIPT>
</HTML>
Grbalo en TuCarpeta con el nombre Prog016.htm y ejectalo
Recuerda que en el ParseInt no es necesario escribir el 10, ya que por defecto (si no lo escribimos), es
base 10.
Programa que acumula la suma y el producto de los nmeros que queramos
Escribe:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG017.HTM var num; var
sum=0; var pro=1; var
respuesta="";
num=prompt("Escribe un nmero diferente de cero=","");
num=parseFloat(num); while(num != 0)
{ sum=sum+num; pro=pro*num;
respuesta=respuesta+num+"\tsuma
parcial:"+sum+"\tproducto
parcial:"+pro+"\n"; num=prompt("Escribe otro nmero (para acabar introduce
cero)",""); num=parseFloat(num);
}
alert(respuesta);
</SCRIPT>
</HTML>
Grbalo en TuCarpeta con el nombre Prog017.htm y ejectalo. Observa
como acumulamos la suma y el producto:
Contador que acumula la suma de los nmeros num : sum=sum+num;
Hemos de inicializar a 0 la variable sum .
Contador que acumula el producto de los nmeros num : pro=pro*num
Hemos de inicializar a 1 la variable pro .
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Desde i=1, hasta i=10 de 1 en 1, repite las sentencias 1, 2 y 3 Es decir: Repite 10 veces las sentencias 1, 2
y 3. Observa que el contador o ndice del for (en nuestro caso la i ), es una variable que no es
necesario declararla, ya que la expresin i=1 la declara e inicializa.
Programa que repite un texto cualquiera en nmero de veces que queramos, utilizando un for
Escribe el siguiente programa:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG018.HTM var
texto; var num; var
salida="";
texto=prompt("Escribe un texto",""); num=prompt("Cuntas veces quieres que lo repita","");
num=parseInt(num,10);
for(i=1;i<=num;i++)
{
salida=salida+texto+"\n";
}
alert(salida);
</SCRIPT>
</HTML>
Graba el fichero en TuCarpeta, con el nombre Prog018.htm y ejectalo unas cuntas veces.
Programa que calcula todos los mltiplos de 11 menores de 3000 y por ltimo nos da la suma de todos ellos.
Escribe el siguiente programa:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG019.HTM
var salida=""; var sum=0; for(multi=11;multi<3000;multi=multi+11)
{
salida=salida+multi+" ";
sum=sum+multi;
}
alert(salida+"\nLa Suma de todos ellos es= "+sum);
</SCRIPT>
</HTML>
Grbalo en TuCarpeta, con el nombre Prog019.htm y ejectalo.
Programa que calcula el factorial de un nmero
Recuerda que el factorial del nmero x es: 1*2*3*4*5**x
Escribe el siguiente programa:
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
163
VIDA NUEVA
Educacin de calidad para un mundo competitivo
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG020.HTM
var salida=""; var
fact=1; var num;
num=prompt("Clculo del factorial del numero ","");
num=parseInt(num,10); for(i=1;i<=num;i+
+) fact=fact*i; alert("El factorial de
"+num+" es "+fact);
</SCRIPT>
</HTML>
Grbalo en TuCarpeta con el nombre Prog020.htm y ejectalo varias veces.
Observa que nuestro for no necesita llaves, porque contiene una nica sentencia.
Programa que calcula los 10 primeros mltiplos del nmero que queramos, por ltimo nos da la suma de todos
ellos.
Escribe el siguiente programa:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG021.HTM
var salida="";
var num; var mult; var sum=0;
num=prompt("Mltiplos de qu nmero?","");
num=parseInt(num,10); for(i=1;i<=10;i++)
{ mult=num*i; salida=salida+mult+" "; sum=sum+mult;
}
alert(salida+"\nSuma= "+sum);
</SCRIPT>
</HTML>
Grbalo con el nombre Prog021.htm en TuCarpeta y ejectalo varias veces.
Tabla de valores de la funcin y=x2-5x+10
Escribe el siguiente programa:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG022.HTM
var x1,x2,paso; var salida=""; var y; x1=prompt("Escribe
el menor valor de x",""); x1=parseFloat(x1);
x2=prompt("Escribe el mayor valor de x",""); x2=parseFloat(x2);
paso=prompt("Escribe el incremento de x:",""); paso=parseFloat(paso);
for(i=x1;i<=x2;i=i+paso)
{
y=i*i-5*i+10;
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
164
VIDA NUEVA
Educacin de calidad para un mundo competitivo
salida=salida+i+" "+y+"\n";
} alert(salida);
</SCRIPT>
</HTML>
Graba el fichero en TuCarpeta con el nombre Prog022.htm y ejectalo varias veces.
Al ejecutar el programa anterior, nos podemos encontrar con una serie de problemas, por ejemplo si
introducimos en el valor menor de x (x1), un valor que sea mayor que el introducido en la variable x2, o
tambin puede suceder que en la variable paso escribamos un nmero negativo.
Vamos a solucionar estos posibles problemas, es decir vamos a mejorar el programa anterior.
Realizalo!
_________________________________________________________________________________________________
___
_________________________________________________________________________________________________
___
_________________________________________________________________________________________________
___
____________________________________________________________
_________________________________________________________________________________________________
___
_________________________________________________________________________________________________
___
_________________________________________________________________________________________________
___
_________________________________________________________________________________________________
___
_________________________________________________________________________________________________
___
_________________________________________________________________________________________________
___
_________________________________________________________________________________________________
___
_________________________________________________________________________________________________
___
_________________________________________________________________________________________________
___
_________________________________________________________________________________________________
___
_________________________________________________________________________________________________
___ _________________________________________________________________
VIDA NUEVA
Educacin de calidad para un mundo competitivo
opc=prompt("Escribe la opcin que desees: (1)El Triple-(2)El Cuadrado-(3)El Logaritmo
Neperiano(4)El Seno-(5)El Coseno-(10)SALIR",""); switch(opc)
{
case "1":
num=prompt("Escribe el nmero",""); num=parseFloat(num);
alert("El triple de "+ num +" es " +(3*num)); break;
case "2":
num=prompt("Escribe el nmero",""); num=parseFloat(num);
alert("El cuadrado de "+ num +" es " +(num*num)); break;
case "3":
num=prompt("Escribe el nmero",""); num=parseFloat(num);
alert("El Logaritmo Neperiano de "+ num +" es " +(Math.log(num))); break;
case "4":
num=prompt("Escribe el ngulo en radianes",""); num=parseFloat(num);
alert("El seno de "+ num +" es " +Math.sin(num)); break;
case "5":
num=prompt("Escribe el ngulo en radianes",""); num=parseFloat(num);
alert("El coseno de "+ num +" es " +Math.cos(num)); break;
}
}
</SCRIPT>
</HTML>
Graba el programa en TuCarpeta con el nombre Prog025.htm y ejectalo.
La estructura switch-case
switch(x) {
case valor 1: sentencia1; sentencia2;
;
;
break; case valor 2:
sentencia3;
;
;
break;
}
Segn el valor que tome la variable x , se ejecutarn las lneas de programa del case correspondientes.
Observa que cada case termina con break .
Programa que nos da la "nota" cualitativa a partir de la cuantitativa
El programa nos pide el nmero total de preguntas y el nmero de respuestas acertadas. A partir de aqu
y utilizando la estructura "switch-case", el programa nos da la "nota" cualitativa.
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
166
VIDA NUEVA
Educacin de calidad para un mundo competitivo
En efecto, escribe el siguiente programa:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG026.HTM var
num,bien,notanum,notacual;
num=parseInt(prompt("Escribe el nmero total de preguntas",""));
bien=parseInt(prompt("Escribe el nmero de resouestas acertadas",""));
notanum=parseInt(10*bien/num);
switch(notanum)
{ case 0:
case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9:
notacual="Muy Deficiente"; break;
notacual="Muy Deficiente"; break;
notacual="Deficiente"; break;
notacual="Deficiente"; break;
notacual="Insuficiente"; break;
notacual="Suficiente"; break;
notacual="Bien"; break;
notacual="Notable"; break;
notacual="Notable"; break;
notacual="Excelente"; break;
case 10:
notacual="Matricula de Honor"; break;
}
alert("La nota cualitativa es "+notacual);
</SCRIPT>
</HTML>
Grbalo con el nombre Prog026.htm en TuCarpeta y ejectalo varias veces para comprobar que funciona.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
</HTML>
Graba el programa en TuCarpeta con el nombre Prog027.htm y ejectalo.
Qu diferencia hay entre la estructura while y la do-while?
EL OBJETO MATH
Nos permite trabajar con funciones matemticas.
Concretamente:
Math.log(x) = ln(x) Math.exp(x) = ex
Math.sqrt(x) = raiz cuadrada de x Math.pow(a, b) = ab
Math.floor(): nmero entero ms cercano y menor Math.ceil(): nmero entero ms cercano y mayor
Math.round(): redondea al entero ms prximo. Math.random(): nmero aleatorio entre 0 y 1
Math.round(y-x)*Math.random()+x: nmero aleatorio entre x e y . Math.sin(x)= sin(x) x en radianes
Math.cos(x)= cos(x) x en radianes Math.tan(x)= tg(x) x en radianes Math.atan(x)= arctg(x) resultado en
radianes
Math.abs(x): valor absoluto de x Math.max(a,b) : mximo valor de los dos
Math.min(a,b): mnimo valor de los dos.
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
168
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Programa que calcula la hipotenusa de un tringulo rectngulo
Escribe:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG023.HTM var
cat1,cat2,hipo;
cat1=prompt("Escribe el valor de un cateto","");
cat2=prompt("Escribe el valor del otro cateto","");
cat1=parseFloat(cat1); cat2=parseFloat(cat2);
hipo=Math.sqrt(cat1*cat1+cat2*cat2);
alert("La hipotenusa del tringulo de catetos "+cat1+" y "+cat2+" es
"+hipo);
</SCRIPT>
</HTML>
Graba el fichero con el nombre Prog023.htm en TuCarpeta y ejectalo unas cuantas veces.
NMEROS ALEATORIOS
Escribe el siguiente programa:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG024d.HTM
var a; var x,y; var
salida="";
salida=salida+"5 nmeros aleatorios entre 0 y 1\n"; for(i=1;i<=5;i++)
{
salida=salida+Math.random()+"\n";
}
salida=salida+"\n\n5 nmeros aleatorios entre 3 y 7\n"; for(i=1;i<=5;i++)
{
salida=salida+(Math.round(7-3)*Math.random()+3)+"\n";
}
salida=salida+"\n\n5 nmeros aleatorios entre 15 y 70\n"; for(i=1;i<=5;i++)
{
salida=salida+(Math.round(70-15)*Math.random()+15)+"\n";
} alert(salida);
alert("Vamos a ver 5 nmeros aleatorios entre los dos\nque t quieras");
x=parseFloat(prompt("Escribe el nmero menor (puede ser decimal)",""));
y=parseFloat(prompt("Escribe el nmero mayor (puede ser decimal)",""));
salida="";
salida=salida +"5 nmeros aleatorios entre "+x+" y "+y+"\n\n\n"; for(i=1;i<=5;i++)
{
a=Math.round(y-x)*Math.random()+x;
salida=salida+a+"\n";
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
169
VIDA NUEVA
Educacin de calidad para un mundo competitivo
}
alert(salida);
/* Si quieres nmeros aleatorios enteros basta cambiar los parntesis de la siguiente forma:
Math.round((y-x)*Math.random()+x) */ salida="";
salida=salida+"150 nmeros enteros aleatorios entre 2 y 17\n"; for(i=1;i<=150;i+
+)
{
salida=salida+Math.round((17-2)*Math.random()+2)+" - ";
} alert(salida);
</SCRIPT>
</HTML>
Graba el fichero con el nombre Prog024.htm en TuCarpeta y ejectalo unas cuantas veces.
FUNCIONES
FUNCIONES SIN RETORNO DE
PARMETRO
Escribe el siguiente programa:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG029.HTM
alert("Programa que ahora llamar a una funcin"); mediageo();
alert("Se acab lo que se daba");
/* Atencin!: a continuacin tenemos la funcin */ function
mediageo()
{
var a,b;
a=prompt("Escribe un nmero",""); a=parseFloat(a);
b=prompt("Escribe otro nmero","");
b=parseFloat(b);
alert("La media geomtrica de "+ a +" y "+ b +" es "+Math.sqrt(a*b));
}
</SCRIPT> </HTML>
Graba el programa anterior con el nombre Prog029.htm en TuCarpeta y ejectalo varias veces.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Se dice que la funcin es sin retorno de parmetros, porque no devuelve nada; para que la uncin devuelva un
valor, debera haber la instruccin return.
Si una funcin no retorna nada se le denomina tambin con el nombre de MTODO.
Nuestra funcin mediageo(), calcula la media geometrica de dos nmeros. Como no retorna nada, lo
que hace en realidad la funcin es agrupar en un lugar determinado del fichero HTML, una serie
de sentencias que por ellas mismas ya forman un programa, se dice tambin que es un subprograma.
<HTML>
<SCRIPT LAN....
// Programa Principal sentencia1;
mediageo(); // llama a la funcin y se ejecuta en este lugar
sentencia2();// Fin del programa Principal function mediageo()
{
sentencia3;
...;
....;
}
</SCRIPT>
</HTML>
Escribe el siguiente programa:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG030.HTM var
opc="0";
Mtodo o Subprograma = funcin sin retorno de parmetros while (opc !
= "T")
{
opc=prompt("Escribe la letra de la opcin deseada: (S) Sumar - (R) Raz Cuadrada
(L) Logaritmo Neperiano - (A) Ayuda - (T) Terminar",""); if
(opc=="S") suma(); if (opc=="R") raiz(); if (opc=="L")
logaritmo();
if (opc=="A") ayuda();
}
function suma()
{
var a,b;
a=prompt("Escribe el primer sumando","");
a=parseFloat(a);
b=prompt("Escribe el segundo sumando",""); b=parseFloat(b);
alert("La suma de "+ a +" y "+ b +" es "+(a+b));
}
function raiz()
{ var a;
a=prompt("Escribe el radicando ",""); a=parseFloat(a);
alert("La raz cuadrada de "+ a +" es "+Math.sqrt(a));
}
function logaritmo()
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
171
VIDA NUEVA
Educacin de calidad para un mundo competitivo
{
var x;
x=prompt("Escribe un nmero positivo",""); x=parseFloat(x);
alert("El logaritmo neperiano de "+ x +" es "+Math.log(x));
}
function ayuda()
{
alert("Es bastante tonto que me pidas ayuda\npero aqu la tienes:\n\tPulsa S si quieres
sumar\n\tPulsa R para la raz cuadrada\n\tPulsa L para el logaritmo neperiano\n\tPulsa A para
acceder a la ayuda\n\tPulsa T para acabar")
}
</SCRIPT> </HTML>
Graba el programa con el nombre Prog030.htm en TuCarpeta y ejectalo unas cuantas veces.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Una funcin que retorna parmetros, se caracteriza en que en su interior aparece la sentencia return, que
permite devolver valores.
MATRICES Y ARRAYS
Una matriz es un conjunto de elementos colocados de forma adyacente en la memoria de manera que nos
podemos referir a ellos con un solo nombre comn.
Las matrices se pueden clasificar segn su tamao en:
En JavaScript, las matrices son siempre Arrays , pero veremos que podemos simular matrices
multidimensionales.
Escribe el siguiente programa:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG032.HTM var
x=new
Array();
var
salida="";
for(i=0;i<=10;i++)
{ x[i]=2*i; salida=salida+"x["+i+"]="+x[i]+"\t";
} alert(salida);
</SCRIPT>
</HTML>
Graba el programa con el nombre Prog032.htm en TuCarpeta y ejectalo.
Estudio del Prog050.htm
var x=new Array();
Definimos la variable x como un array de un nmero indeterminado de elementos.
Los elementos de un array se indican: NombreArray[ndice]= valor
El ndice= 0, 1, 2, 3, 4, ...
En nuestro caso:
X[0] ser el primer valor del array X[1] ser el
segundo. Etc.
x[i] = 2*i
Asignamos a cada elemento del array el doble de su ndice, es decir: x[0]= 0; x[1]= 2; x[2]= 4; etc.
Escribe el siguiente programa:
<HTML>
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
173
VIDA NUEVA
Educacin de calidad para un mundo competitivo
<SCRIPT LANGUAGE="JavaScript">
//PROG033.HTM
var n; var salida="";
n=prompt("Escribe el nmero de elementos del Array","");
n=parseInt(n); var Vector=new Array(n);
for(i=0;i<n;i++)
{
Vector[i]=prompt("Introduce Valor",""); salida=salida+Vector[i]+"\n";
}
alert("Los valores de la matriz son:\n"+salida);
</SCRIPT>
</HTML>
Graba el programa con el nombre Prog033.htm en TuCarpeta.
Observa de qu forma, podemos definir un array con un nmero variable de valores.
Programa que calcula la media aritmtica de una serie indeterminada de valores
Escribe:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
//PROG034.HTM
var x=new Array(); var
med; var y=0; var i=0; var
sum=0;
while(y != 9999)
{
y=parseFloat(prompt("Introduce un valor\npara acabar escribe 9999","9999")); x[i]=y; i++;
} x[i]=0;
for(j=0;j<i-1;j++)
{
sum=sum+x[j];
}
med=sum/j;
alert("La media es "+med);
</SCRIPT>
</HTML>
Grbalo con el nombre Prog034.htm y ejectalo varias veces para comprobar que funciona.
Programa que calcula la media aritmtica de un nmero determinado de valores utilizando una funcin
Escribe:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
//PROG035.HTM function
media(n)
{
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
174
VIDA NUEVA
Educacin de calidad para un mundo competitivo
var x=new Array(n); var sum=0; for(i=0;i<n;i++)
{
num=parseFloat(prompt("Escribe un valor de la serie
("+(i+1)+"):","")); x[i]=num; sum=sum+x[i];
}
return sum/n;
}
var valores;
valores=parseInt(prompt("Escribe el nmero de elementos de la serie","")); alert("La media
de todos los valores es: "+media(valores));
</SCRIPT>
</HTML>
Grbalo con el nombre Prog035.htm y ejectalo varias veces para comprobar que funciona. Mejora la
salida del programa anterior de la siguiente forma:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
//PROG036.HTM function
media(n)
{
var x=new Array(n);
var sum=0; var salida=""; for(i=0;i<n;i++)
{
num=parseFloat(prompt("Escribe un valor de la serie ("+(i+1)+"):","")); x[i]=num;
salida=salida+x[i]+" - "; sum=sum+x[i];
}
salida=salida+"\nLa Media Aritmtica de estos "+n+" nmeros es "+(sum/n); return salida;
}
var valores;
valores=parseInt(prompt("Escribe el nmero de elementos de la serie",""));
alert(media(valores));
</SCRIPT>
</HTML>
Grbalo con el nombre Prog036.htm y prubalo.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Con este cdigo lo que conseguimos es crear una matriz con 5 elementos cada uno de los cuales es, a su vez,
una matriz. El resultado es el deseado: una matriz con dos dimensiones. Una vez definida una matriz
multidimensional, podemos acceder a sus elementos de la siguiente forma:
Matriz2D[0][0] = primer elemento de la matriz.
Escribe el siguiente programa:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG037.HTM var Matriz2D=
new Array(5);
for (i=0;i<5;i++)
{
var Aux=new Array(5); for
(j=0;j<5;j++)
{ Aux[j]="E"+i+j;
}
Aux[4] += "\n"; Matriz2D[i]=Aux;
}
alert(Matriz2D);
</SCRIPT>
</HTML>
Graba el programa en TuCarpeta con el nombre Prog037.htm y ejectalo.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
UNIDAD 8 PHP
INTRODUCCIN A PHP
PHP es un lenguaje de scripting que permite la generacin dinmica de contenidos en un servidor web. El
significado de sus siglas es HyperText Preprocessor. Entre sus principales caractersticas cabe destacar su
potencia, su alto rendimiento, su facilidad de aprendizaje y su escasez de consumo de recursos.
El cdigo PHP puede incluirse dentro del cdigo HTML de la pgina. Para delimitar la seccin de cdigo PHP
podemos hacerlo de varias formas:
VARIABLES
Una variable podra definirse como una posicin de memoria creada para introducir o asignar cualquier valor
o dato. Durante la ejecucin del script el valor de la variable puede "variar"(valga la redundancia) tanto de tipo
como de valor. En PHP (al igual que en Java Script) no hace falta declarar la variable ya que simplemente
anteponiendo el carcter $ al nombre de la variable estamos indicando que es una variable.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Otro hecho que cabe destacar a la hora de programar en PHP y la declaracin de variables es que PHP es un
lenguaje "CASE SENSITIVE" es decir que diferencia entre maysculas y minsculas y debido a esta razn no
sera lo mismo $miVariable=valor; que $MiVaRiABle=valor; ya que PHP lo interpretara como dos variables
completamente diferentes.
Los tipos de datos posibles que puede almacenar una variable son los siguientes:
Integer Nmeros enteros positivos y negativos
Double Nmeros decimales o de coma flotante
String
Cadenas de texto
CONVERTIR TIPOS
PHP es un lenguaje que realiza la conversin de tipos en funcin de los operandos y del operador. De esta
forma si intentamos sumar la cadena '10' y el nmero 20 la accin que realizara sera convertir la primera
variable a numrica y de esa forma podra sumar 10+20=30.
Aparte de que PHP en algunos casos realiza la conversin existen dos funciones especiales del propio lenguaje
las cuales nos permiten saber el tipo de variable que estamos usando y tambin pueden convertir el tipo de
variable:
gettype() Recibe el tipo de variable que es settype($variable,'tipo variable') Transforma el tipo de variable
del modo actual a el modo que le introduzcamos.
$_SERVER['argc']
$_SERVER['PHP_SELF']
$_COOKIE
$_GET
$_POST
VIDA NUEVA
Educacin de calidad para un mundo competitivo
$_FILES
$_ENV
$_SERVER
$_SESSION
CONSTANTES
Son valores que se van a mantener constantes a lo largo de la ejecucin del script y que posiblemente
queramos usar a lo largo del script un gran nmero de veces. Para ello usamos la siguiente sintaxis:
define("nombre de la constante", valor);
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Como en toda programacin, es importante poner muchos comentarios, para lo cual si queremos comentar una
sola lnea tenemos que poner al principio de la lnea // , si lo que queremos es comentar varias utilizaremos los
delimitadores /* - */ .
Para que el servidor envi texto utilizaremos la instruccin echo , aunque tambin podemos utilizar printf de
uso similar al del C o Perl .
Finalmente, vemos que la palabra myvar comienza con el signo dlar ( $ ) . Este smbolo le indica a PHP que
es una variable. Nosotros le hemos asignado un texto a esta variable, pero tambin pueden contener nmeros o
tablas (arrays). Es importante recordar que todas las variables comienzan con el signo dlar. Tambin habris
observado que el texto que le asignamos a la variable termina con n, esto no se imprime sirve para indicarle al
navegador una nueva lnea.
OPERADORES EN PHP
Al desarrollar cualquier programa empleamos normalmente operadores que nos sirven para realizar diversas
operaciones que le otorgan un cierto grado de complejidad a nuestros programas, ya que, de otro modo el
programa realizara siempre lo mismo y por tanto no seria un programa til.
Operadores aritmticos
+ Suma dos valores
-
Operadores de asignacin
=
+=
-=
*=
/=
VIDA NUEVA
Educacin de calidad para un mundo competitivo
%= Se obtiene el resto y se asigna
.=
Operadores lgicos
!
True si alguno lo es
Operadores condicionales
== Comprueba si dos nmeros son iguales
!= Comprueba si dos nmeros son distintos
>
<
ESTRUCTURAS DE CONTROL
A partir de ahora vamos a dotar de mas "dinamismo" a nuestros scripts ya que a partir de diversas estructuras
indicaremos que accin debe realizar en cada caso, adems tambin nos dar la posibilidad de realizar una
misma accin multitud de veces con tan solo una lnea de cdigo.
ESTRUCTURA IF
IF es una estructura de control utilizada para tomar decisiones segn se cumpla una condicin (o varias) o no.
Su estructura bsica es la siguiente:
if(condicin/es){
accin a realizar;
} else{
accin a realizar en caso de que no se cumpla;
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
181
VIDA NUEVA
Educacin de calidad para un mundo competitivo
}
Veamos un ejemplo bsico para entenderlo mejor:
if($edad>=18){ Comprar
cerveza;
} else{
echo "No puedes comprar cerveza porque no tienes 18 aos";
}
E incluso podemos realizar condicionales mas completas como el siguiente caso:
if(($edad>=18)&&($dinero>0)){
Puedes comprar cerveza porque tienes 18 y tu dinero es mayor que 0;
} else{
echo "O no tienes pelas o no tienes los 18" ;
}
ESTRUCTURA SWITCH
Toma distintas decisiones en funcin de distintos estados de la variable. Su sintaxis es la siguiente:
Switch (expresin){ case
valor1:
sentencia a ejecutar cuando la expresin tiene como valor valor1 break
case valor2:
sentencia a ejecutar cuando la expresin tiene como valor valor2 break
case valor3:
sentencia a ejecutar cuando la expresin tiene como valor valor3 break
default:
sentencia que se ejecutar por defecto cuando no se cumpla ninguna de las condiciones anteriores
BUCLE FOR
El bucle for se usa para repetir una misma operacin un nmero determinado de veces. Su sintaxis es la
siguiente:
for (inicializacin;condicin;actualizacin){
sentencia a ejecutar mientras se cumpla la condicin
}
El bucle for esta compuesto de 3 partes:
Inicializacin: Se ejecuta tan solo al iniciar por primera vez el bucle. En esta parte se suele colocar la
variable que contara el nmero de veces que se repite el bucle.
Condicin: Es la condicin que se evaluara cada vez que se inicie el bucle. Esta condicin es la que
determina la duracin del bucle.
Actualizacin: Sirve para indicar los cambios que queremos ejecutar en las variables cada vez que se
ejecuta el bucle.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Un ejemplo de su uso seria el siguiente:
for($i=1;i<=10;i++){
echo "El nmero actual es".$i;
}
De esta forma escribira todos los nmeros contenidos entre 0 y 10.
BUCLE WHILE
Este bucle se usa cuando queremos repetir la ejecucin de unas sentencias un nmero indefinido de veces. Su
sintaxis es la siguiente:
while(condicin){ sentencia a
ejecutar
}
Para entender mejor el uso de while nos serviremos del siguiente ejemplo:
while($color != "rojo"){
color= dame un color;
}
Este es un ejemplo de lo que se puede hacer con while. En este caso siempre y cuando el color no sea rojo nos
dir que introduzcamos un color.
Bucle DO...WHILE
Este bucle se usa cuando no sabemos el nmero de veces que va a ejecutarse un bucle pero lo que si tenemos
claro es que por lo menos una vez si que se ejecutara la accin. Su sintaxis es la siguiente:
do{ sentencia del bucle
}while(condicion)
BREAK y CONTINUE
BREAK
Se usa para detener el bucle y dejar de interpretar el cdigo que sigue despus del break
CONTINUE
Sirve para volver al principio del bucle desde cualquier parte del bucle.
FUNCIONES EN PHP
Una de las herramientas ms importantes en cualquier lenguaje de programacin son las funciones. Una
funcin consiste en un conjunto de rutinas y acciones que a lo largo del script van a ser ejecutadas multitud de
veces agrupados en una FUNCION y desde cualquier punto del script puede ser llamada y ejecutada. A su vez,
esta funcin puede recibir parmetros externos de los cuales dependa el resultado de una funcin.
Las funciones deben ser colocadas siempre antes de realizar la llamada a la funcin (como es lgico). La
sintaxis de una funcin es la siguiente:
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
183
VIDA NUEVA
Educacin de calidad para un mundo competitivo
function nombre(parmetros){
instrucciones de la funcin
}
Para llamar a la funcin sera de la siguiente forma: nombre(parmetros)
ejemplo para entender el uso de funciones es el siguiente:
Un
Crearemos una funcin que realice la suma de dos nmeros y muestre el resultado
function sumar($sumando1,$sumando2){ $
suma=$sumando1+$sumando2
echo $sumando1."+".$sumando2."=".$suma;
}
sumar(5,6)
Un hecho relevante que cabe destacar es que las variables que declaremos dentro de la funcin solo existirn o
tendrn dicho valor dentro de la funcin.
Existen casos en los cuales no sabemos el nmero de parmetros que le pasaremos a la funcin y en estos
casos debemos usar las funciones creadas al efecto como son:
func_num_args() Numero de parmetros que se le han pasado a la funcin func_get_args()
Devuelve un elemento de los que forman la lista de argumentos
MATRICES (ARRAY)
En la realizacin de un script en PHP en mltiples ocasiones existen variables que tienen informacin similar y
se procesan de forma semejante. Para ello PHP (y otros lenguajes) poseen un elemento denominado array. Un
array es un conjunto de variables agrupadas bajo un nico nombre. Cada variable dentro de la matriz se
denomina elemento. Dentro de la misma matriz pueden existir variables de diferentes tipos y no es necesario
que sean todas del mismo tipo.
Hay que diferenciar entre los dos tipos de matrices existentes:
Indexada: Aquella cuyo acceso a los elementos se realiza por la posicin que ocupan dentro de la
estructura (se inician siempre desde la posicin 0). Ejemplo: $amigos[0]
Asociativa: Es aquella en la que los elementos estn formados por pares clave-valor y el acceso se
realiza proporcionando una determinada clave. Ejemplo: $amigos['edad']
Para crear matrices en PHP existen dos formas:
De forma implcita, que consistira en indicarle el elemento (ya sea proporcionando su posicin o su
clave).Ejemplo: $nombres[0]='Javier';
En caso de no indicarle una posicin el array tomara el valor siguiente al ultimo valor
introducido.Ejemplo: $nombres[]='Lucas' // tomara como valor 1 ya que lo ultimo introducido era 0.
Mediante array() en el cual le pasamos los elementos como parmetros. En caso de matriz indexada
toman la posicin que ocupan en la creacin de la matriz, mientras que los de la matriz asociativa se
les asigna su valor mediante "=>".Ejemplo: $amigo=array('Nombre'=>'Jose','Direccion'=>'Neopatria
21');
Cabe destacar que PHP no solo se limita a la existencia de matrices por s solo sino que existen matrices de
matrices, o lo que es lo mismo, matrices multidimensionales. Ejemplo:
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
184
VIDA NUEVA
Educacin de calidad para un mundo competitivo
$amigos[2]['Pedro']
Nombre de la clave
key
Nombre de la clave
Accin
reset(matriz);
end(matriz);
next(matriz);
prev(matriz);
VIDA NUEVA
Educacin de calidad para un mundo competitivo
INSERCIN DE ELEMENTOS
Para la insercin de elementos dentro de un array existen una serie de funciones que nos permiten aadir
elementos. Entre ellas destacamos: array_push(matriz,variable1,variableN);
Aade elementos al final de la funcin y su longitud se incrementara tantos elementos como se hayan aadido
array_unshift(matriz,variable1,variableN);
Aade elementos al principio de la funcin desplazando a los otros tantas posiciones como elementos haya.
array_pad(matriz,nuevo_tamao,valor_relleno);
Aumenta el tamao de la matriz empleando un valor proporcionado como relleno.
Eliminacin de elementos array_shift(matriz);
Elimina el primer elemento de la matriz array_pop(matriz);
Elimina el ltimo elemento de la matriz
array_splice(entrada,pos_ini,[tamao],[sustitutos]);
Se usa para reemplazar o borrar el contenido de una porcin de matriz, para ello debemos especificar la
posicin desde la cual queremos iniciar el borrado o sustitucin, el tamao o nmero de elementos que se
vern afectados y los sustitutos (en caso que deseemos sustituirlo por algn elemento).
array_keys(matriz,[valor buscado]);
Se emplea cuando deseamos eliminar un elemento cuya posicin desconocemos.
array_values(matriz);
Devuelve una matriz indexada con todos los valores almacenados en la matriz pasada como parmetro.
Manipulacin masiva de matrices
array_walk(matriz,nombre_de_la_funcion,lista_parametros);
Se emplea para realizar el mismo proceso definido en la funcin en todos los elementos incluidos.
Obtencin de submatrices
array_slice(matriz,posicion,tamao);
Permite extraer una secuencia de elementos de una matriz. Los parmetros a pasarle son la matriz en la cual
queremos extraer dichos elementos, la posicin desde la que se inicia la extraccin y el tamao de la
extraccin (posiciones que abarcamos a partir de la inicial).
ORDENACIN DE MATRICES
Criterio
Funcin
sort(matriz)
rsort(matriz)
VIDA NUEVA
Educacin de calidad para un mundo competitivo
compact() Devuelve una matriz asociativa a partir de un numero indeterminado de parmetros extract() Crea
variables desde matriz asociativa
array_unique() Devuelve matriz sin datos repetidos ya que algunos se eliminan
array_reverse() Devuelve matriz con mismos elementos pero en orden inverso shuffle()
Modifica el orden de elementos de forma aleatoria
array_count_values() Devuelve una matriz asociativa que contiene frecuencias de repeticin de los valores
de la matriz in_array() Permite comprobar si un valor esta en la matriz array_merge() Combina elementos
de dos matrices en 1.
CADENAS DE CARACTERES
En este captulo se comentaran todos los pormenores relacionados con cadenas de caracteres, las funciones
existentes, etc.
Una cadena consiste en una secuencia de caracteres que se encuentran comprendidos entre unos delimitadores
que pueden ser:
Comillas simples ' '
Comillas dobles " "
Documento incrustado <<< >>>
En caso de que se desee por ejemplo unas " " dentro de las comillas de la cadena de carcter es necesario
realizar la accin que se denomina escapar un carcter que consiste en precederlo de una es decir ". Los
caracteres especiales que pueden aparecer dentro de un documento con delimitacin son:
Secuencia
Significado
Nueva lnea
Retorno de carro
Tabulacin horizontal
Barra invertida
Signo de dlar
"
Comillas dobles
[0-7]{1,3}
x[0-9A-Fa-f]{1,2}
VIDA NUEVA
Educacin de calidad para un mundo competitivo
ord(cadena) nos devuelve un nmero entero que se corresponde con el cdigo ASCII del primer caracter que
recibe como parmetro.
Visualizacin de cadenas
Echo: Es el modo de visualizacin mas empleado. Su sintaxis es la siguiente: echo "texto";
Print: Es la mas sencilla de todas y se encarga de mostrar una cadena de caracteres sobre su salida
estndar. No soporta ningn formato de salida y su sintaxis es: print(cadena);
Printf(formato,[valores]); Su funcionamiento es el mismo que en el caso anterior. La nica
diferencia es que este soporta formatos de salida como su alineacin (por defecto a la izquierda), valor
numrico ( numero mnimo de caracteres que deben mostrarse), numero de decimales y tipo de datos
cuyas posibilidades son:
Smbolo
Significado
VIDA NUEVA
Educacin de calidad para un mundo competitivo
str_pad (cadena, longitud, relleno, lugar); Comprueba si la longitud es menor que el valor indicado, si
es as aade los caracteres necesarios. El lugar de aadir puede ser: str_pad_left aade por la derecha
(opcin por defecto), str_pad_right aade por la izquierda y str_pad_both aade por ambos extremos.
str_repeat(caracter,numero_veces); Repite un carcter el numero de veces indicado
strtolower(cadena); Pasa toda la cadena a letras minsculas
strtoupper(cadena); Pasa toda la cadena a letras maysculas
ucfirst(cadena); Pasa a mayscula el primer carcter de una cadena
ucwords(cadena); Pone en maysculas el primer carcter de cada palabra de la cadena
str_replace(subcadena1,subcadena2,cadena); Sustituye una palabra por otra dentro de una cadena
strtr (cadena, originales, traducidos); Traduce ciertos caracteres .Ejemplo: $persona=strt
($persona,"","a,e,i,o,u"); de esta forma cambiara todas las vocales con acento por vocales sin
acento.
substr_replace(cadena,nueva,comienzo,longitud); Sustituye una porcin del contenido de una cadena
ACCESO AL CONTENIDO
VIDA NUEVA
Educacin de calidad para un mundo competitivo
APOYO A HTML
addcslashes(cadena,lista); Devuelve una cadena que tiene escapados todos los caracteres como
parmetro.
addslashes(cadena); Devuelve una cadena que tiene escapados todos los caracteres lgicos
stripcslashes(); y stripslashes(); Reciben cadenas que pueden contener caracteres de de escapes y los
desescapan
quotemeta(cadena); Esacapa los caracteres especiales
htmlspecialchars(cadena); Lleva a cabo conversiones como &->&,"->"
htmlentities(); Convierte todos los caracteres a entidades html. pasa a ser á
get_html_translation_table(htmlentities o html_specialchars); Obtiene la relacin de traduccin de
cada caracter especial.
array_flip(); Intercambia las claves por los valores en array asociativo.
get_meta_tags(nombre_fichero,include_path); Devuelve todos los meta tags que contiene un HTML.
strip_tags(cadena,mostrar_tags); Omite etiquetas PHP y HTML , lo de mostrar_tags son las cadenas
HTML y PHP no deben ser omitidas en la lectura.
n12br(cadena); Permite sustituir saltos de lnea por <br>
parse_url(cadena_url); Devuelve una matriz asociativa con los siguientes campos:
Campo
Significado
scheme
Http
host
Ip o DNS
port
puerto
user
nombre usuario
password contrasea
path
query
CLASES
Las Clases son mximo exponente de la Programacin Orientada a Objetos (POO). PHP no es un lenguaje
orientado a objeto, pero implementa las caractersticas que permiten definir las clases. Pero, qu son las
Clases y para que sirven?. Empecemos por los segundo, sirven hacer el cdigo ms legible, y lo que es ms
importante, reutilizable. Escribir una Clase es sin duda ms largo que escribir el cdigo directamente, pero a la
larga es ms rentable por su portabilidad a otras aplicaciones y su mantenimiento.
Las Clases no son ms que una serie de variables y funciones que describen y actan sobre algo. Por ejemplo,
vamos a crear la clase automvil , la cual tendr diversas variables, $color, $modelo, $marca , $potencia ,
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
190
VIDA NUEVA
Educacin de calidad para un mundo competitivo
$matricula y habr una serie de funciones que actuarn sobre la clase automvil como Precio() , Acelerar() ,
Frenar() , Girar() y Reparar() .
Como ejemplo vamos a crear la clase mysql, que nos servir para realizar consultas a las bases de datos
MySQL. <?php
class DB_mysql { /* variables de
conexin */ var $BaseDatos;
var $Servidor; var
$Usuario; var $Clave;
/* identificador de conexin y consulta */
var $Conexion_ID = 0; var
$Consulta_ID = 0;
/* nmero de error y texto error */ var
$Errno = 0; var $Error = "";
/* Mtodo Constructor: Cada vez que creemos una variable
de esta clase, se ejecutar esta funcin */
function DB_mysql($bd = "", $host = "localhost", $user = "nobody", $pass = "") {
$this->BaseDatos = $bd;
$this->Servidor = $host;
$this->Usuario = $user;
$this->Clave = $pass;
}
/*Conexin a la base de datos*/ function
conectar($bd, $host, $user, $pass){ if ($bd != "")
$this->BaseDatos = $bd; if ($host != "") $this>Servidor = $host; if ($user != "") $this->Usuario
= $user; if ($pass != "") $this->Clave = $pass;
// Conectamos al servidor
$this->Conexion_ID = mysql_connect($this->Servidor, $this->Usuario, $this->Clave); if (!
$this->Conexion_ID) {
$this->Error = "Ha fallado la conexin."; return 0;
}
//seleccionamos la base de datos
if (!@mysql_select_db($this->BaseDatos, $this->Conexion_ID)) { $this>Error = "Imposible abrir ".$this->BaseDatos ; return 0;
}
/* Si hemos tenido xito conectando devuelve el
identificador de la conexin, sino devuelve 0 */
return $this->Conexion_ID;
}
/* Ejecuta un consulta */ function
consulta($sql = ""){
if ($sql == "") {
$this->Error = "No ha especificado una consulta SQL"; return 0;
}
//ejecutamos la consulta
$this->Consulta_ID = @mysql_query($sql, $this->Conexion_ID); if (!
$this->Consulta_ID) { $this->Errno = mysql_errno();
$this->Error = mysql_error();
}
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
191
VIDA NUEVA
Educacin de calidad para un mundo competitivo
/* Si hemos tenido xito en la consulta devuelve el
identificador de la conexin, sino devuelve 0 */
return $this->Consulta_ID;
}
/* Devuelve el nmero de campos de una consulta */ function
numcampos() {
return mysql_num_fields($this->Consulta_ID);
}
/* Devuelve el nmero de registros de una consulta */ function
numregistros(){
return mysql_num_rows($this->Consulta_ID);
}
/* Devuelve el nombre de un campo de una consulta */
function nombrecampo($numcampo) {
return mysql_field_name($this->Consulta_ID, $numcampo);
}
/* Muestra los datos de una consulta */
function verconsulta() { echo "<table
border=1>n";
// mostramos los nombres de los campos for ($i =
0; $i < $this->numcampos(); $i++){
echo "<td><b>".$this->nombrecampo($i)."</b></td>n";
}
echo "</tr>n";
// mostrarmos los registros
while ($row = mysql_fetch_row($this->Consulta_ID)) { echo "<tr>
n";
for ($i = 0; $i < $this->numcampos(); $i++){
echo "<td>".$row[$i]."</td>n";
}
echo "</tr>n";
}
}
} //fin de la Clse DB_mysql
?>
Como habreis observado, para crear una clase utilizamos la sentencia class, y adems hemos creado una
funcin con el mismo nombre que la clase, a esa funcin se le llama constructor y se ejecutar cada vez que
definamos una variable de esa clase. No es obligatorina variable de esa clase. No es obligatorio crear un
constructor en una definicin de clase.
Otra cosa importante en las clases es el operador -> , con el que indicamos una variable o mtodo (parte
derecha del operador) de una clase (parte izquierda del operador). Para hacer referencia a la clase que estamos
creando dentro de su definicin, debemos utilizar this.
Y ahora veamos un ejemplo de la clase que hemos creado, y supongamos que el cdigo anterior lo hemos
guardado en un fichero llamado clase_mysql.inc.php .
<body>
<html> <?php
require ("clase_mysql.inc.php");
$miconexion = new DB_mysql ;
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
192
VIDA NUEVA
Educacin de calidad para un mundo competitivo
$miconexion->conectar("mydb", "localhost", "nobody", "");
$miconexion->consulta("SELECT * FROM agenda");
$miconexion->verconsulta();
?>
</body>
</html>
FECHAS
En este captulo se estudiarn las funciones existentes en PHP para el empleo de fechas. Este tipo de funciones
existen en la mayora de lenguajes de programacin y van orientadas a su obtencin y representacin en
diferentes formatos.
El tiempo en cualquier lenguaje de programacin se suele tomar con respecto al inicio de la "era UNIX" que es
el 1 de enero de 1970 a las 00:00:00. La funcin ms sencilla que se basa en esta marca de tiempo es la
funcin time() cuyo valor devuelto es el numero entero que representa la marca de tiempo correspondiente al
instante en que se ejecut la funcin con respecto a la era unix.
En algunas aplicaciones es necesario poseer una marca de tiempo mas detallada y por ello usamos microtime()
que devuelve una cadena de caracteres con los segundos y microsegundos.
En caso de que quisiremos tener como valor de referencia la hora del ordenador desde el cual se ejecuta
emplearamos la funcin gettimeofday() en la cual pasaramos como parmetro interno , sec (para saber los
segundos), usec (microsegundos), minuteswest (n segundos al oeste de greenwich) y dstime (tipo de
correccin en horarios de verano e invierno).
Estas funciones citadas anteriormente son poco utilizadas ya que la existencia de otras funciones ms
completas, como por ejemplo la funcin getdate() que obtiene una matriz asociativa con la informacin de la
fecha y hora del sistema. Los elementos de dicha matriz son:
Clave
Contenido
seconds
minutes
hours
mday
wday
mon
year
yday
weekday
month
VIDA NUEVA
Educacin de calidad para un mundo competitivo
0
Si no le pasamos ningn parmetro a la funcin entonces se considera la hora actual del sistema y si se recibe
como parmetro un nmero entero entonces lo convierte a la fecha correspondiente.
Otra funcin para obtener la hora es la funcin localtime(marca_tiempo,tipo_matriz); cuyos valores
pasamos a comentar a continuacin:
ndice
Clave
Contenido
tm_sec
tm_min
tm_hour
tm_mday
tm_wday
tm_mon
tm_year
tm_yday
tm_isdst
FORMATOS DE FECHAS
Las funciones vistas anteriormente nos permitan convertir el valor entero de la fecha en un valor mas
fcilmente entendible, aunque para poder acceder a dicha informacin hay que pasar por el paso previo de
obtener una matriz. Para evitar ese paso intermedio, PHP pone a tu disposicin la
funcindate(formato,marca_tiempo);
Esta funcin nos devuelve una cadena de caracteres que se corresponde con una fecha a la que se ha aplicado
un determinado formato. Para definir el formato de la fecha se dispone de las siguientes opciones:
Opcin
Descripcin
VIDA NUEVA
Educacin de calidad para un mundo competitivo
D
Escribe 0 si no es ao bisiesto y 1 si lo es
Da del ao de 0 a 365
La funcin strftime() representa otra posibilidad para aplicar formatos a una fecha. Esta funcin utiliza las
convenciones locales de la mquina desde la que se ejecuta el script para devolver una cadena con el formato
definido en el idioma seleccionado. Su formato queda definido por los siguientes valores:
Opcin
%a
Descripcin
Nombre del da de la semana abreviado en el idioma actual
VIDA NUEVA
Educacin de calidad para un mundo competitivo
%A
%b
%B
%c
%d
%H
%I
%j
%m
%M
Minuto en numero
%p
%S
Segundos en numero
%U
%W
%w
Da de la semana en numero de 0 a 6
%x
%X
%y
Ao en numero de 00 a 99
%Y
%Z
%%
Caracter %
VIDA NUEVA
Educacin de calidad para un mundo competitivo
La funcin mktime(hora,minuto,segundo,mes,dia,ao,[ajuste->0 horario de verano y 1 invierno]); nos
devuelve un valor entero que representa la marca de tiempo UNIX de una determinada fecha. Cada uno de los
valores mencionados puede omitirse siempre y cuando a partir del valor omitido no se representen mas valores
a su derecha.
La funcin gmmktime() funciona de la misma forma lo que considera que los parmetros representan una
hora GMT.
La funcin setlocale(categoria,pais); nos permite establecer el idioma en los que aparecern la fecha,hora,etc.
Las categoras posibles son:
Opcin
LC_TYPE
Descripcin
Conversin de cadenas a configuracin regional
VALIDACIN DE FECHAS
Existen numerosas ocasiones en las que es necesario la creacin de un sistema para comprobar si la fecha
introducida por el usuario es valida o no. Para ello PHP nos brinda dos funciones capaces de realizar dicha
comprobacin:
checkdate(mes,dia,ao); Comprueba que la fecha introducida sea correcta.
strtotime(cadena_fecha); Comprueba que la cadena de fecha sea correcta. Para ello la fecha debe
estar en formato ingles, es decir, mm/dd/aa
ENTRADA Y SALIDA
Las operaciones de entrada/salida en PHP tienen una gran importancia en cualquier lenguaje de programacin
ya que no tiene sentido que un lenguaje de programacin no pueda escribir, leer, actualizar datos de una base
de datos, etc. En este captulo nos centraremos bsicamente en las operaciones de entrada y salida con
archivos y posteriormente explicaremos las operaciones con bases de datos.
Supongamos que deseamos hacer una tienda de compra online. Imaginemos el gran esfuerzo que supondra
tener que modificar todas las paginas HTML de aquellos productos en los cuales en la temporada de oferta su
precio se viera afectado. La solucin ms primitiva para el almacenamiento de datos es un fichero de texto, el
contenido del fichero de texto puede ser cualquiera.
Efecto
VIDA NUEVA
Educacin de calidad para un mundo competitivo
r
Solo lectura
r+
Lectura y escritura
w+
a+
La funcin fopen devuelve un manejador de fichero que es el que utilizaremos en las funciones relacionadas
con la lectura y escritura de ficheros.
Cmo se recorre un fichero?
Para leer un fichero lgicamente la operacin es muy sencilla. Consiste en ir leyendo todos los caracteres hasta
llegar al EOF (end of file... final del archivo) el cual determina el final del texto. Al igual que en las matrices
los ficheros poseen un cursor interno que indica su posicin actual con respecto a todo el texto.
Para comprobar si se ha llegado al final del archivo, PHP pone a nuestra disposicin la funcin
feof(manejador_fichero); que se encarga de comprobar si la posicin actual del fichero es la marca del final.
La funcin mas genrica de lectura es fread(manejador_fichero,n_bytes); que se encarga de leer un numero
determinado de bytes del fichero y devolvrnoslo en una cadena de caracteres.
En cambio, si lo que pretendemos es leer el fichero caracter a caracter debemos usar la funcin
fgetc(manejador_fichero);
Otras de las funciones mas caractersticas son: fgets(fichero,n bytes); que nos devuelve una cadena de
caracteres con la informacin leda. fgetss(manejador_fichero,n bytes,[mostrar_tags]); nos lee un fichero
HTML omitiendo las etiquetas caractersticas del cdigo, en mostrar tags debemos introducir las etiquetas que
deseamos que se muestren.
Si al realizar la lectura lo que se pretenden leer los valores que siguen un determinado formato de entrada nos
podemos ahorrar un gran trabajo usando la funcin fscanf(manejador_fichero,formato,variables); Esta
funcin obtiene los datos de entrada de un fichero siguiendo un formato determinado. Posteriormente dicha
informacin debe ser tratada por el programador.
La ultima funcin que vamos a estudiar para abrir ficheros es la funcin file(nombre_fichero); con esta
funcin no es necesario usar las funciones fopen() y fclose() ya que se ejecutan de forma implcita.
Cmo se cierra un fichero?
Cerrar es la ultima operacin que se debe realizar al manipular un fichero y permite cerrar la referencia que se
hace al fichero en el script ejecutado. Para poder cerrar un fichero usamos la funcin
fclose(manejador_fichero);
ESCRITURA EN FICHEROS
Para escribir en un fichero bsicamente debemos realizar tres operaciones: abrir el fichero en modo escritura,
realizar la operacin de escritura realizada, cerrar el fichero. Las funciones que empleamos para
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
198
VIDA NUEVA
Educacin de calidad para un mundo competitivo
escribir
en
un
fichero son
fputs(manejador_fichero,cadena);
y
fwrite(manejador_fichero,cadena); que nos permiten aadir una cadena de caracteres al texto anterior
contenido en el texto.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
La clase dir
PHP nos proporciona una pseudoclase predefinida para el manejo de ficheros. Esta clase no aporta ninguna
funcionalidad que no hayamos visto hasta este punto pero recopila todas las funciones a partir de una sola.
Para poder trabajar con un directorio primero hay que crear una instancia de clase dir por medio de su
constructor. $directorio=dir(ruta_directorio);
Este objeto cuenta con 3 mtodos y 2 propiedades(las propiedades slo de consulta por lo que no pueden ser
modificadas. Los mtodos empleados son read(),rewind() y close() Copiado,borrado y renombrado de
ficheros
copy(fichero_origen,fichero_destino); Realiza una copia de un fichero. unlink(nombre_fichero);
Elimina el fichero.
rename(nombre_antiguo,nombre_nuevo); Renombra el fichero pasado como parmetro.
Atributos de ficheros y directorios
Los ficheros y directorios poseen una serie de caractersticas propias denominadas atributos. PHP pone a
nuestra disposicin un conjunto de funciones que nos permitirn obtener informacin sobre los archivos o
carpetas.
La funcin file_exists(elemento); Comprueba que el elemento pasado como parmetro exista.
filesize(nombre_fichero); nos informa sobre el tamao del fichero en bytes.
La funcin fileatime(fichero); nos informa sobre el ultimo acceso al fichero.
La funcin filemtime(fichero); nos informa sobre la ultima modificacin del fichero.
La funcin filectime(fichero); nos informa sobre el ltimo cambio al fichero.
La funcin filetype(fichero); nos devuelve el tipo de elemento que estamos tratando. Los resultados posibles
que puede devolver son:
Resultado
Significado
block
Dispositivo de bloques
char
Caracteres
dir
Directorio
fifo
FIFO
file
Fichero
link
Enlace
unknown Desconocido
Chmod(elemento_directorio,permisos); recibe como parmetro el elemento y los permisos que deseamos
otorgarle a dichos elementos
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Tipo
Descripcin
Tinyint[Unsigned]
Smallint[Unsigned]
Int o Integer
Float[ (M,D) ]
Double [ (M,D) ]
Decimal [ (M [,D]) ]
Date
Time
Char(longitud)
Varchar(longitud)
Blob
Text
VIDA NUEVA
Educacin de calidad para un mundo competitivo
CREATE TABLE Nombre_tabla
(Campo1 Tipo_dato Not Null,
Campo2 Tipo_dato,
PRIMARY KEY (Campo3));
Esto nos creara una tabla con 3 campos de los cuales Campo3 es un valor nico, es decir, que no puede ser
sobreescrito.
ELIMINAR TABLAS
Para eliminar una tabla usaremos:
DROP TABLE Nombre_tabla;
MODIFICAR TABLAS
Para modificar la estructura de la tabla usaremos la siguiente sintaxis:
ALTER TABLE Nombre_tabla
[ADD Nombre_atributo Definicin] //Aadira un nuevo campo
[CHANGE AntiguoNombreAtributo NuevoNombreAtributo Definicin]
campo
[DROP NombreAtributo]; //Borrara un campo
//Cambiara un
Los ndices son una estructura de acceso que permiten organizar los datos contenidos en una tabla. Para crear
un ndice usaramos la siguiente sintaxis:
CREATE [UNIQUE] INDEX NombreIndice
ON Tabla (Campos);
CONSULTAS DE DATOS
Para esta accin usamos el comando SELECT y la sintaxis es la siguiente:
SELECT ([*]/[Atributos]) FROM Tabla/s [WHERE ListaCondiciones] [GROUP BY Campo]
[HAVING ListaCondiciones] [ORDER BY Campo]
Existen un conjunto de funciones dentro de las consultas de datos que nos permiten obtener informacin o
realizar operaciones con respecto a las filas. Las funciones son:
FUNCIN
DESCRIPCIN
VIDA NUEVA
Educacin de calidad para un mundo competitivo
AVG(Campo)
MAX(Campo)
MIN(Campo)
ELIMINACIN DE DATOS
Para eliminar datos usamos la sentencia DELETE cuya sintaxis es la siguiente:
DELETE FROM NombreTabla [WHERE Condicin];
Descripcin
mysql_query(consulta,conexin)
mysql_num_fields(cursor)
mysql_fetch_row(cursor)
mysql_free_result(cursor)
VIDA NUEVA
Educacin de calidad para un mundo competitivo
mysql_close(conexion)
Una de las ventajas que proporciona la altsima integracin que PHP y MYSQL tienen es la existencia de
funciones que permiten al programador acceder a las diferentes estructuras que conforman la base de datos.
Algunas de las funciones son:
Funcin
Descripcin
mysql_list_dbs(conexion)
mysql_list_tables(base_datos,conexion)
mysql_tablename(cursor,numero_fila)
mysql_field_name(cursor,numero_col)
mysql_field_type(cursor,numero_Col)
mysql_field_len(cursor,numero_col)
mysql_field_flags(cursor,numero_col)
mysql_affected_rows(conexion)
mysql_change_user(usuario,password)
Cambia de usuario
mysql_create_db(basedatos)
mysql_drop_db(basedatos)
mysql_insert_id(cursor)
Devuelve
el
valor generado
un AUTOINCREMENT
para
SESIONES
Generalmente una web se compone de una serie de pginas entre las que existe alguna relacin. Un ejemplo
claro es una pgina en la cual es necesario estar registrado para poder acceder a ellas ya que en funcin de la
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
204
VIDA NUEVA
Educacin de calidad para un mundo competitivo
categora del usuario nos permitir acceder a unas secciones o otras. En estas aplicaciones ser necesario ir
comprobando los permisos de usuario y para ello usamos un elemento en PHP denominado "sesiones".
Una sesin se inicia cuando un usuario entra en la aplicacin web y finaliza cuando el usuario abandona la
aplicacin (mas adelante comprenderemos lo de "abandonar aplicacin").
Durante todo ese tiempo podemos manipular una serie de variables que se inician al iniciar la sesin y
mantener un tipo de informacin comn entre todas las pginas (en el caso de el usuario registrado seria los
privilegios que posee).
Para mantener esta informacin constante es necesario que los datos se guarden en un fichero ya sea en el
cliente (cookies) o en el servidor (en caso de que tenga desactivado las cookies).
Para el problema que consiste en diferenciar los diferentes usuarios existe una solucin muy bsica que
consiste en un identificador de sesin diferente en cada caso.
Este identificador de sesin debe ser enviado de una pagina a otra para mantener la sesin activa(a menos que
en la configuracin del servidor tengamos activada la opcin session_trans_id) y tambin es necesario pasar el
identificador de sesin en los formularios como un campo HIDDEN.
Ejemplos:
Hipervnculo
<a href="pagina.php?<? =SID ?>">Entrar</a>
Formulario
<input type="hidden" name="session_name()" value="SID">
Funciones de gestin de sesiones
FUNCIN
SIGNIFICADO
session_start();
session_destroy();
session_register(nombre);
session_unregister(nombre);
session_is_registered(nombre);
VIDA NUEVA
Educacin de calidad para un mundo competitivo
session_unset();
session_id([nombre]);
session_name([nombre]);
session_get_cookie_params();
session_cache_limiter([cache_limiter]);
session_encode();
session_decode(cadena);
session_save_path([path]);
session_module_name([modulo]);
session_set_save_handler(open,close,read,write,destroy,gc);
Permite definir su propio manejador para almacenar la informacin asociada con una sesin.De
esta forma los datos pueden ser metidos en una BD en vez de en un fichero. Tenemos que pasarle
como parmetro toda la informacin necesaria para crear y destruir sesiones.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
METHOD="post/get"> . Con . Con ACTION indicamos el script que va procesar la informacin que
recogemos en el formulario, mientras que METHOD nos indica si el usuario del formulario va ha enviar datos
( post ) o recogerlos ( get ). La etiqueta <FORM> indica el final del formulario.
A partir de la etiqueta <FORM> vienen los campos de entrada de datos que pueden ser:
Cuadro de texto:
<input type="text" name="nombre" size="20" value="jose"> Cuadro de
texto con barras de desplazamiento:
<textarea rows="5" name="descripcion" cols="20">Es de color rojo</textarea> Casilla de
verificacin:
<input type="checkbox" name="cambiar" value="ON"> Botn de
opcin:
<input type="radio" value="azul" checked name="color"> Men
desplegable:
<select size="1" name="dia">
<option selected value="lunes">lunes</option>
<option>martes</option>
<option value="miercoles">mircoles</option> </select>
Boton de comando:
<input type="submit" value="enviar" name="enviar">
Campo oculto:
<input type="hidden" name="edad" value="55">
Este ltimo tipo de campo resulta especialmente til cuando queremos pasar datos ocultos en un formulario.
Como habrs observado todos lo tipos de campo tienen un modificador llamado name , que no es otro que el
nombre de la variable con la cual recogeremos los datos en el script indicado por el modificador ACTION de
la etiqueta FORM FORM , con value establecemos un valor por defecto.
A continuacin veamos un ejemplo, para lo cual crearemos un formulario en HTML como el que sigue y lo
llamaremos formulario.htm:
<HTML>
<BODY>
<FORM METHOD="post" ACTION="mis_datos.php">
<input type="hidden" name="edad" value="55">
<p>Tu nombre <input type="text" name="nombre" size="30" value="jose"></p>
<p>Tu sistema favorito
<select size="1" name="sistema">
<option selected value="Linux">Linux</option>
<option value="Unix">Unix</option>
<option value="Macintosh">Macintosh</option>
<option value=&qmargin-left: 75"><option value="Windows">Windows</option>
</select></p>
<p>Te gusta el futbol ? <input type="checkbox" name="futbol" value="ON"></p>
<p>Cual es tu sexo?</p>
<blockquote>
<p>Hombre<input type="radio" value="hombre" checked name="sexo"></p>
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
207
VIDA NUEVA
Educacin de calidad para un mundo competitivo
<p>Mujer <input type="radio" name="sexo" value="mujer"></p>
</blockquote>
<p>Aficiones</p>
<p><textarea rows="5" name="aficiones" cols="28"></textarea></p>
<p><input type="submit" value="Enviar datos" name="enviar">
<input type="res-left: 50"> <input type="reset" value="Restablecer" name="B2"></p>
</FORM>
</BODY>
<HTML>
Y ahora creemos el script PHP llamado desde le formulario mis_datos.php:
Todos los datos se encuentran en la variable $_POST, ya que el formulario est enviado por el mtodo post.
<?PHP;
if (isset($_POST['enviar']) {
echo "Hola <b>" . $_POST['nombre'] . "</b> que tal ests<BR>n"; echo
"Eres " . $_POST['sexo'] . "<BR>n"; echo "Tienes " . $_POST['edad'] .
"<BR>n";
echo "Tu sistema favorito es " . $_POST['sistema'] . "<BR>n"; if
(isset($_POST['futbol']) { echo "Te gusta el futbol <BR>n";
} else odigo" style="margin-left: 50">} else { echo "NO
te gusta el futbol <BR>n";
}
if ($_POST['aficiones'] != "") { echo "Tus
aficiones son: <BR>n"; echo
nl2br($_POST['aficiones']);
} else {
echo "NO tienes aficiones <BR>n";
}
}
echo "<a href='formulario.htm'>VOLVER AL FORMULARIO</a>"
?>
Una vez rellenados los datos del formulario, pulsamos el botn Enviar datos , con lo que le campo enviar
toma lo que su etiqueta value indica, es decir enviar="Enviar datos" . En nuestro script lo primero que
evaluamos es que se haya enviado el formulario, y para ello nada mejor que comprobar que la variable
$enviar no est vaca. Le ponemos el signo dlar delante a enviar , ponemos el signo dlar delante a enviar ,
ya que en PHP todas las variables se les refiere con este signo.
Hay que tener en cuenta que si fusionramos el cdigo de ambos ficheros, nos ahorraramos uno, pero no
tambin se puede hacer en dos como lo estamos haciendo. Si la variable $enviar est vacia, enviamos el
formulario.
<?PHP;
if ($enviar) {
echo "Hola <b>" . $nombre . "</b> que tal ests<BR>n"; echo
"Eres " . $sexo . "<BR>n"; echo "Tienes " . $edad . "<BR>n";
echo "Tu sistema favorito es " . $sistema . "<BR>n"; if
($futbol) {
echo "Te gusta el futbol <BR>n";
} else {
echo "NO te gusta el futbol <BR>n";
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
208
VIDA NUEVA
Educacin de calidad para un mundo competitivo
}
if ($aficiones != "") {
< stuot;)>
echo "Tus aficiones son: <BR>n";
echo nl2br($aficiones);
} else {
echo "NO tienes aficiones <BR>n";
}
echo "<a href='$PHP_SELF'>VOLVER AL FORMULARIO</a>"
} else {
<HTML>
<BODY>
<FORM METHOD="post" ACTION="<?PHP echo $PHP_SELF ?>">
<input type="hidden" name="edad" value="55">
<p>Tu nombre <input type="text" name="nombre" size="30" nombre" size="30"
value="jose"></p> <p>Tu sistema favorito
<select size="1" name="sistema">
<option selected value="Linux">Linux</option>
<option value="Unix">Unix</option>
<option value="Macintosh">Macintosh</option>
<option value="Windows">Windows</option>
</select></p>
<p>Te gusta el futbol ? <input type="checkbox" name="futbol" value="ON"></p>
<p>Cual es tu sexo?</p>
<blockquote>
<p>Hombre<input type="radio" value="hombre" checked name="sexo"></p>
<p>="codigo" style="margin-left: 100"><p>Mujer <input type="radio" name="sexo"
value="mujer"></p> </blockquote>
<p>Aficiones</p>
<p><textarea rows="5" name="aficiones" cols="28"></textarea></p>
<p><input type="submit" value="Enviar datos" name="enviar">
<input type="reset" value="Restablecer" name="B2"></p>
</FORM>
</BODY>
</HTML>
<?PHP
} //fin IF
?>
La variable de entorno $PHP_SELF , es una variable de entorno que nos devuelve el nombre del script que
estamos ejecutando. Y por ltimo, hacer notar el uso de la funcin nl2br() , nl2br() , con la cul sustituimos los
retornos de carro del texto, los cules no reconocen los navegadores, por la etiqueta <BR> .
Descarga de ficheros desde un formulario
Vamos a ver un caso especial, como descargar un archivo desde un formulario. Para ello utilizaremos una
etiqueta INPUT de tipo FILE , soportada a partir de las versiones de los navegadores Nestcape Navigator 2.0 e
Internet Explorer 4.0.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
El formulario debe usar el mtodo post , y el atributo post , y el atributo enctype debe tener el valor
multipart/form-data . Adems al formulario debemos aadirle un campo oculto de nombre MAX_FILE_SIZE ,
al cul le daremos el valor en bytes del tamao mximo del archivo a descargar.
<FORM ENCTYPE="multipart/form-data" ACTION="7-3.php" METHOD="post">
<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="100000">
<INPUT NAME="archivo" TYPE="file">
<INPUT TYPE="submit" VALUE="Descargar Archivo">
</FORM>
Cuando el formulario es enviado, PHP detectar automticamente que se est descargando un archivo y lo
colocar en un directorio temporal en el servidor. Dicho directorio ser que el que est indicado en el archivo
de configuracin php.ini , o en su defecto en el directorio temporal del sistema.
Cuando PHP detecta que se est descargando un archivo crea varias variables con el prefijo del nombre del
archivo
pero con
distintas
terminaciones. La
variable
terminada
en $_FILES['archivo']['name'] contiene el nombre original del archivo, $_FILES['archivo']['size']
contiene el tamao en bytes de ste, y la variable $_FILES['archivo']['type'] nos indicar el tipo de archivo si
ste es ofrecido por el navegador.
Si el proceso de descarga no ha sido correcto la variable archivo tomar el valor none y _size ser 0, y si el
proceso ha sido correcto, pero la variable $_FILES['archivo']['size'] da 0 , quiere decir que el archivo a
descarga supera el tamao mximo indicado por MAX_FILE_SIZE .
Una vez descargado el archivo, lo primero que debemos hacer es moverlo a otro lugar, pues sino se hace nada
con l, cuando acabe la ejecucin de la pgina se borrar.
VIDA NUEVA
Educacin de calidad para un mundo competitivo
$_SERVER['PHP_SELF']; ?>" METHOD="post">
<INPUT type="hidden" name="MAX_FILE_SIZE" value="100000">
<p><b>Archivo a descargar<b><br>
<INPUT type="file" name="archivo" size="35"></p>
<p><INPUT type="submit" name="enviar" value="Aceptar"></p>
</FORM>
</BODY>
</HTML>
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Estudio y trabajo autnomos
Preparacin de seminarios, lecturas, investigaciones, trabajos, memorias, etc. Para exponer o
entregar en las clases tericas. Se incluye la preparacin de ensayos, resmenes de lecturas,
seminarios, conferencias, obtencin de datos, anlisis, etc. As como el estudio de contenidos
relacionados con las clases tericas, prcticas, seminarios, etc. (estudiar para exmenes,
trabajo en biblioteca, lecturas complementarias, hacer problemas y ejercicios, etc.). Todo ello,
realizado de manera autnoma, individual.
Finalidad
Desarrollar la capacidad de autoaprendizaje.
RECURSOS
HUMANOS
Comunidad Educativa
MATERIALES
Manual Tcnico
Pizarra
Marcadores
Borrador
TECNOLOGICOS
Internet
Computador
Infocus
Amplificacion
EVALUACIN
JAVA
1. Cul es la diferencia entre el tipo float y double?
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
2. Un literal y una constante, son lo mismo?, si? no? Por qu?
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
3. Para que se utiliza el paquete javax.swing?
___________________________________________________________________________
___________________________________________________________________________
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
212
VIDA NUEVA
Educacin de calidad para un mundo competitivo
4. Qu es un Applet y para que sirve?
___________________________________________________________________________
___________________________________________________________________________
5. En que se diferencian las clases String y StringBuffer?
___________________________________________________________________________
___________________________________________________________________________
6. Por qu Java lanza una Excepcin?
___________________________________________________________________________
___________________________________________________________________________
7.
8. Qu es, y cuales son los tipos de estructuras que Java soporta?
___________________________________________________________________________
___________________________________________________________________________
9. Para que nos sirven las estructuras repetitivas en Java?
___________________________________________________________________________
___________________________________________________________________________
10. Cundo una condicin se convierte en compuesta?
___________________________________________________________________________
___________________________________________________________________________
11. Par que sirve el operador new, al momento de declarar un arreglo?
___________________________________________________________________________
___________________________________________________________________________
12. Mencione dos de las caractersticas ms releventes de los arryas?
___________________________________________________________________________
___________________________________________________________________________
13. Cul es la diferencia entre las sentencia public y private?
___________________________________________________________________________
___________________________________________________________________________
14. Mencione dos caractersticas de los constructores:
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
Descubre el Error
A continuacin se muestran, algunas lneas de cdigo, las cuales poseen algunos errores, los que usted tendr
que identificar y corregir:
15. import java.swing.*
16. JOptionPane.showMessageDialog(Bienvenido!!!! );
17. g.drawstring(Hola , 25,25);
18. g.drawOval(60,30,45,);
19. g.drawrect(60,50);
20. g.setColor(White);
21. setbackground(Green);
22. string b;
23. StringBuffer str= StringBuffer(Hola );
Ejercicios
1. Escriba un programa que imprima su nombre en pantalla
2. Disee un programa en Java, que muestre la cantidad de gramos que hay en 3 Kg (1Kg=1000g).
3. Disee un Applet en Java, el cual, muestre un mensaje en cinco, colores diferentes.
4. Cree un Applet, el cual dibuje un Ovalo, y dentro de ste, un Cuadrado.
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
213
VIDA NUEVA
Educacin de calidad para un mundo competitivo
5. Cree una aplicacin web en Java, que le permita al usuario, dibujar un Ovalo, pero permitindole al
usuario, poder escoger el tamao de sus radios. Luego, y un poco ms abajo, se permita dibujar un
rectngulo, en el cual, tambin el usuario, tenga la posibilidad de ingresar el tamao de su base y de su
altura.
6. Cree un Applet que indique si una frase ingresada por el usuario, es palndromos. Es decir que se lee
de igual manera al derecho que al revs.
7. Escriba un programa en Java, que dadas 5 notas de un alumno, muestre en pantalla, el promedio del
alumno, pero redondeando la nota al entero ms cercano.
8. Cree un Applet, que reciba dos nmeros (a y b), y que muestre, cual de ellos es mayor, cual es menor,
y a b y ba
9. Se desea crear una aplicacin (ya sea Applet o Windows) que permita visualizar la construccin de un
tringulo, en pantalla. El usuario, deber ingresar la cantidad de niveles que desea y el programa,
mostrar el resultado. Ejemplo: 3 niveles
*
* *
* * *
10. Disee un Applet que, muestre si un nmero es primo o no. Si es primo, se indicar dibujando una
leyenda en el fondo del Applet, de lo contrario, se dibujarn todos los divisores de ese nmero.
11. El valor del seno de un ngulo x se puede aproximar sumando n trminos de la serie: sin(x) = x x^3/3! + x^5/5! - x^7/7! + ... Escribir un programa que solicite n y un ngulo x e informe del valor
aproximado de su seno.
12. En una empresa de telefona local, se tiene la siguiente poltica: si el consumo mensual, de una
determina familia, excede los 300 minutos, se le cobra $0.03 por cada minuto. Si excede los 500
minutos, se le cobran los primeros 300 minutos a precio normal y los restantes a $0.02. Pero si el
consumo mensual, es superior a $800 minutos, se aplica la regla de asignacin anterior, adems que se
le realiza un descuento de 1.25% del total. Disee una Aplicacin en Java que de soporte a dicha
poltica de cobro.
13. Escribir un programa en Java, que le permita al usuario ingresar las notas de cierta cantidad de
alumnos, y que luego muestre la cantidad de aprobados (notas mayores o iguales a 6.00), la cantidad
de reprobados, y las notas extremas. As como los nombres de los alumnos que obtuvieron dichas
notas.
14. Abarrotes, S.A. de C.V., desea tener un mayor control, sobre las venta sy las respectivas ganancias que
realizan por da. Para lo cual, se le soliciota que escriba un programa en Java, que le permita
contabilizar las ventas diarias, los importes totales de cada venta, la ganancia neta ( que es de 10% de
cada venta).
15. En un vector de 20 posiciones se almacenan los sueldos de n empleados, de los cuales se desea saber,
cuantos empleados ganan ms del mnimo (sueldo mnimo: $160.00), cuntos ganan menos que el
sueldo mnimo.
16. Realice una bsqueda binaria en un arreglo unidimensional. Una bsqueda binaria, es de la siguinte
forma: se lee el valor que se desea buscar, se compara la primera posicin, si son iguales, fin de la
bsqueda; de lo contrario, compararlo con la posicin dos, y as sucesivamente, si se llega al final del
arreglo y no se encontr el valor, se debe indicar con una leyenda. Pero si se encuentra, se debe
especificar la posicin, que ese valor ocupa en el arreglo.
17. disee una matriz en Java, de 6*6 elementos, y luego muestre, la suma de sus filas, y columnas por
separado.
18. Se desea crear un Applet, el cual sea capaz de leer una matriz de 5*6, y luego determine si la suma de
la diagonal es mayor que la suma de la diagonal menor, adems que dibuje estos valores, junto con los
elementos de la matriz en el fondo del Applet.
19. Se desea saber la suma y la multiplicacin de dos matrices A y B, cada una con m*n elementos.
20. Disee una clase en Java, llamada Leer(), la cual devuelva una cadena que el usuario haya ingresado
por separado, y luego las concatene, dejendo un espacio entre ellas. Ejemplo=str1=Manuel; str2=Ortez
Cadena=Manuel Ortez.
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
214
VIDA NUEVA
Educacin de calidad para un mundo competitivo
21. Cree un Objeto del tipo Fecha(), el cual recibe como argumentos, el da, mes y ao. Y luego imprima
esos Datos.
22. Se desea crear un objeto del tipo Moneda, el cual realice el cambio de colones a dlares (1
coln=8.75 dlares). Al ingresar una cantidad en colones imprima la respectiva equivalencia el
dlares, pero solo con DOS decimales.
JAVA SCRIPT
23. Haz un programa de nombre Eval1I.htm, que has de grabar en TuCarpeta, que funcione de la siguiente
forma:
El programa nos pide nuestro nombre.
El programa nos pide nuestro primer apellido.
El programa nos pide en qu poblacin vivimos.
El programa presenta una pantalla aproximadamente igual a la siguiente:
==================================
Hola nombre Apellido
Adis habitante de Poblacin
==================================
24. Haz un programa de nombre Eval1J.htm, que has de grabar en TuCarpeta, que funcione de la siguiente
forma:
El programa nos pide un nmero.
Utiliza tres contadores:
Un contador: suma 5
Otro contador: suma 21
Otro contador: resta 4
El programa nos presenta los 4 nmeros de la siguiente forma:
La primera lnea: el nmero introducido.
La segunda lnea: los tres nmeros tabulados, que han resultado de los tres contadores.
De forma que si introducimos el n 5 debera aparecer:
25. Haz un programa de nombre Eval1K.htm, que has de grabar en TuCarpeta, que funcione de la
siguiente forma:
El programa nos pide un nmero entero.
El programa nos da como resultado el mismo nmero pero en base 16
Y por ltimo nos lo escribe en base 5
Comprueba el programa para el nmero 52. Debers calcular en primer lugar matemticamente el valor de
52 en base 16 y en base 5.
26. Haz un programa de nombre Eval1L.htm, que has de grabar en TuCarpeta, que funcione de la
siguiente forma:
El programa nos pide un nmero en base ocho El programa nos lo escribe en base decimal.
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
215
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Y por ltimo en base 2.
Comprueba el programa para el nmero 65618. Debers resolver en primer lugar el problema
matemticamente.
27. Haz un programa de nombre Eval1M.htm que has de grabar en TuCarpeta, que funcione de la
siguiente forma:
El programa nos pide un nmero entero.
El programa nos pide la base
El programa nos escribe el nmero introducido en la "base" deseada.
Comprueba el programa para el nmero 100, en base 2, 3 y 11. Debers resolver en primer lugar el
problema matemticamente.
28. Qu es la WWW?
29. Cules son los "browsers" ms conocidos?
30. Escribe un fichero HTML (que no sea un programa JavaScript), que presente la frase: "Hola que tal" y
debajo tu nombre y apellidos.
31. Qu encierra el par de tags: <BODY>, </BODY>?
32. Qu relacin hay entre el Java y el JavaScript?
33. Quin cre el lenguaje de programacin JavaScript?
34. Cules son las caractersticas del JavaScript?
35. El JavaScript es un lenguaje compilado o interpretado?. Qu programa hace de compilador o
interprete?
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Comprueba el funcionamiento del programa, utilizando el caso concreto que aparece en la ilustracin.
40. Haz un programa de nombre Evalip.htm, que sirva para calcular el coseno del ngulo que forman dos
vectores del plano, sabiendo que Math.sqrt(x) calcula la raz cuadrada de x .
La salida ha de ser de la siguiente forma:
Comprueba el funcionamiento del programa, utilizando el caso concreto que aparece en la ilustracin.
41. Haz un programa de nombre Eval1q.htm que sirva para calcular el punto medio de un segmento.
La salida ha de ser de la siguiente forma:
Comprueba el funcionamiento del programa, utilizando el caso concreto que aparece en la ilustracin.
42. El siguiente programa tiene errores. Escrbelo y corrgelo para que funcione (grbalo con el nombre
Eval2A.htm en TuCarpeta):
<SCRIPT>
<HTML LANGUAGE="JavaScript"
// EVAL2A.HTM
var farenheit,celsius, var s="";
for(i=-2;i<=12:i++)
{ celsius=10*i; farenheit=32+(celsius*9)/5; s=s+"C=
"+celsius+" F= "+farenheit+"\n"; if (celsius==0) s=s+"Punto
congelacin del Agua\n"; if (celsius==100) s=s+"Punto de
ebullicin del Agua\n";
} alert(s;
<//SCRIPT>
<HTML>
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
217
VIDA NUEVA
Educacin de calidad para un mundo competitivo
43. Haz un programa que funcione de la siguiente forma:
El programa nos pide que escribamos dos nmeros positivos menores de 57
El programa nos da como resultado el producto de los dos nmeros
Si los nmeros no son positivos o son mayores de 57, el programa nos lo dice.
El programa nos pregunta al final si queremos volver a empezar. Graba el programa con el nombre
Eval2B.htm en TuCarpeta
44. Escribe un programa que nos vaya pidiendo nmeros. Si escribimos el nmero 9999 se acaba; por
ltimo el programa nos da como resultado el nmero de nmeros introducidos, exceptuando el 9999.
Graba el programa con el nombre Eval2C.htm en TuCarpeta.
45. Haz un programa que sirva para resolver sistemas de ecuaciones del tipo: ax + by = c dx + ey = f
Graba el programa con el nombre Eval2J.htm en TuCarpeta.
x=(ce-bf)/(ae-bd) ; y=(af-dc)/(ae-bd)
Prueba el funcionamiento del programa para el caso a=1; b=-2; c=-3; d=3; e=1;f=5; si todo funciona
correctamente: x=1 ; y=2
46. Haz un programa con la posibilidad de hacer el Eval2I.htm o el Eval2J.htm (debes utilizar la
estructura switch )
Graba el programa con el nombre Eval2K.htm en TuCarpeta.
47. Haz un programa que escriba la tabla de valores de la funcin y = ax2 + bx + c, el programa nos pide
los valores de a, b, c y el nmero natural v . El programa construye la tabla de valores entre los
valores de -v y v con un incremento de una unidad.
Graba el programa con el nombre Eval2L.htm en TuCarpeta.
La salida para el caso a = 1, b = -2, c=3, v=5 ha de ser de la siguiente forma:
VIDA NUEVA
Educacin de calidad para un mundo competitivo
VIDA NUEVA
Educacin de calidad para un mundo competitivo
EVALUACIN FINAL
A) Conteste:
1. Cul fuel el primer instrumento creado por el hombre que ayudava a contar?
2. En qu generacin de computadoras se utilizarn por primera vez los transistores?
3. Cul es la principal diferencia entre computadoras analgicas y digitales?
4. La unidad de medida ms pequea que se utiliza para medir el almacenamiento de
informacin es?
5. Al procesar los datos ingresados al computador da como resultado?
6. Mencione 10 partes de la mainboart.
7. Mencione, cules son los dos grandes rubros de tipos de datos en Java:
8. Para que sirve el tipo Srtring, y el tipo double?
9. Cules son las diferencias entre los 3 tipos de comentarios que Java soporta?
10. Cul es la diferencia entre los mtodos showInputDialog y el mtodo showMessageDialog?
11. Cules son las diferencias entre un objeto y una variable?
12. Los mtodos matemticos, slo pueden utilizarse con el tipo de dato double?Por qu?
13. try y finally. Tienen la misma Funcin?
14. Cul es la diferencia entre la estructura while y do..while?
15. En que se diferencian las variables de tipo acumulador con las de tipo contador?
16. Qu es un arreglo, array, matriz o vector?
17. Cules son las diferencias entre un arreglo de una dimensin y dos dimensiones?
18. Que es y para que sirven las Clases?
19. Qu es un constructor?
20. Por qu, la clase a partir de la cual creamos los objetos y la clase que la utiliza, deben estar en
el mismo directorio?
B) Seleccione la respuesta correcta 21. La ALU realiza:
a) La toma de deciciones.
b) Clculos aritmticos.
c) Almacena temporalmente la informacin 22. Unix es un sitema operativo:
a) Monousuario
b) Monotarea
c) Multiusuario
23. El comando que permite visualizar los atributos de los archivos y directorios es:
a) Atrib /s /d r h s *.*
b) Attrib /s /d r h s *.*
c) Attrib /a /d r h s *.*
24. Si tengo una Resistencia con los colores verde, Amarillo, caf, dorado. Su valor ser:
a) 540 5%
b) 540 10%
c) 540 15%
25. Los conectores para un cable UTP de 4 pares para una red LAN son:
a) RJ11
b) RJ45
c) RJ12
C) Una segn corresponda
26. smbolos y componentes
Smbolo
Componente
VIDA NUEVA
Educacin de calidad para un mundo competitivo
Transformador
Circuito integrado
Resistencia
LED
Interruptor
27. comandos UNIX
Comando
ls
cd
rmdir
cp
mv
rm
ping
Descripcin
Comprueba si responde en red
Eliminar un archivo
Mueve un archivo
Elimina un directorio
Cambia de directorio
Muestra una lista de los directorios
Copia un archivo
D) complete
28. La primera mquina analtica fue creada por ______________, profesor matemtico de la
Universidad de Cambridge en el siglo________.
29. En ________se construy en la Universidad de Pennsylvania la ________ (Electronic
Numerical Integrator And Calculator) que fue la primera ____________________, el equipo
de diseo lo encabezaron los ingenieros _______________ y _____________.
30. Las computadoras _______ operan contando _______ y haciendo comparaciones _________
entre factores que tienen valores _______.
31. Las computadoras ____________ no computan directamente, sino que _________
constantementes _________, _________ o magnitudes fsicas ___________.
32. La ____________es la ___________ que estudia el tratamiento ____________
____________ de la _____________.
33. El _________ es un concepto bsico, ________ y sin elaborar. Por ejemplo, los nombres con
los que _________ los objetos que nos rodean.
E) Verdadero falso
( )
34. Ranuras AGP: Se dedica exclusivamente a conectar tarjetas de vdeo 2D,. ofrece
264 MB/s o incluso 528 MB/s. Mide unos 8 cm
( )
35. Ranuras ISA: son las ms antiguas. Funcionan con 8 MHz-16MB/s sirve para conectar un
mdem o una tarjeta de sonido, Miden unos 14 cm y su color
SISTEMAS INFORMTICOS MULTIUSUARIOS Y EN RED
221
VIDA NUEVA
Educacin de calidad para un mundo competitivo
suele ser negro
( )
36. La topologa en estrella se caracteriza por tener todos sus nodos conectados a
un
controlador central
( )
37. En la topologa en anillo todas las estaciones o nodos estn conectados entre si
formando un anillo
( )
38. Topologa en bus o canal los nodos se conectan formando un camino de comunicacin vi
direccional con puntos de terminacin bien definidos. ( )
F) Ordene los siguientes pasos
39. Instalacin del sistema operativo
___ Instalar los Drivers necesarios para los dispositivos no reconocidos en la instalacin.
___ Ejecutar el programa de instalacin
___ Proporcionar el nombre y contrasea del usuario que ser administrador del sistema.
___ Preparacin del Disco Duro:
___Seleccionar los componentes software opcionales que queremos instalar.
___Ajustar los parmetros de la red.
___Instalar el gestor de arranque.
___Realizar las actualizaciones de seguridad.
___Instalar los plugins del navegador.
___Preparar el equipo para arrancar desde CD/DVD.
40. LA NORMA IEEE T568 A:
___VERDE
___NARANJA
___BLANCO / VERDE
___CAFE
___AZUL
___BLANCO / AZUL
___BLANCO / CAF
___BLANCO / NARANJA
VIDA NUEVA
Educacin de calidad para un mundo competitivo
H) Descubre el Error:
A continuacin se muestran, algunas lneas de cdigo, las cuales poseen algunos errores, los que usted
tendr que identificar y corregir:
47.
48.
49.
50.
51.
sqrt(g);
try{ .. }
catch{.. }
int v = new int[10];
for(int i=0; i<10, i++);
v[i]=i+5;
55.
56.
57.
58.
59.
Public int x;
Private int y;
void
punto( )
{x=10;y=20;}
}
punto p=new Punto( );
System.out.printl(p.X + +p.Y);
public punto(int , int ){x=a;y=b;}
punto(int a, int b){a=x; y=b;}
punto(){a=-1;b=-1;}
I) EJERCICIOS
60. Disee un programa que muestre en pantalla, los 5 primeros nmeros y a la par, como se leen
cada uno de esos nmeros
61. Se pide que cree, un Applet, el cual, debe dibujar un triangulo Equiltero.
62. Cree un Applet el cual, dibuje un rectngulo, y dentro de l, dibuje una cadena de caracteres,
la cual, puede ser su nombre.
63. En un banco, se desea calcular el inters que, recibir un cliente al final del perodo por sus
ahorros. La frmula para determinar el inters es la siguiente: I=C*i*t. donde C, es el monto
de los ahorros, i es la tasa de inters y t es el perodo te tiempo en das.
64. Disee Un Applet que dibuje tantas veces, como el usuario el usuario lo desee, un rectngulo.
65. Se necesita crear una aplicacin en Java que le permita al usuario ingresar tantos dgitos, como
ste quiera, para luego, imprimir el valor mayor, el valor menor, y el promedio de todos los
valores que se introdujeron.
48. Haz un programa de nombre Eval1A.htm, que has de grabar en TuCarpeta que sirva para
restar dos nmeros cualesquiera, sean enteros o reales. Qu sucede si en lugar de restar dos
nmeros, intentamos restar dos textos?.
49. Haz un programa de nombre Eval1Ab.htm, que demuestre el nico caso en que podemos
restar dos cadenas de texto.
BIBLIOGRAFA
Manuel Ortez memeboi27@hotmail.com
VIDA NUEVA
Educacin de calidad para un mundo competitivo
San Salvador, El Salvador. Diciembre de 2006
Elizabeth
e.liza.500@hotmail.com