Académique Documents
Professionnel Documents
Culture Documents
ELECTROTECNIA
FASCÍCULO DE APRENDIZAJE
ELECTRÓNICA DE
COMPUTADORAS Y
PROGRAMACIÓN-PARTE I
CÓDIGO: 89001521
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ÍNDICE
Contenido:
Capítulo 1: La Computadora ................................................................... 9
Introducción, Clasificación, Evolución…………………………………………………..10
Información Digital .................................................................................................. 21
Configuración del Computador ............................................................................... 24
Principales Componentes de una PC ..................................................................... 25
Consejos generales para desarmar una PC ........................................................... 30
Herramientas Básicas para desarmar una PC ....................................................... 32
ELECTROTECNIA 5
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 6
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 7
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 8
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
CAPÍTULO 1
1
LA COMPUTADORA.
ELECTROTECNIA 9
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
LA COMPUTADORA.
Introducción.
Una computadora es un dispositivo electrónico utilizado para procesar
información y obtener resultados. Los datos y la información se pueden
introducir en la computadora como entrada (input) y a continuación se procesan
para producir una salida (output). Los componentes físicos que constituyen la
computadora, junto con los dispositivos que realizan las tareas de entrada y
salida, se conocen con el término hardware (traducido en ocasiones por
material). El conjunto de instrucciones que hacen funcionar a la computadora
se denomina programa; a la persona que escribe programas se llama
programador y al conjunto de programas escritos para una computadora se
llama software (traducido en ocasiones por lógica).
Clasificación.
Análoga: Trabaja con variables que son medidas a lo largo de una escala
continua y que son almacenadas con cierto grado de veracidad, por ejemplo la
temperatura de un paciente, el tacómetro del auto, etc. No computan
directamente con números. Son usadas mayormente en el control de procesos.
Evolución: Uno de los primeros dispositivos mecánicos para contar fue el ábaco,
cuya historia se remonta a las antiguas civilizaciones griega y romana. Este dispositivo
ELECTROTECNIA 10
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Otro de los inventos mecánicos fue la Pascalina inventada por Blaise Pascal
(1623 - 1662) de Francia y la de Gottfried Wilhelm von Leibniz (1646 - 1716) de
Alemania. Con estas máquinas, los datos se representaban mediante las
posiciones de los engranajes, y los datos se introducían manualmente
estableciendo dichas posiciones finales de las ruedas, de manera similar a
como leemos los números en el cuentakilómetros de un automóvil.
ELECTROTECNIA 11
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 12
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Primera Generación.
En esta generación había 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 saturaría el mercado de los Estados Unidos
en el campo de procesamiento de datos.
ELECTROTECNIA 13
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Computadora UNIVAC I
ELECTROTECNIA 14
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Burroughs 220
Segunda Generación.
Cerca de la década de 1960, las computadoras seguían evolucionando, se
reducía su tamaño y crecía su capacidad de procesamiento. También en esta
época se empezó a definir la forma de comunicarse con las computadoras, que
recibía el nombre de programación de sistemas.
ELECTROTECNIA 15
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 16
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Tercera generación.
Con los progresos de la electrónica y los avances de comunicación con las
computadoras en la década de los 1960, surge la tercera generación de las
computadoras. Se inaugura con la IBM 360 en abril de 1964.
La IBM produce la serie 360 con los modelos 20, 22, 30, 40, 50, 65, 67, 75, 85,
90, 195 que utilizaban técnicas especiales del procesador, unidades de cinta de
nueve canales, paquetes de discos magnéticos y otras características que
ahora son estándares (no todos los modelos usaban estas técnicas, sino que
estaba dividido por aplicaciones).
ELECTROTECNIA 17
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
En la década de 1970, la IBM produce la serie 370 (modelos 115, 125, 135,
145, 158, 168). UNIVAC compite son los modelos 1108 y 1110, máquinas en
gran escala; mientras que CDC produce su serie 7000 con el modelo 7600.
Estas computadoras se caracterizan por ser muy potentes y veloces.
A finales de esta década la IBM de su serie 370 produce los modelos 3031,
3033, 4341. Burroughs con su serie 6000 produce los modelos 6500 y 6700 de
avanzado diseño, que se reemplazaron por su serie 7000. Honey - Well
participa con su computadora DPS con varios modelos.
Cuarta Generación.
Aquí aparecen los microprocesadores que es un gran adelanto de la
microelectrónica, son circuitos integrados de alta densidad y con una velocidad
impresionante. Las microcomputadoras con base en estos circuitos son
ELECTROTECNIA 18
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 19
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Algunos modelos
ELECTROTECNIA 20
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Dato.
Se define como los valores físicos verdaderos. Otra definición es como los
valores lógicos, los cuales son representados por objetos.
Datos físicos:
• Medición de temperatura.
• Medición de pesos.
• Medida de velocidad
Datos lógicos:
• Simples.
• Estructurados.
• Definidos por el usuario.
ELECTROTECNIA 21
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Las computadoras utilizan las señales eléctricas digitales, las cuales son
interpretados por medio de códigos del tipo binario – hexadecimal, por ejemplo
el uso del código ASCII, BCD, BCN y otros.
ELECTROTECNIA 22
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Byte.
Es una palabra digital que contiene siempre 8 bits, se utiliza en las unidades de
almacenamiento de información, por ejemplo los discos duros, memorias RAM,
ROM, etc.
Word.
Es una palabra digital compuesta por 16 bits, utilizada como información digital
de proceso en el sistema CPU.
ELECTROTECNIA 23
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 24
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
PLACA MADRE.
La motherboard es, probablemente, la parte más importante de una
computadora. Maneja todas las transferencias de datos entre la CPU y los
periféricos. Alberga la CPU, la caché de segundo nivel, el chipset, el BIOS, la
memoria principal, los chips de entrada/salida, los controladoras de discos y
las tarjetas de expansión.
ELECTROTECNIA 25
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Placa Madre
ELECTROTECNIA 26
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
MICROPROCESADOR.
También denominado CPU (Unidad Central de Procesamiento). Es un circuito
semiconductor formado por puertas que permiten o cierran el paso, de forma
lógica, a una serie de señales eléctricas. Está compuesto por la unidad de
control, la unidad aritmética lógica y un grupo de registros. Posee un alto grado
de integración, siendo capaz de ejecutar alegóricamente una serie de
instrucciones. Es un dispositivo inteligente que captura datos, los procesa y
emite resultados, también los almacena. Se puede considerar el cerebro del
computador. Es un circuito integrado que ejecuta instrucciones. Su velocidad
se mide en MegaHertz (MHz).
MEMORIA.
Es aquella que debe contener necesariamente todas las instrucciones y datos
que se requieren para la realización de un proceso. En caso de que toda la
cantidad de instrucciones o datos necesarios no puedan almacenarse
íntegramente en la memoria principal, entonces deberán cargarse hacia ella
por etapas, pero en todo caso, los procesos se realizaran en base al contenido
actual de la memoria principal. La presentación puede ser como ROM, RAM,
CMOS, CACHE.
ELECTROTECNIA 27
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
PUERTOS DE COMUNICACIÓN.
PUERTO SERIAL.
• Los puertos seriales se caracterizan por transmitir la información bit por bit
uno tras otro.
• Son de dos tipos el puerto serial 1 y el puerto serial 2; cada uno de ellos
utilizan dos puntos de conexión denominado.
• Para el puerto serial 1 se utiliza el COM1 y COM3, los cuales utilizan
siempre el puerto de tipo “D” pequeña de 9 pines.
• Para el puerto serial 2 se utilizan los puntos de conexión COM2 y COM4 los
cuales utilizan siempre el puerto tipo “D” grande de 25 pines.
PUERTO PARALELO.
• Los puertos paralelos son los LPT que son 1,2 y 3.
• En la práctica el puerto serial 1 en el COM1, se instala el MOUSE, el cual
utiliza el interruptor IRQ4.
• Para la instalación de un Fax/MODEM, se instala en el puerto serial 2 en el
COM2, utilizando el IRQ3.
• Las impresoras se instalan en los puertos paralelos, por ejemplo para el
LPT1, que utiliza el IRQ7.
PUERTO USB.
• Bus Universal Serial (USB), es el bus serial universal que permite conectar
cualquier periférico a la computadora, por ejemplo el mouse, teclado,
joystick, impresora, modem, cámara de video, web cam, escáner, etc.
• Tiene la particularidad de conectar hasta 126 dispositivos, los cuales pueden
ser conectados en serie (uno de tras de otro) o utilizando otros dispositivos
de múltiples salidas colocados en los diversos periféricos, como por ejemplo
el monitor. Puerto Paralelo
Onboard
Puertos de comunicación
ELECTROTECNIA 28
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
CASE.
Los case de CPU son gabinetes metálicos donde se instalan los dispositivos de
la computadora, incluida la fuente de poder.
Modelos de CASE
DISPOSITIVOS DE ENTRADA.
Son dispositivos mediante los cuales se puede ingresar datos hacia el
computador. Estos dispositivos pueden ser el teclado y el mouse.
ELECTROTECNIA 29
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
DISPOSITIVOS DE SALIDA.
Se encargan de mostrar la información que se aporta, así como la que el
computador comunica. Ejemplos de estos dispositivos son el monitor y la
impresora.
CORRIENTE ESTÁTICA.
Antes de abrir la computadora descárguese la corriente estática del cuerpo
tocando algo de metal o la pared. La corriente estática en el cuerpo puede
quemar cualquier placa que toquen, los SIMM de memoria y hasta el disco
duro. No siempre es así pero mejor prevenir que lamentar. Para los que no
saben, la corriente estática se produce al rozar el viento sobre nuestra camisa,
la fricción en la ropa de nylon al sacársela; después pasa que tocamos a otra
persona.
¡Nunca!
Saque las placas o tarjetas con la computadora prendida, esto provocaría una
enorme chispa que quemaría la placa, además de quemarse ustedes Lo mismo
con los discos duros, si sacan el cable de alimentación o el cable plano con la
computadora prendida puede pasar que el disco se malogre.
ELECTROTECNIA 30
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
EQUIVOCACIONES.
Uno de los problemas que es difícil que ocurra pero que puede sucederle al
usuario de computadoras es que el puerto DB25S, que es generalmente donde
se conecta la impresora; y el puerto SCSI, que es donde se conecta un scanner
de página completa, son iguales. Por lo que si conectamos los cables para abrir
la computadora, y después volvemos a conectar todo, suele ocurrir que
conectemos las cosas al revés. Después, si queremos imprimir, no pasa nada,
o queremos escanear y tampoco pasa nada.
ELECTROTECNIA 31
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 32
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 33
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 34
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
AUTOEVALUACIÓN N°1
1. ¿Qué es la computadora?
2. Definir:
- Hardware.
- Software.
ELECTROTECNIA 35
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
III. Relacionar:
ELECTROTECNIA 36
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
CAPÍTULO 2
2
CASE Y FUENTE DE ALIMENTACIÓN DE
UNA PC.
ELECTROTECNIA 37
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
MINITOWER (MINITORRE).
La placa Madre esta en Vertical, hasta hace poco era el modelo mas usado en
las computadoras compatibles. Normalmente se usa en formato AT.
ELECTROTECNIA 38
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
CASE MODERNOS.
Los Componentes son mas pequeños (Placa Madre, Memorias, etc) lo cual
hace que ocupen menos espacio, ademas la fuente es entre 65 y 75 W, gracias
a ello el ahorro de energía eléctrica es bastante considerable.
Potencia.
Viene expresada en Watts e indica la capacidad para alimentar mas
dispositivos o de mayor consumo. Actualmente varía de 250 a 550 Watts. En
servidores de red, es recomendable utilizar fuentes de alimentación con
potencias de suministro de 350 Watt. Aunque tambien existen otros
denominados Micro ATX que ofrecen potencias menores.
ELECTROTECNIA 39
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Voltaje.
Debe concordar con la zona geográfica donde trabaje la computadora. En el
Perú es de 220 Voltios, en los EE.UU es de 110 Voltios, etc. Si se conecta un
equipo a una tensión mas alta de la permitida, va a ocasionar grandes daños
en el.
El voltaje ±12V, son para alimentar los motores de las unidades de disco.
Son ideales para equipos de calidad, como: computadoras, VHS, TV, equipos
de sonido, etc.
Fuente de PC
Para cambiar la fuente; la PC debe estar apagada y desconectada de la
Corriente Electrica, se procede a destapar el case (cajón), se destornilla la
fuente de poder, se toma nota de cada conexión que tiene la fuente hacia los
demás componentes (Mejor si se toma fotografías), se procede a desconectar
ELECTROTECNIA 40
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
PARTES DE LA FUENTE.
• Etapa Primaria.
Unidad de Alto Voltaje.
Unidad de Conmutación.
• Etapa Secundaria.
Unidad de Bajo Voltaje.
Unidad de Control.
FUSIBLE
RECTIFICADO
FILTROS
ELECTROTECNIA 41
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Circuito Conmutador
ELECTROTECNIA 42
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Etapa Secundaria.
Esta etapa se inicia con la salida del transformador chopper, el mismo que
ha venido del circuito de conmutación.
Está conformada por los rectificadores de dos diodos unidos al disipador
térmico, desde donde aparecen los voltajes de 5 y 12 voltios ya polarizados.
Estas salidas son filtradas por condensadores y bobinas en diferentes
arreglos.
Circuito
de
Control
Circuito
de bajo
voltaje
ELECTROTECNIA 43
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Unidad de Control.
ELECTROTECNIA 44
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
CONEXIONES.
Rejilla de Ventilación. Permite la salida del aire caliente que proviene del
calor que disipan los componentes electrónicos internos de la fuente de
alimentación. Este aire caliente es expulsado por el ventilador que se sitúa
detrás de la rejilla.
Conector de Entrada. Permite proveer del suministro eléctrico a la PC,
mediante el cable de poder, que a su vez se conecta al tomacorriente. Es un
conector macho.
Selector de Voltaje. Cambia el voltaje de operación de la fuente,
generalmente se da una selección de tensión entre 110 V a 220 V
(a veces se indica como 115 / 230).
Conector de Salida. Permite proveer de suministro eléctrico a otro equipo,
tal como un monitor, prescindiendo de un tomacorriente. Es un conector
hembra, solo se encuentra en las fuentes AT.
Switch On/ Off. Corta el ingreso de energía al interior de la fuente de
alimentación. Es usado solo en las fuentes ATX.
Alimentación de la Mainboard:
Conectores P8-P9 (en los Case AT). Dos conectores de plástico de color
blanco de seis contactos cada uno, denominados P8 y P9 que proveen de
alimentación eléctrica a la Mainboard. A su vez, cada color de cable
presenta una tensión de suministro.
ELECTROTECNIA 45
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
CONECTOR P8
PIN NOMBRE COLOR COMENTARIOS
Corriente Correcta, +5Vcc. Cuando todos los
1 Power Good Naranja voltajes están estabilizados.
2 +5 VCC Rojo
3 +12 VCC Amarillo
4 -12 VCC Azul
5 COM Negro Tierra
6 COM Negro Tierra
CONECTOR P9
PIN NOMBRE COLOR COMENTARIOS
1 COM Negro Tierra
2 COM Negro Tierra
Blanco o
3 -5 VCC Amarillo
4 +5 VCC Rojo
5 +5 VCC Rojo
6 +5 VCC Rojo
ELECTROTECNIA 46
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 47
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 48
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 49
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
AUTOEVALUACIÓN N°2
ELECTROTECNIA 50
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 51
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
CAPÍTULO 3
3
LA MAINBOARD DE UNA PC
ELECTROTECNIA 52
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
El año 1981 IBM desarrolla la primera placa base para el computador personal
la cual la denomina placa base XT, en los años siguientes IBM diseña un nuevo
modelo computador personal denominado PC AT, utilizando la primera placa
base AT, para que luego se diseñen otros tipos de placas base los cuales se
les clasifica por su factor de potencia y tecnología aplicada.
ELECTROTECNIA 53
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
sus principales defectos: mala circulación del aire en los gabinetes (que fue
mas tarde uno de los motivos de la aparición de disipadores y ventiladores de
chip) y, sobre todo, una maraña enorme de cables que impide acceder a la
placa sin desmontar al menos alguno.
Podemos recalcar que el estándar LPX una vez montadas, las tarjetas quedan
paralelas a la placa base, en vez de perpendiculares como en las AT, es un
diseño típico de las computadoras de escritorio con un case o gabinete
pequeño y horizontal con menos de 15 cm. de alto y más de 30.
ELECTROTECNIA 54
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 55
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 56
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Los estándares ATX son cada vez más comunes y difundidas en el mercado y
van camino de ser las únicas en el mercado informático. Otras diferencias que
podemos indicar respecto a las AT son las de ventilación mas fácil y menos
maraña de cables, debido a la colocación de los conectores ya que el
microprocesador suele colocarse cerca del ventilador de la fuente de
alimentación y los conectores para discos cerca de los extremos de la placa,
los conectores suelen ser más (por ejemplo, con USB o con FireWire), están
agrupados y tienen el teclado y ratón en clavijas mini-DIN. Además, reciben la
electricidad mediante un conector formado por una sola pieza.
a) Tecnología Abierta.
La tecnología abierta tiene dos concepciones importantes en relación al avance
tecnológico, tal como se indica en la siguiente tabla.
ELECTROTECNIA 57
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
b) Tecnología Integrada.
La tecnología integrada consiste en tener instalados en la placa base las
controladoras básicas y adicionales como también los puertos respectivos. La
integración de las controladoras utiliza tres técnicas denominadas:
• On Board.
• On Chip.
• Built-In.
Estas técnicas de integración están indicadas como características técnicas
aplicadas, en el manual de la placa base.
ELECTROTECNIA 58
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELEMENTOS DE LA MAINBOARD.
A continuación se describirán los principales elementos que se encuentran en
una Mainboard.
S T A B C
R D
F
O
M L K J I
A. Puerto Serial.
B. Puerto Paralelo.
C. Puerto USB.
D. PS/2, Puerto de Mouse y Teclado.
E. Zócalo Zif para Microprocesador.
F. Chipset Puente Norte.
G. Conector de fuente ATX.
H. Ranuras DIMM.
I. Conector de Disquetera.
J. Conectores IDE.
K. Batería.
L. Chipset Puente Sur.
M. Chip Bios y Zócalo opcional.
N. Cable Conector USB
O. Ranuras PCI.
P. Conector de Audio/ Modem.
Q. Conector de Video/ Audio.
R. Conector de Modem.
S. Chip de Audio.
T. Ranura AGP.
ELECTROTECNIA 59
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 60
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 61
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Zócalo ZIF
Actualmente se fabrican dos tipos de zócalo ZIF:
• Socket Super 7: Variante del Socket 7 que se caracteriza por poder usar
velocidades del bus de hasta 100 MHZ, es el que utilizan los micros AMD
K6-2.
• Socket 370 o PGA370: Físicamente similar al anterior, Pero incompatible
con él por utilizar un bus distinto (66 MHZ), es el que incorporan los micros
Intel Celeron de la última generación.
ELECTROTECNIA 62
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
• Slot 1.
Físicamente no se parece nada de lo anterior, es una superficie de conector
alargado como los ISA o PCI. Fue inventado por Intel para conectar los
Pentium II, por los que no puede ser utilizado por su competencia AMD y Cyrix.
RANURAS DE MEMORIA.
Son conectores de memoria principal del computador, es decir, para la RAM.
En las Mainboard se pueden apreciar las ranuras SIMM y DIMM.
Ranuras de memoria
CHIPSET DE CONTROL.
El “Chipset” es el conjunto de chips que se encargan de controlar determinadas
funciones de computador, como la forma en que interacciona el
microprocesador con la memoria o la caché, o el control de los puertos o slots
ISA, PCI, AGP, etc.
Chipset
ELECTROTECNIA 63
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Además, conserva ciertos parámetros como el disco duro, la fecha y hora del
sistema, etc., los cuales guarda en la memoria de tipo CMOS de muy bajo
consumo y que es mantenida con la pila cuando el computador está
desconectado.
BIOS
Las ranuras de expansión de las Mainboard son: ISA, VESA, PCI y AGP.
ELECTROTECNIA 64
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
MEMORIA CACHÉ.
Se trata de un tipo de memoria muy rápida que se utiliza de puente entre el
microprocesador y la memoria principal o RAM, de tal forma que los datos mas
utilizados puedan encontrarse antes, acelerando el rendimiento del
computador, especialmente en aplicaciones ofimáticas. Existen dos tipos: L2
(segundo nivel) y L1(primer nivel).
Puertos internos
PILA.
La pila del computador, se encarga de conservar los parámetros de la Bios
cuando el computador está apagado. Sin ella, cada vez que encendiéramos
tendríamos que introducir las características del disco duro, la fecha, la hora,
etc.
Pila
ELECTROTECNIA 65
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Microprocesador.
El microprocesador es la parte de la computadora diseñada para llevar a cabo
o ejecutar los programas. Este viene siendo el cerebro de la computadora, el
motor, el corazón de esta máquina. Este ejecuta instrucciones que se le dan a
la computadora a muy bajo nivel haciendo operaciones lógicas simples, como
sumar, restar, multiplicar y dividir. El microprocesador, o simplemente el micro,
es el cerebro del ordenador. Es un chip, un tipo de componente electrónico en
cuyo interior existen miles (o millones) de elementos llamados transistores,
cuya combinación permite realizar el trabajo que tenga encomendado el chip.
Arquitectura en Pipeline.
Los primero diseños de procesadores previos al 8086, estaban limitados en su
desempeño por la necesidad de realizar los dos pasos principales de ejecución
del procesador: Fetch/Execute, en forma secuencial. Es decir, que no se puede
ejecutar una instrucción hasta que se traiga datos de la memoria (Fetch); y que
además no podían traerse instrucciones de memoria mientras ejecutaba una
ELECTROTECNIA 66
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 67
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
OVERCLOCKING.
Las computadoras anteriores a la Pentium I utilizaron el sistema TURBO del
CLOCK del sistema, el cual consistía en duplicar, triplicar, etc. el clock de la
placa base hasta lograr la compatibilidad de velocidades entre la VBUS y
VCPU, utilizando los JUMPERS como elementos que permiten configurar las
velocidades, mientras que las tecnología Pentium no permite aplicar el sistema
turbo, pero las tecnologías Pentium utilizan el sistema overclocking, que
consiste en elevar la velocidad del chip CPU en forma dinámica y reducir la
temperatura de trabajo del chip utilizando un sistema enfriador denominado
COOLER.
El cooler (enfriador) está compuesto por tres elementos importantes: el
disipador, el ventilador y la grasa térmica siliconada (acoplador térmico).
ELECTROTECNIA 68
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 69
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
EVOLUCIÓN.
En Junio de 1978 Intel lanzó al mercado el primer microprocesador de 16 bits,
el 8086. En Junio de 1979 apareció el 8088 (internamente igual que el 8086
pero con bus de datos de 8 bits) y en 1980 los coprocesadores 8087
(matemático) y 8089 (de entrada y salida). El primer fabricante que desarrolló
software y hardware para estos chips fue la propia Intel.
Microprocesador 80286.
Desarrollado por Intel el 1982 y llamado comúnmente microprocesador 286, los
chips 80286 funcionaron en las velocidades de clock de 8MHz a 12MHz. El
microprocesador 80286 utiliza un coprocesador matemático, trabajo en el modo
protegido.
Microprocesador 80386.
El microprocesador 80386 (275.000 transistores) desarrollado por Intel el año
1985 como una mejora al procesador 80286 al cual se le denomina procesador
80386DX, sobre la arquitectura de 32bits, el cual trabaja en el modo Virtual.
ELECTROTECNIA 70
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Microprocesador 80486.
El microprocesador 80486 (1,2 millones de transistores) fue desarrollado por
Intel con una arquitectura de 32bits, como mejora a las series del procesador
80386. Los 80486 que trabajan en el modo virtual, han sido diseñados con una
memoria caché interna L1 de 8KB y coprocesador instalados como Built- In.
Estos microprocesadores utilizan velocidades de 20MHz 33MHz con modelos
SX (sin coprocesador), DX (clock estándar), DX2 (doble clock estándar) y DX4
(triple clock estándar). Podemos describir en forma cronológica el desarrollo
tecnológico del microprocesador 80486. El año 1990 el procesador 486SL fue
introducido y utilizó menos energía que los 486 y se utiliza principalmente en
computadoras portátiles. En 1992 el 486DX2 fue introducido y funcionó en el
doble el índice de reloj de 486. En 1994 el 486DX4 fue introducido, triplicó la
velocidad del clock de 33MHz a 100MHz aproximadamente.
Overdrives.
Intel comenzó una nueva política con la salida de los microprocesadores con la
denominación Overdrive. Los Overdrives eran actualizaciones para los
microprocesadores instalados en los sistemas que dispusieran de un segundo
zócalo para tal propósito. En esta primera generación de Overdrives los chips
disponían de un duplicador de frecuencia interno y tenían un pin mas, el
numero 169. Este pin se encargaba de inhabilitar el 80486 instalado en la placa
dejando como único micro funcionando el Overdrive. No era posible la retirada
del micro anterior, puesto que el sistema dejaba de funcionar.
Familia Pentium.
La quinta generación de los microprocesadores Intel tomó el nombre de
Pentium (Codenamed P5), fue desarrollado por INTEL en Marzo del año 1993,
es un procesador (3,1 millones de transistores) más rápido cuyas velocidades
están entre 60MHz a 200MHz con más alcance que la L1 y el coprocesador
instalados como un Built-In. El microprocesador Pentium tiene un autobús (bus
ELECTROTECNIA 71
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
de datos ancho) 32bits del acceso y un ómnibus (gran bus de datos) de datos
64-bit.
Fabricados con un proceso BiCMOS de geometría de 8 micras y con una
arquitectura superescalar, los microprocesadores Pentium se encuentran en un
concepto RISC.
Intel toma como modelo la estructura separada para la memoria caché interna
del microprocesador. Consta de dos bloques de 8 Kb, uno para las
instrucciones y otro para los datos que funcionan bajo una estructura de
asociación de conjuntos bidireccionales. El algoritmo de sustitución de datosen
la caché es el LRU (Least Recently Used, el menos utilizado recientemente).
ELECTROTECNIA 72
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Microprocesador Celeron.
Intel desarrollo un procesador de bajo costo que lo denomino Celeron (CPU
brandnew), que es similar al Pentium II pero carece de la RAM caché L2, lo
cual nos indica su gran desventaja. Hay que indicar que el año de 1998, Intel
substituyó su Pentium MMX por el Celeron. Los ajustes baratos de este
cartucho de Celeron en la ranura 1 y él funcionan en un autobús del sistema de
66 megaciclos. El clock interno funciona en 266 o 300 megaciclos y entrega el
funcionamiento muy bueno para la coma flotante y MMX los programas
pesados tales como ciertos juegos.
ELECTROTECNIA 73
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Microprocesador PIII.
En cuanto a su arquitectura interna, los microprocesadores Pentium Pro,
Pentium II y Pentium III son prácticamente idénticos. Todos forman parte de la
sexta generación de microprocesadores de la familia 80x86. Las apariciones de
los dos últimos se deben a la introducción de nuevas características integradas
en una arquitectura interna común. El hecho de no cambiar la tecnología de
fabricación, lleva a la necesidad de un cambio en la arquitectura interna que
será quien proporcione el aumento de velocidad, por tanto se introduce cuatro
características nuevas, que determinarán esta mejora:
ELECTROTECNIA 74
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Estas son nada menos que 144 nuevas instrucciones, algunas capaces de
manejar cálculos de doble precisión de 128 bits en coma flotante.
ELECTROTECNIA 75
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 76
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Tecnología Hyper-Threading:
El procesador Intel Pentium Extreme Edition combina la tecnología HT con dos
núcleos de procesamiento para ofrecer una novedosa potencia multitarea y
cuatro subprocesos sin precedentes, que permite incrementar el realismo y la
brillantez de los juegos de próxima generación. Esto significa que los
entusiastas de los juegos pueden disfrutar de los nuevos juegos y experimentar
efectos ultrarrealistas y capacidad de juego. Los entusiastas de la multimedia
pueden crear, editar y codificar archivos de gráficos exigentes mientras
ejecutan el antivirus en el segundo plano.
Bus del sistema rápido de 1.066 ó 800 MHz con soporte para los nuevos
procesadores Intel, incluyendo el procesador Intel Pentium Extreme Edition, el
procesador Intel® Pentium® D y todos los demás procesadores Intel®
Pentium® con el zócalo LGA775.
La interfaz PCI Express* x1 que ofrece 3,5 veces más de ancho de banda que
la arquitectura PCI tradicional, permite edición, grabación y reproducción de
vídeo de alta definición.
ELECTROTECNIA 77
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 78
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Aplicaciones:
INSTALACIÓN.
La instalación del microprocesador se realiza sobre un zócalo instalado en la
placa base. Los zócalos son del tipo ZIF y Slot1.
ELECTROTECNIA 79
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
SLOT 1.
Es utilizado para instalar microprocesadores tipo modular con conexión tipo
galleta, los microprocesadores que se instalan en el slot 1 son los Pentium II
MMX, Pentium III y Celeron.
ELECTROTECNIA 80
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 81
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 82
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 83
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
CUADRO DE GENERACIONES.
GENERACIÓN PROCESADORES
1° ● 8088 y 8086
2° ● 286
3° ● 386,386DX, 386SX, 386S2
● 486, 486DX, 486SL, 486SX
4° ● DX2/Overdrive y DX4
● Overdrive para 486SX2 y DX2, AMD 486 (5 x 86)
● Pentium de Primera Generación
● Pentium de Segunda Generación
5° ● Pentium MMX
● AMD – K5
● Pentium Pro
● Pentium II
● Celeron
● Pentium III
6° ● Pentium II/III Xeon
● AMD – K6
● Athlon AMD
● Duron AMD
● Cyrix Media GX
● Cyrix /IBM 6 x 86(M1) y 6 x 86 (MII)
7° ● Pentium 4
8° ● Itanium
ELECTROTECNIA 84
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Estructura Básica.
ELECTROTECNIA 85
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ACUM UNIDAD DE
CONTROL
REGISTRO DE
DATOS
ALU REGISTRO DE
DATOS
Clock.
El µp ejecuta permanentemente una Instrucción tras otra según le dicten los
programas de aplicación.
Buses.
Para comunicarse con el resto de los componentes de la PC (como por ejemplo
la memoria) el microprocesador cuenta con tres BUSES, que no son más que
un conjunto de pines que salen de él. Todas los pines que salen del
microprocesador se encuentran incluidas en uno de estos tres buses. Ellos son:
- Bus de Datos (Data Bus). Lleva información (datos bytes) desde y hacia el
microprocesador, por esto se dice que es "BIDIRECCIONAL”. Siempre
tiene una cantidad de hilos igual a 8, 16, 32 o 64, pudiendo así transportar
según su ancho un byte, dos bytes, cuatro bytes u ocho bytes al mismo
tiempo. De aquí deducimos que cuanto más ancho (más hilos) tenga este
bus, mayor ser la velocidad de la máquina.
ELECTROTECNIA 86
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Estas memorias son del tipo Dinámica y es por eso que se las denomina
genéricamente DRAM (Dinamic Ram). Para mantener sus datos deben ser
refrescadas permanentemente por un pulso que por así decirlo los "reafirma" o
"reescribe". Es por eso que cuando se desea leer un dato de una RAM se debe
esperar que se cumpla el ciclo de refresco. Al tiempo que tarda una RAM en
entregar un dato solicitado de le llama "Tiempo de Acceso" y en las RAM
ELECTROTECNIA 87
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Los chips de memoria poseen muchas posiciones de ocho bits, por lo que no
es conveniente contarlas en sistema binario ni decimal sino en Hexadecimal
que favorece poner números grandes con pocos dígitos. Cada posición así
codificada es una Dirección de memoria.
Ranuras PCI.
Este tipo de Bus local fue propuesto por Intel, en el año de 1992, el cual fue
adaptado en forma gradual por la mayoría de los fabricantes de computadoras,
incluido la Apple Computer.
ELECTROTECNIA 88
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Características:
- Contiene un controlador de bus de alta velocidad que varía de 33 a 66MHz.
- Los datos que se transmiten son de 32 a 64 bits. Por tanto la velocidad de
transferencia varía desde 132 a 264 MBps.
- La tecnología PCI fue creada con el fin de reducir costos, simplificando el
diseño del sistema completo. La prueba más evidente la constituye el hecho
de poder emplear un juego de Chips PCI creados para implementar
funciones del sistema, tales como: la DMA y la L2 de mayor capacidad.
- Utiliza el método por ráfaga lineal y la técnica de multiplexado de datos.
Slots PCI
Ranuras ISA.
Las siglas ISA hacen referencia a la Industry Standard Architecture
(Arquitectura Industrial Estandarizada), fue diseñada por IBM.
Características:
- Los datos son para 8 y 16 bits.
- La velocidad del bus es de 3,88 MHz.
ELECTROTECNIA 89
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Ranuras ISA
Ranuras AGP.
Se utilizan exclusivamente para conectar tarjetas de video 3D, por lo que sólo
suele haber una; además, su propia estructura impide que se utilice para todos
los propósitos, por lo que se utiliza como ayuda para el PCI.
Características:
- Su frecuencia es de 100 MHz para 64 bits.
- Su velocidad de transferencia de datos es de 800Mbps (aprox.), es 4 veces
superior a la arquitectura PCI.
- Este bus permite cargar texturas en la RAM principal, es decir ya no se limita
a la capacidad de la memoria de la tarjeta gráfica.
- Mayor calidad gráfica y reproducción de video más nítida.
- Operaciones de lectura/ escritura en memoria de Pipeline.
Ranuras AGP
Características:
- Utiliza la arquitectura MCA de 62 pines en el Slot Expandible de 32 a 64 bits
de datos.
- Su ancho de banda soporta como máximo 16 Mbps, el cual es imposible
manejar con facilidad los trabajos en diseños gráficos.
- Se empezó a usar en los 486 y se dejó de usar en los primeros tiempos de
las Pentium.
- Son un desarrollo a partir de ISA, que puede ofrecer unos 160 Mbps a un
máximo de 32 MHz.
ELECTROTECNIA 90
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Características:
Slot de Memoria.
Son conectores para la memoria RAM, antiguamente los chips de RAM se
colocaban uno a uno sobre la placa, de la forma en que aún se hace en las
tarjetas de video, los cual no era una buena idea debido al número de chips
que podía llegar a ser necesario y a la delicadeza de los mismos; por ello, se
agruparon varios chips de memoria soldados a una plaquita, dando lugar a lo
que se conoce como ranuras. Estos módulos han ido variando de capacidad,
tamaño y forma de conectarse.
ELECTROTECNIA 91
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 92
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 93
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 94
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
para llenar todos los bancos y de esa manera trabajar en forma estable, hay
que indicar que en los bancos donde se instalan las memorias de continuidad,
se pueden instalar memorias RAMBUS con la finalidad de incrementar la
capacidad.
La conexión interna de los bancos RIMM son en forma serial, tal como se
muestran en las figuras adjuntas.
ELECTROTECNIA 95
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Memoria de Sistema
Se denomina así a la memoria ROMBIOS, encargada de controlar el hardware
del computador; la tecnología de esta memoria ha evolucionado desde una
simple memoria ROM hasta la memoria EPROM (ROM programable y borrable
con luz ultra violeta) hasta la EEPROM, la cual es regrabable y se pueden
eliminar los programas o datos internos en forma eléctrica.
ELECTROTECNIA 96
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Características:
- Son memorias activas del tipo estáticas.
- Almacenan datos e instrucciones direccionados por el chip CPU, usados
constantemente.
- Las memorias caché se clasifican en L2 (caché externa) y L1 (caché
interna).
Clasificación:
a) RAM caché L1. Es una memoria pequeña de alta velocidad que esta
integrada dentro del chip CPU utilizando la técnica built-in (ver figura
adjunta). Esta memoria se diseña en forma de RAM caché built-in desde la
ELECTROTECNIA 97
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
b) RAM caché L2. Es la memoria SRAM más grande que la L1, inicialmente se
instalo bancos RAM caché en la placa base y luego con la evolución de los
sistemas CPU, esta memoria caché se instalo primero como una integración
en el chip CPU del tipo Onboard, luego como una On Chip y finalmente
como un Built-In. La capacidad y técnica de instalación se muestra en la
siguiente tabla.
ELECTROTECNIA 98
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Concepto de Memoria.
Es un dispositivo electrónico digital que almacena datos binarios organizados
en cantidad de bytes. Pero hay que tener en cuenta que los datos se
almacenan celda por celda con un bit como dato. Las memorias utilizan
ELECTROTECNIA 99
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Memorias Semiconductoras.
Son aquellas memorias desarrolladas sobre el cristal silicio dopado
denominado Oxido de Silicio (SiO2) y otras composiciones químicas como por
ejemplo el arseniuro de galio (GaAs), los cuales permiten utilizar altas
tecnologías de integración. Las memorias semiconductoras son representadas
por las memorias ROM (memoria solamente de lectura) y RAM (memoria de
acceso aleatorio)
ELECTROTECNIA 100
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 101
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Tipos de ROM.
ELECTROTECNIA 102
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Características:
- Su programación es una sola vez, es decir, no puede volver a
programarse.
- La PROM pueden identificarse por los números 27nnnn.
- Los datos almacenados en la PROM pueden ser leídos una y otra vez.
Características:
- Una vez programada por el usuario esta puede borrarse y reprogramarse
las veces que se desee.
- El proceso de borrado se tiene que hacer exponiendo la EPROM a la luz
ultravioleta por un cierto tiempo.
- Este chip puede ser reconocido por la ventana de cristal de cuarzo
colocada en la parte superior del encapsulado del chip.
EPROM
ELECTROTECNIA 103
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Características:
- Las EEPROM tienen la facilidad de borrar eléctricamente bytes
individuales.
- Pueden ser programadas con mayor rapidez, comúnmente se requiere 5
ms para escribir dentro de una localidad.
Las tabletas se conectan al banco por medio de pines para el caso de los
modelos SIPP y galletas para los modelos SIMM, DIMM y RIMM.
• Memorias Chip DIP DRAM. Son memorias DRAM tipo chip que utilizan los
sistemas 8088/8086 de las PC XT, los cuales utilizan 20 líneas de dirección
(20bits) pudiendo direccionarse desde 640KB hasta 1MB. La capacidad de
memoria direccionada, permite al sistema PC XT trabajar en el modo real y
utilizar como sistema operativo al DOS. La actividad de esta memoria utiliza
el modo ráfagas 5-5-5-5 para una frecuencia de bus de 8MHz y 16MHz.
ELECTROTECNIA 104
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
• Memorias Chips Sobre Tableta tipo SIPP. Esta tecnología fue la evolución
de las memorias chip DRAM tipo DIP para las PC-AT cuyo sistema el la 286,
se instalan sobre bancos de memoria tipo SIPP.
ELECTROTECNIA 105
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 106
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Es importante indicar que los sistemas Pentium con placas base de Intel
i430FX (chipset modelo triton).
ELECTROTECNIA 107
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 108
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
En los chips DRAM de las tabletas SDRAM se muestra por ejemplo la siguiente
nomenclatura:
ELECTROTECNIA 109
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Esta memoria inicialmente se diseño para los sistemas Pentium 3 con 168
pines para frecuencias de bus de 100 y 133MHz, pero después se estandarizo
para sistema Pentium 4 con 184 pines de 800MHz de velocidad de bus, se
polarizan en forma predeterminada con 2.5 voltios.
ELECTROTECNIA 110
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Por ejemplo una RDRAM se instala sobre los bancos de memoria tipo RIMM, el
cual opera como un módulo autónomo sobre el bus de datos de 16bits, pero
internamente cada chips RDRAM tiene un núcleo que opera sobre un bus de
128bits de ancho o 16Bytes los cuales son transferidos desde y hacia el
núcleo, por tanto podemos concluir que la RAMBUS soporta una interfaz de
alta velocidad en la cual internamente es ancha, pero, en forma externa es muy
angosta la cual eleva su rendimiento.
Además, para que no exista confusión posible a la hora de instalarlos (lo cual
tendría consecuencias sumamente desagradables), los DDR tienen 1 única
muesca en lugar de las 2 de las SDRAM de los bancos DIMM "clásicos", con
las característica mostrada en la figura adjunta.
ELECTROTECNIA 111
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Inicialmente se diseñaron memorias DDR de 168 pines para las Pentium III
para velocidades de 100 y 133Mhz, pero luego se estandarizo para las
aplicaciones Pentium 4 en la cual la memoria DDR estaba diseñada con 184
pines para velocidades de 200MHz (2x100MHz) y 266 (2x133MHz) y utilizan un
voltaje de polarización de 2.5voltios.
ELECTROTECNIA 112
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 113
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
El sistema PC-AT 286 utilizo el mismo esquema diseñado para la PC-XT pero
con modificaciones actualizables al sistema PC-AT 286 tal como se muestra en
el Cuadro adjunto.
ELECTROTECNIA 114
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
South Bridge. Es el puente entre el bus PCI (33MHz) y el bus más lento
denominado ISA (8MHz). En la práctica a este chipset se le denomina Chipset
Bridge o Periférico.
ELECTROTECNIA 115
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Este chip también puede contener otros componentes como por ejemplo el
puerto paralelo multimodal para los estándares ECP/EPP, dos puertos seriales
de alta velocidad y controlador de teclado y Mouse del tipo 8042.
Arquitectura de Concentrador.
Son los chips más recientes de la serie i8xx que utilizan una arquitectura de
concentrador donde el chipset conocido como Sistema y North Bridge recibe el
nombre Concentrador Controlador de Memoria (MCH) y el chipset.
Finalmente, se indicará que el chipset MCH crea una interfaz entre el bus de
alta velocidad de 100 y 133MHz y la interfaz del concentrador de 66MHz y del
bus AGP (66MHz), mientras que el chipset ICH lo realiza entre la interfaz del
concentrador (66MHz) y los puertos IDE ATA/66 y el bus PCI (33MHz).
ELECTROTECNIA 116
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 117
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Conectores Externos.
Se trata de los conectores para periféricos externos. En las Mainboards Baby –
AT, los puertos están en contacto con la Mainboard, mediante unos cables flat
que se sitúan en el case, excepto el de teclado que está adherido a la
Mainboard. Se clasifican en:
ELECTROTECNIA 118
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
- El COM1 suele ser de unos 17 mm, con 9 pines agrupados en dos hileras.
- El COM2 suele ser ancho de unos 38 mm, con 25 pines agrupados en
dos hileras.
- Es como el puerto paralelo pero macho, es decir, con los pines hacia
fuera.
- Es un puerto de entrada/salida que soporta comunicación serial, en la
cual la información es procesada un bit a la vez.
- Permiten transferir datos diez veces más rápido que un puerto serial.
- Se conectan en cadena (hasta 127).
Puerto para
Línea de Puerto Puerto Mouse
Salida USB 1 Serial A
Línea de
Entrada RJ – 45 Puerto Puerto Puerto Puerto Video
Lan Paralelo USB 0 Serial B para
Conectores externos Teclado
ELECTROTECNIA 119
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Conectores Internos.
Bajo esta denominación se engloba a los conectores para los dispositivos
internos. Entre estos se tienen:
Se caracteriza por:
- En la Mainboard Baby - AT los conectores son dos, si bien están uno
junto al otro, mientras que en la ATX es único.
- El conector ATX suele tener formas rectangulares y trapezoidales
alternadas en algunos de los pines de tal forma que sea imposible
equivocar su orientación.
ELECTROTECNIA 120
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
AUTOEVALUACIÓN N° 3
2. ¿Qué es la Bios?
...............................................................................................................................
............................................................................................................................
ELECTROTECNIA 121
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
a).................................................... e)..........................................................
b).................................................... f)..........................................................
c).................................................... g)..........................................................
d)....................................................
a)...........................................................
b)...........................................................
c)...........................................................
19 10 13 20 16
2 14
1
3
11 15 18 12 17
ELECTROTECNIA 122
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
CAPÍTULO 4
4
PERIFÉRICOS DE INPUT DE UNA PC.
ELECTROTECNIA 123
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 124
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Al presionar una tecla, el circuito asociado se cierra, y por tanto circula una
pequeña cantidad de corriente a través de dicho circuito. El microprocesador
detecta los circuitos que han sido cerrados, e identifica en qué parte de la
matriz se encuentran, mediante la asignación de un par de coordenadas (x,y).
ELECTROTECNIA 125
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Matriz de teclas
Acto seguido, se acude a la memoria ROM del teclado, que almacena lo que se
denomina "mapa de caracteres". Dicho mapa no es más que una tabla que
asigna un carácter a cada par (x,y). También se almacena el significado de
pulsar varias teclas simultáneamente. Por ejemplo, a la tecla etiquetada como
"T" se le asigna el carácter "t", pero si se pulsa SHIFT +T, se asigna "T".
El Efecto Rebote.
Como interruptores, las teclas padecen del conocido "efecto rebote". Cuando
una tecla se presiona, se produce una cierta vibración, que equivale a
presionar y soltar la tecla repetidas veces, muy rápidamente.
Una de las misiones del procesador del teclado es eliminar dicho fenómeno.
Cuando el procesador detecta que una tecla cambia de estado con una
frecuencia excesiva (mayor que la que un humano puede generar al usar
normalmente el teclado), interpreta el conjunto de rebotes como una simple
pulsación.
ELECTROTECNIA 126
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Tipos de Teclado.
Teclado Multimedia
ELECTROTECNIA 127
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Ergonómicos.
El más audaz es, sin dudas, el de Microsoft. Llama mucho la atención su forma
de bandoneón y hoy es uno de los periféricos más completos del mercado, ya
que la empresa de Redmond le incorporó botones multimedia y de acceso a
Internet, que los primeros modelos ergonómicos no traían.
ELECTROTECNIA 128
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Para Palmtops.
Con la llegada de las distintas versiones de Palm al Perú, también aterrizaron
los accesorios, como los tan preciados teclados. Ideal para aquellos que no se
acostumbran a escribir con la miniatura, los teclados portátiles son la solución
más práctica para terminar un largo documento de texto o preparar un email.
ELECTROTECNIA 129
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 130
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Hay que decir que, en los inicios de la computación, el ratón no tenía razón de
existir. En efecto, en aquellas primitivas computadoras, la interfaz hombre-
máquina era también primitiva (tarjetas perforadas, etc.).
ELECTROTECNIA 131
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Fue en 1973 con el sistema Alto de Xerox cuando se utilizó el primer ratón (que
se había presentado en 1968) para sacar provecho a la primera interfaz gráfica.
El ratón se presenta como un dispositivo simple, pero que ofrece una forma de
apuntamiento realmente eficiente.
Las aplicaciones actuales están tan sumamente orientadas al uso del ratón
que, en su ausencia, el manejo se convierte en lento y pesado. Sin duda, hoy
en día un elevado porcentaje de las acciones que realizamos con un PC se
desencadenan mediante unos simples movimientos y pulsaciones realizados
con el ratón.
Funcionamiento.
La misión principal del ratón consiste en señalar puntos concretos de la interfaz
de usuario de los programas. Esto se traduce en convertir los movimientos de
la mano deslizando el ratón sobre una superficie plana en información digital
que el ordenador puede procesar. Dicha información se convierte en el
movimiento de un puntero en pantalla, que refleja el movimiento de la mano.
En primer lugar, el ratón consta de una esfera de material plástico (en adelante,
"bola") en su interior, que establece contacto con la superficie sobre la que se
desliza el ratón (usualmente una alfombrilla diseñada a tal efecto). La bola se
puede apreciar en la figura 1-a.
Cuando el usuario desplaza el ratón, la bola rueda, y hace girar dos pequeños
rodillos que se encuentran en contacto con ella (ver figura 1-b). Uno de los
rodillos reacciona al desplazamiento en la dirección X (horizontal), mientras que
el otro detecta el desplazamiento en la dirección Y (vertical). Cualquier
desplazamiento del ratón se puede entender como la combinación de los
desplazamientos horizontal y vertical. Por ello los ejes de giro de los rodillos
forman un ángulo de 90 grados.
Cada rodillo se conecta a un eje que hace girar un disco (figura 1-c). Cada
disco presenta perforaciones en su superficie, formando ventanas distribuidas
uniformemente. En un lado de cada disco se halla un diodo emisor de
ELECTROTECNIA 132
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Figura 1-a
Tipos de Mouses.
Mouse Típico. Es el mouse de uso normal que se arrastra por el pad y que
tiene dos botones o tres (el del centro sirve en algunos programas de diseño
CAD para repetir la última acción.
Mouse típico
ELECTROTECNIA 133
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Trackball
Mouse Decorado. Los colores y formas están hechas para el gusto de los
clientes, con imitación en mármol, transparentes, con forma de animales y
totalmente adaptables a tu mano seas zurdo o diestro.
Mouse Tipo Navigator. Es un mouse típico con dos botones, pero entre estos
dos, existe una ruedecilla o botón de color (magic Botton) que permite el
desplazamiento arriba y abajo por un documento(como si pulsase la barra de
desplazamiento vertical), es muy útil si trabajas con el Word o similares para
navegar por Internet.
ELECTROTECNIA 134
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Características:
a) Cantidad de botones. Un botón se usa en los mouses de las computadoras
Macintosh, dos o tres botones en PCs, tres o cuatro botones en los mouses
tipo navigator.
b) Conectores. Serial, para conectarse en el puerto COM1, usado en las
placas AT. PS/2, para conectarse en el puerto del mismo nombre, usado en
las placas ATX.
AUTOEVALUACIÓN N° 4
1. ¿Qué es un teclado?
...............................................................................................................................
...............................................................................................................................
2. Escribir acerca del teclado de matriz.
...............................................................................................................................
...............................................................................................................................
......................................................................................................................
6. ¿Qué es el mouse?
...............................................................................................................................
...............................................................................................................................
ELECTROTECNIA 135
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
CAPÍTULO 5
5
PERIFÉRICOS IN/OUT DE UNA PC.
ELECTROTECNIA 136
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
El año de 1983 Sony introdujo los primero discos y unidades flexibles de 3.5
pulgadas con capacidad de almacenaje de 1.44MB. Dispositivo secuencial
dividido en ‘tracks’ arreglados en círculos concéntricos, pero la Hewlett Packerd
(HP) en 1984 la utilizó en los sistemas Macintosh y para IBM en 1986.
Floppy disk
ELECTROTECNIA 137
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Las cabezas fuerzan a los datos dentro de un tunel angosto en cada pista,
de tal manera que este método impide que las señales de una pista se
confundan con las señales de pistas adyacentes. Es importante saber que la
posición de las cabezas con respecto a las pistas que deben leer y escribir
ELECTROTECNIA 138
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 139
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 140
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Conexión a la
Mainboard
5,25 Conector
34 Pines de drive B
3,5” Conector
Drive A
3,5”Conector de
Drive B
5,25 Conector de
Drive A
Cable plano (flag) de conexión de lectoras de floppy disk
ELECTROTECNIA 141
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 142
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Normalmente, los PC domésticos poseen discos IDE, los discos SCSI son mas
veloces que los IDE, pero lo mas importante es que en una conexión SCSI
podemos agregar hasta 15 discos en el mismo cable mientras que con una
interface IDE solo podemos poner dos por cable.
Funcionamiento de un HDD.
Es posible guardar un solo archivo en racimos diferentes sobre varios platos,
comenzando con el primer racimo disponible que se encuentra. Después de
que el sistema operativo escribe un nuevo archivo en el disco, se graba una
lista de todos los racimos del archivo en la FAT.
Formato de un HDD.
Para que un disco pueda ser usado para almacenar archivos, deberá ser
preparado previamente. Este proceso de preparación de un disco recibe el
nombre de dar formato a un disco.
ELECTROTECNIA 143
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Unidad Lógica.
Es un conjunto de componentes electrónicos y mecánicos que hacen posible el
almacenamiento y recuperación de los datos en el disco.
Unidad Física.
Denominado también disco, es en realidad una pila de discos llamados platos,
que almacenan información magnéticamente. Cada uno de los platos tiene dos
superficies magnéticas: la superior y la inferior. Estas superficies magnéticas
están formadas por millones de pequeños elementos capaces de ser
magnetizados positiva o negativamente. De esta manera, se representan los
dos posibles valores que forman un bit de información (un cero o un uno). Ocho
bits contiguos constituyen un byte (un carácter).
ELECTROTECNIA 144
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
La codificación RLL, el disco duro combina grupos de bits en una unidad para
generar patrones específicos de inversión de flujo. Este sistema fue diseñado
por IBM y utilizado e los sistemas macrocomputadoras. A fines de los años
1980, la industria de los discos duros para PC empezó a utilizar el sistema de
codificación RLL. Actualmente, prácticamente todos los discos duro del
mercado utilizan de alguna forma la codificación RLL.
ELECTROTECNIA 145
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 146
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
• Por último, para que los cabezales tengan acceso a la totalidad de los datos,
es necesario que la pila de discos gire. Este giro se realiza a velocidad
constante y no cesa mientras esté encendido el ordenador. En cambio, en
los discos flexibles sólo se produce el giro mientras se está efectuando
alguna operación de lectura o escritura.
Cada vez que se realiza una operación de lectura en el disco duro, éste tiene
que realizar las siguientes tareas: desplaza r los cabezales de lectura/escritura
hasta el lugar donde empiezan los datos; esperar a que el primer dato, que gira
con los platos, llegue al lugar donde están los cabezales; y, finalmente, leer el
ELECTROTECNIA 147
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 148
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Los sectores son las unidades mínimas de información que puede leer o
escribir un disco duro. Generalmente, cada sector almacena 512 bytes de
información.
Por ejemplo, se tiene un disco duro ST33221A de Seagate tiene las siguientes
especificaciones:
Cilindros = 6.253
Cabezas = 16
Sectores = 63
Solución:
ELECTROTECNIA 149
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Almacena los grupos utilizados por cada archivo, los grupos libres y los
defectuosos. Como consecuencia de la fragmentación de archivos, es
corriente que los distintos grupos que contienen un archivo se hallen
desperdigados por toda la partición. La FAT es la encargada de seguir el
rastro de cada uno de los archivos por la partición.
Esto quiere decir que el espacio real ocupado por un archivo en disco será
siempre múltiplo del tamaño del grupo. Además, cada grupo puede
almacenar información de un solo archivo. Si no cabe en un solo grupo, se
utilizarán varios (no necesariamente contiguos). Para hacernos una idea del
nefasto resultado de un tamaño de grupo incorrecto, consideremos dos
archivos de 1 byte cada uno. Si el tamaño del grupo es de 32 KB, se
utilizarán dos grupos y el espacio real ocupado en disco habrá sido de 64 KB
= ¡65.536 bytes! en vez de 2 bytes, como sería de esperar.
ELECTROTECNIA 150
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
VFAT (Virtual FAT). Este sistema de archivos logra remediar uno de los
mayores problemas del sistema FAT: los nombres de archivos y directorios
ELECTROTECNIA 151
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Tanto las particiones FAT como las VFAT están limitadas a un tamaño
máximo de 2 GB. Esta es la razón por la que los discos duros mayores de
este tamaño que vayan a trabajar con alguno de los dos sistemas, necesiten
ser particionados en varias particiones más pequeñas. El sistema de
archivos FAT32 ha sido diseñado para aumentar este límite a 2 TB (1
terabyte = 1024 GB).
ELECTROTECNIA 152
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
datos que deban ser visibles desde otros sistemas de archivos. En los
demás casos, suele ser la opción más recomendable.
NTFS permite definir el tamaño del grupo (cluster), a partir de 512 bytes
(tamaño de un sector) de forma independiente al tamaño de la partición.
ELECTROTECNIA 153
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 154
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Las particiones.
Cada disco duro constituye una unidad física distinta. Sin embargo, los
sistemas operativos no trabajan con unidades físicas directamente sino con
unidades lógicas. Dentro de una misma unidad física de disco duro puede
haber varias unidades lógicas. Cada una de estas unidades lógicas
constituye una partición del disco duro. Esto quiere decir que podemos
dividir un disco duro en, por ejemplo, dos particiones (dos unidades lógicas
dentro de una misma unidad física) y trabajar de la misma manera que si
tuviésemos dos discos duros (una unidad lógica para cada unidad física).
ELECTROTECNIA 155
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Particiones y directorios.
Ambas estructuras permiten organizar datos dentro de un disco duro. Sin
embargo, presentan importantes diferencias:
• Las particiones son divisiones de tamaño fijo del disco duro; los directorios
son divisiones de tamaño variable de la partición.
• Las particiones ocupan un grupo de cilindros contiguos del disco duro
(mayor seguridad); los directorios suelen tener su información
desperdigada por toda la partición.
• Cada partición del disco duro puede tener un sistema de archivos
(sistema operativo) distinto; todos los directorios de la partición tienen el
sistema de archivos de la partición.
Como mínimo, es necesario crear una partición para cada disco duro. Esta
partición puede contener la totalidad del espacio del disco duro o sólo una
parte. Las razones que nos pueden llevar a crear más de una partición por
disco se suelen reducir a tres.
Los discos duros están clasificados en dos grandes familias que son: discos
duros IDE y discos duros SCSI.
ELECTROTECNIA 156
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Conexiones de Energía.
El disco duro dispone de un conector de alimentación y otro de control. El
primero, visto de frente, es como sigue:
Leyenda:
Color rojo: +5V
Color negro: GND.
Color negro: GND.
Color amarillo: +12V.
Obviamente, esta vista es del conector situado en el disco duro, y visto por el
lado opuesto a las soldaduras, esto es, por el lado en que se enchufa el
conector proveniente de la fuente de alimentación.
El segundo conector es de 40 pines, y las conexiones principales son:
El pin 1 suele venir indicado por una flecha grabada en el conector del disco
duro.
ELECTROTECNIA 157
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
adoptado como estándar por el comité ANSI bajo el nombre de ATA (Advanced
Technology Attachement). Una posterior revisión permitió utilizar 4 discos duros
de hasta 8,4 GB. Surgió entonces lo que actualmente conocemos como EIDE
(Enhanced IDE). El comité ANSI lo adoptó como estándar con el nombre de
ATA-2 o Fast ATA. Permite unas tasas de transferencia de 16,6 MB/segundo.
En este apartado, cuando hablemos de IDE, nos estamos refiriendo a toda la
familia de estándares y no sólo al IDE original.
UDMA.— UDMA (Ultra DMA), también conocido como Ultra ATA, Ultra EIDE o
Ultra/33 es una revisión del estándar EIDE que acelera las tasas de
transferencia hasta 33 MB/segundo. Para que pueda utilizarse es necesario
que, tanto la controladora de discos duros como el propio disco duro, admitan
UDMA. Todas las placas base y discos duros modernos admiten este estándar,
el cual es compatible con EIDE. La instalación de un disco duro, como la de
cualquier otro dispositivo de un ordenador, consta de dos fases: instalación
física e instalación lógica.
ELECTROTECNIA 158
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Instalación física.
Las actuales placas base llevan incorporada una controladora para cuatro
discos duros. La conexión de los discos duros a la placa base se realiza
mediante dos cables planos iguales: IDE0 (primario) e IDE1 (secundario).
Cada uno de estos cables tiene una conexión de 40 pines a la placa base y dos
conexiones más de 40 pines para sendos discos duros. De esta manera, el
máximo número posible de discos duros IDE en un ordenador es de 4: dos en
el IDE0 y otros dos en el IDE1. Y esto es considerando que no se conectan
otros dispositivos a los mismos cables, ya que las unidades de CDROM,
grabadoras, unidades de cinta, unidades ZIP y unidades LS-120, por citar
algunos ejemplos, se conectan igualmente a los cables IDE.
ELECTROTECNIA 159
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
La instalación entre el disco duro y la placa base se realiza por medio de dos
tipos de cables, por ejemplo para los sistemas P_ATA se utilizan los cables flan
de 40 y 80 líneas, mientras que para los sistemas S_ATA, se utilizan los cables
tipo sata.
Nota: Normalmente estos son todos los puentes que lleva un dispositivo IDE;
sin embargo, hemos comprobado que algunas unidades de CD-ROM
incorporan otro puente para activar el UDMA. Estando este puente cerrado
(recomendado para Windows 98) acelera la velocidad de transferencia de la
unidad, pero puede ocasionar problemas con algunos sistemas operativos. La
opción por defecto es el puente abierto (UDMA desactivado).
ELECTROTECNIA 160
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Una vez que hemos configurado los puentes de los discos duros y hemos
realizado correctamente las conexiones de los cables IDE y de alimentación,
sólo nos resta atornillar la unidad a la caja (chasis) del ordenador. Ni que decir
tiene que debemos utilizar los tornillos adecuados para no perforar la unidad y
dañarla. La mayoría de discos duros necesitan una bahía libre de 3 pulgadas y
media. Si no quedasen bahías libres de este tipo pero sí de 5 pulgadas y
cuarto, será necesario utilizar un adaptador. Con este paso, finalizamos la
instalación física. De todas maneras, la experiencia recomienda no cerrar
todavía el ordenador hasta que hayamos comprobado que realmente funciona.
Instalación lógica.
Llegados a este punto, ya podemos encender el ordenador. Si no arrancase
(pantalla negra), deberemos revisar las conexiones y puentes del apartado
anterior.
ELECTROTECNIA 161
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Estándar S_ATA.
Hasta hace relativamente poco tiempo, en el mercado del consumo se hacía
uso del interfaz ATA normal o Paralelo ATA (P_ATA) del que existen
variedades de hasta 133Mbytes/seg teóricos. Dicho interfaz consistía en unas
fajas planas a las cuales se podían conectar hasta dos discos duros (o
unidades ópticas). Es el nuevo estándar de conexión de discos duros Serial
ATA (S_ATA), la nueva tecnología, es totalmente compatible con la anterior, de
manera que no habrá problemas de compatibilidad con los sistemas operativos.
De hecho se pueden encontrar conversores con el formato antiguo, es cierto
que a nivel físico está más cercano de lo que sería un puerto Firewire o un
USB, aunque únicamente disponible para la conexión de unidades internas.
ELECTROTECNIA 162
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Las unidades de disco duro Enterprise Serie ATA de Western Digital son una
nueva clase de disco duro que posee la fiabilidad y el rendimiento SCSI a la
vez que ofrece una conectividad simplificada: todo a un costo
significativamente menor que las unidades de SCSI paralela WD Raptor
ELECTROTECNIA 163
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Fax – modem.
MODEM es un acrónimo de MOdulador – DEModulador, es decir; que es un
dispositivo que transforma las señales digitales del ordenador en señal
telefónica analógica y viceversa, con lo que permite al computador transmitir y
recibir información por la línea telefónica.
Los chips que realizan estas funciones están casi tan estandarizados como los
de las tarjetas de sonido; muchos fabricantes usan los mismos integrados.
Tipos:
La distinción principal que suele hacer entre los módems internos y lo externos,
si bien recientemente han aparecido unos módems llamados HPS o
Winmódems, que han complicado un poco el panorama.
ELECTROTECNIA 164
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
b) Externos: Son similares a los anteriores pero metidos en una carcasa que
se coloca sobre la mesa o el computador. La conexión con el computador se
realiza mediante uno de los puertos COM, por lo que se usa la UART del
ordenador, que deberá ser capaz de proporcionar la suficiente velocidad de
comunicación.
Características:
ELECTROTECNIA 165
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Así, cuando se dice que el módem cumple con la norma “V.34”, quiere decir
que es un módem que cumple una serie de especificaciones tal que le
permite comunicarse con módems de esa velocidad (y usualmente de
cualquier velocidad inferior a ésa). Las normas más importantes son:
VELOCIDAD
NO RM A EXPLICACIÓN M ÁXIM A(bps)
V.22 bis 2,400
V.32 9,600
V.34 bis 14,400
V.34 Comunicaciones 28,800
V.34+ módem - módem 33,600
V.90 55,600
V.29 Comunicación Módem - Fax 14,400
V.42 y MNP2-4 Control de Errores No aplicable
V.42 bis y MNP5-10 Compresión de datos No aplicable
ELECTROTECNIA 166
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
AUTOEVALUACIÓN N° 5
...............................................................................................................................
...............................................................................................................................
......................................................................................................................
....................................................................................................................
...............................................................................................................................
...............................................................................................................................
......................................................................................................................
....................................................................................................................
...............................................................................................................................
...............................................................................................................................
......................................................................................................................
....................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
.....................................................................................................................
....................................................................................................................
.....................................................................
.....................................................................
.....................................................................
.....................................................................
ELECTROTECNIA 167
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
......................................................................
......................................................................
......................................................................
......................................................................
P
I
F
A R
E L
H
N
J
O
S
C
Q
M
ELECTROTECNIA 168
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
CAPÍTULO 6
6
PERIFÉRICOS DE OUT DE UNA PC
Monitor.
Clasificación de los Monitores.
Parámetros del Monitor.
Descripción de un Monitor.
Criterios para seleccionar Monitores.
Tarjeta Adaptadora de Video.
Componentes de la adaptadora de Vídeo.
Impresoras.
Tipos de Impresora.
Caracteristicas de la Impresora.
ELECTROTECNIA 169
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
MONITOR
Los monitores por lo general utilizan una velocidad fija de actualización, pero la
mayoría tiene un amplio rango de frecuencia; esto ofrece compatibilidad
integrada con una amplia variedad de normas de video como por ejemplo:
CGA, HGC, EGA, VGA, SVGA, XGC, VXGA y UXGA, de acuerdo a los
proveedores los monitores de frecuencia múltiple usan los siguientes nombres
comerciales: Multisync, Multifrecuencia, Multiscan, Autosincronico y
Autotracking.
Monitores de TRC.
Los monitores TRC son pantallas de video que básicamente utilizan un tubo de
rayos catódico (TRC) para mostrar en pantalla la información procesada por el
computador, además podemos afirmar que son los herederos de las
tecnologías desarrolladas para los televisores.
ELECTROTECNIA 170
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Hasta hace algún tiempo, los televisores eran los más interesados en el avance
de la tecnología de las pantallas, y con ello se beneficiaban los computadores.
Pero desde hace algunos años, las tecnologías de visualización se han volcado
a los computadores. Ahora pese a las versiones que vaticinan la desaparición
de los tubos de rayos catódicos (TRC), éstos siguen siendo los más baratos y
fáciles de fabricar, tal es así que se ha desarrollados dos tipos de tubos de
imagen: Tubos de imagen curvos y planos.
ELECTROTECNIA 171
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 172
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Loa tres son modulados, activados y desactivados, para producir los diferentes
colores.
1. Cañones de electrones.
2. Haces de electrones.
3. Máscara para separar los rayos rojos, azules y verdes de la imagen
visualizada.
4. Capa fosforescente con zonas receptivas para cada color.
5. Gran superficie plana sobre la cara interior de la pantalla.
¿Qué es el Píxel?
La pantalla muestra puntos grises y coloreados (triadas) de fósforos que se
denominan pixells o píxeles. El píxel, en la tecnología TRC, no tiene un tamaño
fijo, sino que varía según la resolución a la que ajustemos el monitor.
En el mismo monitor, a una resolución de 1024x768 tendremos un número de
píxeles bastante mayor que por ejemplo a una resolución de 800x600.
ELECTROTECNIA 173
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Esto significa que cada píxel será más pequeño en el primer caso que en el
segundo, pues en el mismo tamaño de pantalla se representa un número
mayor de píxeles.
Tamaño.
Son las dimensiones de la diagonal de la pantalla que de mide en pulgadas los
hay de 9, 12, 14, 15,17,.. Pero los mas habituales son los de 15 pulgadas. Un
CRT por bueno que sea, tiende a perder definición en los bordes y esquinas
pues esta claro que el tamaño oficial de un modelo de monitor no coincide con
el área visible
Resolución.
Es el número de puntos que puede presentar el monitor por pantalla, en
horizontalxvertical pues cuando se dice por ejemplo una resolución de
1024x768. Nos da a entender que por 768 líneas horizontales existe en cada
línea horizontal 1024 puntos (píxel). Cuanto mayor sea la resolución del
monitor, mejor será la calidad de la imagen en la pantalla y mayor la calidad del
monitor.
Características del monitor
Dot Pitch.
Este parámetro lo que indica, es la distancia que separa a cada píxel de los
píxeles adyacentes. Cuanto menor sea esta distancia, mayor nitidez tendrá la
ELECTROTECNIA 174
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
imagen. También hay que tener en cuenta, que esta distancia tiende a ser más
pequeña en el centro de la pantalla, pero a medida que nos acercamos a las
esquinas tiende a incrementarse ligeramente, de ahí que algunos fabricantes,
den dos medidas, una máxima y otra mínima. En lo que debemos fijarnos es
que el monitor no supere un dot pitch de 0,28 mm.
ELECTROTECNIA 175
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Exploración de la Pantalla.
La exploración de la pantalla del monitor TRC se realiza por patrones de
exploración. Hay dos patrones utilizados por los diferentes monitores para
llenar toda la pantalla. Ambos exploran la imagen a lo ancho de la misma, en
una fila de 1 pixell de altura, de izquierda a derecha , bajando y volviendo a
explorar hacia la izquierda.
Pantalla Entrelazada.
El patrón entrelazado explora a razón de una fila de pixels por medio. De
forma que primero se exploran las filas impares y después las pares, de la
misma manera anterior, de derecha a izquierda. Pero como las filas de pixels
están muy cercanas entre sí, el ojo no percibe muy fácilmente si una fila se ha
apagado antes de volver a ser explorada. Es mucho mejor para los ojos y
estómago del usuario.
ENTRELAZADO
ELECTROTECNIA 176
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Descripción de un monitor.
Vamos a tomar como ejemplo la placa de un monitor Samsung Syncmaster
3NE.
Descripción de un monitor
Paneles LCD.
Los paneles LCD (Despliegue de Cristal Líquido) tienen poco fulgor,
pantallas completamente planas y bajos requerimientos de energía (desde
5W). La calidad de color de un panel LCD de matriz activa actualmente excede
ELECTROTECNIA 177
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
la de la mayoría de pantallas CRT. Sin embargo, LCD usa una resolución más
limitada que CRT. Por otro lado, los paneles de 17 y 18 pulgadas ofrecen una
resolución máxima de 1280x1024, mientras que un monitor de 19 pulgadas
tiene una resolución máxima de 1660x1200.
En un LCD de color, un filtro adicional tiene tres celas para cada píxel, uno por
cada color desplegado, rojo, verde y azul, con un transistor correspondiente
para cada celda. Las celdas rojas, verdes y azules, las cuales conforman un
píxel, a veces son llamadas subpíxeles. La mayoría de pantallas de matriz
activa usan un arreglo de película fina de transistores (thin film transistor,
TFT). Este método empaqueta a partir de uno a tres transistores por píxel
dentro de un material flexible del mismo tamaño y forma de la pantalla. Por lo
tanto, los transistores por cada píxel yacen directamente detrás de las celdas
de cristal líquido que controlan.
ELECTROTECNIA 178
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Una señal eléctrica hace que estos cristales se alineen de manera tal que
impiden el paso de la luz.
Una pantalla negra tiene todos sus cristales alineados impidiendo el paso de
cualquier luz. La señal de una imagen permite de manera ingeniosa que los
colores sean mostrados en los lugares correctos. Su ojo hace el resto
ELECTROTECNIA 179
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Pantalla de Plasma.
Plasma.
En una sustancia eléctrica neutra con una lata de ionización compuesta por
iones, electrones y partículas neutras. Básicamente el plasma es un mar de
electrones e iones que conduce de manera excelente la electricidad. Si se
aplica suficiente calor los electrones se separan de sus núcleos.
ELECTROTECNIA 180
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 181
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 182
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 183
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 184
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 185
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
d) Bus de vídeo. Se han usado para los estándares VGA y otros los primeros
estándares de bus, tales como IBM MCA, ISA, EISA y VL-Bus. Debido a su
bajo rendimiento, todos ellos son obsoletos; las tarjetas de vídeo actuales
están hechas exclusivamente con los estándares PCI ó AGP.
ELECTROTECNIA 186
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 187
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 188
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 189
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 190
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Desmagnetizador de TRC.
Todos los Televisores y Monitores que usan TRC (Tubo de Rayos Catódicos o
cinescopios) cromáticos tienen incorporado un circuito desmagnetizador o
degausing para eliminar la magnetización o mascara de sombra dentro de TRC
uy otras partes metálicas externas.
Construcción:
Trazar una circunferencia de unos 25 a 30 cm de diámetro sobre la madera.
Clavar sobre esa línea los clavos con una separación entre ellos de unos 6 o
7cm y a una profundidad aproximada de 1,5 cm (solo lo suficiente para que
queden firmes).
Forrar cada clavo con un trozo de cinta aisladora, para que el roce del metal no
deteriore el esmalte del alambre.
ELECTROTECNIA 191
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Una vez hecho esto, ya tenemos la base para comenzar a fabricar la bobina.
La bobina se realiza enrollando el alambre de cobre esmaltado, sobre la
circunferencia de clavos.
Si se trata de una bobina para ser usada en una red eléctrica de 120VAC
deberemos enrollar unas 600 a 700 vueltas, si es para 220VAC debemos
enrollar unas 1200 a 1400.
Una vez completado el enrollado, se debe atar con un hilo en barios puntos,
para que, el conjunto de alambres se mantenga unido al retirar los clavos.
Modo de uso.
Colocar la bobina frente a la pantalla a desmagnetizar a 2 o 3 centímetros de
esta, conectarla, hacer movimientos circulares para cubrir toda el área de la
pantalla, y alejarla progresivamente de esta, desconectar la bobina cuando este
suficientemente lejos (1m o más).
IMPRESORA.
Es un dispositivo mediante el cual se pueden escribir los datos que se
producen con la ayuda del computador. Aunque la mayor parte del volumen de
datos viaja de la computadora a la impresora, debe haber comunicación en
sentido inverso. Antes de que se puedan enviar datos para su impresión, la
computadora debe revisar el estado de la impresora, si está encendida y lista
ELECTROTECNIA 192
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Tipos:
Según la tecnología que empleen, se tiene:
ELECTROTECNIA 193
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Son más caras que cualquiera de los otros tipos de impresoras, pero de
mayor calidad. También son mucho mas rápidas y muy silenciosas.
ELECTROTECNIA 194
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Características:
- Velocidad: La velocidad de una impresora se suele medir con dos
parámetros:
• ppm: Páginas por minuto que es capaz de imprimir.
• cps: Caracteres (letras) por segundo que es capaz de imprimir.
IMPRESORA MATRICIAL.
Existen tres configuraciones típicas en las impresoras de matriz de punto. Las
mismas son resultado de la adaptabilidad de esta tecnología para lograr un
mejor resultado en cada una de las distintas necesidades de los usuarios.
ELECTROTECNIA 195
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Configuración de 9 pines.
Es la configuración ideal para aquellos usuarios que requieran impresiones
rápidas como listados, facturación, reportes, etc. Esta configuración es lograda
por dos tipos de cabezales, los de tecnología de 9 agujas y los de 18 agujas.
En ambos casos la letra es formada por una combinación de 9 puntos
verticales los cuales al recorrer la hoja van formando las letras como se
muestra en el siguiente gráfico:
Tanto la forma como se crean las letras como la resolución son las mismas de
la tecnología de 9 agujas. Pero los cabezales de 18 agujas son más rápidos y
potentes, pudiendo imprimir formatos de hasta 9 partes.
ELECTROTECNIA 196
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Para los cabezales de 9 pines, las letras que identifican los modelos son: LX,
FX y DFX. Para los cabezales de 24 pines, las letras correspondientes son LQ.
Cuando el número del modelo es de tres dígitos, puede intuir que es una
impresora de carro angosto. Cuando es de cuatro dígitos el modelo será de
carro ancho
Partes de la Impresora.
ELECTROTECNIA 197
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 198
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 199
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
- Unidad de ruedas: Cuando hay papel continuo se colocan los orificios del
papel en los dientes de estas ruedas para sujetar mejor este tipo papel.
- Rodillo: Ayuda a arrastrar con más facilidad el papel.
- Cartucho de tinta: Es una cinta que está impregnada de tinta.
- Cabezal: Pieza que contiene el mecanismo de agujas que se encargan de
realizar la impresión de caracteres o gráficos mientras se desplaza a lo
ancho y largo del papel.
- Motor vertical (Arrastre papel funcionando): Es el que empuja el papel hacia
la zona de impresión.
- Motor horizontal (Motor arranque cinta funcionamiento): Es el que mueve la
parte mecánica y permite que se deslice el cabezal para que vaya
imprimiendo.
Parte mecánica donde va sujeto el cabezal y el que permite que este se mueva
por medio de poleas.
PF Motor driver: Es el encargado de mover el carro a través de las correas
CR Motor driver: Es el encargado de mover el rodillo.
ELECTROTECNIA 200
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
IMPRESORA DE INYECCIÓN.
El motor del alimentador de papel: Este motor impulsa los rodillos a que
muevan el papel con el paso exacto y necesario para asegurar que una imagen
continua sea impresa.
ELECTROTECNIA 201
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
IMPRESORA LASER.
Funcionamiento.
La base de su funcionamiento es la tecnología del láser. Esta impresora utiliza
el rayo láser modulado para enviar la información que se desea imprimir a un
tambor fotosensible. Por medio de rayos láser se crea una imagen
electrostática completa de la página a imprimir. Luego se le aplica al tambor, un
polvo ultra fino llamado TONER, que se adhiere sólo a las zonas sensibilizadas
por los rayos laser. Cuando el tambor pasa sobre la hoja de papel, el polvo es
transferido a su superficie, formando las letras e imágenes de la página, que
pasa por un calentador llamado FUSOR, el cual quema el Tóner fijándolo en la
página.
Fallas comunes:
Rodillos.
Los rodillos de encuentran en la parte posterior de la impresora laser, estos
llegan a calentarse y progresivamente pierden su forma original, cada uno de
estos rodillos pueden cambiarse son problemas, también tenemos el rodillo que
se encuentra en la parte frontal y ayuda a coger cada hoja de bandeja.
ELECTROTECNIA 202
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Sistema Óptico.
El sistema óptico consta del barrido laser junto aros espejos hexagonales que
se encuentran dentro, es muy importante realizar la limpieza de estas partes
para una impresión de calidad. En las imágenes siguientes vemos diferentes
modelos de sistema óptico
Fusor.
El fusor es la parte más importante de la impresora laser, aquí se concentra la
mayor parte del trabajo, tanto por el calor y corriente generada además de la
impresión y calidad de la misma, dentro del fusor encontramos el teflón, el
termostato, el resistor o lámpara que calienta fundiendo el tóner generando
todo el sistema de impresión para que pueda imprimirse correctamente.
También podemos encontrar los rodillos así como los contactos de energía.
Debajo podemos observar la imagen del fusor clásico, y sus rodillos.
ELECTROTECNIA 203
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Teflón.
El teflón permite de que el papel no que quede pegado al momento de pasar
por los rodillos además de que el calor se generado por la resistencia cerámica,
solo funda en el espacio donde se encuentra el teflón, esta parte se quiebra
como un papel quemado y se consigue fácilmente en cualquier centro de venta
de repuestos, solo debemos saber el modelo exacto de la impresora.
Resistencia cerámica.
Esta resistencia es la que calienta el tóner, esta debe medir una resistencia
baja, cuando esta se daña se abre evitando que la impresora pueda generar el
calor necesario.
ELECTROTECNIA 204
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
AUTOEVALUACIÓN N° 6
1. ¿Qué es el monitor?
...............................................................................................................................
...............................................................................................................................
..........................................................................................................................
5. ¿Qué es la impresora?
...............................................................................................................................
...............................................................................................................................
..........................................................................................................................
ELECTROTECNIA 205
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
CAPÍTULO 7
7
MULTIMEDIA PARA UNA PC
En este capítulo trataremos:
Multimedia.
Lectora de CD.
Caracterisicas de la Lectora.
Estructura del Disco.
Cámara Digital.
Tarjeta de Sonido.
Caracteristicas de la tarjeta de sonido.
ELECTROTECNIA 206
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Multimedia.
Es un sistema de cómputo que combina medios de texto, gráficos, animación,
música, voz y video; así mismo puede incluir bocinas estereofónicas como
dispositivos de salida., de cualquier forma de comunicación que usa más de un
medio para presentar información.
Por lo indicado en los párrafos anteriores podemos hacer una definición mas
exacta sobre multimedia: “Grupos de entretenimiento y educacionales están
explorando nuevas aplicaciones, computadoras, telecomunicaciones, y las
industrias electrónicas están desarrollando tecnología. Como un termino,
“multimedia” es frecuentemente usado pero raramente definido. Entre
ingenieros de hardware y software, los intentos para proveer un significado de
la caprichosa definición “multi-cable” a esas interacciones de comunicación.
Usuarios de computadoras tienen presentaciones multimedia, estaciones de
trabajo multimedia, y bases de datos multimedia, pero la gente involucrada ven
la multimedia desde diferentes perspectivas. Por ejemplo, presentaciones
multimedia, como su nombre lo dice, involucra la presentación de información
multimedia, lee multimedia de estaciones de trabajo negocian con el
procesamiento de información multimedia y bases de datos multimedia.
Entonces, la noción de información multimedia se unifica con multimedia
digital.”
ELECTROTECNIA 207
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Usos de Multimedia.
En concepto de multimedia nos involucra algunos usos parciales para
presentar y llevar información con esta tecnología de la siguiente forma:
LECTORAS CD.
ELECTROTECNIA 208
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Una limitación importante del CD ROM deriva del hecho de que sólo puede
leerse. Se presta, pues, a la grabación de bases de datos invariables o
históricas, pero no a las evolutivas. Las bases de evolución lenta pueden
también difundirse en este medio si se sacan nuevas ediciones con
regularidad; en cualquier caso, el ciclo de actualización mínimo que por ahora
resulta práctico está en torno a un mes.
ELECTROTECNIA 209
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Fotodetector
Lentes
Láser de
Divisor de Rayos Servomotor
Diodo
Estructura de una lectora de CD
ELECTROTECNIA 210
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Características.
- Interface: Al igual que en los discos, este puede ser SCSI o EIDE. Se
aconseja SCSI (Ultra Wide) para entornos profesionales y EIDE (Ultra DMA)
para los demás.
ELECTROTECNIA 211
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
- Caché: La mayoría de los CD-ROM suelen incluir una pequeña caché cuya
misión es reducir el número de accesos físicos al disco. Cuando se accede a
un dato en el disco, este se grava en la caché de manera que si volvemos a
acceder a él. Cuanto mayor sea la caché, mayor será la velocidad de
nuestro equipo.
ELECTROTECNIA 212
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Cámara Digital.
Es una cámara fotográfica normal, pero con muchas ventajas. Entre ellas
destacan la mejor calidad de imagen y la posibilidad de almacenar en una
memoria una cantidad de imágenes semejante a la que cabe en un carrete.
ELECTROTECNIA 213
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Tarjeta de sonido.
El PC no fue pensado en un principio para manejar sonido, excepto por
llamado “altavoz interno” o “PC Speaker” cuyo pitido que oímos al arrancar el
computador ha sido durante muchos años el único sonido que ha emitido el PC
y que sirve para comunicar errores al usuario.
Por fin era posible convertir sonido analógico a digital para guardarlo en
nuestra PC, y también convertir el sonido digital que hay en nuestra PC a
analógico y poder escucharlo con parlantes: posteriormente aparecieron el
resto: SoundBlaster PRO, SoundBlaster 16, Gravis, AWE 32, AWE64, MAXI
Sound…todas más o menos compatibles con la súper exitosa SoundBlaster
original, que se convirtió en un auténtico estándar.
Características:
Las computadoras trabajan con datos digitales (más concretamente binarios,
0s y 1s), por lo que cuando conectamos unos parlantes a la tarjeta de sonido,
hay alguien que transforma esos datos digitales en analógicos para que
nuestro altavoz los entienda. De eso se encarga el DAC (Conversor Digital –
Analógico).
ELECTROTECNIA 214
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Nada de 32, 64, 128 y 256 bits. Las tarjetas de sonido (excepto muy raras
excepciones profesionales) toman las muestras de sonido a 16 bits (aunque se
llame SoundBlaster 128 PCI o MaxiSound 64). Esto ha llevado a engaño a mas
de uno al creer que su tarjeta de sonido trabajaba con mas bits que su propio
procesador (pero se trata del número de voces). Estos bits vienen a definir la
posición de altavoz. ¿Qué significa esto?, vamos a explicarlo.
Para permitir sonidos, los altavoces se mueven dando golpes. Estos golpes
hacen que el aire que nos rodea vibre y nuestros oídos captan esas vibraciones
y las transforman en impulsos nerviosos que van a nuestro cerebro. Pues bien,
deberemos indicarle al altavoz donde debe golpear. Para ello simplemente le
enviaremos una posición (en este caso un número). Pues bien cuantas más
posiciones podamos representar, mejor será el sonido. Y cuantos más bits
tengamos, más posiciones podemos representar.
¿Son necesarios más Bits? En principio no; sin embargo, como en todo, ADC
no es excesivamente bueno, los últimos bits captados tienen información que
no es demasiado fidedigna. Esto significa que si podemos trabajar con un
mayor abanico de bits (20 o más), aunque perdamos calidad el sonido final
seguirá siendo igual de bueno.
44,1 KHz significa calidad de CD. Vamos a explicar esto. Las tarjetas de sonido
simplemente transforman una señal continua (el sonido es algo continuo) en
una discreta (aunque no lo parezca).
¿Y porqué exactamente 44,1 KHz?, por el mismo motivo por el que el VHS
emite 24 imágenes por segundo: si el ojo humano es capaz de reconocer como
mucho unas 30 imágenes por segundo, sería un derroche de medios (y dinero)
emitir imágenes por segundo, por el simple hecho de que no notaríamos la
diferencia. Del mismo modo, el oído humano es capaz de reconocer unos
44,000 sonidos cada segundo (o sea, capta el sonido con esa frecuencia), con
lo que la utilización de un mayor muestreo no tiene ningún sentido.
ELECTROTECNIA 215
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Todas las tarjetas de sonido eléctricas pueden trabajar con una resolución de
44,1 KHz, y muchos incluso lo hacen a 48 KHz. Las semi - profesionales
trabajan en su mayoría con esos 48 KHz y algunas incluso con 50 KHz. Las
profesionales llegan cerca de los 100 KHz.
ELECTROTECNIA 216
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
AUTOEVALUACIÓN N° 7
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
ELECTROTECNIA 217
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
10. Colocar el nombre que le corresponde a cada letra del siguiente dibujo:
D A
A. ……………………………………………..
B. ……………………………………………..
C. ……………………………………………..
D. ……………………………………………..
E. ……………………………………………..
ELECTROTECNIA 218
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
CAPÍTULO 8
8
COMUNICACIONES - REDES
ELECTROTECNIA 219
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
REDES INFORMÁTICAS.
INTRODUCCIÓN.
Obviamente en esa época no existían las PCs, por lo cual los entornos de
trabajo resultaban centralizados y lo común para cualquier red era que el
procesamiento quedara delegado a una única computadora central o
mainframe. Los usuarios accedían a la misma mediante terminales “tontas”
consistentes en sólo un monitor y un teclado.
Los tiempos han cambiado y hoy prácticamente todos los usuarios acceden a
los recursos de las redes desde PCs. Sin embargo, la teoría, los principios
básicos, los protocolos han mantenido vigencia y si bien es cierto, se va
produciendo obsolecencia de parte de ellos, resulta muy conveniente comenzar
el estudio partiendo de los principios y de la teoría básica. Resulta dificultoso
comprender las redes actuales si no se conocen los fundamentos de la teoría
de redes.
Frame Relay es una mejora de X.25. Se trata de un sistema mucho más simple
y eficiente, el cual tiene plena vigencia hoy en día en redes de área amplia.
Trabaja sobre enlaces digitales generalmente punto a punto.
ELECTROTECNIA 220
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
CONCEPTO DE REDES.
Primeras definiciones.
ELECTROTECNIA 221
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 222
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Una vez que los paquetes llegan a su destino, los paquetes son otra vez
reensamblados.
Por eso se dice que la ruta que toman los paquetes es "probabilística",
mientras que en la conmutación de circuitos, esta ruta es "determinística".
Casi todas las tecnologías actuales: X.25, Frame Relay, ATM, TCP/IP son de
conmutación de paquetes.
ELECTROTECNIA 223
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Las redes que permiten todo esto son equipos avanzados y complejos. Su
eficacia se basa en la confluencia de muy diversos componentes. El diseño e
implantación de una red mundial de ordenadores es uno de los grandes
‘milagros tecnológicos’ de las últimas décadas.
TIPOS DE REDES.
Red de campus.
Una red de campus se extiende a otros edificios dentro de un campus o área
industrial. Los diversos segmentos o LAN de cada edificio suelen conectarse
mediante cables de la red de soporte.
ELECTROTECNIA 224
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Este método usa una infraestructura de red por separado, evitando así
cualquier problema asociado con la conectividad de las redes existentes.
Las SAN poseen las siguientes características:
• Escalabilidad: Al igual que una LAN/WAN, puede usar una amplia gama de
tecnologías. Esto permite la fácil reubicación de datos de copia de
seguridad, operaciones, migración de archivos, y duplicación de datos entre
sistemas.
ELECTROTECNIA 225
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Anillo. Las estaciones están unidas unas con otras formando un círculo por
medio de un cable común. El último nodo de la cadena se conecta al primero
cerrando el anillo.
ELECTROTECNIA 226
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Las redes estrella usan el método CSMA/CD para mandar sus paquetes a la
red.
CSMA/CD
CSMA/CD, siglas que corresponden a Carrier Sense Multiple Access with
Collision Detection (inglés: "Acceso Múltiple con Escucha de Portadora y
Detección de Colisiones"), es una técnica usada en redes Ethernet para
mejorar sus prestaciones.
Funcionamiento de CSMA/CD
El primer paso a la hora de transmitir será, obviamente, saber si el medio está
libre. Y ¿cómo podemos saberlo? Pues nos quedamos calladitos y
escuchamos lo que dicen los demás. Si hay portadora en el medio, es que está
ocupado y, por tanto, seguimos escuchando; en caso contrario, el medio está
libre y podemos transmitir. A continuación, esperamos un tiempo mínimo
necesario para poder diferenciar bien una trama de otra y comenzamos a
ELECTROTECNIA 227
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
1. Problema del nodo oculto: La estación cree que el medio está libre cuando
en realidad no lo está, pues está siendo utilizado por otro nodo al que la
estación no “oye”.
2. Problema del nodo expuesto: La estación cree que el medio está ocupado,
cuando en realidad lo está ocupando otro nodo que no interferiría en su
transmisión a otro destino. Para resolver estos problemas, la IEEE 802.11
propone MACA (MultiAccess Collision Avoidance – Evasión de Colisión por
Acceso Múltiple).
ELECTROTECNIA 228
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Bus.
Las estaciones están conectadas por un único segmento de cable. A diferencia
del anillo, el bus es pasivo, no se produce regeneración de las señales en cada
nodo. Los nodos en una red de "bus" transmiten la información y esperan que
ésta no vaya a chocar con otra información transmitida por otro de los nodos. Si
esto ocurre, cada nodo espera una pequeña cantidad de tiempo al azar,
después intenta retransmitir la información.
Híbridas.
El bus lineal, la estrella y el anillo se combinan algunas veces para formar
combinaciones de redes híbridas.
Protocolos de redes.
Un protocolo de red es como un lenguaje para la comunicación de información.
Son las reglas y procedimientos que se utilizan en una red para comunicarse
entre los nodos que tienen acceso al sistema de cable. Los protocolos
gobiernan dos niveles de comunicaciones:
ELECTROTECNIA 229
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
• Los protocolos de alto nivel: Estos definen la forma en que se comunican las
aplicaciones.
• Los protocolos de bajo nivel: Estos definen la forma en que se transmiten las
señales por cable.
Cada uno de estos esta diseñado para cierta clase de topología de red y tienen
ciertas características estándar.
Dispositivos de redes.
ELECTROTECNIA 230
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Hubs (Concentradores).
Son equipos que permiten estructurar el cableado de las redes. La variedad de
tipos y características de estos equipos es muy grande. En un principio eran
solo concentradores de cableado, pero cada vez disponen de mayor número de
capacidad de la red, gestión remota, etc. La tendencia es a incorporar más
funciones en el concentrador. Existen concentradores para todo tipo de medios
físicos.
Hubs (Concentradores)
ELECTROTECNIA 231
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Repetidores.
Son equipos que actúan a nivel físico. Prolongan la longitud de la red uniendo
dos segmentos y amplificando la señal, pero junto con ella amplifican también
el ruido.
La red sigue siendo una sola, con lo cual, siguen siendo válidas las limitaciones
en cuanto al número de estaciones que pueden compartir el medio.
Bridges (Puentes).
Son equipos que unen dos redes actuando sobre los protocolos de bajo nivel,
en el nivel de control de acceso al medio. Solo el tráfico de una red que va
dirigido a la otra atraviesa el dispositivo. Esto permite a los administradores
dividir las redes en segmentos lógicos, descargando de tráfico las
interconexiones. Los bridges producen las señales, con lo cual no se transmite
ruido a través de ellos.
Routers (Encaminadores).
Son equipos de interconexión de redes que actúan a nivel de los protocolos de
red. Permite utilizar varios sistemas de interconexión mejorando el rendimiento
de la transmisión entre redes. Su funcionamiento es más lento que los bridges
pero su capacidad es mayor. Permiten, incluso, enlazar dos redes basadas en
un protocolo, por medio de otra que utilice un protocolo diferente.
ELECTROTECNIA 232
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Gateways.
Son equipos para interconectar redes con protocolos y arquitecturas
completamente diferentes a todos los niveles de comunicación. La traducción
de las unidades de información reduce mucho la velocidad de transmisión a
través de estos equipos.
Servidores.
Son equipos que permiten la conexión a la red de equipos periféricos tanto
para la entrada como para la salida de datos. Estos dispositivos se ofrecen en
la red como recursos compartidos. Así un terminal conectado a uno de estos
dispositivos puede establecer sesiones contra varios ordenadores multiusuario
disponibles en la red.
Switches.
Un switch se describe a veces como un puente multipuerto.
Mientras que un puente típico puede tener sólo dos puertos que enlacen dos
segmentos de red, el switch puede tener varios puertos, según la cantidad de
segmentos de red que sea necesario conectar. Al igual que los puentes, los
switches aprenden determinada información sobre los paquetes de datos que
se reciben de los distintos computadores de la red. Los switches utilizan esa
información para crear tablas de envío para determinar el destino de los datos
que se están mandando de un computador a otro de la red.
ELECTROTECNIA 233
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Aunque hay algunas similitudes entre los dos, un switch es un dispositivo más
sofisticado que un puente. Un puente determina si se debe enviar una trama al
otro segmento de red, basándose en la dirección MAC destino. Un switch tiene
muchos puertos con muchos segmentos de red conectados a ellos. El switch
elige el puerto al cual el dispositivo o estación de trabajo destino está
conectado. Los switches Ethernet están llegando a ser soluciones para
conectividad de uso difundido porque, al igual que los puentes, los switches
mejoran el rendimiento de la red al mejorar la velocidad y el ancho de banda.
Los switches operan a velocidades mucho más altas que los puentes y pueden
admitir nuevas funcionalidades como, por ejemplo, las LAN virtuales.
PROTOCOLO DE COMUNICACIÓN.
Protocolo TCP/IP.
Es el conjunto de protocolos utilizado por Internet.
ELECTROTECNIA 234
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Puede trabajar sobre una multitud de protocolos como ser PPP , Frame Relay ,
X.25 o ATM.
Direccionamiento IP.
Cada elemento conectado a una red TCP/IP debe tener una “dirección IP”
única a fin de ser identificado en la misma en forma unívoca y además una
ELECTROTECNIA 235
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 236
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Las Redes Clase A son las que comienzan el 1er octeto con 0. Definen sólo el
1er octeto como Identificador de Red. Los otros 3 identifican el Host en
particular. Se deduce que el rango de Clase A va de las redes 0 a la 127,
aunque después veremos que esta última está reservada y no puede utilizarse.
Si no hay subredes la máscara de subred es todos unos para el primer octeto y
todos ceros para el resto, es decir: 255.0.0.0.
La Redes Clase C comienzan con 110 y utilizan los 3 primeros octetos para la
NetID. El rango por ende va de la 192.0.0 a la 223.255.255. Sólo el último
octeto identifica el host, o sea que este tipo de redes sólo permite hasta 256
direcciones de hosts o HostId´s. Sin subredes la máscara de subred es
255.255.255.0.
Consideraciones especiales:
1) Las direcciones cuyo número de host es todos 0´s definen a la red en
general, por lo tanto ningún host puede tener el HostID = 0. Por ejemplo :
200.233.12.0 define en general a la red Clase C cuyo Net ID es : 200.223.12
ELECTROTECNIA 237
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Estados Unidos y con filiales en todos los países llamados "IANA" (Internet
Assigned Numbera Authority) que se encarga de aignar las direcciones IP. Es a
quien se le debe solicitar una NetID o dirección de red única, para una red que
se conecta a Internet. Los HostID o direcciones individuales de los dispositivos
y equipos dentro de la red son asignados libremente por el administrador.
Para redes sin conexión a Internet, que son la mayoría, existen rangos
reservados a redes privadas que es aconsejable utilizar.
No puede haber en una misma red y por lo tanto tampoco en "Internet" dos
dispositivos conectados con una misma dirección IP, pero como hay equipos
que se conectan a más de una red simultáneamente, un mismo equipo sí
puede tener más de una IP. Este es el caso por ejemplo de los bridges y los
routers, que poseen una dirección IP por cada adaptador, correspondiente al
rango de la red a la cual se conecta.
Otro caso más cotidiano sería el de una PC que se conecta a una red TCP/IP
privada y a su vez lo hace a "Internet" mediante un módem: entonces asigna
una IP (privada) para el adaptador LAN y otra (pública), del rango asignado por
IANA para la región, para el módem que se conecta a "Internet".
Subnetting.
Dijimos que la máscara de subred o "subnet mask" era importante en el caso
de subredes. En efecto, si no hay subredes la misma adopta valores fijos de
acuerdo al tipo de red.
ELECTROTECNIA 238
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Datagrama IP.
El protocolo IP es un protocolo "no orientado a la conexión" (connectionless), y
a esto lo llamábamos "servicio de datagramas". El datagrama es la unidad de
información que se transmite a través de la red a nivel IP.
• FLAGS: Hay un bit no utilizado y otros que son DF: Don´t Fragment y MF=
More Fragments.
ELECTROTECNIA 239
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 240
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
FTP utiliza el puerto 21, Telnet el 23 y SMTP el 25. Los puertos en este rango
se llaman "Well Known Ports".
Cualquier aplicación que deba crear un puerto y no esté predefinida debe elegir
un número fuera de este rango.
Características de TCP.
Las características del servicio de entrega confiable son las siguientes:
• Orientación de flujo.
• Conexión de circuito virtual.
• Transferencia con memoria intermedia.
• Flujo no estructurado.
• Conexión Full Duplex.
Segmento TCP.
ELECTROTECNIA 241
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 242
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Cable coaxial.
El cable coaxial consiste de un conductor de cobre rodeado de una capa de
aislante flexible. El conductor central también puede ser hecho de un cable de
aluminio cubierto de estaño que permite que el cable sea fabricado de forma
económica. Sobre este material aislante existe una malla de cobre tejida u hoja
metálica que actúa como el segundo hilo del circuito y como un blindaje para el
conductor interno. Esta segunda capa, o blindaje, también reduce la cantidad
de interferencia electromagnética externa. Cubriendo la pantalla está la
chaqueta del cable.
Para las LAN, el cable coaxial ofrece varias ventajas. Puede tenderse a
mayores distancias que el cable de par trenzado blindado STP, y que el cable
de par trenzado no blindado, UTP, sin necesidad de repetidores. Los
repetidores regeneran las señales de la red de modo que puedan abarcar
ELECTROTECNIA 243
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Cable STP.
El cable de par trenzado blindado (STP) combina las técnicas de blindaje,
cancelación y trenzado de cables. Cada par de hilos está envuelto en un papel
ELECTROTECNIA 244
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
metálico. Los dos pares de hilos están envueltos juntos en una trenza o papel
metálico. Generalmente es un cable de 150 ohmios. Según se especifica para
el uso en instalaciones de redes Token Ring, el STP reduce el ruido eléctrico
dentro del cable como, por ejemplo, el acoplamiento de par a par y la diafonía.
El STP también reduce el ruido electrónico desde el exterior del cable, como,
por ejemplo, la interferencia electromagnética (EMI) y la interferencia de
radiofrecuencia (RFI). El cable de par trenzado blindado comparte muchas de
las ventajas y desventajas del cable de par trenzado no blindado (UTP). El
cable STP brinda mayor protección ante toda clase de interferencias externas,
pero es más caro y de instalación más difícil que el UTP.
Los cables STP y ScTP no pueden tenderse sobre distancias tan largas como
las de otros medios de networking (tales como el cable coaxial y la fibra óptica)
sin que se repita la señal. El uso de aislamiento y blindaje adicionales aumenta
de manera considerable el tamaño, peso y costo del cable. Además, los
materiales de blindaje hacen que las terminaciones sean más difíciles y
aumentan la probabilidad de que se produzcan defectos de mano de obra. Sin
embargo, el STP y el ScTP todavía desempeñan un papel importante,
ELECTROTECNIA 245
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Cable UTP.
El cable de par trenzado no blindado (UTP) es un medio de cuatro pares de
hilos que se utiliza en diversos tipos de redes. Cada uno de los 8 hilos de cobre
individuales del cable UTP está revestido de un material aislante. Además,
cada par de hilos está trenzado. Este tipo de cable cuenta sólo con el efecto de
cancelación que producen los pares trenzados de hilos para limitar la
degradación de la señal que causan la EMI y la RFI. Para reducir aún más la
diafonía entre los pares en el cable UTP, la cantidad de trenzados en los pares
de hilos varía. Al igual que el cable STP, el cable UTP debe seguir
especificaciones precisas con respecto a cuánto trenzado se permite por
unidad de longitud del cable.
ELECTROTECNIA 246
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
En una época, el cable de par trenzado era considerado más lento para
transmitir datos que otros tipos de cables. Sin embargo, hoy en día ya no es
así. De hecho, en la actualidad, se considera que el cable de par trenzado es el
más rápido entre los medios basados en cobre.
Para que sea posible la comunicación, la señal transmitida por la fuente debe
ser entendida por el destino. Esto es cierto tanto desde una perspectiva física
como en el software. La señal transmitida necesita ser correctamente recibida
por la conexión del circuito que está diseñada para recibir las señales. El pin de
transmisión de la fuente debe conectarse en fin al pin receptor del destino. A
continuación se presentan los tipos de conexiones de cable utilizadas entre
dispositivos de internetwork.
ELECTROTECNIA 247
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Para el caso de normativa de la disposición de los hilos se usan dos tipos una
568A y las otra 568B.
ELECTROTECNIA 248
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
FIBRA ÓPTICA.
El espectro electromagnético.
La radio, las microondas, el radar, la luz visible, los rayos x y los rayos gama
parecen ser todos muy diferentes. Sin embargo, todos ellos son tipos de
energía electromagnética. Si se ordenan todos los tipos de ondas
ELECTROTECNIA 249
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 250
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Las longitudes de onda que invisibles al ojo humano son utilizadas para
transmitir datos a través de una fibra óptica. Estas longitudes de onda son
levemente más largas que las de la luz roja y reciben el nombre de luz
infrarroja. La luz infrarroja se utiliza en los controles remotos de los televisores.
La longitud de onda de la luz en la fibra óptica es de 850 nm, 1310 nm o 1550
nm. Se seleccionaron estas longitudes de onda porque pasan por la fibra óptica
más fácilmente que otras.
Piense en los rayos de luz como delgados haces de luz similares a los
generados por un láser. En el vacío del espacio, la luz viaja de forma continua
en línea recta a 300.000 kilómetros por segundo. Sin embargo, la luz viaja a
velocidades diferentes y más lentas a través de otros materiales como el aire,
el agua y el vidrio. Cuando un rayo de luz, denominado rayo incidente, cruza
los límites de un material a otro, se refleja parte de la energía de la luz del rayo.
Por esta razón, uno puede verse a sí mismo en el vidrio de una ventana. La luz
reflejada recibe el nombre de rayo reflejado.
Esta desviación de los rayos de luz en los límites de dos sustancias es la razón
por la que los rayos de luz pueden recorrer una fibra óptica aun cuando la fibra
tome la forma de un círculo.
ELECTROTECNIA 251
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Las leyes de reflexión y de refracción ilustran cómo diseñar una fibra que guíe
las ondas de luz a través de la fibra con una mínima pérdida de energía. Se
ELECTROTECNIA 252
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
deben cumplir las dos siguientes condiciones para que un rayo de luz en una
fibra se refleje dentro de ella sin ninguna pérdida por refracción.
El núcleo de la fibra óptica debe tener un índice de refracción (n) mayor que el
del material que lo envuelve. El material que envuelve al núcleo de la fibra
recibe el nombre de revestimiento.
El ángulo de incidencia del rayo de luz es mayor que el ángulo crítico para el
núcleo y su revestimiento.
Cuando se cumplen estas dos condiciones, toda la luz que incide en la fibra se
refleja dentro de ella. Esto se llama reflexión interna total, que es la base sobre
la que se construye una fibra óptica. La reflexión interna total hace que los
rayos de luz dentro de la fibra reboten en el límite entre el núcleo y el
revestimiento y que continúen su recorrido hacia el otro extremo de la fibra. La
luz sigue un trayecto en zigzag a lo largo del núcleo de la fibra.
ELECTROTECNIA 253
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 254
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Alcance.
La norma EIA/TIA 568A específica los requerimientos mínimos para el
cableado de establecimientos comerciales de oficinas. Se hacen
recomendaciones para:
• Las topologías.
ELECTROTECNIA 255
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 256
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 257
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Cableado horizontal.
Se emplea el término horizontal pues esta parte del sistema de cableado corre
de manera horizontal entre los pisos y techos de un edificio.
ELECTROTECNIA 258
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Comunicaciones Inalámbricas.
Los sistemas Wireless (inalámbrico), son aquellas en las que no se utiliza un
medio de propagación físico, sino la modulación de ondas electromagnéticas,
radiaciones o medios ópticos. Estás se propagan por el espacio vacío sin
medio físico que comunique cada uno de los extremos de la transmisión.
ELECTROTECNIA 259
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Redes wireless.
Los desarrolladores de hardware y software han creado los dispositivos
wireless que permiten interconectar computadoras y periféricos mediante redes
inalámbricas utilizando protocolos como el Wi-Fi: El estandar IEEE 802.11. El
cual es para las redes inalámbricas, lo que Ethernet para las LAN (Redes de
área local cableadas). Además del protocolo 802.11 del IEEE existen otros
estándares como el HomeRF y el Bluetooth. Debido a la naturaleza de las
comunicaciones wireless (cuyo medio es el aire), está relacionado con las
redes wireless el concepto wardriving que básicamente consiste en buscar
dichas redes yendo a pie o en coche a través de la ciudad o una zona con
puntos de acceso wireless (a veces llamados nodos), con un dispositivo
hardware wireless y el software adecuado (por ejemplo: un portátil con una
tarjeta wireless pcmcia 802.11b y el programa Netstumbler). El objetivo del
wardriving es encontrar redes a las que poder conectarse, bien para obtener
acceso a Internet o simplemente para comprobar la vulnerabilidad de la red.
ELECTROTECNIA 260
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Estándares WLAN.
Ante la existencia de dispositivos WLAN de diferentes fabricantes, se hizo
necesaria la existencia de recomendaciones (contenidas en los estándares),
para permitir a los productos de estas firmas, una operación adecuada entre sí
y que, además, se cumpliera con un mínimo establecido de calidad y
funcionalidades.
ELECTROTECNIA 261
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Mecanismos de seguridad.
En los inicios de la tecnología inalámbrica, los procedimientos y mecanismos
de seguridad eran tan débiles que podía ganarse acceso con relativa facilidad
hacia redes WLAN de compañías desde la calle.
ELECTROTECNIA 262
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 263
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
AUTOEVALUACIÓN N° 8
ELECTROTECNIA 264
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
CAPÍTULO
9
DISPOSITIVOS USB
Memoria USB.
Historia de la memoria USB.
Fortalezas y Debilidades de la memoria USB.
Componentes de la memoria USB.
Tecnologías relacionadas: USB 3.0.
Disco Duro portátil.
Características del Disco Duro portátil.
Funciones Añadidas.
ELECTROTECNIA 265
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
MEMORIA USB.
Una memoria USB (de Universal Serial Bus) es un dispositivo de
almacenamiento que utiliza una memoria flash para guardar información. Se le
conoce también, entre otros nombres, con los siguientes: unidad flash USB,
lápiz de memoria, lápiz USB, minidisco duro, unidad de memoria, llave de
memoria, Pen Disk, pen drive.
Memoria USB
Fabricante Varios
Memoria flash
Capacidad de
Variable
almacenamiento
Conectividad USB
Dimensiones y
Variable
peso
Visión general.
Los primeros modelos requerían una batería, pero los actuales usan la energía
eléctrica procedente del puerto USB. Estas memorias son resistentes a los
rasguños (externos), al polvo, y algunos hasta al agua, factores que afectaban
a las formas previas de almacenamiento portátil, como los disquetes, discos
compactos y los DVD.
ELECTROTECNIA 266
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Características.
Estas memorias se han convertido en el sistema de almacenamiento y
transporte personal de datos más utilizado, desplazando en este uso a los
tradicionales disquetes y a los CD. Se pueden encontrar en el mercado
fácilmente memorias de 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 GB, y hasta 1 TB.
Las memorias con capacidades más altas pueden aún estar, por su precio,
fuera del rango del "consumidor doméstico". Esto supone, como mínimo, el
equivalente a 180 CD de 700 MB o 91 000 disquetes de 1440 KiB
aproximadamente.
Soporte.
Los sistemas operativos actuales pueden leer y escribir en las memorias sin
más que enchufarlas a un conector USB del equipo encendido, recibiendo la
tensión de alimentación a través del propio conector, de 5 voltios y un consumo
de 2,5 vatios como máximo. En equipos algo antiguos (como por ejemplo: los
equipos con el Windows 98) se necesita instalar un controlador proporcionado
por el fabricante. Las diversas distribuciones GNU/Linux también tienen soporte
para estos dispositivos de almacenamiento desde la versión 2.4 del núcleo.
HISTORIA.
Primera Generación.
Las empresas Trek Technology e IBM comenzaron a vender las primeras
unidades de memoria USB en el año 2000. Trek vendió un modelo bajo el
nombre comercial de Thumbdrive e IBM vendió las primeras unidades en
Norteamérica bajo la marca DiskOnKey, desarrolladas y fabricadas por la
empresa israelí M-Systems en capacidades de 8 MiB, 16 MiB, 32 MiB y 64 MiB
Estos fueron promocionados como los "verdaderos reemplazos del disquete", y
su diseño continuó hasta los 256 MiB. Los modelos anteriores de este
dispositivo utilizaban baterías, en vez de la alimentación de la PC.
ELECTROTECNIA 267
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Segunda Generación.
Dentro de esta generación de dispositivos existe conectividad con la norma
USB 2.0. Sin embargo, no usan en su totalidad el ancho de banda de 480
Mbit/s que soporta la especificación USB 2.0 Hi-Speed debido a las
limitaciones técnicas de las memorias flash basadas en NAND. Los dispositivos
más rápidos de esta generación usan un controlador de doble canal, aunque
todavía están muy lejos de la tasa de transferencia posible de un disco duro de
la actual generación, o el máximo rendimiento de alta velocidad USB.
Tercera Generación.
La norma USB 3.0 ofrece tasas de transferencia de datos mejoradas
enormemente en comparación con su predecesor, además de compatibilidad
con los puertos USB 2.0. La norma USB 3.0 fue anunciada a finales de 2008,
pero los dispositivos de consumo no estuvieron disponibles hasta principios de
2010. La interfaz USB 3.0 especifica las tasas de transferencia de hasta 5
Gbit/s, en comparación con los 40 Mbit/s de USB 2.0. A pesar de que la interfaz
USB 3.0 permite velocidades de datos muy altas de transferencia, a partir de
2011 la mayoría de las unidades USB 3.0 Flash no utilizan toda la velocidad de
la interfaz USB 3.0 debido a las limitaciones de sus controladores de memoria,
aunque algunos controladores de canal de memoria llegan al mercado para
resolver este problema. Algunas de estas memorias almacenan hasta 256 GiB
de memoria (lo cual es 1024 veces mayor al diseño inicial de M-Systems).
También hay dispositivos, que aparte de su función habitual, poseen una
Memoria USB como aditamento incluido, como algunos ratones ópticos
inalámbricos o Memorias USB con aditamento para reconocer otros tipos de
memorias (microSD, m2, etc.).
ELECTROTECNIA 268
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Utilidades.
Las memorias USB son comunes entre personas que transportan datos de su
casa al lugar de trabajo, o viceversa. Teóricamente pueden retener los datos
durante unos 20 años y escribirse hasta un millón de veces.
ELECTROTECNIA 269
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Las memorias USB de gran capacidad, al igual que los discos duros o
grabadoras de CD/DVD son un medio fácil para realizar una copia de
seguridad, por ejemplo. Hay grabadoras y lectores de CD-ROM, DVD,
disquetera o Zip que se conectan por USB.
Además, desde 2008, existen equipos de audio con un puerto USB al cual se
puede conectar una memoria USB para reproducir la música contenida en él.
Como medida de seguridad, algunas memorias USB tienen posibilidad de
impedir la escritura mediante un interruptor. Otros permiten reservar una parte
para ocultarla mediante una clave.
ELECTROTECNIA 270
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Fortalezas y Debilidades.
A pesar de su bajo costo y garantía, hay que tener muy presente que estos
dispositivos de almacenamiento pueden dejar de funcionar repentinamente por
accidentes diversos: variaciones de voltaje mientras están conectadas, por
caídas a una altura superior a un metro, por su uso prolongado durante varios
años especialmente en pendrives antiguos.
Las unidades flash son inmunes a rayaduras y al polvo que afecta a las formas
previas de almacenamiento portátiles como discos compactos y disquetes. Su
diseño de estado sólido duradero significa que en muchos casos puede
sobrevivir a abusos ocasionales (golpes, caídas, pisadas, pasadas por la
lavadora o salpicaduras de líquidos). Esto lo hace ideal para el transporte de
datos personales o archivos de trabajo a los que se quiere acceder en múltiples
lugares. La casi omnipresencia de soporte USB en computadoras modernas
significa que un dispositivo funcionará en casi todas partes. Sin embargo,
Microsoft Windows 98 no soporta dispositivos USB de almacenamiento masivo
genéricos, se debe instalar un controlador separado para cada fabricante o en
su defecto conseguir genéricos. Para Microsoft Windows 95 dichos
controladores son casi inexistentes.
Las memorias flash implementan el estándar "USB mass storage device class"
(clase de dispositivos de almacenamiento masivo USB). Esto significa que la
mayoría de los sistemas operativos modernos pueden leer o escribir en dichas
unidades sin drivers adicionales. En lugar de exponer los complejos detalles
técnicos subyacentes, los dispositivos flash exportan una unidad lógica de
datos estructurada en bloques al sistema operativo anfitrión. El sistema
operativo puede usar el sistema de archivos o el esquema de direccionamiento
ELECTROTECNIA 271
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Consideraciones de Uso.
El cuidado de las memorias USB es similar al de las tarjetas electrónicas;
evitando caídas o golpes, humedad, campos magnéticos y calor extremo.
Antiguamente, en los dispositivos más prematuros de esta tecnología, era
aconsejado Desmontar la unidad o "Quitar el hardware con seguridad " desde
el "Administrador de dispositivos" en Windows o "Expulsar" en Mac OS). En
algunos sistemas la escritura se realiza en forma diferida (esto significa que los
datos no se escriben en el momento) a través de un caché de escritura para
acelerar los tiempos de dicha escritura y para que el sistema escriba finalmente
"de una sola vez" cuando dicho caché se encuentre lleno, pero si la unidad es
retirada antes que el sistema guarde el contenido de la caché de escritura se
pueden provocar discrepancias en el sistema de archivos existente en la
memoria USB que podría generar pérdidas de datos.
ELECTROTECNIA 272
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
COMPONENTES.
1 Conector USB.
3 Puntos de Prueba.
5 Oscilador de cristal.
6 LED.
7 Interruptor de seguridad contra escrituras.
ELECTROTECNIA 273
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Componentes primarios.
Las partes típicas de una memoria USB son las siguientes:
• Un conector USB macho tipo A (1): Provee la interfaz física con la
computadora.
• Controlador USB de almacenamiento masivo (2): Implementa el controlador
USB y provee la interfaz homogénea y lineal para dispositivos USB seriales
orientados a bloques, mientras oculta la complejidad de la orientación a
bloques, eliminación de bloques y balance de desgaste. Este controlador
posee un pequeño microprocesador RISC y un pequeño número de circuitos
de memoria RAM y ROM.
• Circuito de memoria Flash NAND (4): Almacena los datos.
• Oscilador de cristal (5): Produce la señal de reloj principal del dispositivo a
12 MHz y controla la salida de datos a través de un bucle de fase cerrado
(phase-locked loop)
Componentes adicionales.
Un dispositivo típico puede incluir también:
• Puentes y Puntos de prueba (3): Utilizados en pruebas durante la fabricación
de la unidad o para la carga de código dentro del procesador.
• LEDs (6): Indican la transferencia de datos entre el dispositivo y la
computadora.
• Interruptor para protección de escritura (7): Utilizado para proteger los datos
de operaciones de escritura o borrado.
• Espacio Libre (8): Se dispone de un espacio para incluir un segundo circuito
de memoria. Esto le permite a los fabricantes utilizar el mismo circuito
impreso para dispositivos de distintos tamaños y responder así a las
necesidades del mercado.
• Tapa del conector USB: Reduce el riesgo de daños y mejora la apariencia
del dispositivo. Algunas unidades no presentan una tapa pero disponen de
una conexión USB retráctil. Otros dispositivos poseen una tapa giratoria que
no se separa nunca del dispositivo y evita el riesgo de perderla.
• Ayuda para el transporte: En muchos casos, la tapa contiene una abertura
adecuada para una cadena o collar, sin embargo este diseño aumenta el
riesgo de perder el dispositivo. Por esta razón muchos otros tiene dicha
abertura en el cuerpo del dispositivo y no en la tapa, la desventaja de este
diseño está en que la cadena o collar queda unida al dispositivo mientras
está conectado. Muchos diseños traen la abertura en ambos lugares.
ELECTROTECNIA 274
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
TECNOLOGÍAS RELACIONADAS.
USB 3.0
Presentado en el año 2008. Está en pleno auge de transición entre dispositivos
USB 2.0 y USB 3.0. La principal novedad técnica del puerto USB 3.0 es que
eleva a 4,8 Gbit/s (600 MB/s) la capacidad de transferencia que en la
actualidad es de 480 Mbit/s. Se mantendrá el cableado interno de cobre para
asegurarse la compatibilidad con las tecnologías USB 1.0 y 2.0.
Si en USB 2.0 el cable dispone de cuatro líneas, un par para datos, una de
corriente y una de toma de tierra, en el USB 3.0 se añade cinco líneas. Dos de
ellas se usarán para el envío de información y otras dos para la recepción, de
forma que se permite el tráfico bidireccional, en ambos sentidos al mismo
tiempo. El aumento del número de líneas permite incrementar la velocidad de
transmisión desde los 480 Mbit/s hasta los 4,8 Gbit/s. De aquí se deriva el
nombre que también recibe esta especificación: USB Superveloz.
El aumento de líneas en USB 3.0 provoca que el cable sea ligeramente más
grueso, un inconveniente importante. Si hasta ahora los cables eran flexibles,
con el nuevo estándar estos tienen un grueso similar a los cables que se usan
en redes Ethernet, siendo por tanto más rígidos.
Igual que pasa entre USB 1.1 y USB 2.0 la compatibilidad está garantizada
entre USB 2.0 y USB 3.0, gracias al uso de conectores similares, cuyos
contactos adicionales se sitúan en paralelo, de forma que no afectan en caso
de usar algún puerto que no sea del mismo tipo.
ELECTROTECNIA 275
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Desde que los CD-R y CD-RW se han extendido como almacenamiento barato,
se ha cambiado la filosofía de tener el mismo tipo de almacenamiento de disco
intercambiables tanto para almacenamiento como para copia de seguridad o
almacenamiento definitivo. Antes normalmente eran discos magnéticos o
magneto-ópticos. Ahora se tiende a tener el almacenamiento óptico para un
uso más definitivo y otro medio sin discos intercambiable para transporte. Este
el caso de las memorias USB y los discos duros portátiles.
Un disco duro portátil puede ser desde un microdisco hasta un disco duro
normal de sobremesa con una carcasa adaptadora. Las conexiones más
habituales son USB 2.0, USB 3.0 y Firewire, menos las SCSI y las SATA. Estas
últimas no estaban concebidas para uso externo pero dada su longitud del
cable permitida y su capacidad Hot-plug, no es difícil usarlas de este modo.
Dispositivo de almacenamiento
externo con interfaz USB.
ELECTROTECNIA 276
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Características.
Los discos duros portátiles se pueden usar fácilmente en múltiples PC para
compartir archivos. Un disco duro portátil permite una programación automática
para respaldo de archivos. Un dispositivo portátil permite archivar datos rápido
y fácilmente.
Estos discos siguen teniendo piezas móviles, tal como los tradicionales, y por lo
tanto están expuestos a fallos por golpes o manejo brusco.
La gran ventaja que tienen hoy en día sobre las memorias flash o pendrives
son la gran capacidad de almacenamiento, pero esta ventaja va siendo
alcanzada poco a poco, y por ello es posible que el futuro está en memorias
flash de mayor capacidad, sin piezas móviles ni complicaciones.
Los SCSI y ATA no pueden suministrar corriente para alimentación por lo que
siempre requieren un transformador para ellos. Los Firewire se alimentan de la
conexión sin problemas.
Las capacidades van desde el 2GB de los microdiscos a los miles de GB de los
de 3,5".
Lo habitual es que por los menos tengan conexión USB, lo que permite la
compatibilidad con casi cualquier ordenador fabricado después de 1998. Los
más actuales incluyen además conexión WiFi y se denominan Wi-Drives.
Funciones Añadidas.
El disco duro necesita un circuito impreso y una controladora, para convertir del
formato originario a USB, Firewire, WiFi u otro protocolo. A veces además se
amplían las capacidades y permite grabar de una Cámara miniDV directamente
y él mismo crea los ficheros dentro del disco duro.
ELECTROTECNIA 277
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Otros son discos duros multimedia player y permiten guardar videos como si
fuese un disco duro normal y reproducirlos conectando una salida de video que
llevan al televisor, sin necesidad de ningún otro aparato añadido y con una
menor dificultad de traslado.
Protección.
La carcasa y el propio disco duro portátil de 3,5" suelen preservarse de caídas
o golpes mediante una funda protectora de airfoam, como las utilizados para
proteger las videoconsolas.
ELECTROTECNIA 278
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
CAPÍTULO 10
10
CONFIGURACIÓN E INSTALACIÓN DE
SOFTWARE EN UNA PC
ELECTROTECNIA 279
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 280
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
e) Vista interior del case CPU donde se instalaran los dispositivos de computo.
ELECTROTECNIA 281
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 282
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 283
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
n) Instalación del flat del disco duro sobre la placa base y el disco duro,
conexión de la energía eléctrica en el disco duro.
ELECTROTECNIA 284
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Otros diseños de computadoras en sus placas base tiene el chip BIOS que
utiliza otras formas de ingreso al CMOS BIOS SETUP, tal como se muestra en
la siguiente tabla:
ELECTROTECNIA 285
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 286
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Fecha y hora.
Pues eso, la fecha y la hora. Recuerda que si tienes Windows 95 OSR2 o
Windows 98 más una placa base de última generación ésta será la hora que te
aparecerá en la barra de tareas de Windows, así que pon la correcta).
ELECTROTECNIA 287
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Aquí suelen diferir unas BIOS de otras. Primero pondremos las opciones de
una BIOS moderna y después las de una BIOS un poco más antigua:
a) Boot Sector Virus Protection: Hay que dejarlo en DISABLED sobre todo
cuando instalamos el Windows.
ELECTROTECNIA 288
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
QUICK BOOT.
Recomendamos poner DISABLED. Lo que hace botear rápidamente cuando el
ordenador está encendido. La opción DISABLED da tiempo para pulsar la tecla
<Del> (es decir, SUPR) mientras hace el test de memoria, y espera durante 40
segundos a recibir alguna señal del disco duro IDE (en el caso de que lo
tengamos configurado, aunque este tipo suele ser mucho menor si lo está
correctamente. ENABLED hace no espere a reconocer el disco IDE, y si no
recibe una señal inmediatamente no lo configurará. Tampoco podremos
arrancar la BIOS pues no saldrá el mensaje de pulsar la tecla <Del>. En este
último caso, para entrar en la BIOS tendremos que apagar y encender el
ordenador con el botón frontal.
ELECTROTECNIA 289
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
PRIMARY DISPLAY.
Es el tipo de monitor conectado al ordenador. Puede ser MONO, CGA 40x25,
CGA 80x25, VGA/EGA o ABSENT (Ausente). Tienes un monitor digamos
"normal" pon VGA/EGA si no quieres tener algunos efectos indeseados.
PASSWORD CHECK.
También llamada SEGURITY OPTION: Sirve para poner una contraseña. Tiene
tres opciones: ALWAYS es para ponerlo al iniciar un ordenador (se queda el
llamado "prompt" y guión parpadeante esperando a que lo introduzcamos),
SETUP (sólo sale al entrar en la BIOS) o DISABLED (recomendado) para
desactivarlo.
BOOT TO OS/2.
Por esta opción en ENABLED si tienes el sistema operativo OS/2 y quieres que
use más de 64MB. de la memoria del sistema. Si no tienes OS/2, déjalo en
DISABLED
EXTERNAL CACHE.
Permite usar la caché L2 de la placa base. Recomendamos altamente poner
ENABLED, aunque si tienes problemas no tendrás más remedido que dejarlo
en DISABLED.
VIDEO SHADOW.
Cuando se pone ENABLED, la BIOS se copia a la memoria del sistema e
incrementa la velocidad de vídeo. Puede tener 2 ó 3 opciones: si tiene
ENABLED y DISABLED, ponlo en ENABLED; y si tiene ENABLED, CACHED y
DISABLED, pon CACHED. Activarlo puede dar problemas en sistemas
operativos de 32 bits. Las direcciones de memoria C8000-CBFFF Shadow /
ELECTROTECNIA 290
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
• Otras opciones:
NUMERIC PROCESSOR.
Para activar el coprocesador matemático. Desde los 486 DX la opción está
obsoleta.
ELECTROTECNIA 291
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Este es el apartado donde más difieren unas BIOS con otras, y es el campo
más peligroso y donde quizás puede exprimirse más el rendimiento. Si es una
BIOS de las antiguas aquí se incluirá la próxima opción de "PCI/PNP SETUP".
No cambies estas opciones si no estás seguro, de hecho, verás que algunas
opciones son tan complejas que ni siquiera nosotros las sabemos:
USB FUNCION.
Permite activar o desactivar el soporte USB (Universal Serial Bus), Ponlo en
ENABLED si dispones de un sistema operativo que lo soporte, como Windows
95 OSR2 + USB Support, Windows 95 OSR2.1 o Windows 98. Si no, déjalo en
DISABLED.
PIPE FUNCTION.
La opción por defecto es ENABLED (leer en otras opciones de este mismo
comando).
ELECTROTECNIA 292
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
GATED CLOCK.
Esto sirve para controlar el reloj interno del bus de datos de la memoria. Si está
en ENABLED el reloj nunca para, cuando está en DISABLED se parará el reloj
automáticamente si no hay activar en el bus de datos de la memoria.
Pon la opción que quieras, no sabemos cuál es la mejor.
PASSIVE RELEASE.
Sirve para activar un mecanismo del puente sur cuando es PCI Master. La
revisión PCI 2.1 requiere que este campo esté activado. Sólo para usuarios
experimentados. Nosotros lo tenemos en ENABLED y parece que va bien,
ponlo tú también sobre todo si tienes un dispositivo PCI 2.1
DELAY TRANSACTION.
El tiempo para contactar con PCI 2.1. Échalo a suertes, pero por si acaso
escoge DISABLED.
AT BUS CLOCK.
Sólo afecta al ISA. Esta opción se usa para selecciona las configuraciones I/O
del reloj del bus. Las configuraciones posibles surgen de acuerdo con variar el
reloj del sistema, por ejemplo, en un sistema con una velocidad de bus de
50MHz, selecciona PCICLK/6 que podría resultar en un bus de velocidad de
8,33MHz. No conviene sobrepasar este valor, como mucho 10 ó 12, ya que las
tarjetas ISA funcionan a 8MHz o menos. Por si esto es muy complicado, déjalo
en AUTO.
ELECTROTECNIA 293
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Otras opciones:
PIPE FUNCTION.
La ejecución de una instrucción de maquina se lleva en varias etapas (algunas
maquinas pueden tener entre 5 y 9 etapas). Entonces cuando la CPU termina
de ejecutar la primera etapa de una instrucción comienza a ejecutar la segunda
etapa, pero también empieza a ejecutar la primera etapa de la siguiente
instrucción y así sucesivamente. Claramente este método de ejecución es mas
rápido, que si se hicieran una de tras de otra completamente.
L2 CACHE POLICY.
Prueba a poner el modo WRITE BACK, que es mejor que WRITE THRU DRAM
READ/WRITE TIMING.- Poner el valor mínimo si la memoria es de alta
velocidad (10-15ns), para memoria EDO (x222) y para memoria NO EDO
(x333).
Si la placa es una ATX de las nuevas, tendrás muchas opciones, tan curiosas
como encender el ordenador por una llamada de teléfono.
SUSPEND MODE.
Todos los dispositivos excepto la CPU se apagarán. Cada modo de ahorro de
energía tiene su respectivo contador. Cuando el contador llegue a cero, el
equipo entrará en modo de ahorro de energía. Si se detecta alguna señal o
evento durante la cuenta atrás, el contador vuelve al principio de nuevo.
ELECTROTECNIA 294
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 295
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
PNP/PCI CONFIGURATION.
Configura la activación de las señales de Plug and Play (PnP), y la asignación
de recursos a los conectores PCI de la tarjeta madre.
ELECTROTECNIA 296
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 297
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
IRQ 3/4/5/7/9/10/11/12/14/15.
Estas opciones especifican al bus que la línea IRQ está usada. Estas opciones
te permiten reservar IRQs para las tarjetas ISA, y determinan si se debería
quitar una IRQ para cedérselas a esos dispositivos configurables por la BIOS.
El conjunto de IRQs disponibles se determina leyendo el ESCD NVRAM. Si se
deben quitar más IRQs del conjunto, el usuario debería usarlas para
reservarlas a un ISA/EISA y configurarlo en él. El I/O se configura por la BIOS.
Todas las IRQs usadas por el I/O en la placa están configuradas como
PCI/PnP. IRQ12 sólo aparece si la opción de Mouse Support está en
DISABLED. IRQ14 y IRQ15 sólo estarán disponibles si el PCI IDE en la placa
está activado. Si todas los IRQs están puestas en ISA/EISA e IRQ14 y 15 están
asignados al PCI IDE de la placa, IRQ9 todavía estará disponible para los
dispositivos PCI y PnP, debido a que al menos un IRQ debe estar disponible
para ellos. Las opciones son ISA/EISA o PCI/PnP.
RESUMEN.
Si todos los dispositivos de vuestro equipo son Plug & Play, os recomendamos
personalmente poner PCI/PnP en todas las IRQs.
INTEGRATED PERIPHERALS.
Configuración de los puertos IDE, UDMA, PCI, USB, y los SERIALES y
PARALELOS. Si solamente se utiliza el canal IDE PRIMARIO no debe dejarse
activado el funcionamiento del canal SECUNDARIO, y la función UDMA debe
activarse únicamente si el disco duro está habilitado para esta tecnología. En
esta sección es frecuente ajustar la variante del puerto paralelo (SPP, ECP o
EPP) que debe responder a los requerimientos de la impresora que se instale.
ONBOARD IDE.
Esta opción especifica el canal IDE usado por el controlador IDE de la placa.
Las opciones son ENABLED/AUTO/BOTH, PRIMARY, SECONDARY y
DISABLED. A veces desactivar el segundo canal suele dar problemas porque
Windows lo detecta y coloca uno de sus signos de interrogación amarillos.
Por fin, las últimas opciones. En BIOS antiguas estas opciones están incluidas
en Chipset Setup
ELECTROTECNIA 298
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
AUTO (recomendado).
La BIOS asigna automáticamente direcciones de puerto y canales IRQ
automáticamente.
IR TRANSMITTER.
Esta opción especifica el tipo de transmisión usada por los dispositivos
infrarrojos conectados al segundo puerto serie. Esta opción sólo aparecerá si la
opción ONBOARD SERIAL PORT 2 está en AUTO o DISABLED. Las opciones
son 1.6 μseg. o 3/16 Baudios. No hay opciones por defecto.
IR DUPLEX MODE.
Esta opción especifica el tipo de transmisión usada por los dispositivos
infrarrojos conectados al segundo puerto serie. Esta opción sólo aparecerá si la
opción ONBOARD SERIAL PORT 2 está en AUTO o DISABLED. Las opciones
son HALF o FULL (suponemos que es similar al full duplex o half duplex de las
tarjetas de sonido). No hay opciones por defecto.
IR RECEIVER POLARITY.
Esta opción especifica el tipo de recepción osada por los dispositivos infrarrojos
conectados al segundo puerto serie. Esta opción sólo aparecerá si la opción
ELECTROTECNIA 299
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 300
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
USER PASSWORD.
Permite la modificación de la clave de acceso al arranque o al programa
SETUP. En caso que la clave quede activada y se olvide, la tarjeta madre
dispone de un jumper que permite la descarga de la memoria CMOS con lo que
se borran todos los ajustes incluyendo la clave de acceso.
SAVE & EXIT SETUP. Salvar en la memoria CMOS los cambios realizados, y
salir.
ELECTROTECNIA 301
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
• Sistema de Archivos.
• Formato Lógica.
ELECTROTECNIA 302
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 303
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
El disco duro soporta dos o mas particiones, por ejemplo la partición del disco
duro a por DOS, puede soporta dos particiones que son la Partición Primaria en
la cual se ubica la unidad de disco física y la Partición Extendida, la cual se
ubican las unidades lógicas de disco, ver figura:
ELECTROTECNIA 304
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 305
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
A:\>fdisk <enter>
El programa FDISK carga a nivel de DOS y muestra la siguiente mensaje:
Este mensaje nos indica dos actividades importantes, si el disco duro es menor
o igual a 512MB, escoger la opción “N”, que define el uso de la FAT16. Pero si
el disco duro es mayor que 512MB, escoger la opción “S”, que define el uso de
la FAT32.
ELECTROTECNIA 306
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 307
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 308
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 309
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 310
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 311
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 312
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
a) Instalación Directa.
Este método consiste en instalar colocando el DVD en la lectora, después de
haber preparado el disco duro, aplicando la siguiente grafica:
ELECTROTECNIA 313
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
• Hacer la conexión física de los discos duros, por ejemplo el origen es SLAVE
y el destino es MASTER.
• Copiar el programa GHOST en el disco duro MASTER y proceda activar el
ghost
ELECTROTECNIA 315
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 316
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Luego de crear las unidades de disco, debemos formatear cada una de ellas,
para lo cual seleccionamos la unidad y hacemos un clic en el botón
formatear. Luego de formatear nos muestra la ventana y hacemos un clic en
ACEPTAR.
ELECTROTECNIA 317
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Luego nos pedirá una que coloquemos una contraseña para el usuario
creado que le permita utilizar la PC. Pero si no queremos ponerle contraseña
hacemos un clic en el botón siguiente.
En la ventana para la para la actualización del sistema, podemos seleccionar
cualquiera de las tres opciones. Elegimos la opción recomendada por que
nos permite proteger mejor el sistema. Para que una PC este bien protegida
de los virus y programas peligrosos, debe tener las últimas actualizaciones
del sistema operativo y las firmas de los antivirus actualizado, ambos
procedimientos requiere que la PC posea acceso a internet.
En la siguiente ventana, configuramos nuestra zona horaria, fecha y hora de
nuestra PC. En el caso nuestro elegiremos muestra zona horaria (Bogotá,
Lima, Quito), la fecha y la hora la toma de la configuración realizada en el
programa BIOS-SETUP.
ELECTROTECNIA 318
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
DRIVERS.
Coloque el CD con los Drivers, y espere que le muestre el menú del CD,
en el que debe seleccionar el o los compones que va a configurar.
ELECTROTECNIA 319
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 320
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 321
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Maquinas Virtuales.
El sistema operativo establece una diferencia entre una máquina virtual y una
máquina física, tampoco lo pueden hacer las aplicaciones o las PCs de una
red. Incluso la propia máquina virtual considera que es un ordenador “real”. Sin
embargo, una máquina virtual se compone exclusivamente de software y no
contiene ninguna clase de componente de hardware. El resultado de ello es
que las máquinas virtuales ofrecen una serie de ventajas con respecto al
hardware físico.
Virtualización.
La virtualización una tecnología que te permite transformar hardware en
software, es decir crear en una PC o servidor fisico múltiples PCs virtuales,
cada una trabaja de estas maquinas virtuales trabajan de manera totalmente
independiente. Donde cada maquina virtual debida configurada funcionara
exactamente igual que un servidor o PC física.
ELECTROTECNIA 322
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 323
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Programas de Virtualización.
Existen varios programas de virtualizacion los cuales pueden trabajar en
diferentes sistemas operativos anfitriones, y puden utilizar diferentes sistemas
operativos invitados.
ELECTROTECNIA 324
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
VMware utiliza una virtualizacion por software que crea directamente una
capa de software en el hardware de la PC anfitriona o en su sistema
operativo. Esta capa de software crea máquinas virtuales y contiene un
monitor de máquina virtual al que se denomina hipervisor, en esta podemos
asignar recursos de hardware de forma dinámica y transparente, para poder
ejecutar varios sistemas operativos de forma simultánea en una PC física.
Este programa ademas nos permite crear una infraestructura virtual. Una
infraestructura virtual consiste en el mapping dinámico de recursos físicos en
función de las necesidades, es decir representa los recursos físicos de la
totalidad del entorno de TI, aglutinando ordenadores x86, así como su red y
almacenamiento asociados, en un pool unificado de recursos de TI.
Este programa posee una versión con licencia y una versión de prueba de 30
días o también llamado SHEWARE. Para esta demostración utilizaremos de la
instalación y uso del programa WMWARE, utilizaremos la versión SHEWARE
que podemos descargar de la página web:
http://downloads.vmware.com/d/info/desktop_downloads/vmware_workst
ation/7_0
ELECTROTECNIA 325
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
AUTOEVALUACIÓN No 10
3. ¿ Qué es el SETUP?
....................................................................................................................
....................................................................................................................
....................................................................................................................
....................................................................................................................
ELECTROTECNIA 326
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
CAPÍTULO 11
11
MANTENIMIENTO PREVENTIVO Y
DIAGNÓSTICO DE AVERIAS EN UNA PC
ELECTROTECNIA 327
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
a. Tarjeta Madre. Las mejores herramientas para esta labor son una brocha de
cerdas rígidas limpia, una aspiradora y un producto limpiador (alcohol
isopropílico). Utilice la brocha para remover el polvo adherido a los
componentes para que la aspiradora pueda a su vez quitarlo. Aunque se
debe de aspirar todo el polvo que se encuentre dentro del sistema hasta
donde sea posible (sin exagerar al remover puentes, disipadores adheridos
por pegamento o grapas, etc.), hay que poner especial énfasis en las
siguientes áreas:
Ventilador del CPU: Éste puede acumular casi tanto polvo como la fuente
de poder, y como el CPU genera demasiado calor, es importante conservar
limpio el ventilador para mantener en buen estado su capacidad de
enfriamiento. Por lo tanto, si a simple vista se nota que éste ha sufrido
deterioro por el paso del tiempo, o usted a notado que produce un ruido
excesivo, será necesario que lo cambie, ya que el calentamiento excesivo en
el CPU puede provocar fallos del sistema.
Una vez retirado el polvo excesivo se puede aplicar un producto que acabe
de retirar la suciedad de la tarjeta y que normalmente contiene una sustancia
desengrasante; esto sirve para evitar que pequeños residuos de grasa
provoquen la acumulación temprana de polvo.
SIMMs y DIMMs de Memoria RAM: Para poder limpiar los SIMMs y DIMMs
es necesario desmontarlos de la Tarjeta madre, a continuación se explica
cómo hacerlo:
ELECTROTECNIA 328
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Se debe tener cuidado de tomar por los bordes los SIMMs y DIMMs para
evitar posibles daños por descarga de electricidad estática generada por
nuestro cuerpo. Es importante recalcar lo anterior ya que a veces estos
dispositivos no se dañan de inmediato, pero se van degradando poco a
poco, reduciendo así la vida útil de éstos. Una vez acabado el proceso de
limpieza, hay que volver a colocar los SIMMs, lo cual implica un proceso
donde habrá que observar que éstos tienen una pequeña muesca en uno de
los lados y en la base de la ranura donde se inserta, hay una pequeña
rebaba de plástico que permite insertar el modulo de la memoria únicamente
cuando coincide con esta rebaba. Si esta operación se realiza
correctamente, se empuja el módulo de memoria hasta que las lengüetas
hacen un pequeño chasquido cuando se sitúan en su posición y aseguran el
módulo de memoria.
Disco Duro : Por lo regular, no hay nada que hacer para limpiar un disco
duro, de hecho, si se llegara a abrir un disco duro, en ese momento se haría
inmediatamente inservible, ya que la mínima partícula de polvo o del medio
ambiente, pueden destruir la cabeza de un disco duro. Por tanto, la limpieza
del disco duro, solamente implica retirar el polvo depositado sobre la
superficie externa con una brocha y aspiradora.
ELECTROTECNIA 329
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Se debe tener cuidado de tomar por los bordes laterales las tarjetas para
evitar posibles daños por descarga de electricidad estática generada por
nuestro cuerpo. Es importante recalcar lo anterior ya que a veces estos
ELECTROTECNIA 330
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 331
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Nota: Si planea desarmar el teclado y quitar las teclas para limpiar debajo de
ellas, es una buena idea hacer un dibujo de la distribución del teclado.
Puede utilizar posteriormente este dibujo para asegurarse de que tenga
todas las teclas de vuelta en su posición correcta.
- Retire los tornillos que sostienen la placa metálica en la parte posterior del
dispositivo del teclado. Ponga los tornillos en un recipiente, de manera
que no se pierdan.
- Levante cuidadosamente la placa. Lo que encontrará debajo de ella
depende del diseño del teclado; la figura siguiente es una muestra
bastante típica de lo que verá, alguna clase de circuito impreso. Con sumo
cuidado levante y limpie los contactos de la tarjeta con el alcohol y el
lienzo.
ELECTROTECNIA 332
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 333
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 334
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
0000 - 1000
1001 - 2000
2001 - 4000
3001 - 4000
X
4001 - 5000
5001 - 6000
En el gráfico la posición 3001 – 4000 está mal, cuando el programa utilice esta
posición para poner sus datos y llevarlo a la tarjeta de video el sistema se
colgará.
ELECTROTECNIA 335
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
Los sectores pueden ser lógicos o físicos, los lógicos generalmente son los
vínculos cruzados, generados mayormente por temporales, el uso simple del
disco duro o por causa de virus. Estos son fáciles de arreglar si utilizamos el
Norton. Los físicos no, y es que en determinadas áreas de los platos del
disco duro, el cabezal de lectura no puede tener acceso; mucho de estos
son generados por subidas de tensión si es que no utilizan estabilizador.
En otros casos suelen aparecer por el tiempo de uso del disco y por último
debido a las fallas de fábrica.
f. Fax – Módem. Por lo general esta tarjeta no tiene ningún problema siempre
y cuando haya sido bien configurada para no entrar en conflicto con otro
dispositivo del CPU. Uno de los problemas usuales son las interrupciones,
cuando usas el Módem se cuelga el mouse o la tarjeta de sonido deja de
funcionar o viceversa.
Esto se debe principalmente a que el mouse usa por lo general el COM1 con
la interrupción 4 y si el Módem lo conectan en el COM3 este puerto utiliza la
misma interrupción IRQ4 entonces el de menor prioridad deja de funcionar,
esto también sucede cuando el Módem es Plug & Play y si lo configuran con
IRQ5,7,9,10, puede entrar en conflicto con la SB que usa 5 o 10, Puerto de
impresora LPT1, etc.
ELECTROTECNIA 336
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
ELECTROTECNIA 337
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
AUTOEVALUACIÓN N° 11
5. ¿Qué podemos usar para ubicar los sectores defectuosos en un disco duro?
...............................................................................................................................
...............................................................................................................................
.............................................................................................................................
ELECTROTECNIA 338
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE I
BIBLIOGRAFIA
4. www.geocities.com/SiliconValley/Peaks/2329/
5. www.personal.redestb.es/juanhr/actuali1.htm
6. www.personal.redestb.es/juanhr/topsec.htm
7. www.salman-psi.com/hard/construi.htm
8. www.wikipedia.org
ELECTROTECNIA 339
PROPIEDAD INTELECTUAL DEL SENATI PROHIBIDA
SU REPRODUCCIÓN Y VENTA SIN LA AUTORIZACIÓN
CORRESPONDIENTE
SERVICIO NACIONAL DE ADIESTRAMIENTO EN TRABAJO INDUSTRIAL
ELECTROTECNIA
FASCÍCULO DE APRENDIZAJE
ELECTRÓNICA DE
COMPUTADORAS Y
PROGRAMACIÓN-PARTE II
CÓDIGO: 89001522
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
INDICE
Contenido:
Capítulo 1: Lenguaje de Programación .................................................. 9
Conceptos básicos sobre programación................................................................. 10
Lenguajes de alto nivel y de bajo nivel ................................................................... 10
Ensambladores, compiladores e Intérpretes .......................................................... 11
Pseudocódigo ......................................................................................................... 13
Diagrama de Flujo ................................................................................................... 13
Simbología y Significado ......................................................................................... 14
ELECTROTECNIA 5
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
ELECTROTECNIA 6
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
Bibliografia............................................................................................ 139
ELECTROTECNIA 7
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
ELECTROTECNIA 8
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
CAPÍTULO 1
1
LENGUAJE DE PROGRAMACIÓN
ELECTROTECNIA 9
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
LENGUAJE DE PROGRAMACIÓN
Vamos a ver en primer lugar algún ejemplo de lenguaje de alto nivel, para
después comparar con lenguajes de bajo nivel, que son los más cercanos al
ordenador.
ELECTROTECNIA 10
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
Los lenguajes de bajo nivel son más cercanos al ordenador que a los lenguajes
humanos. Eso hace que sean más difíciles de aprender y también que los fallos
sean más difíciles de descubrir y corregir, a cambio de que podemos optimizar
al máximo la velocidad (si sabemos cómo), e incluso llegar a un nivel de control
del ordenador que a veces no se puede alcanzar con otros lenguajes. Por
ejemplo, escribir Hola Mundo en lenguaje ensamblador sería algo así:
dosseg
.model small
.stack 100h
.data
hello_message db 'Hola Mundo',0dh,0ah,'$'
.code
main proc
mov ax,@data
mov ds,ax
mov ah,9
mov dx,offset hello_message
int 21h
mov ax,4C00h
int 21h
main endp
end main
ELECTROTECNIA 11
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
Por ejemplo, en el caso de Windows y del programa que nos saluda en VBasic,
tendríamos un fichero fuente llamado SALUDO.VB. Este fichero no serviría de
nada en un ordenador que no tuviera un compilador de VBASIC. En cambio,
después de compilarlo obtendríamos un fichero SALUDO.EXE, capaz de
funcionar en cualquier otro ordenador que tuviera el mismo sistema operativo,
aunque no tenga un compilador instalado.
Además, hoy en día existe algo que parece intermedio entre un compilador y
un intérprete: Existen lenguajes que no se compilan para obtener un ejecutable
para un ordenador concreto, sino un ejecutable “genérico”, que es capaz de
funcionar en distintos tipos de ordenadores, a condición de que en ese
ordenador exista una “máquina virtual” capaz de entender esos ejecutables
genéricos. Esta es la idea que se aplica en Java: los fuentes son ficheros de
texto, con extensión “.java”, que se compilan a ficheros “.class”. Estos ficheros
“.class” se podrían llevar a cualquier ordenador que tenga instalada una
“máquina virtual Java” (las hay para la mayoría de sistemas operativos). Esta
ELECTROTECNIA 12
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
misma idea se sigue en el lenguaje C#, que se apoya en una máquina virtual
llamada “Dot Net Framework” (algo así como “armazón punto net”).
PSEUDOCÓDIGO.
A pesar de que los lenguajes de alto nivel se acercan al lenguaje natural, que
nosotros empleamos, es habitual no usar ningún lenguaje de programación
concreto cuando queremos plantear los pasos necesarios para resolver un
problema, sino emplear un lenguaje de programación ficticio, no tan estricto,
muchas veces escrito incluso en español. Este lenguaje recibe el nombre de
pseudocódigo.
Por ejemplo, un algoritmo que controlase los pagos que se realizan en una
tienda con tarjeta de crédito, escrito en pseudocódigo, podría ser:
DIAGRAMA DE FLUJO.
El diagrama de flujo o diagrama de actividades es la representación gráfica del
algoritmo o proceso. Se utiliza en la programación para representar en forma
gráfica la secuencia lógica que desarrolla un programa.
CARACTERÍSTICAS:
Un diagrama de flujo siempre tiene un único punto de inicio y un único punto de
término.
ELECTROTECNIA 13
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
SIMBOLOGÍA Y SIGNIFICADO:
• Óvalo o Elipse. Inicio y término del programa (Abre y/o cierra el diagrama).
• Rectángulo. Actividad (Representa la ejecución de una o más actividades o
procedimientos).
• Rombo. Decisión (formula una pregunta o cuestión).
• Circulo. Conector (Representa el enlace de actividades con otra dentro de
un procedimiento).
• Triángulo. Si esta boca abajo es utilizada para guardar un documento en
forma permanente y si esta boca arriba se utiliza para proporcionar un
tiempo para el almacenamiento del documento.
• Paralelogramo. Para mostrar la información procesada (Salida de datos)
ELECTROTECNIA 14
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
INICIO
HOLA
MUNDO
FIN
ELECTROTECNIA 15
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
CAPÍTULO 2
2
EL LENGUAJE C
ELECTROTECNIA 16
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
LENGUAJE C
• Permite hacer “casi de todo”: podemos usar órdenes de alto nivel (muy
cercanas al lenguaje humano), pero también de bajo nivel (más cercanas a
lo que realmente entiende el ordenador). De hecho, podremos incluso
incorporar órdenes en lenguaje ensamblador en medio de un programa
escrito en C, aunque eso supone que ganemos en control de la máquina que
estamos manejando, a costa de perder en portabilidad (el programa ya no se
podrá llevar a otros ordenadores que no usen el mismo lenguaje
ensamblador).
ELECTROTECNIA 17
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
sino ampliaciones de algún tipo. Esto dará lugar al fichero ejecutable, que
ya podremos usar desde MsDos o el sistema operativo que estemos
manejando, en nuestro ordenador o en cualquier otro, aunque ese otro
ordenador no tenga el compilador que nosotros hemos utilizado.
La mayoría de los compiladores actuales permiten dar todos estos pasos desde
un único entorno, en el que escribimos nuestros programas, los compilamos, y
los depuramos en caso de que exista algún fallo.
ESCRIBIR UN TEXTO EN C.
#include <stdio.h>
#include <iostream>
Int main()
{
printf("Hola Mundo");
system("pause");
return 0;
}
Este programa escribe “Hola Mundo” en la pantalla. Pero hay mucho que
comentar:
• Eso de “#include” nos permite incluir librerías para ampliar el lenguaje base.
En este caso, el motivo es que en el lenguaje C base no hay predefinida
ninguna orden para escribir en pantalla, sino que este tipo de órdenes son
una extensión, que se define en un fichero llamado “stdio.h”. Esto no es un
problema, vamos a encontrar ese “stdio.h” en cualquier compilador que
usemos. ¿Por qué no hay órdenes de pantalla en el lenguaje base? Hay que
recordar que un ordenador no es sólo lo que acostumbramos a tener sobre
nuestra mesa, con pantalla y teclado: existen otros muchos tipos de
ordenadores que realizan tareas complejas y no necesitan una pantalla
durante su funcionamiento normal, como el ordenador que controla el ABS
ELECTROTECNIA 18
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
• El comando “system” se utiliza para ejecutar los comandos del DOS, el cual
está incluido en la librería “iostream”.
#include <stdio.h>
#include <iostream>
Int main() { printf("Hola Mundo"); system("pause"); return 0; }
Y la cosa no acaba aquí. Aún quedan más cosas de las que aparece en este
programa, pero cuando ya vayamos practicando un poco, iremos concretando
más alguna que otra cosa de las que aquí han quedado poco detalladas.
ELECTROTECNIA 19
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
ELECTROTECNIA 20
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
(Si todavía no hemos guardado los cambios en nuestro archivo fuente, nos
pedirá que lo hagamos antes de compilarlo).
Ejercicios:
ELECTROTECNIA 21
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
CAPÍTULO 3
3
IDENTIFICADORES.
Identificadores.
Comentarios.
Tipos de Variables.
Numeros Enteros.
Numeros con Decimales.
Caracteres.
Constantes.
Operadores.
Operadores Aritméticos.
Incremento y Decremento.
Opeardores de Comparación.
Operadores Lógicos.
Expresiones.
ELECTROTECNIA 22
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
IDENTIFICADORES.
ELECTROTECNIA 23
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
que puede que algún compilador considerase como iguales las variables
NumeroParaAnalizar1 y NumeroParaAnalizar2, porque tienen las primeras 18
letras iguales. El C estándar (ANSI C) permite cualquier longitud, pero sólo
considera las primeras 31.
COMENTARIOS.
TIPOS DE VARIABLES:
Números Enteros:
int.- Utilizado para declarar números enteros positivos o negativos.
Short int.- Utilizado para declarar números enteros cortos.
Long int.- Para declarar números enteros grandes.
Caracteres:
char.- Declara un carácter que puede ser una letra o un número.
char var[num].- Declara una cadena de caracteres, donde var es el nombre de
la variable y num es la longitud de esta cadena.
ELECTROTECNIA 24
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
int PrimerNumero;
float SegundoNumero;
char TercerDato;
char Nombre[6];
PrimerNumero = 789;
SegundoNumero = 78.4567;
TercerDato = 'a';
Nombre = 'Senati';
Dato1 = 987654321;
Dato2 = 987654321;
Dato3 = 987654321;
Dato4 = 987654321.987654321;
Dato5 = 987654321.987654321;
system("pause");
return 0;
}
ELECTROTECNIA 25
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
CONSTANTES.
const.- Se utiliza al declarar una variable para indicar que el valor asignado es
una constante y no cambiara su valor en todo el programa, puede ser utilizado
en números enteros, con decimales y caracteres (textos).
system("pause");
return 0;
}
ELECTROTECNIA 26
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
OPERADORES.
Operador Operación
+ Suma
- Resta, negación
* Multiplicación
/ División
% Resto de la división (“módulo”)
-- Decremento
++ Incremento
D1 = 10;
D2 = 3;
system("pause");
return 0;
}
ELECTROTECNIA 27
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
Y--;
Es lo mismo que
X = X + 1;
Y = Y -1;
Operador Operación
< Menor que
> Mayor que
<= Menor o igual que
>= Mayor o igual que
== Igual a
!= No igual a (distinto de)
system("pause");
return 0;
}
Nota: En este programa para leer los valores desde el teclado se está
utilizando el comando scanf, el cual se utiliza de la misma forma que el
ELECTROTECNIA 28
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
comando printf, (Se coloca entre comillas las variables que se van a leer), y las
variables que van a ser leídas desde el teclado se agrega el carácter &.
Operador Significado
&& Y
|| O
! No
system("pause");
return 0;
}
ELECTROTECNIA 29
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
{
int Dato1;
int Dato2;
int Dato3;
Dato1 = 218;
Dato2 = 345;
Dato3 = Dato1 + Dato2;
system("pause");
return 0;
}
-------------------------------------------------------------------------------------------------------------------------------
system("pause");
return 0;
}
-------------------------------------------------------------------------------------------------------------------------------
system("pause");
return 0;
}
Orden de prioridad de los operadores
ELECTROTECNIA 30
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
• Luego la negación.
• Después las multiplicaciones, divisiones y el resto de la división.
• Finalmente, las sumas y las restas.
• En caso de tener igual prioridad, se analizan de izquierda a derecha.
Ejercicios Propuestos:
1. Hacer un programa que calcule el producto de los números 25 y 7.
2. Hacer un programa que calcule la división de 963 entre 45.
3. Hacer un programa que calcule las siguientes operaciones matemáticas.
• 3–2+3*5
• (20 + 5) % 6
• 15 + -5 * 6 / 10
• 2 + 10 / 5 * 2 – 7 % 1
EXPRESIONES.
Los operadores, constantes y variables constituyen las expresiones. Una
expresión en C es cualquier combinación valida de estas piezas. Como la
mayoría de las expresiones tienden a caer en las reglas generales del algebra,
se dan por sabidas. Sin embargo, las expresiones tienen una serie de aspectos
que son relacionados específicamente con C.
1. Todos los char y short int se convierten a int. Todos los float a double.
2. Para todo par de operandos, lo siguiente ocurre en secuencia. Si uno de los
operandos es un long double, el otro se convierte a long double. Si uno de
los operandos es double, el otro se convierte a double. Si uno de los
operandos es long, el otro se convierte en long. Si uno de los operandos es
unsigned, el otro se convierte a unsigned.
ELECTROTECNIA 31
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
char ch;
Int i;
Float f;
double d;
result = (ch / i) + (f * d) – (f + i);
double
double
ELECTROTECNIA 32
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
Al igual que ocurría con expresiones como %d, que tenían un significado
especial, ocurre lo mismo con ciertos caracteres, que nos permiten hacer cosas
como bajar a la línea siguiente o mostrar las comillas en pantalla.
Secuencia Significado
\a Emite un pitido
\b Retroceso (permite borrar el último carácter)
\f Avance de página (expulsa una hoja en la impresora)
\n Avanza de línea (salta a la línea siguiente)
\r Retorno de carro (va al principio de la línea)
\t Salto de tabulación horizontal
\v Salto de tabulación vertical
\' Muestra una comilla simple
\" Muestra una comilla doble
\\ Muestra una barra invertida
\0 Carácter nulo (NULL)
\7 Emite un pitido (igual que \a)
\ddd Un valor en octal
\xddd Un valor en hexadecimal
ELECTROTECNIA 33
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
ELECTROTECNIA 34
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
-------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------
ELECTROTECNIA 35
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
-------------------------------------------------------------------------------------------------------------------------------
/* Programa que lee dos valores de tipo carácter*/
#include <stdio.h>
#include <iostream>
Int main()
{
char letra1, letra2;
printf("Teclea una letra ");
scanf("%c", &letra1);
getchar();
printf("Teclea otra letra ");
scanf("%c", &letra2);
getchar();
printf("La Primera letra es %c y la segunda es %c \n",letra1, letra2);
system("pause");
return 0;
}
-------------------------------------------------------------------------------------------------------------------------------
/* Programa que calcula el promedio, la suma y el producto de 3 valores */
#include <stdio.h>
#include <iostream>
Int main()
{
int a,b,c;
printf("Ingrese el Primer Número : ");
scanf("%d", &a);
printf("Ingrese el Segundo Número : ");
scanf("%d", &b);
printf("Ingrese el Tercer Número : ");
scanf("%d", &c);
printf("El Promedio es : %d \n", (a+b+c)/3);
printf("La Suma es : %d \n", a+b+c);
printf("El Producto es : %d \n", a*b*c);
system("pause");
return 0;
}
/* Programa que calcula el área del triángulo y del circulo*/
#include <stdio.h>
#include <iostream>
Int main()
{
int a; const float c = 3.141516;
printf("Ingrese un Número : ");
scanf("%d", &a);
printf("El valor de PI es : %f \n", c);
printf("El Área del Cuadrado es : %d \n", a*a);
printf("El Área del Circulo es : %f \n", c*(a*a));
system("pause");
return 0;
}
ELECTROTECNIA 36
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
Ejercicios propuestos:
1) Crear un programa que pida al usuario que teclee cuatro letras y las muestre
en pantallas juntas, pero en orden inverso, y entre comillas dobles. Por
ejemplo si las letras que se teclean son a, l, o, h, escribiría "hola".
3) Crear un programa que pida ingresar dos números enteros y dos números
con decimales, realizar la división del primer número entero entre el primer
número decimal, dividir el segundo número decimal entre el numero entero.
Muestre en pantalla los resultados como números enteros y números
decimales.
AND OR
1 1 1 1 1 1
1 0 0 1 0 1
0 1 0 0 1 1
0 0 0 0 0 0
ELECTROTECNIA 37
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
CAPÍTULO 4
4
SENTENCIAS DE CONTROL DE PROGRAMA
ELECTROTECNIA 38
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
LA SENTENCIA IF.
Vamos a ver cómo podemos comprobar si se cumplen condiciones. La primera
construcción que usaremos será "si ... entonces ...". El formato en C es:
if (condición) sentencia;
system("pause");
return 0;
}
----------------------------------------------------------------------------------------------------------
/* Encuentra el número mágico */
#include <stdio.h>
#include <iostream>
Int main()
{
int magico; /* Este es el número entero mágico */
int numero;
magico = rand(); /* Genera un número aleatorio */
printf("Escribe un número: ");
scanf("%d", &numero);
if (numero == magico) printf(" ** El número es Correcto ** \n");
system("pause");
return 0;
}
ELECTROTECNIA 39
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
Ejercicios propuestos:
• Crear un programa que pida al usuario un número entero y diga si es par
(pista: habrá que comprobar si el resto que se obtiene al dividir entre dos es
cero: if (x % 2 == 0)).
• Crear un programa que pida al usuario dos números enteros y diga cuál de
los dos es el número mayor.
• Crear un programa que pida al usuario dos números enteros y diga si el
primero es múltiplo del segundo (pista: igual que antes, habrá que ver si el
resto de la división es cero: a % b == 0).
IF Y SENTENCIAS COMPUESTAS.
La "sentencia" que se ejecuta si se cumple la condición puede ser una
sentencia simple o una compuesta. Las sentencias compuestas se forman
agrupando varias sentencias simples entre llaves ( { y } ):
system("pause");
return 0;
}
Ejemplo del uso correcto de la sentencia IF (Usando llaves para inicio y fin).
system("pause");
return 0;
}
LA SENTENCIA IF – ELSE.
Podemos indicar también lo que queremos que ocurra en caso de que no se
cumpla la condición, para ello usaremos la orden “else” (en caso contrario), de
la siguiente manera:
system("pause");
return 0;
}
ELECTROTECNIA 41
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
IFS ANIDADOS.
system("pause");
return 0;
}
----------------------------------------------------------------------------------------------------------
/* Encuentra el número mágico*/
#include <stdio.h>
#include <iostream>
Int main()
{
int magico;
int numero;
magico = rand();
printf(“Ingresa un Número : “);
scanf(“%d”, &numero);
ELECTROTECNIA 42
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
if (numero == magico)
{
printf(“*** El número es correcto *** ”);
printf(“%d es un número mágico \n”,magico);
}
else
{
If (numero > magico) printf(“ERROR Número demasiado Alto \n”);
else printf(“ERROR Número demasiado Bajo \n”);
}
system("pause");
return 0;
}
----------------------------------------------------------------------------------------------------------
/* Programa que calcula la edad aproximada de una persona*/
#include <stdio.h>
#include <iostream>
int main() /* Cuerpo del programa */
{
int nac;
int act;
printf("Introduce el año de tu nacimiento : ");
scanf("%d", &nac);
printf("\n");
printf("Introduce el año actual : ");
scanf("%d", &act);
printf("\n");
if (nac == act)
{
printf(“Tiene CERO años de edad”);
}
else
{
if (nac < act) printf(“Su edad aproximada es %d \n”,(act – nac));
else printf(“ERROR el año actual no puede ser menor…”);
}
system("pause");
return 0;
}
Ejercicios propuestos:
• Crear un programa que pida una letra al usuario y diga si se trata de una
vocal.
• Crear un programa que pida al usuario dos números enteros y diga “Uno de
los números es positivo”, “Los dos números son positivos” o bien “Ninguno
de los números es positivo”, según corresponda.
ELECTROTECNIA 43
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
• Crear un programa que pida al usuario tres números reales y muestre cuál
es el mayor de los tres.
• Crear un programa que pida al usuario dos números enteros cortos y diga si
son iguales o, en caso contrario, cuál es el mayor de ellos.
• Crear un programa que pida dos números enteros, realice la división de
ambos siempre y cuando sean diferentes de CERO, de lo contrario que
muestre un mensaje de ERROR.
OPERADOR CONDICIONAL: ?
En C hay otra forma de asignar un valor según se dé una condición o no. Es el
“operador condicional” ? : que se usa de la siguiente manera:
#include <stdio.h>
#include <iostream>
int main()
{
int a, b, mayor;
mayor = (a>b) ? a : b;
printf("El mayor de los números es %d.\n", mayor);
system("pause");
return 0;
}
Un segundo ejemplo, que sume o reste dos números según la opción que se
escoja, sería:
ELECTROTECNIA 44
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
#include <stdio.h>
#include <iostream>
int main()
{
int a, b, resultado;
int operacion;
system("pause");
return 0;
}
Ejercicios propuestos:
• Crear un programa que use el operador condicional para mostrar un el valor
absoluto de un número de la siguiente forma: si el número es positivo, se
mostrará tal cual; si es negativo, se mostrará cambiado de signo.
• Crear un programa que use el operador condicional para dar a una variable
llamada “iguales” (entera) el valor 1 si los dos números que ha tecleado el
usuario son iguales, o el valor 0 si son distintos.
• Usar el operador condicional para calcular el menor de dos números
ingresados por teclado.
LA SENTENCIA SWITCH.
Aunque el escalonador de if-else-if pueda realizar comprobaciones múltiples,
no es elegante. El código puede ser difícil de seguir y puede confundir incluso
al autor pasado el tiempo. Por estas razones, C tiene incorporada una
sentencia de bifurcación múltiple llamada switch. En switch, la computadora
comprueba una variable sucesivamente frente a una lista de constantes
enteras o de carácter. Después de encontrar una coincidencia, la computadora
ejecuta la sentencia o bloque de sentencias que se asocian con la constante.
La forma general de la sentencia switch es:
ELECTROTECNIA 45
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
switch (variable)
{
case constante1:
Secuencia de sentencias asociadas;
break;
case constante2:
Secuencia de sentencias asociadas;
break;
.
.
.
.
default:
Secuencia de sentencias asociadas;
}
#include <stdio.h>
#include <iostream>
int main()
{
char tecla;
printf("Pulse una tecla cualquiera y luego ENTER: ");
scanf("%c", &tecla);
switch (tecla)
{
case ' ': printf("Es un espacio en Blanco. \n");
break;
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
ELECTROTECNIA 46
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
case '7':
case '8':
case '9':
case '0': printf("La tecla corresponde a un Número. \n");
break;
default: printf("Es cualquier carácter, No espacio, No Número. \n");
}
system("pause");
return 0;
}
----------------------------------------------------------------------------------------------------------
/* Programa que selecciona una opción de un menú de opciones */
#include <stdio.h>
#include <iostream>
int main()
{
char ch;
system("pause");
return 0;
}
----------------------------------------------------------------------------------------------------------
/* Programa que muestra mensajes en pantalla utilizando números*/
ELECTROTECNIA 47
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
#include <stdio.h>
#include <iostream>
int main()
{
Int t;
for (t=0; t < 10; t++)
switch (t)
{
case 1: printf("Ahora");
break;
case 2: printf(" es ");
break;
case 3:
case 4: printf("la");
printf(“ hora de los buenos hombres \n”);
break;
case 5:
case 6: printf(“a “);
break;
case 7:
case 8:
case 9: printf(" . ");
break;
}
system("pause");
return 0;
}
Ejercicios propuestos:
• Crear un programa que lea una letra tecleada por el usuario y diga si se trata
de una vocal, una cifra numérica o una consonante.
• Crear un programa que lea una letra tecleada por el usuario y diga si se trata
de un signo de puntuación, una cifra numérica o algún otro carácter.
• Crear un programa que lea un número entre el 1 y el 7 y muestre en pantalla
el nombre del día correspondiente, si ingresa cualquier otro número salga el
mensaje EL NÚMERO ES ERRADO.
• Crear un programa que lea un numero entre el 1 y el 12 y muestre en
pantalla el nombre del mes correspondiente, si ingresa cualquier otro
número salga el mensaje EL NUMERO ES ERRADO.
• Crear un Programa donde muestre un Menú de Opciones, 1) Pago en
Efectivo, 2)Pago en Cheque, 3) Pago con Tarjeta de Débito, 4) Pago con
tarjeta de Crédito, 5) Terminar, pida ingresar una opción y luego muestre en
pantalla el Mensaje “Usted realizara el pago utilizando ………....” (Efectivo,
Cheque, Tarjeta de Débito, Tarjeta de Crédito).
ELECTROTECNIA 48
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
CAPÍTULO 5
5
BUCLES
Bucles.
El Bucle FOR.
Saliendo de un bucle FOR.
Bucles Anidados.
Sentencia BREAK.
Sentencia CONTINUE.
El Bucle WHILE.
El Bucle DO – WHILE.
Etiquetas y GOTO.
Entrada / Salida Básica.
Printf.
Scanf.
Putchar.
Getchar.
ELECTROTECNIA 49
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
BUCLES.
EL BUCLE FOR
Ésta es la orden que usaremos habitualmente para crear partes del programa
que se repitan un cierto número de veces, la forma general de la sentencia for
es:
Así, para contar del 1 al 10, tendríamos 1 como valor inicial, <=10 como
condición de repetición, y el incremento sería de 1 en 1. Por tanto, el programa
quedaría de la siguiente manera:
#include <stdio.h>
#include <iostream>
Int main()
{
int contador;
for (contador=1; contador<=10; contador++)
printf("%d ", contador);
system("pause");
return 0;
}
Ejercicios propuestos:
• Crear un programa que muestre los números del 15 al 5, descendiendo
(pista: en cada pasada habrá que descontar 1, por ejemplo haciendo i--).
• Crear un programa que muestre los primeros ocho números pares (pista: en
cada pasada habrá que aumentar de 2 en 2, o bien mostrar el doble del valor
que hace de contador).
En un “for”, realmente, la parte que hemos llamado “Incremento” no tiene por qué
incrementar la variable, aunque ése es su uso más habitual. Es simplemente una
ELECTROTECNIA 50
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
#include <stdio.h>
#include <iostream>
Int main()
{
For ( ; ; ) /* Este bucle es infinito */
{
ch = getchar(); /* Lee un carácter del teclado */
if (ch == ‘A’) break; /* y termina el programa cuando es A */
}
system("pause");
return 0;
}
OBSERVACIONES.
Para “contar” utilizando la sentencia for, no necesariamente hay que usar
números. Por ejemplo, podemos contar con letras así:
#include <stdio.h>
#include <iostream>
Int main()
{
char letra;
for (letra='a'; letra<='z'; letra++)
printf("%c", letra);
system("pause");
ELECTROTECNIA 51
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
return 0;
}
#include <stdio.h>
#include <iostream>
Int main()
{
char letra;
for (letra='z'; letra>='a'; letra-=2)
printf("%c", letra);
system("pause");
return 0;
}
Ejercicios propuestos:
• Crear un programa que muestre las letras de la Z (mayúscula) a la A
(mayúscula, descendiendo).
• Crear un programa que escriba en pantalla la tabla de multiplicar del 12.
• Crear un programa que escriba en pantalla los números del 1 al 50 que sean
múltiplos de 3 (pista: habrá que recorrer todos esos números y ver si el resto
de la división entre 3 resulta 0).
BUCLES ANIDADOS.
Cuando un bucle está dentro de otro, el bucle más interno se dice que esta
anidado. Los bucles anidados permiten resolver algunos problemas
interesantes de programación.
Los bucles “for” se pueden anidar (incluir uno dentro de otro), de modo que
podríamos escribir las tablas de multiplicar del 1 al 5 con for anidados:
#include <stdio.h>
#include <iostream>
int main()
{
int tabla, numero;
for (tabla=1; tabla<=5; tabla++)
ELECTROTECNIA 52
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
system("pause");
return 0;
return 0;
}
Podemos salir de un bucle “for” antes de tiempo con la orden “break”, esta
orden hace que el programa salte fuera del bucle for.
/* Usando un temporizador */
ELECTROTECNIA 53
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
#include <stdio.h>
#include <iostream>
Int main()
{
int i;
long int tm;
i = 0;
tm = time(0);
for( ; ; )
{
i++;
if (kbhit()) break;
}
system("pause");
return 0;
}
En este programa estamos utilizando la función time() para leer la hora actual
del sistema. La hora real del sistema se da en segundos y representa el lapso
de tiempo desde las 00:00:00 hora. Debido a que el número de segundos
excede al que guarda un entero, el programa debe usar una variable long int.
La función kbhit() comprueba si el usuario ha presionado una tecla en el
teclado, si es correcto devuelve verdad; si no, devuelve falso.
ELECTROTECNIA 54
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
system("pause");
return 0;
}
ELECTROTECNIA 55
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
ELECTROTECNIA 56
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
EL BUCLE WHILE.
donde sentencia, como establecimos antes, puede ser una sentencia vacía,
una sentencia única o un bloque de sentencias que se repetirán. La condición
puede ser cualquier condición válida. El bucle itera mientras la condición sea
verdad. Cuando llega a ser falsa, el control del programa pasa a la línea que
sigue al bucle.
Este ejemplo muestra una rutina de entrada desde el teclado que simplemente
cicla hasta que se pula la letra A.
/* Bucle while*/
#include <stdio.h>
#include <iostream>
Int main()
{
char ch;
ELECTROTECNIA 57
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
system("pause");
return 0;
}
system("pause");
return 0;
}
Ejercicios propuestos:
• Crear un programa que pida al usuario su contraseña (numérica). Deberá
terminar cuando introduzca como contraseña el número 4567, pero
volvérsela a pedir tantas veces como sea necesario.
• Crea un programa que escriba en pantalla los números del 1 al 10, usando
“while”.
• Crea un programa que escriba en pantalla los números pares del 26 al 10
(descendiendo), usando “while”.
ELECTROTECNIA 58
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
EL BUCLE DO / WHILE.
Aunque no son necesarias las llaves cuando sólo está presente una sentencia,
se usan normalmente por legibilidad y para evitar confusión (en la parte del
lector, y no del compilador) con el while.
Este programa usa un do/while para leer números desde el teclado hasta que
uno de ellos es menor que 100:
system("pause");
return 0;
}
ELECTROTECNIA 59
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
system("pause");
return 0;
}
ELECTROTECNIA 60
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
{
printf("Introduzca su clave numérica: ");
scanf("%d", &clave);
if (clave != valida) printf(" Clave No válida! \n");
}
while (clave != valida);
printf("Clave Aceptada. \n");
system("pause");
return 0;
}
Ejercicios propuestos:
• Crear un programa que pida números positivos al usuario, y vaya calculando
la suma de todos ellos (terminará cuando se teclea un número negativo o
cero).
• Crea un programa que escriba en pantalla los números del 1 al 10, usando
"do..while".
• Crea un programa que escriba en pantalla los números pares del 26 al 10
(descendiendo), usando "do..while".
• Crea un programa que pida al usuario su código de usuario (un número
entero) y su contraseña numérica (otro número entero), y no le permita
seguir hasta que introduzca como código 1024 y como contraseña 4567.
ETIQUETAS Y GOTO.
Aunque el goto tenía el favor de la comunidad de programadores hace unos
años, se ha depreciado recientemente. Este libro no juzgará su validez para
forma de control de programa. Sin embargo, seria establecido que no hay
situaciones de programación que requieran el uso de goto (no es un elemento
necesario para hacer completo el lenguaje). Sin embargo, el goto es un
convenio que, si se usa con cuidado, puede ser beneficioso en ciertas
situaciones de programación. El goto requiere una etiqueta para funcionar.
Una etiqueta es un identificador valido de C que se sigue por dos puntos. Aun
mas, la etiqueta debe estar en la misma función que usa el goto. Por ejemplo,
se podría escribir un bucle que muestre los números del 1 al 50 usando goto y
una etiqueta.
/* Contador del 1 al 50 utilizando goto */
#include <stdio.h>
#include <iostream>
Int main()
{
int x = 0;
ELECTROTECNIA 61
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
regresa:
x++;
printf(“El número es: %d \n”, x);
if (x < 50) goto regresa;
system("pause"); return 0;
}
El uso indisciplinado del goto está muy mal visto, porque puede ayudar a
hacer programas llenos de saltos, difíciles de seguir. Pero en casos concretos
puede ser muy útil, por ejemplo, para salir de un bucle muy anidado (un “for”
dentro de otro “for” que a su vez está dentro de otro “for”: en este caso, “break”
sólo saldría del “for” más interno).
salida:
printf("Fin del programa\n");
system("pause");
return 0;
}
Ahora pasaremos a explicar los comandos que nos permiten leer información
desde el teclado y también los que nos permiten mostrarlo en pantalla, junto
con las diferentes especificaciones de formato que podemos utilizar.
ELECTROTECNIA 62
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
PRINTF.
Ya conocemos el manejo básico de la orden “printf”:
printf( formato [, dato1, dato2, ...])
(El corchete indica que la cadena de texto de formato debe existir siempre,
pero los datos adicionales son opcionales, pueden no aparecer).
c Un único carácter
d Un número entero decimal (en base 10) con signo
f Un número real (coma flotante)
e Un número real en notación exponencial, usando la “e” minúscula
E Un número real en notación exponencial, usando la “E” mayúscula
g Usa “e” o “f” (el más corto), con “e” minúscula
G Usa “e” o “f” (el más corto), con “E” mayúscula
i Un número entero decimal con signo
u Un número entero decimal sin signo (unsigned)
h Corto (modificador para un entero)
l Largo (modificador para un entero)
x Un número entero decimal sin signo en hexadecimal (base 16)
X Un número entero decimal sin signo en hexadecimal en mayúsculas
o Un número entero decimal sin signo en octal (base 8)
s Una cadena de texto (que veremos en el próximo tema)
ELECTROTECNIA 63
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
> Si ese número empieza por 0, los espacios sobrantes (si los hay) de la
anchura mínima se rellenan con 0 (por ejemplo: %07d).
system("pause");
return 0;
}
ELECTROTECNIA 64
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
Casi todo es fácil de seguir, pero aun así vemos alguna cosa desconcertante...
Por ejemplo, ¿por qué el número real aparece como 234.567001, si nosotros lo
hemos definido como 234.567? Hay que recordar que los números reales se
almacenan con una cierta pérdida de precisión. En un “float” sólo se nos
garantiza que unas 6 cifras sean correctas. Si mostramos el número con más
de 6 cifras (estamos usando 9), puede que el resultado no sea totalmente
correcto. Si esta pérdida de precisión es demasiado grande para el uso que
queramos darle, deberemos usar otro tipo de datos, como double.
ELECTROTECNIA 65
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
Otra opción más avanzada es que si usamos un asterisco (*) para indicar la
anchura o la precisión, los primeros datos de la lista serán los valores que se
tomen para indicar la anchura y la precisión real que se usarán:
int minimo = 5;
int máximo = 10;
printf("%*.*s", minimo, maximo, "mensaje");
Ejercicios propuestos:
• Un programa que pida al usuario un número entero y muestre sus
equivalentes en formato hexadecimal y en octal. Deberá seguir pidiendo (y
convirtiendo) números hasta que se introduzca 0.
• Un programa que pida al usuario 2 números reales y muestre su división con
2 decimales (excepto si el segundo es 0; en ese caso, deberá decir “no se
puede dividir”).
SCANF.
Como ya sabemos, el uso de “scanf” recuerda mucho al de “printf”, salvo
porque hay que añadir el símbolo & antes de los nombres de las variables en
las que queremos almacenar los datos. Aun así, los códigos de formato no son
exactamente los mismos. Vamos a ver los más importantes:
c Un único carácter
d Un número entero decimal (base 10) con signo
D Un entero largo en base 10 sin signo
f Un número real (coma flotante)
e,E Un número real en notación exponencial
g,G Permite “e” o “f”
i Un número entero con signo
I Un número entero largo con signo
u Un número entero decimal sin signo (unsigned)
U Un número entero decimal largo sin signo (unsigned)
h Corto (modificador, para un entero)
l Largo (modificador, para un entero)
x Un número entero sin signo en hexadecimal (base 16)
X Un número entero largo sin signo en hexadecimal
o Un número entero sin signo en octal (base 8)
O Un número entero largo sin signo en octal (base 8)
s Una cadena de texto (que veremos en el próximo tema)
ELECTROTECNIA 66
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
Al igual que en “printf”, se puede indicar un número antes del identificador, que
nos serviría para indicar la cantidad máxima de caracteres a leer. Por ejemplo,
“scanf("%10s", &texto)” nos permitiría leer un texto de un tamaño máximo de 10
letras.
Ejercicios propuestos:
• Un programa que pida al usuario un número hexadecimal y muestre su
equivalente en base 10.
• Un programa que pida al usuario un número octal y muestre su equivalente
en base 10.
• Un programa que pida al usuario una letra, después le pida una segunda
letra, y las muestre en el orden contrario al que se introdujeron.
PUTCHAR
Es una forma sencilla de escribir un único carácter en la pantalla: putchar('A');
o si usamos una variable: putchar(x);
GETCHAR
Lo habíamos usado desde un principio en algunos entornos de programación
para Windows, como forma de detener momentáneamente la ejecución.
Realmente es más que eso: lee el siguiente carácter que esté disponible en el
buffer del teclado (una memoria intermedia que almacena todas las
pulsaciones de teclas que hagamos):
letra = getchar();
Si no quedaran más letras por leer, el valor que nos daría es EOF, una
constante predefinida que nos indicará el final de un fichero (End Of File) o, en
este caso, de la entrada disponible por teclado. Se usaría así:
letra = getchar();
if (letra==EOF) printf("No hay más letras");
ELECTROTECNIA 67
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
#include <stdio.h>
#include <iostream>
Int main()
{
char letra1, letra2;
Vemos que aunque “getchar” lea tecla a tecla, no se analiza lo que hemos
tecleado hasta que se pulsa ENTER. Si tecleamos varias letras, la primera vez
que usemos getchar nos dirá cuál era la primera, la siguiente vez que usemos
getchar nos dirá la segunda letra y así sucesivamente. En este ejemplo sólo
leemos dos letras. Si se teclean tres o más, las últimas se pierden. Si se teclea
una letra y se pulsa ENTER, “letra1” será la letra tecleada... y “letra2” será el
ENTER (el carácter ‘\n’ de avance de línea). Estos problemas también los
tenemos si intentamos leer letra a letra con “scanf("%c", ...” así que para hacer
esto de forma fiable necesitaremos otras órdenes, que no son estándar en C
sino que dependerán de nuestro compilador y nuestro sistema operativo, y que
veremos más adelante. Una alternativa sería una segunda orden “getchar” para
absorber la pulsación de la tecla Intro:
tecla = getchar(); getchar();
O bien leer dos caracteres con “scanf” (la letra esperada y el Intro que
queremos absorber):
scanf("%c%c", &tecla);
ELECTROTECNIA 68
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
CAPÍTULO 6
6
FUNCIONES.
Funciones.
La sentencia RETURN.
Reglas de ámbito de las Funciones.
Variables Locales.
Parámetros Formales.
Variables Globales
Funciones Matemáticas.
Pero casi todo son funciones…
ELECTROTECNIA 69
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
FUNCIONES.
LA SENTENCIA RETURN.
ELECTROTECNIA 70
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
#include <stdio.h>
#include <iostream>
Int main()
{
int num1, num2, num3;
printf("Introduzca un número que será la base: ");
scanf("%d", &num1);
printf("Introduzca el exponente: ");
scanf("%d", &num2);
num3 = potencia(num1,num2);
printf("%d elevado a %d es %d \n", num1, num2, num3);
system("pause");
return 0;
}
• Crear una función que calcule el cubo de un número real (float). El resultado
deberá ser otro número real. Probar esta función para calcular el cubo de 3.2
y el de 5.
• Crear una función que calcule cual es el menor de dos números enteros. El
resultado será otro número entero.
• Crear una función llamada “signo”, que reciba un número real, y devuelva un
número entero con el valor: -1 si el número es negativo, 1 si es positivo o 0 si
es cero.
printf("\n");
printf("Tu edad aproximada es %d años \n", edad(anyoact,anyonac));
printf("\n");
system("pause");
return 0;
}
----------------------------------------------------------------------------------------------------------
ELECTROTECNIA 72
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
scanf("%f", &num2);
printf("Ingrese el Tercer Número (Entero o Decimal) : ");
scanf("%f", &num3);
printf("\n");
num4 = mayor(num1,num2,num3);
printf("El mayor de los tres números es %5.2f \n",num4);
printf("\n");
system("pause");
return 0;
}
----------------------------------------------------------------------------------------------------------
int calcula_facto(int x)
{
int calcula_facto = x;
int i;
for (i=x-1; i>=1; i--)
{
calcula_facto = calcula_facto * i;
}
return(calcula_facto);
}
system("pause");
return 0;
}
ELECTROTECNIA 73
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
VARIABLES LOCALES.
Como se sabe, las variables que se declaran dentro de una función se llaman
variables locales. Una variable se puede declarar en un bloque de código y ser
local a este bloque. Así las variables locales no son conocidas fuera de su
propio bloque de código y su ámbito está limitado al bloque en el que se
declaran.
Ejemplos:
function 1( ) function 2( )
{ {
Int x; Int x;
x = 10; x = -199;
} }
PARÁMETROS FORMALES.
Si una función usa argumentos, entonces se debe declarar variables que
aceptaran los valores de los argumentos. Estas variables se llaman los
parámetros formales de la función. Estos se comportan como cualquier otra
variable local en la función. Como se muestra en el siguiente ejemplo:
ELECTROTECNIA 74
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
VARIABLES GLOBALES.
Al contrario de las variables locales, las globales se conocen a través del
programa entero y se pueden usar en cualquier trozo de código. En esencia, su
ámbito es global al programa. Las variables globales también guardaran sus
valores durante la ejecución entera del programa. Se pueden crear variables
globales declarándolas fuera de cualquier función. Cualquier función puede
acceder a ellas sin tener en cuenta en que función este dicha expresión.
Veamos el siguiente ejemplo:
#include <stdio.h>
#include <iostream>
function 1 ( )
{
printf(“Contador es %d”, contador); /* Muestra 100 */
}
Int main( )
{
contador = 100;
function 1 ( );
}
ELECTROTECNIA 75
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
NÚMEROS ALEATORIOS.
En un programa de gestión o una utilidad que nos ayuda a administrar un
sistema, no es habitual que podamos permitir que las cosas ocurran al azar.
Pero los juegos se encuentran muchas veces entre los ejercicios de
programación más completos, y para un juego sí suele ser conveniente que
haya algo de azar, para que una partida no sea exactamente igual a la anterior.
Generar números al azar (“números aleatorios”) usando C no es difícil. Si nos
ceñimos al estándar ANSI C, tenemos una función llamada “rand()”, que nos
devuelve un número entero entre 0 y el valor más alto que pueda tener un
número entero en nuestro sistema. Generalmente, nos interesarán números
mucho más pequeños (por ejemplo, del 1 al 100), por lo que “recortaremos”
usando la operación módulo (“%”, el resto de la división).
Pero todavía nos queda un detalle para que los números aleatorios que
obtengamos sean “razonables”: los números que genera un ordenador no son
realmente al azar, sino “pseudo-aleatorios”, cada uno calculado a partir del
siguiente. Podemos elegir cual queremos que sea el primer número de esa
serie (la “semilla”), pero si usamos uno prefijado, los números que se
generarán serán siempre los mismos. Por eso, será conveniente que el primer
número se base en el reloj interno del ordenador: como es casi imposible que
el programa se ponga en marcha dos días exactamente a la misma hora
(incluyendo milésimas de segundo), la serie de números al azar que
obtengamos será distinta cada vez.
ELECTROTECNIA 76
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
Para usar “rand()” y “srand()”, deberíamos añadir otro fichero a nuestra lista de
“includes”, el llamado “stdlib”:
#include <stdlib.h>
Si además queremos que la semilla se tome a partir del reloj interno del
ordenador (que es lo más razonable), deberemos incluir también “time”:
#include <time.h>
#include <stdio.h>
#include <iostream>
#include <stdlib.h>
#include <time.h>
int main()
{
int n;
srand(time(0));
n = rand() % 10 + 1;
printf("Un número entre 1 y 10: %d \n", n);
system("pause");
return 0;
}
Ejercicio propuesto:
• Crear un programa que genere un número al azar entre 1 y 100. El usuario
tendrá 6 oportunidades para acertarlo.
FUNCIONES MATEMÁTICAS.
Dentro del fichero de cabecera “math.h” tenemos acceso a muchas funciones
matemáticas predefinidas en C, como:
• acos(x): Arco coseno
• asin(x): Arco seno
• atan(x): Arco tangente
• atan2(y,x): Arco tangente de y/x (por si x o y son 0)
• ceil(x): El valor entero superior a x y más cercano a él
• cos(x): Coseno
• cosh(x): Coseno hiperbólico
• exp(x): Exponencial de x (e elevado a x)
• fabs(x): Valor absoluto
ELECTROTECNIA 77
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
Ejercicios propuestos:
• Crear un programa que halle cualquier raíz de un número. El usuario deberá
indicar el número (por ejemplo, 2) y el índice de la raiz (por ejemplo, 3 para
la raíz cúbica). Pista: hallar la raíz cúbica de 2 es lo mismo que elevar 2 a
1/3.
• Crear un programa que resuelva ecuaciones de segundo grado, del tipo ax2
+ bx + c = 0. El usuario deberá introducir los valores de a, b y c. Pista: la
solución se calcula con
x = ? raíz (b2 – 4·a·c) / 2·a
ELECTROTECNIA 78
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
Valor
Función Significado
devuelto
main int Programa terminado correctamente (0) o no (otro)
printf int Número de caracteres escritos
scanf int Número de datos leídos, o EOF si hay error
putchar int El carácter escrito, o EOF si hay algún error
getchar int Siguiente carácter de la entrada, o EOF en caso de error
gets char* Cadena si todo va bien o NULL si hay error
puts int EOF si hay algún error, otro número (un entero positivo) si no lo
hay
strcpy, char* Cadena resultado de la asignación
strncpy
strcat char* Cadena resultado
strcmp int 0 si las cadenas son iguales, <0 si la primera “es menor” o >0 si la
primera “es mayor”
sprintf int Número de caracteres almacenados en la cadena (en alguna
versión, como BSD, devuelve la cadena creada)
sscanf int Número de datos leídos, o EOF si hay error
fopen FILE* NULL si hay error
fclose int 0 si todo va bien o EOF si hay error
fputs int EOF si hay algún error, otro número (no especificado) si no lo hay
fgets char* NULL si hay error o fin de fichero
feof int 0 si no es final de fichero, otro valor si lo es
fprintf int Número de bytes escritos (puede no ser fiable si se está
escribiendo a un buffer antes de mandar a disco).
fscanf int Número de datos leídos, o EOF si hay error
fgetc int El carácter leido, o EOF si hay algún error
fputc int El carácter escrito, o EOF si hay algún error
fread int Número de bytes leidos (0 o menor de lo previsto si hay error)
fwrite int Número de bytes escritos (0 o menor de lo previsto si hay error)
fseek int 0 si se ha saltado correctamente; otro valor si el fichero no está
abierto o no se ha podido saltar
ftell long Posición actual en el fichero (en bytes) o -1L en caso de error
(size_t)
Ejercicios propuestos:
• Crear una función que calcule el valor de elevar un número entero a otro
número entero (por ejemplo, 5 elevado a 3 = 53 = 5 ·5 · 5 = 125). Esta
función se debe crear de forma recursiva.
• Como alternativa, crear una función que calcule el valor de elevar un número
entero a otro número entero de forma NO recursiva (lo que llamaremos “de
forma iterativa”), usando la orden “for”.
ELECTROTECNIA 79
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
ELECTROTECNIA 80
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
CAPÍTULO 7
7
ESTRUCTURA DE AGRUPAMIENTO DE
VARIABLES
En este capítulo se tratará:
Arrays y Cadenas.
Arrays Unidimensionales.
Cadenas de Caracteres.
¿Cómo acceder a las letras de una cadena?
Longitud de la cadena.
Entrada/Salida para Cadenas: Gets, Puts.
Asignando a una cadena el valor de otra: strcpy, strncpy; strcat.
Otras funciones de cadenas: sprintf, sscanf, strstr, …
Valor Inicial de una cadena de texto
Tablas Bidimensionales.
Arrays Indeterminados.
Estructuras.
Arrays de Estructuras.
Estructuras Anidadas.
ELECTROTECNIA 81
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
ARRAYS Y CADENAS.
Un array es una colección de variables del mismo tipo que se referencian
utilizando un nombre común. En C, un array consta de posiciones de memoria
contiguas. La dirección más baja corresponde al primer elemento y la más alta
al último. Un array puede tener una o varias dimensiones. Para acceder a un
elemento específico de un array se usa un índice.
ARRAYS UNIDIMENSIONALES.
El formato general para la declaración de un array unidimensional es:
Tipo nombre_var[tamaño];
Donde Tipo declara el tipo base del array. El tipo base determina el tipo de
datos de cada elemento del array. Nombre_var, es el nombre que usara la
variable para ser usada en el programa. El tamaño define cuantos elementos
guardara el array. Por ejemplo, la siguiente declara un array llamado ejemplo
de diez elementos de tipo entero: Int ejemplo[10];
En C, todos los arrays usan cero como índice del primer elemento. Por tanto el
ejemplo anterior declara un array de enteros de 10 elementos, donde el primero
será el elemento 0 y el ultimo el elemento 9. Los array son muy comunes en
programación porque permiten tratar fácilmente muchas variables relacionadas.
Por ejemplo:
/* Programa que guarda las notas de 5 alumnos en un array */
#include <stdio.h>
#include <iostream>
int main()
{
int n[5];
n[ 0 ] = 15; n[ 1 ] = 10; n[ 2 ] = 18; n[ 3 ] = 14; n[ 4 ] = 7;
printf(“La nota del tercer alumno es %d \n”, n[ 2 ]);
system("pause");
ELECTROTECNIA 82
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
return 0;
}
system("pause");
return 0;
}
system("pause");
return 0;
}
Ejercicios propuestos:
• Un programa que pida al usuario 4 números, los memorice (utilizando una
tabla), calcule su media aritmética y después muestre en pantalla la media y
los datos tecleados.
ELECTROTECNIA 83
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
También se puede indicar el valor inicial que tendrá cada elemento del array.
Como es el caso del siguiente ejemplo:
#include <stdio.h>
#include <iostream>
int main()
{
int numero[5] = {200, 150, 100, -50, 300};
int suma = 0;
int i;
for (i=0; i<=4; i++) suma += numero[ i ];
printf("Su suma es %d \n", suma);
system("pause");
return 0;
}
En este ejemplo como se puede apreciar los valores del array están asignados
al declarar la variable, luego para hallar la suma usamos un contador for, el
cual recorrerá todas las posiciones del array desde el 0 hasta el 4 y acumulara
la sumatoria en la variable suma que ha sido declarada inicialmente como 0.
Ejercicios propuestos:
• Un programa que almacene en una tabla el número de días que tiene cada
mes (supondremos que es un año no bisiesto), pida al usuario que le indique
un mes (1=enero, 12=diciembre) y muestre en pantalla el número de días
que tiene ese mes.
• Un programa que almacene en una tabla el número de días que tiene cada
mes (año no bisiesto), pida al usuario que le indique un mes (ej. 2 para
febrero) y un día (ej. el día 15) y diga qué número de día es dentro del año
(por ejemplo, el 15 de febrero sería el día número 46, el 31 de diciembre
sería el día 365).
ELECTROTECNIA 84
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
Este carácter nulo lo utilizarán todas las órdenes estándar que tienen que ver
con manejo de cadenas: las que las muestran en pantalla, las que comparan
cadenas, las que dan a una cadena un cierto valor, etc. Por tanto, si no
queremos usar esas funciones y sólo vamos a acceder letra a letra (como
hemos hecho con los números en los últimos ejemplos) nos bastaría con “char
saludo[4]”, pero si queremos usar cualquiera de esta posibilidades (será lo
habitual), deberemos tener la prudencia de reservar una letra más de las
“necesarias”, para ese carácter nulo, que indica el final de la cadena, y que
todas esas órdenes utilizan para saber cuándo deben terminar de manipular la
cadena.
Un primer ejemplo que nos pidiese nuestro nombre y nos saludase sería:
#include <stdio.h>
#include <iostream>
int main()
{
char texto[40]; /* Para guardar hasta 39 letras */
system("pause");
return 0;
}
ELECTROTECNIA 85
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
LONGITUD DE LA CADENA.
En una cadena que definamos como “char texto[40]” lo habitual es que
realmente no ocupemos las 39 letras que podríamos llegar a usar. Si
guardamos 9 letras (y el carácter nulo que marca el final), tendremos 30
posiciones que no hemos usado. Pero estas 30 posiciones generalmente
contendrán “basura”, lo que hubiera previamente en esas posiciones de
memoria, porque el compilador las reserva para nosotros pero no las “limpia”.
Si queremos saber ¿cuál es la longitud real de nuestra cadena? tenemos dos
opciones:
• Podemos leer la cadena carácter por carácter desde el principio hasta que
encontremos el carácter nulo (\0) que marca el final.
• Hay una orden predefinida que lo hace por nosotros, y que nos dice cuántas
letras hemos usado realmente en nuestra cadena. Es “strlen”, que se usa
así:
#include <stdio.h>
#include <string.h>
#include <iostream>
int main()
{
char texto[40];
printf("Introduce una palabra: "); scanf("%s", texto);
printf("Has tecleado %d letras", strlen(texto));
system("pause"); return 0;
}
ELECTROTECNIA 86
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
Como es de esperar, si escribimos “Hola”, esta orden nos dirá que hemos
tecleado 4 letras (no cuenta el \0 que se añade automáticamente al final).
Ejercicios propuestos:
• Un programa que te pida tu nombre y lo muestre en pantalla, separando
cada letra de la siguiente con un espacio en blanco. Por ejemplo, si tu
nombre es “Manuel”, debería mostrarse en pantalla “M a n u e l”.
Para leer una cadena de texto (completa, sin parar en el primer espacio),
usaríamos la orden “gets”, así:
gets(texto);
De igual modo, para escribir un texto en pantalla podemos usar “puts”, que
muestra la cadena de texto y avanza a la línea siguiente:
puts(texto);
Ejercicio propuesto:
• Un programa que te pida una frase y la muestre en pantalla sin espacios.
Por ejemplo, si la frase es “Hola, como estás”, debería aparecer en pantalla
“Hola,comoestás”.
ELECTROTECNIA 87
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
Ejercicio propuesto:
• Un programa que pida tu edad y luego tu nombre (usando “scanf y gets").
Muestre en pantalla tu nombre tantas veces como indique esa cifra numérica
que es tu edad.
Es decir, debemos usar una función llamada “strcpy” (string copy, copiar
cadena), que se encuentra también en la librería “string.h”. Vamos a ver dos
ejemplos de su uso:
strcpy (saludo, "hola");
strcpy (textoDefinitivo, textoProvisional);
Para evitar este problema, tenemos una forma de indicar que queremos copiar
sólo los primeros n bytes de origen, usando la función “strncpy”, así:
ELECTROTECNIA 88
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
Vamos a ver un ejemplo, que nos pida que tecleemos una frase y guarde en
otra variable sólo las 4 primeras letras:
#include <stdio.h>
#include <string.h>
#include <iostream>
int main()
{
char texto1[40], texto2[40], texto3[10];
printf("Introduce un frase: ");
gets(texto1);
strcpy(texto2, texto1);
printf("Una copia de tu texto es %s \n", texto2);
strncpy(texto3, texto1, 4);
printf("Y sus 4 primeras letras son %s \n", texto3);
system("pause");
return 0;
}
Finalmente, existe otra orden relacionada con estas dos: podemos añadir una
cadena al final de otra (concatenarla), con strcat (destino, origen);
Vamos a ver un ejemplo de su uso, que nos pida nuestro nombre, nuestro
apellido y cree una nueva cadena de texto que contenga los dos, separados
por un espacio:
#include <stdio.h>
#include <string.h>
#include <iostream>
int main()
{
char texto1[80], texto2[40],
printf("Introduce tu nombre: "); gets(texto1);
printf("Introduce tu apellido: "); gets(texto2);
strcat(texto1, " "); /* Añado un espacio en blanco al nombre */
strcat(texto1, texto2); /* Y luego el apellido */
printf("Te llamas %s \n", texto1);
system("pause");
return 0;
}
ELECTROTECNIA 89
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
Vamos a ver un primer ejemplo que nos pida dos palabras y diga si hemos
tecleado la misma las dos veces o cuál de ellas es mayor:
#include <stdio.h>
#include <string.h>
#include <iostream>
int main()
{
char texto1[40], texto2[40];
int comparacion;
ELECTROTECNIA 90
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
if (comparacion == 0)
printf("Son palabras iguales. \n");
else if (comparacion > 0)
printf("La primera palabra es mayor. \n");
else
printf("La Segunda palabra es mayor. \n");
system("pause");
return 0;
}
Ejercicio propuesto:
• Crear un programa que pida al usuario su contraseña. Deberá terminar
cuando introduzca como contraseña la palabra "clave", pero volvérsela a
pedir tantas veces como sea necesario.
• Crear un programa que pida al usuario su nombre y su contraseña, y no le
permita seguir hasta que introduzca como nombre "Pedro" y como
contraseña "Peter".
Pues bien, si tenemos una cadena de texto que hayamos definido (por ejemplo)
como char cadena[100] y escribimos :
sprintf(cadena,”El número %d multiplicado por 2 vale %d \n”, 50, 50*2);
ELECTROTECNIA 91
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
Esta vez en pantalla no aparece nada escrito, sino que “cadena” pasa a
contener el texto que antes habíamos mostrado. Ahora ya podríamos escribir
este texto con:
puts(cadena);
o bien con
printf(”%s”, cadena);
¿Qué utilidad tiene esta orden? Nos puede resultar cómoda cuando queramos
formatear texto que no vaya a aparecer directamente en pantalla de texto, sino
que lo vayamos a enviar a un fichero, o que queramos mostrar en pantalla
gráfica, o enviar a través de una red mediante “sockets”, por ejemplo.
Por otra parte “sscanf” es similar a “scanf”, con la diferencia de que los valores
para las variables no se leen desde el teclado, sino desde una cadena de texto
strcpy(cadena, "20 30");
sscanf(cadena, "%d %d", &primerNum, &segundoNum);
Ejercicio propuesto:
• Un programa que pida tu nombre, tu día de nacimiento y tu mes de
nacimiento y lo junte todo en una cadena, separando el nombre de la fecha
por una coma y el día del mes por una barra inclinada, así: “Juan, nacido el
31/12”.
Una tercera orden que puede resultar útil más de una vez es “strstr”. Permite
comprobar si una cadena contiene un cierto texto. Devuelve NULL (un valor
especial, que nos encontraremos cada vez más a partir de ahora) si no la
contiene, y otro valor (no daremos más detalles por ahora sobre qué tipo de
valor ni por qué) en casi de que sí la contenga:
if (strstr (frase, "Hola ") == NULL)
printf("No has dicho la palabra Hola ");
Nota: estas no son todas las posibilidades que tenemos para manipular
cadenas, pero posiblemente sí son las más habituales. Hay otras que nos
ELECTROTECNIA 92
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
permiten buscar una letra dentro de una cadena (strchr), una cadena dentro de
otra cadena (strstr), “dar la vuelta” a una cadena (strrev), etc. Según el
compilador que usemos, podemos tener incluso funciones ya preparadas para
convertir una cadena a mayúsculas (strupr) o a minúsculas (strlwr).
Pero cuidado con este último formato: hay que recordar que sólo se puede
usar cuando se declara la variable, al principio del programa. Si ya estamos
dentro del programa, deberemos usar necesariamente la orden “strcpy” para
dar un valor a una cadena de texto.
TABLAS BIDIMENSIONALES.
> Podemos usar int datosAlumnos[40] y entonces debemos recordar que los 20
primeros datos corresponden realmente a un grupo de alumnos y los 20
siguientes a otro grupo.
#include <stdio.h>
ELECTROTECNIA 93
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
#include <string.h>
#include <iostream>
int main()
{
int notas[2][10] = {1, 2, 3, 4, 5, 6, 7, 8,9,10,11,12,13,14,15,16,17,18,19,20};
system("pause");
return 0;
}
Este tipo de tablas son las que se usan también para guardar matrices, cuando
hay que resolver problemas matemáticos más complejos.
#include <stdio.h>
#include <string.h>
#include <iostream>
int main()
{
char mensajeError[5][80] = { "Fichero no encontrado",
"El fichero no se puede abrir para escritura ",
"El fichero está vacío",
"El fichero contiene datos de tipo incorrecto"
"El fichero está siendo usado" };
system("pause");
return 0;
}
Ejercicios propuestos:
• Un programa que guarde los nombres de los meses. El usuario deberá
indicar un número de mes (por ejemplo, 3) y se le mostrará el nombre de
dicho mes (por ejemplo, Marzo).
ELECTROTECNIA 94
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
ARRAYS INDETERMINADOS.
Si damos un valor inicial a un array, no será necesario que indiquemos su
tamaño, porque el compilador lo puede saber contando cuantos valores hemos
detallado, así:
Ejercicios propuestos:
• Un programa que pida 10 nombres y los guarde en un array. Después
deberá pedir que se teclee un nombre y dirá si se encuentra o no entre los
10 que se han tecleado antes. Volverá a pedir otro nombre y a comprobar si
se encuentra entre ellos, y así sucesivamente hasta que se teclee “fin”.
ESTRUCTURAS
Para acceder a cada uno de los datos que forman el registro, tanto si queremos
leer su valor como si queremos cambiarlo, se debe indicar el nombre de la
variable y el del dato (o campo) separados por un punto:
#include <stdio.h>
#include <iostream>
int main()
{
struct
{
char inicial;
ELECTROTECNIA 95
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
int edad;
float nota;
} persona;
persona.inicial = 'J';
persona.edad = 20;
persona.nota = 7.5;
printf("La edad es %d", persona.edad);
system("pause");
return 0;
}
#include <stdio.h>
#include <iostream>
struct datosPersona
{
char inicial;
int edad;
float nota;
};
int main()
{
struct datosPersona ficha;
ficha.inicial = 'J';
ficha.edad = 20;
ficha.nota = 7.5;
printf("La edad es %d", ficha.edad);
system("pause");
return 0;
}
ARRAYS DE ESTRUCTURAS.
Hemos guardado varios datos de una persona. Se pueden almacenar los de
varias personas si combinamos el uso de los “struct” con las tablas (arrays)
que vimos anteriormente. Por ejemplo, se pide guardar datos de 100 alumnos.
struct
{
char inicial;
ELECTROTECNIA 96
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
int edad;
float nota;
} alumnos[100];
La inicial del primer alumno sería “alumnos[0].inicial”, y la edad del último sería
“alumnos[99].inicial”.
Ejercicios propuestos:
• Crear un programa que almacene datos de hasta 100 canciones (Nombre
del Autor, Nombre de la Canción, Tamaño y Duración). Deberá tener un
menú que permita las opciones: añadir una nueva canción, mostrar el título
de todas las canciones, buscar la canción que contenga un cierto texto (en el
artista o en el título).
ESTRUCTURAS ANIDADAS.
Podemos encontrarnos con un registro que tenga varios datos, y que a su vez
ocurra que uno de esos datos esté formado por varios datos más sencillos.
Para hacerlo desde C, incluiríamos un “struct” dentro de otro “struct”, así:
#include <stdio.h>
#include <iostream>
struct fechaNacimiento
{
int dia;
int mes;
int anyo;
};
struct
{
char inicial;
struct fechaNacimiento diaDeNacimiento;
float nota;
} persona;
ELECTROTECNIA 97
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
int main()
{
persona.inicial = 'I';
persona.diaDeNacimiento.mes = 8;
persona.nota = 7.5;
printf("La nota es %f ", persona.nota);
printf("El mes de Nacimiento es %d ", persona.diaDeCacimiento.mes);
system("pause");
return 0;
}
Ejemplo completo:
Vamos a hacer un ejemplo completo que use tablas (“arrays”), registros
(“struct”) y que además manipule cadenas. La idea va a ser la siguiente:
Crearemos un programa que pueda almacenar datos de hasta 1000 ficheros
(archivos de ordenador). Para cada fichero, debe guardar los siguientes datos:
Nombre del fichero (max 40 letras), Tamaño (en KB, número de 0 a
2.000.000.000). El programa mostrará un menú que permita al usuario las
siguientes operaciones:
No debería resultar difícil. Vamos a ver directamente una de las formas en que
se podría plantear y luego comentaremos alguna de las mejoras que se podría
(incluso se debería) hacer.
Una opción que podemos a tomar para resolver este problema es la de contar
el número de fichas que tenemos almacenadas, y así podremos añadir de una
en una. Si tenemos 0 fichas, deberemos almacenar la siguiente (la primera) en
la posición 0; si tenemos dos fichas, serán la 0 y la 1, luego añadiremos en la
posición 2; en general, si tenemos “n” fichas, añadiremos cada nueva ficha en
la posición “n”. Por otra parte, para revisar todas las fichas, recorreremos desde
la posición 0 hasta la n-1, haciendo algo como
for (i=0; i<=n-1; i++) { ... más órdenes ...}
ELECTROTECNIA 98
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
• Hemos limitado el número de fichas a 1000, así que, si nos piden añadir,
deberíamos asegurarnos antes de que todavía tenemos hueco disponible.
struct
{
char nombreFich[41]; /* Nombre del fichero */
unsigned long tamanyo; /* El tamaño en bytes */
} fichas[1000];
int main()
{
do
{ /* Menu principal */
system("CLS");
printf("Escoja una opción:\n");
printf("1.- Añadir datos de un nuevo fichero\n");
printf("2.- Mostrar los nombres de todos los ficheros\n");
printf("3.- Mostrar ficheros que sean de mas de un cierto tamaño\n");
ELECTROTECNIA 99
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
ELECTROTECNIA 100
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
ORDENACIONES SIMPLES.
Es muy frecuente querer ordenar datos que tenemos en un array. Para
conseguirlo, existen varios algoritmos sencillos, que no son especialmente
eficientes, pero son fáciles de programar. La falta de eficiencia se refiere a que
la mayoría de ellos se basan en dos bucles “for” anidados, de modo que en
cada pasada quede ordenado un dato, y se dan tantas pasadas como datos
existen, de modo que para un array con 1.000 datos, podrían llegar a tener que
hacerse un millón de comparaciones.
Existen ligeras mejoras (por ejemplo, cambiar uno de los “for” por un “while”,
para no repasar todos los datos si ya estaban parcialmente ordenados), así
como métodos claramente más efectivos, pero más difíciles de programar,
alguno de los cuales veremos más adelante.
MÉTODO DE BURBUJA.
(Intercambiar cada pareja consecutiva que no esté ordenada)
Para i=1 hasta n-1
Para j=i+1 hasta n
Si A[i] > A[j]
Intercambiar ( A[i], A[j])
ELECTROTECNIA 101
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
SELECCIÓN DIRECTA.
(En cada pasada busca el menor, y lo intercambia al final de la pasada).
Para i=1 hasta n-1
menor = i
Para j=i+1 hasta n
Si A[j] < A[menor]
menor = j
Si menor <> i
Intercambiar ( A[i], A[menor])
INSERCIÓN DIRECTA.
(Comparar cada elemento con los anteriores -que ya están ordenados- y
desplazarlo hasta su posición correcta).
Para i=2 hasta n
j=i-1
mientras (j>=1) y (A[j] > A[j+1])
Intercambiar ( A[j], A[j+1])
j=j-1
(Es mejorable, no intercambiando el dato que se mueve con cada elemento,
sino sólo al final de cada pasada, pero no entraremos en más detalles).
Ejercicio propuesto:
• Un programa que cree un array de 7 números enteros y lo ordene con cada
uno de estos tres métodos, mostrando el resultado de los pasos intermedios.
ELECTROTECNIA 102
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
CAPÍTULO 8
8
PUNTEROS
Punteros y Array.
Array de Punteros.
Punteros y Estructuras.
Indirección Multiple.
ELECTROTECNIA 103
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
Este tipo de variables son sencillas de usar y rápidas... si sólo vamos a manejar
estructuras de datos que no cambien, pero resultan poco eficientes si tenemos
estructuras cuyo tamaño no sea siempre el mismo.
Es el ejemplo, que se quiera crear una agenda: tenemos una serie de fichas, e
iremos añadiendo más. Si reservamos espacio para 10, no podremos llegar a
añadir la número 11, estamos limitando el máximo. Una solución sería la de
trabajar siempre en el disco: no tenemos límite en cuanto a número de fichas,
pero es muchísimo más lento.
ELECTROTECNIA 104
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
Antes de entrar en más detalles, y para ver la diferencia entre trabajar con
“arrays” o con punteros, vamos a hacer dos programas que pidan varios
números enteros al usuario y muestren su suma. El primero empleará un
“array” (una tabla, de tamaño predefinido) y el segundo empleará memoria que
reservaremos durante el funcionamiento del programa.
#include <stdio.h>
#include <iostream>
int main()
{
int datos[100]; /* Preparamos espacio para 100 numeros */
int cuantos; /* Preguntaremos cuantos desea introducir */
ELECTROTECNIA 105
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
/* Calculamos la suma */
for (i=0; i<cuantos; i++) suma += datos[ i ];
system("pause");
return 0;
}
Los más avispados se pueden dar cuenta de que si sólo quiero calcular la
suma, lo podría hacer a medida que leo cada dato, no necesitaría almacenar
todos. Vamos a suponer que sí necesitamos guardarlos (en muchos casos será
verdad, si los cálculos son más complicados). Entonces nos damos cuenta de
que lo que hemos estado haciendo hasta ahora no es eficiente:
• Si quiero sumar 1000 datos, o 500, o 101, no puedo. Nuestro límite previsto
era de 100, así que no podemos trabajar con más datos.
• Si sólo quiero sumar 3 números, desperdicio el espacio de 97 datos que no
uso.
• Y el problema sigue: si en vez de 100 números, reservamos espacio para
5000, es más difícil que nos quedemos cortos pero desperdiciamos
muchísima más memoria.
ELECTROTECNIA 106
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
int main()
{
int* datos; /* Necesitaremos espacio para varios numeros */
int cuantos; /* Preguntaremos cuantos desea introducir */
int i; /* Para bucles */
long suma=0; /* La suma, claro */
do
{
printf("Cuantos numeros desea sumar? ");
scanf("%d", &cuantos);
/* Calculamos la suma */
for (i=0; i<cuantos; i++) suma += *(datos + i);
system("pause");
return 0;
}
Este programa fuente es más difícil de leer, pero a cambio es mucho más
eficiente: funciona perfectamente si sólo queremos sumar 5 números, pero
también si necesitamos sumar 120,000 (y si caben tantos números en la
memoria disponible de nuestro equipo, claro).
ELECTROTECNIA 107
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
En primer lugar, lo que antes era int datos[100] que quiere decir “a partir de la
posición de memoria que llamaré datos, querré espacio para a guardar 100
números enteros”, se ha convertido en int* datos que quiere decir “a partir de la
posición de memoria que llamaré datos voy a guardar varios números enteros
(pero aún no sé cuantos)”.
ELECTROTECNIA 108
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
ahora, int* datos ya se refiere a una posición de memoria (un puntero), por lo
que no necesitamos & para usar “scanf”.
También aparece otra orden nueva: free. Hasta ahora, teníamos la memoria
reservada estáticamente, lo que supone que la usábamos (o la
desperdiciábamos) durante todo el tiempo que nuestro programa estuviera
funcionando. Pero ahora, igual que reservamos memoria justo en el momento
en que la necesitamos, y justo en la cantidad que necesitamos, también
podemos volver a dejar disponible esa memoria cuando hayamos terminado de
usarla. De eso se encarga la orden “free”, a la que le debemos indicar qué
puntero es el que queremos liberar.
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
int main()
{
float n1; /* Primer número, estático */
float *n2, *suma; /* Los otros dos números */
n1 = 5.0; /* Damos un valor prefijado a n1 (real) */
n2 = (float *) malloc (sizeof(float)); /* Reservamos espacio para n2 */
*n2 = 6.7; /* Valor prefijado para n2 (puntero a real) */
ELECTROTECNIA 109
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
system("pause");
return 0;
}
Aritmética de punteros.
Si declaramos una variable como int n=5 y posteriormente hacemos n++,
debería resultar claro que lo que ocurre es que aumenta en una unidad el valor
de la variable n, pasando a ser 6. Pero ¿qué sucede si hacemos esa misma
operación sobre un puntero?
int *n;
n = (int *) malloc (sizeof(int));
*n = 3;
n++;
ELECTROTECNIA 110
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
void duplica(int n)
{
n = n * 2;
}
int main()
{
int n = 5;
printf("n vale %d \n", n);
duplica(n);
printf("Ahora n vale %d \n", n);
system("pause");
return 0;
}
ELECTROTECNIA 111
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
#include <stdio.h>
#include <iostream>
int main()
{
int n = 5;
printf("n vale %d \n", n);
duplica(&n);
printf("Ahora n vale %d \n", n);
system("pause");
return 0;
}
Esto permite que podamos obtener más de un valor a partir de una función. Por
ejemplo, podemos crear una función que intercambie los valores de dos
variables enteras así:
#include <stdio.h>
#include <iostream>
int main()
{
int a = 5;
ELECTROTECNIA 112
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
int b = 12;
printf("Los Valores de a es %d y b es %d \n", a, b);
intercambia(&a, &b);
printf("Ahora a es %d y b es %d \n", a, b);
system("pause");
return 0;
}
Ejercicio propuesto:
• Crear una función que calcule las dos soluciones de una ecuación de
segundo grado (Ax2 + Bx + C = 0) y devuelva las dos soluciones como
parámetros.
PUNTEROS Y ARRAYS.
En C hay muy poca diferencia “interna” entre un puntero y un array. En muchas
ocasiones, podremos declarar un dato como array (una tabla con varios
elementos iguales, de tamaño predefinido) y recorrerlo usando punteros.
int main()
{
int datos[10];
int i;
system("pause");
return 0;
}
ELECTROTECNIA 113
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
int main()
{
int *datos;
int i;
/* Reservamos espacio */
datos = (int *) malloc (20*sizeof(int));
/* Y los mostramos */
for (i=0; i<20; i++) printf ("%d ", *(datos + i));
/* Y los mostramos */
for (i=0; i<20; i++) printf ("%d ", datos[i]);
/* Liberamos el espacio */
free(datos);
system("pause");
return 0;
}
ARRAYS DE PUNTEROS.
Igual que creamos “arrays” para guardar varios datos que sean números
enteros o reales, podemos hacerlo con punteros: podemos reservar espacio
para “20 punteros a enteros” haciendo:
int *datos[20];
ELECTROTECNIA 114
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
#include <stdio.h>
#include <iostream>
int main()
{
char *mensajesError[3] = {"Fichero no encontrado",
"No se puede escribir", "Fichero sin datos"};
system("pause");
return 0;
}
PUNTEROS Y ESTRUCTURAS.
Igual que creamos punteros a cualquier tipo de datos básico, le reservamos
memoria con “malloc” cuando necesitamos usarlo y lo liberamos con “free”
cuando terminamos de utilizarlo, lo mismo podemos hacer si se trata de un tipo
de datos no tan sencillo, como un “struct”.
Eso sí, la forma de acceder a los datos en un struct cambiará ligeramente. Para
un dato que sea un número entero, ya sabemos que lo declararíamos con int *n
y cambiaríamos su valor haciendo algo como *n=2, de modo que para un struct
podríamos esperar que se hiciera algo como *persona.edad = 20. Pero esa no
es la sintaxis correcta: deberemos utilizar el nombre de la variable y el del
campo, con una flecha (->) entre medias, así: persona->edad = 20. Vamos a
verlo con un ejemplo:
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
int main()
{
/* Primero definimos nuestro tipo de datos */
struct datosPersona
{
char nombre[30];
char email[25];
int edad;
};
ELECTROTECNIA 115
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
/* Ahora a la dinámica */
persona2 = (struct datosPersona*)
malloc (sizeof(struct datosPersona));
strcpy(persona2->nombre, "Pedro");
strcpy(persona2->email, "p@p.p");
persona2->edad = 21;
free(persona2);
system("pause");
return 0;
}
INDIRECCIÓN MÚLTIPLE.
Lo que estamos haciendo mediante los punteros es algo que técnicamente se
conoce como “direccionamiento indirecto”: cuando hacemos int *n,
generalmente no nos va a interesar el valor de n, sino que n es una dirección
de memoria a la que debemos ir a mirar el valor que buscamos.
Pues bien, podemos hacer que ese direccionamiento sea todavía menos
directo que en el caso normal: algo como int **n se referiría a que n es una
dirección de memoria, en la que a su vez se encuentra como dato otra
dirección de memoria, y dentro de esta segunda dirección de memoria es
donde se encuentra el dato. Es decir, n sería un “puntero a puntero a entero”.
Aun así, lo que sí se debe recordar es que char **datos es algo muy parecido a
char datos[ ][ ], por lo que alguna vez lo veremos indicado como parámetros de
una función de una forma o de la otra.
ELECTROTECNIA 116
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
CAPÍTULO 9
9
MANEJO DE FICHEROS.
ELECTROTECNIA 117
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
MANEJO DE FICHEROS.
Eso sí, no siempre podremos realizar esas operaciones, así que además
tendremos que comprobar los posibles errores. Por ejemplo, puede ocurrir que
intentemos abrir un fichero que realmente no exista, o que queramos escribir
en un dispositivo que sea sólo de lectura.
Vamos a ver un ejemplo, que cree un fichero de texto y escriba algo en él:
#include <stdio.h>
#include <iostream>
int main()
{
FILE* fichero;
system("pause");
return 0;
}
• Para abrir el fichero usamos “fopen”, que necesita dos datos: el nombre del
fichero y el modo de lectura. El modo de lectura estará formado por varias
ELECTROTECNIA 118
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
letras, de las cuales por ahora nos interesan dos: “w” indicaría que queremos
escribir (write) del fichero, y “t” avisa de que se trata de un fichero de texto
(text). Como abrimos el fichero para escribir en él, se creará el fichero si no
existía, y se borrará su contenido si ya existía (más adelante veremos cómo
añadir a un fichero sin borrar su contenido).
Ejercicio propuesto:
• Crea un programa que vaya leyendo las frases que el usuario teclea y las
guarde en un fichero de texto llamado “registroDeUsuario.txt”. Terminará
cuando la frase introducida sea "fin" (esa frase no deberá guardarse en el
fichero).
#include <stdio.h>
#include <iostream>
int main()
{
FILE* fichero;
char nombre[80] = "c:\\prueba.txt";
char linea[81];
fichero = fopen(nombre, "rt");
if (fichero == NULL)
{
printf("No existe el fichero!\n");
system("pause"); exit(1);
}
fgets(linea, 80, fichero);
puts(linea);
ELECTROTECNIA 119
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
fclose(fichero);
system("pause");
return 0;
}
Normalmente no querremos leer sólo una frase del fichero, sino procesar todo
su contenido. Para ayudarnos, tenemos una orden que nos permite saber si ya
hemos llegado al final del fichero. Es “feof” (EOF es la abreviatura de End Of
File, fin de fichero).
#include <stdio.h>
#include <iostream>
int main()
{
FILE* fichero;
char nombre[80] = "c:\\prueba.txt";
char linea[81];
ELECTROTECNIA 120
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
if (fichero == NULL)
{
printf("No existe el fichero!\n");
system("pause");
exit(1);
}
while (! feof(fichero))
{
fgets(linea, 80, fichero);
if (! feof(fichero))
puts(linea);
}
fclose(fichero);
system("pause");
return 0;
}
Esa será la estructura básica de casi cualquier programa que deba leer un
fichero completo, de principio a fin: abrir, comprobar que se ha podido acceder
correctamente, leer con “while !(feof(…))” y cerrar.
Ejercicios propuestos:
• Un programa que pida al usuario que teclee frases, y las almacene en el
fichero “frases.txt”. Acabará cuando el usuario pulse ENTER sin teclear
nada. Después deberá mostrar el contenido del fichero.
ELECTROTECNIA 121
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
Aun así, “fscanf” tiene el mismo problema que “scanf”: si leemos una cadena de
texto, la considera terminada después del primer espacio en blanco, y lo que
haya a continuación lo asignará a la siguiente cadena. Por eso, cuando
manejemos textos con espacios, será preferible usar “fgets” o bien otras dos
órdenes para manejo de ficheros que veremos un poco más adelante.
Ejercicios propuestos:
• Una agenda que maneje los siguientes datos: nombre, dirección, telefono
móvil, email, y día, mes y año de nacimiento (estos tres últimos datos
deberán ser números enteros cortos). Deberá tener capacidad para 100
fichas. Se deberá poder añadir un dato nuevo, visualizar los nombres de las
fichas existentes, o mostrar todos los datos de una persona (se preguntará al
usuario cual es el nombre de esa persona que quiere visualizar). Al empezar
el programa, leerá los datos de un fichero llamado “agenda.dat” (si existe). Al
terminar, guardará todos los datos en ese fichero.
Si queremos leer o escribir sólo una letra, tenemos las órdenes "fgetc" y
"fputc", que se usan:
ELECTROTECNIA 122
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
MODOS DE APERTURA.
Antes de seguir, vamos a ver las letras que pueden aparecer en el modo de
apertura del fichero, para poder añadir datos a un fichero ya existente:
Tipo Significado
r Abrir sólo para lectura.
w Crear para escribir. Sobreescribe el fichero si existiera ya (borrando el original).
a Añade al final del fichero si existe, o lo crea si no existe.
Se escribe a continuación de los modos anteriores para indicar que también
+
queremos modificar. Por ejemplo: r+ permite leer y modificar el fichero
t Abrir en modo de texto.
b Abrir en modo binario.
Ejercicios propuestos:
FICHEROS BINARIOS.
Hasta ahora nos hemos centrado en los ficheros de texto, que son sencillos de
crear y de leer. Pero también podemos manejar ficheros que contengan
información de cualquier tipo.
En este caso, utilizamos “fread” para leer un bloque de datos y “fwrite” para
guardar un bloque de datos. Estos datos que leamos se guardan en un buffer
ELECTROTECNIA 123
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
Por ejemplo, para leer 10 números enteros de un fichero (cada uno de los
cuales ocuparía 4 bytes, si estamos en un sistema operativo de 32 bits),
haríamos
int datos[10];
resultado = fread(&datos, 4, 10, fichero);
if (resultado < 10)
printf("Había menos de 10 datos!");
Al igual que ocurría con “scanf”, la variable en la que guardemos los datos se
deberá indicar precedida del símbolo &. También al igual que pasaba con
“scanf”, si se trata de una cadena de caracteres (bien porque vayamos a leer
una cadena de texto, o bien porque queramos leer datos de cualquier tipo pero
con la intención de manejarlos byte a byte), como char dato[500] no será
necesario indicar ese símbolo &, como en este ejemplo:
#include <stdio.h>
#include <string.h>
#include <iostream>
ELECTROTECNIA 124
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
int main()
{
/* Accedo al fichero de origen */
printf("Introduzca el nombre del fichero Origen: ");
scanf("%s",nomaux);
strcat(nombreOrg,nomaux);
Los cambios con relación a lo que conocíamos de ficheros de texto son los
siguientes:
• Los ficheros pueden no ser de texto, de modo que leemos uno como fichero
binario (con “rb”) y escribimos el otro también como fichero binario (con
“wb”).
• Definimos un buffer de 2048 bytes (2 K), para ir leyendo la información por
bloques (y guardando después cada bloque en el otro fichero).
ELECTROTECNIA 125
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
Esto puede resultar menos legible que hacerlo en dos líneas separadas, como
hemos hecho hasta ahora, pero es más compacto, y, sobre todo, muy
frecuente encontrarlo en “fuentes ajenos” más avanzados, como los que se
puedan encontrar en Internet o cuando se programe en grupo con otras
personas, de modo que he considerado adecuado incluirlo.
• A “fread” le digo que queremos leer 2048 datos de 1 byte cada uno, y él nos
devuelve la cantidad de bytes que ha leído realmente. Para que el fuente
sea más fácil de aplicar a otros casos en los que no sean bloques de 2048
bytes exactamente, suele ser preferible indicar que queremos leer el tamaño
del bloque, usando “sizeof”:
cantidad = fread( buffer, 1, sizeof(buffer), fichOrg);
Cuando la cantidad leida sea menos de 2048 bytes, es que el fichero se ha
acabado (lo podemos comprobar mirando esta cantidad o con “feof”).
• “fwrite” se maneja igual que fread: se le indica dónde están los datos, el
tamaño de cada dato, cuantos datos hay que escribir y en qué fichero
almacenarlos. En nuestro ejemplo, el número de bytes que debe escribir
será el que haya leido:
fwrite(buffer, 1, cantidad, fichDest);
Ejercicios propuestos:
• Mejorar la agenda anterior, para guardar y leer cada “ficha” (struct) de una
vez, usando fwrite/fread y sizeof, como en el último ejemplo.
• Crear un “struct” que almacene los siguientes datos de una persona:
nombre, edad, ciudad de residencia. Pedir al usuario esos datos de una
persona y guardarlos en un fichero llamado “gente.dat”, usando “fwrite”.
Cerrar el fichero, volverlo a abrir para lectura y mostrar los datos que se
habían guardado, que se deben leer con “fread”.
• Ampliar el programa anterior para que use un “array de structs”, de forma
que se puedan tener datos de 10 personas. Se deberá pedir al usuario los
datos de las 10 personas y guardarlos en el fichero, usando “fwrite”.
Después se pedirá al usuario un número del 1 al 10 y se mostrarán los datos
de la persona indicada por ese número, que se deberán leer de fichero (1
será la primera ficha, y 10 será la última). Por ejemplo, si el usuario indica
que quiere ver los datos de la persona 3 (tercera), se deberá leer las dos
ELECTROTECNIA 126
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
• Es de tipo “int”, lo que quiere decir que nos va a devolver un valor, para que
comprobemos si realmente se ha podido saltar a la dirección que nosotros le
hemos pedido: si el valor es 0, todo ha ido bien; si es otro, indicará un error
(normalmente, que no hemos abierto el fichero).
• “fichero” indica el fichero dentro de el que queremos saltar. Este fichero debe
estar abierto previamente (con fopen).
• “posición” nos permite decir a qué posición queremos saltar (por ejemplo, a
la 5010).
• “desde” es para poder afinar más: la dirección que hemos indicado con posic
puede estar referida al comienzo del fichero, a la posición en la que nos
encontramos actualmente, o al final del fichero (entonces posic deberá ser
negativo). Para no tener que recordar que un 0 quiere decir que nos
referimos al principio, un 1 a la posición actual y un 2 a la final, tenemos
definidas las constantes:
SEEK_SET (0): Principio
SEEK_CUR (1): Actual
SEEK_END (2): Final
ELECTROTECNIA 127
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
#include <stdio.h>
int main()
{
FILE* impresora;
return 0;
}
ELECTROTECNIA 128
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
Pero en el caso de Linux (y los Unix en general) podemos redirigir además los
mensajes de error hacia otro sitio distinto del resto de mensajes (que iban
destinados a pantalla). Esto se consigue con el símbolo “2>” :
calculaResultados > valores.txt 2> errores.txt
ELECTROTECNIA 129
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
programa que lea esa información de un fichero MP3 (si la contiene) e incluso
que la modifique.
Estos textos (título, autor y otros) deberían estar rellenos con caracteres nulos
al final, pero es algo de lo que no tenemos la certeza, porque algunas
aplicaciones lo rellenan con espacios (es el caso de alguna versión de
WinAmp). Por eso, leeremos los datos con “fread” y añadiremos un carácter
nulo al final de cada uno.
#include <stdio.h>
#include <string.h>
int main()
{
FILE* fich;
char temp[31];
int i;
do
{
/* Pido el nombre del fichero */
printf("\n Escribe el nombre del fichero MP3 a comprobar: ");
gets(temp);
/* Si no teclea nada, terminaré */
if (strcmp(temp,"")==0)
puts("\nAplicacion finalizada.");
/* Si existe nombre, intento abrir */
else if ( (fich=fopen(temp,"r+b"))!=NULL )
{
/* Si he podido abrir, muestro el nombre */
printf("Nombre del fichero: %s\n",temp);
/* Miro el tamaño del fichero */
fseek(fich,0,SEEK_END);
printf("Tamaño: %d\n",ftell(fich));
/* A 128 bytes está la marca "TAG" */
fseek(fich,-128,SEEK_END);
fread(temp,3,1,fich);
/* Son 3 letras, añado caracter nulo al final */
temp[3]='\0';
if (strcmp(temp,"TAG")!=0)
puts("No se encontró información válida.");
else
{ /* Si existe la marca, leo los datos */
/* Primero, 30 letras de titulo */
ELECTROTECNIA 130
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
fread(temp,30,1,fich);
temp[strlen(temp)]='\0';
printf("Titulo: %s\n",temp);
/* Luego 30 letras de autor */
fread(temp,30,1,fich);
temp[strlen(temp)]='\0';
printf("Artista: %s\n",temp);
/* Ahora vamos a modificar el titulo */
printf("\nIntroduce el nuevo titulo: ");
gets(temp);
/* Lo rellenamos con ceros, para seguir el estándar */
for (i=strlen(temp); i<=29; i++)
temp[ i ]='\0';
/* Y lo guardamos en su posición */
fseek(fich,-125,SEEK_END);
fwrite(&temp, 30, 1, fich);
printf("Titulo actualizado.\n");
fclose(fich);
} /* Fin del "else" de MP3 con informacion */
} /* Fin del "else" de fichero existente */
else puts("No se pudo abrir el fichero\n");
} /* Fin del "do..while" que repite hasta que no se escriba nombre */
while (strcmp(temp,"")!=0); return 0;
}
El uso de "gets" está desaconsejado a partir del estándar C99 (de 1999), por
tratarse de una orden poco segura, pero esta orden ni siquiera existirá en los
compiladores que sigan el estándar C11 (de diciembre de 2011). Una
alternativa, en compiladores modernos, es usar "get_s" que recibe como
segundo parámetro el tamaño máximo del texto. Otra alternativa, más segura
que gets, que permite que la cadena contenga espacios, y que funcionará en
cualquier compilador de C, es usar "fgets".
Eso sí, "fgets" tiene un problema para este uso: conserva el avance de línea
(\n). Por eso, habrá que eliminarlo "a mano" (si la cadena no está vacía y si
realmente termina en avance de línea, porque puede no ser así si la cadena
era más larga que lo esperado y se ha truncado):
ELECTROTECNIA 131
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
Con esas dos órdenes podriamos evitar los problemas de "gets" de una forma
que se comporte bien en cualquier compilador, usando "fgets" para leer de
teclado como si fuera un fichero.
ELECTROTECNIA 132
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
CAPÍTULO 10
10
BIBLIOTECAS DE USO FRECUENTE.
ELECTROTECNIA 133
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("El contenido de la carpeta actual es: \n");
system ("ls");
return 0;
}
TEMPORIZACIÓN.
Si lo que queremos es hacer una pausa en un programa, en ocasiones
tendremos funciones que nos permitan hacer una pausa de ciertas milésimas
de segundo, como la función “delay” de Turbo C.
#include <stdio.h>
#include <dos.h>
int main()
{
printf("Vamos a esperar 2 segundos... ");
delay(2000);
printf("El tiempo ha pasado.\n");
return 0;
}
Si queremos comprobar la fecha y hora del sistema, lo podemos hacer con las
funciones disponibles en “time.h”, que sí son parte del estandar ANSI C, por lo
que deberían estar disponibles para casi cualquier compilador.
Como lo podemos apreciar en el siguiente ejemplo:
#include <stdio.h>
#include <time.h>
int main()
{
ELECTROTECNIA 134
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
time_t segundos;
struct tm *fecha;
segundos = time(NULL);
printf("Instante actual: %u s\n", segundos);
fecha = gmtime(&segundos);
printf("Como texto es: %s\n", asctime(fecha));
Tenemos también un tipo de registro (struct) predefinido, llamdo “struct tm”, que
guarda la información desglosada del día, el mes, el año, la hora, etc. Los
principales campos que contiene son éstos:
Como hemos visto en este ejemplo, tenemos varias funciones para manipular
la fecha y la hora:
• “time” devuelve el número de segundos que han pasado desde el 1 de enero
de 1970. Su uso habitual es hora = time(NULL);
ELECTROTECNIA 135
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
• “gmtime” convierte ese número de segundos que nos indica “time” a una
variable de tipo “struct tm *” para que podamos conocer detalles como la
hora, el minuto o el mes. En la conversión, devuelve la hora universal (UTC
o GMT, hora en Greenwich), que puede no coincidir con la hora local.
• “localtime” es similar, pero devuelve la hora local, en vez de la hora universal
(el sistema debe saber correctamente en qué zona horaria nos
encontramos).
• “asctime” convierte un dato horario de tipo “struct tm *” a una cadena de
texto que representa fecha, hora y día de la semana, siguiendo el formato
Sat May 20 15:21:51 2000 (día de la semana en inglés abreviado a 3 letras,
mes en inglés abreviado a 3 letras, número de día, horas, minutos,
segundos, año).
ELECTROTECNIA 136
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
ELECTROTECNIA 137
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
Pero hay que tener una precaución: en MsDos sólo se pueden usar como
colores de fondo los 7 primeros: desde BLACK hasta LIGHTGRAY. Se podía
evitar en los ordenadores más modernos, a cambio de perder la posibilidad de
que el texto parpadee, pero es un detalle en el que no entraremos. El caso es
que "normalmente" si hacemos algo como textbackground(LIGHTBLUE);
Para usarlas, tenemos que incluir “conio.h”. Vamos a ver un ejemplo que
emplee la mayoría de ellas:
int main()
{
int i,j; /* Para los bucles "for" */
return 0;
}
ELECTROTECNIA 138
ELECTRÓNICA DE COMPUTADORAS Y PROGRAMACIÓN-PARTE II
Tenemos más funciones definidas en “conio.h”, que nos permiten saber en qué
posición de la pantalla estamos, definir “ventanas” para trabajar sólo con una
zona de la pantalla, etc. Pero como el trabajo en modo texto se considera cada
vez más anticuado, y especialmente dentro del entorno Windows, no
profundizaremos más.
BIBLIOGRAFÍA:
ELECTROTECNIA 139
PROPIEDAD INTELECTUAL DEL SENATI PROHIBIDA
SU REPRODUCCIÓN Y VENTA SIN LA AUTORIZACIÓN
CORRESPONDIENTE