Documentos de Académico
Documentos de Profesional
Documentos de Cultura
La informática y las ciencias de la computación en los primeros años del siglo XXI vienen marcadas por los avances tecnológicos de la pasada década. Los más de
treinta años de vida de la computadora personal (PC) y los más de sesenta años de la informática/computación tradicional vienen acompañados de cambios rápidos
y evolutivos en las disciplinas clásicas. El rápido crecimiento del mundo de las redes y, en consecuencia, la World Wide Web hacen revolucionarios a estos cambios y
afectan al cuerpo de conocimiento de los procesos educativos y profesionales.
Esta web pretende reforzar temas y técnicas de análisis, diseño y construcción de algoritmos, así como de estructuras de datos y programación estructurada, lo que
implica estudiar las reglas de escritura de programas eficientes.
Conceptos Fundamentales
1. Algoritmos: conjunto de instrucciones programadas para resolver una tarea específica.
2. Datos: información que se proporciona a los algoritmos que se han de ejecutar para encontrar una solución. Los datos se organizan en estructuras de datos.
3. Objetos: conjuntos de datos y algoritmos que los manipulan, encapsulados en un tipo de dato conocido como objeto.
4. Clases: tipos de objetos con igual estado y comportamiento, o dicho de otro modo, los mismos atributos y operaciones.
5. Estructuras de datos: conjunto de organizaciones de datos para tratar y manipular eficazmente datos homogéneos y heterogéneos.
6. Temas avanzados: recursividad, métodos avanzados de ordenación y búsqueda, relaciones entre clases, etc.
Paradigmas de Programación
Programación Procedimental.
Un problema se modela directamente mediante un conjunto de algoritmos. Por ejemplo, la nómina de una empresa o la gestión de ventas de un almacén se
representan como una serie de funciones que manipulan datos. Los datos se almacenan separadamente y se accede a ellos a través de parámetros en los
procedimientos. Tres lenguajes de programación clásicos, FORTRAN, Pascal y C, han representado el arquetipo de programación procedimental, también conocida
como Programación Estructurada.
Se modela un conjunto de abstracciones de datos (tipos de datos) conocidos como clases. Las clases contienen un conjunto de instancias o ejemplares de la misma
que se denominan objetos, de modo que un programa actúa como un conjunto de objetos que se relacionan entre sí.
Justificación
Las computadoras (ordenadores) electrónicas modernas son uno de los productos más importantes del siglo XXI ya que se han convertido en un dispositivo esencial
en la vida diaria de las personas, como un electrodoméstico más del hogar o de la oficina y han cambiado el modo de vivir y de hacer negocios. Constituyen una
herramienta esencial en muchas áreas: empresa, industria, gobierno, ciencia, educación..., en realidad en casi todos los campos de nuestras vidas.
Son infinitas las aplicaciones que se pueden realizar con ellas: consultar el saldo de una cuenta corriente, retirar dinero de un banco, enviar o recibir mensajes por
teléfonos celulares (móviles) que a su vez están conectados a potentes computadoras, escribir documentos, navegar por Internet, enviar y recibir correos electrónicos
(e-mail), etc.
El papel de los programas de computadoras es fundamental; sin una lista de instrucciones a seguir, la computadora es virtualmente inútil. Los lenguajes de
programación nos permiten escribir esos programas y por consiguiente comunicarnos con las computadoras. La principal razón para que las personas aprendan
lenguajes y técnicas de programación es utilizar la computadora como una herramienta para resolver problemas.
Los algoritmos constituyen un listado de instrucciones que indican el camino a seguir para solucionar un problema.
Podríamos decir que un algoritmo es la suma de una parte lógica más una parte de control, en donde la parte lógica especifica el conocimiento en la solución del
problema y la parte de control es la estrategia para solucionar el problema.
Diagrama de Flujo
El diagrama de flujo es la representación gráfica de dicha secuencia de instrucciones que conforman el algoritmo.
El siguiente es un ejemplo de un diagrama de flujo para sumar dos variables A y B, el resultado es almacenado en la variable C.
Símbolos
Constantes
Son elementos que contienen datos, el valor asignado a una constante es fijo y no se puede cambiar durante toda la ejecución del programa.
Expresiones
Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales.
Por ejemplo: a + (b + 3) / c
Cada expresión toma un valor que se determina tomando los valores de las variables y constantes implicadas y la ejecución de las operaciones implicadas.
Una expresión consta de operadores y operandos. Según sea el tipo de dato que manipulan, se clasifican las expresiones en aritméticas, relacionales y lógicas.
Operadores
Operadores aritméticos
Los operadores aritméticos nos permiten, básicamente, hacer cualquier operación aritmética (suma, resta, multiplicación y división). En la siguiente tabla se
muestran los principales.
El operador MOD nos devuelve el residuo de una división entera, mientras que el operador DIV devuelve la parte entera de la división entre dos números enteros.
Operadores Relacionales
Al igual que en matemáticas, estos operadores nos permiten evaluar las relaciones (igualdad, mayor que, etc) entre un par de operandos (en principio, pensemos en
números). Los operadores relacionales de que disponemos son:
Operador Acción
> Mayor que
< Menor que
= Igual que
>= Mayor o igual que
<= Menor o igual que
!= Diferente a
Operadores Lógicos
Los operadores lógicos producen un resultado booleano, y sus operandos son también valores lógicos o asimilables a ellos (los valores numéricos son asimilados a
cierto o falso según su valor sea cero o distinto de cero). Los operadores lógicos son tres; dos de ellos son binarios y el tercero es unario.
AND (Y)
Produce un resultado con valor de verdad (true) cuando ambos operandos tienen valor de verdad true; en cualquier otro caso el resultado tendrá un valor de verdad
false.
OR (O)
Produce un resultado con valor de falso (false) cuando ambos operadores tienen valores false; en cualquier otro caso el resultado tendrá valor de verdad (true).
NOT (NO)
Invierte el valor de verdad del operando
1. ( )
2. *, /, MOD, DIV
3. +, -, AND
Diagramas de Flujo
Los diagramas de flujo son herramientas útiles para representar algoritmos. Utilizan los símbolos de diagrama de flujo ya vistos anteriormente. Veamos algunos
ejemplos:
Solución:
1. Inicio
2. Pide el valor de R
3. Se asigna a la variable A, el valor de la operación R*R*pi
4. Salida en pantalla del valor de A.
5. Fin
1. Inicio
2. Pide el valor de la variable X
3. Asigna a Y el valor de la operación (3*X*X) + (5*X) + 3
4. Salida por pantalla del valor de la variable Y.
5. Fin
1. Inicio
2. Salida en pantalla pidiendo los valores de A y B
3. Entrada de A y B.
4. Asignación a la variable AUX del valor de A.
Asignación a la variable A del valor de B.
Asignación a la variable B del valor de AUX.
5. Salida en pantalla de la variable A
6. Salida en pantalla de la variable B
7. Fin
Estructuras de Decisión
La estructura básica de decisión se representa con el siguiente diagrama de flujo:
En el rombo horizontal se expresa una pregunta, que suele ser de tipo lógico o relacional. Dependiendo de la respuesta (Si o No), se llevará a cabo un proceso
distinto.
La estructura selectiva de decisión, también conocida como estructura Si... Entonces, permite que el flujo del algoritmo siga por un camino específico si se cumple
una condición o conjunto de condiciones. Si al evaluar la condición (o condiciones) el resultado es verdadero, entonces se ejecuta(n) cierta(s) operación(es). Luego
se continua con la secuencia normal del programa.
Ejemplo 1: Escribir un algoritmo que permita, dada la nota de un estudiante, decir si aprobó la materia, teniendo en cuenta que la aprobación requiere mínimo una
nota de 3.0
Explicación del Diagrama de Flujo:
1. Inicio
2. Pide la NOTA
3. Si NOTA es mayor o igual a 3.0 entonces
Salida del texto: 'Aprobó'
4. Si NOTA es menor que 3.0 entonces
Salida del texto: 'No aprobó'
5. Fin
Ejemplo 2: Dado como dato el sueldo de un trabajador, aplicar un aumento del 17% si su sueldo es inferior a 600000. Si no, aplicar un aumento de 11%. Salida por
pantalla del nuevo sueldo.
1. Inicio
2. Pide por teclado el valor de SUELDO
3. Si SUELDO es menor que 600000 entonces
SUELDO es igual a SUELDO*1.17
4. Si NO, entonces
SUELDO es igual a SUELDO*1.11
5. Fin
Es posible poner estructuras Si...Entonces, una dentro de la otra. Esto se denomina condicionales anidados.
Ejemplo 3: Leer un número entero y decir si el número está entre 100 y 200. Si cumple la condición, entonces decir si es múltiplo de 3.
Explicación del Diagrama de Flujo:
1. Inicio
2. Pide el valor de NUM
3. Si NUM es mayor o igual que 100 entonces
4. Si NUM es menor o igual que 200 entonces
5. RES es igual a NUM MOD 3 (Se realiza la operación MOD entre NUM y 3).
6. Si RES = 0 entonces
7. Salida por pantalla: 'El número es múltiplo de 3'
8 Si NO, entonces
9. Salida por pantalla: 'El número no es múltiplo de 3'
10. Fin
1. Construya un algoritmo que, dada la nota de un estudiante, escriba 'Aprobado' si la nota es mayor o igual que 3.0 ó escriba 'No Aprobado' si la nota es menor
que 3. El algoritmo debe tener una verificación de la nota introducida por teclado, que debe estar entre 0.0 y 5.0. En caso de no cumplir con el requisito, dar un
mensaje de error 'nota no válida'.
2. Construya un algoritmo, que dado un número entero, escriba si es par o impar. En caso de ser par, entonces verificar si es divisible entre 4 y escribir el mensaje
'divisible entre 4', si no lo es, escribir el mensaje 'no divisible entre 4'. En caso de ser impar, verificar si es divisible entre 3 y escribir el mensaje 'divisible entre 3', y
si no lo es, escribir el mensaje 'no divisible entre 3'.
En las estructuras selectivas se evalúa una condición y en función del resultado de la misma se realiza una opción u otra. Las condiciones se especifican usando
expresiones lógicas o relacionales.
Las estructuras selectivas pueden ser simples o anidadas. Hemos visto ejercicios sencillos de estructuras selectivas simples y anidadas. La estructura alternativa
simple, SI...ENTONCES, ejecuta una acción determinada cuando se cumple una determinada condición. La estructura SI...ENTONCES evalúa la condición y:
SI (condición) ENTONCES
Esta parte se ejecuta cuando la condición sea verdadera
SINO
Esta parte se ejecuta cuando la condición sea falsa
FIN_SI
Las estructuras condicionales anidadas están compuestas por varias estructuras condicionales sencillas, una dentro de la otra. Cada una evalúa una condición, lo
que determina distintos posibles caminos durante la ejecución del programa.
SI (condición1) ENTONCES
Esta parte se ejecuta cuando condición1 sea verdadera
SINO
SI (condición2) ENTONCES
Esta parte se ejecuta si condición2 es verdadera
SINO
SI (condición3) ENTONCES
Esta parte se ejecuta si condición3 es verdadera
FIN_SI
FIN_SI
FIN_SI
Durante la ejecución de un programa o algoritmo, las variables pueden tomar distintos valores, de acuerdo a los procesos realizados. Por ejemplo en el siguiente
algoritmo.
Ejemplo 1:
INICIO
entrada ('Introduce el valor de A, B y C')
A = A*2
B = B-4
C = C/5
salida('El nuevo valor de A es', A, '. El nuevo valor de B es ', B, '. El nuevo valor de C es ', C)
FIN
Explicación: Los valores de las variables A, B y C cambian durante la ejecución del algoritmo. Al final del mismo, los valores almacenados en ellas son distintos a los
entrados por teclado al inicio.
Ejemplo 2:
INICIO
salida ('Ingresar los valores de A, B y C')
entrada (A, B, C)
SI (A >= B) ENTONCES
SI (A >= C) ENTONCES
A=A+3
salida ('El valor de A es ', A)
SINO
A=A+2
salida ('El valor de A es ', A)
FIN_SI
SINO
A=A+1
salida ('El valor de A es ', A)
FIN_SI
FIN
Explicación: En el algoritmo condicional, el valor de la variable A va cambiando, de acuerdo al camino que siga el algoritmo, lo que a su vez depende de las
comparaciones lógicas entre los valores de las variables que se entraron por teclado al inicio. Al final del algoritmo, el valor de A es distinto al valor entrado por
teclado, pero el cambio depende del camino seguido en el algoritmo.
Algoritmos de Ordenamiento
Los algoritmos de ordenamiento nos permiten, como su nombre lo dice, ordenar. En este caso, nos servirán para ordenar variables en forma ascendente o
descendente. Para poder ordenar variables existen distintos métodos con diferentes características, funcionalidades y niveles de complejidad. Nosotros
utilizaremos el método más simple, llamado Bubblesort (o método búrbuja), que consiste en iteraciones sucesivas.
El método de la burbuja es uno de los más simples sistemas para ordenar números, basta con comparar cada uno de ellos con los otros. Si se cumple que uno es
mayor o menor a otro, entonces los intercambia de posición.
Por ejemplo, imaginemos que tenemos los siguientes valores y queremos ordenarlos en forma ascendente:
1 4 5 2
Lo que haría el método de la burbuja sería comenzar por el número más a la izquierda, es decir el 1, y compararlo con el 4, el 5 y el 2. Si es mayor, se intercambian
de posición, y si es menor se queda donde está. Luego continúa con el 4 y así sucesivamente hasta llegar al final de la lista de números.
Explicación: El algoritmo compara los valores de a y b. Si a < b entonces la salida toma la forma ab. Si no, entonces la salida toma la forma ba.
1. INICIO
2. salida ('Introduzca tres números distintos')
3. entrada (a, b, c)
4. SI (a < b) ENTONCES
5. SI (b < c) ENTONCES //se aplica la propiedad transitiva
6. salida (a, b, c) //quedan ordenados a, b y c
7. SINO //es decir, si c < b
8. SI (a < c) // se comparan a y c
9. salida (a, c, b) // quedan ordenados
10. SINO // es decir, si c < a
11. salida (c, a, b) //quedan ordenados
12. FIN_SI
13. FIN_SI
14.SINO // es decir, si b < a)
15. SI (a < c) ENTONCES
16. salida (b, a, c) // quedan ordenados
17. SINO // es decir, si c < a
18. SI (b < c) ENTONCES
19. salida (b, c, a) // quedan ordenados
20. SINO // es decir, si c < b
21. salida (c, b, a) // quedan ordenados
22. FIN_SI
23. FIN_SI
24. FIN_SI
Observar que el algoritmo contempla las seis posibles ordenaciones entre tres cosas:
abc
acb
bac
bca
cab
cba
Ejercicios de Ordenamiento
1. Pedir por teclado un número entero y almacenar su valor en la variable a. Si a es múltiplo de 5, sumarle 3, sino, sumarle 2, almacenar en resultado en la variable
b. Si b es par, sumarle 1, sino restarle 1, almacenar el resultado en la variable c. Ordenar a, b y c en forma ascendente.
2. Pedir por teclado dos números enteros, almacenar los números en las variables a y b. Sumar a + b y almacenar el resultado en la variable c. Realizar el
ordenamiento de a, b y c.
3. Pedir por teclado tres números enteros. Realizar el ordenamiento de a, b y c en forma descendente.
4. Pedir por teclado un número entero y almacenar su valor en la variable a. Si a es múltiplo de 5, sumarle 3, sino, sumarle 2, almacenar en resultado en la variable
b. Si b es par, sumarle 1, si no restarle 1, almacenar el resultado en la variable c. Mostrar en pantalla el valor de las variables a, b y c.
5. Pedir por teclado dos números y almacenar su valor en las variables a y b. Si a es múltiplo de b, entonces asignar a la variable c el resultado de sumar a + b. Si b
es múltiplo de a, entonces asignar a la variable c el resultado de restar a - b. Mostrar en pantalla el valor de c.
Estructuras Repetitivas
Es común encontrar en los algoritmos problemas que requieren ejecutar operaciones un número repetido de veces. Si bien las instrucciones son las mismas, los
datos sobre los que operan varían. El conjunto de instrucciones que se ejecuta repetidas veces se denomina ciclo.
Todo ciclo debe terminar de ejecutar después de un número finito de veces, por lo que es necesario en cada iteración del mismo, evaluar las condiciones necesarias
para decidir si debe seguir ejecutándose o debe detenerse. En todo ciclo, siempre debe existir una condición de parada o fin de ciclo.
La estructura algorítmica mientras es la estructura adecuada para utilizar en un ciclo cuando no sabemos el número de veces que éste se ha de repetir. Dicho
número depende de las proposiciones dentro del ciclo. Ejemplos en la vida cotidiana encontramos muchos. Por ejemplo, supongamos que tenemos que obtener el
total de una serie de gastos, pero no sabemos exactamente cuántos son; o cuando tenemos que sacar el promedio de calificaciones de un examen, pero no
sabemos precisamente cuántos alumnos lo aplicaron. Tenemos que sumar las calificaciones e ir contando el número de alumnos, esto con el fin de poder obtener
posteriormente el promedio. El ciclo se repite mientras tengamos calificaciones de alumnos.
Hacer (Proceso)
Fin MQ
Proceso, es cualquier operación o conjunto de operaciones que deben ejecutarse mientras se repite el ciclo. El ciclo se repetirá mientras que la condición sea
verdadera, es decir, cuando la condición se vuelva falsa, el ciclo finaliza.
Por ejemplo:
El proceso (o los procesos) dentro de la estructura MQ se repite indefinidamente, mientras que la condición sea verdadera.
Ejemplo 1: Leer por teclado una serie de números enteros positivos y sumarlos. Terminar el ciclo cuando el número leído sea negativo .
Ciclos Infinitos
Los bucles que no se terminan nunca porque la condición está mal diseñada se denominan bucles infinitos. Estos bucles infinitos son muy perjudiciales para la
programación y se deben evitar siempre.
Muchas veces usamos esta estructura MQ con una variable especial dentro del proceso que se denomina "contador". El contador es una variable que nos permite
llevar la cuenta de las veces que hemos repetido el ciclo. Veamos un ejemplo sencillo:
Analicemos el ejemplo 3:
Tenemos dos variables iniciales que se denominaron cont y suma. En la variable cont se llevará el conteo de las veces que se repite el ciclo; esta variable se utiliza
como condición al inicio de cada ciclo. La condición es que el valor de cont sea menor que 10. Por otra parte, en la variable suma se almacenará el resultado de la
suma de los números del 1 al 10, por esta razón se inicializa en 0.
Se inicia el ciclo MQ con la condición de que el valor de la variable cont sea menor que 10. Cómo al inicio del ciclo, la variable cont tiene un valor de 0 (ya que se
inicializa en 0), el ciclo se ejecuta, al ser verdadera la condición (0 < 10). El único proceso dentro del ciclo realiza las acumulaciones de números. Para la variable
cont, la operación es la siguiente:
cont = cont + 1
Analicemos este proceso detenidamente, determinando los valores de cont y suma, ya que lo utilizaremos muchas veces:
Al llegar a este punto, el ciclo se ha repetido 10 veces y en la variable suma se encuentra acumulada la suma de los números del 1 al 10. La variable cont tiene un
valor de 10. Al intentar realizar el siguiente ciclo, la condición es falsa, (ya que cont < 10 es falsa), puesto que 10 no es menor que 10. Entonces el ciclo finaliza y se
escribe en pantalla el valor de suma.
1. Construir un algoritmo que sume los números del 1 al 100 y muestre el resultado por pantalla.
2. Construir un algoritmo que sume los números pares del 1 al 10 y muestre el resultado por pantalla.
3. Construir un algoritmo que calcule y visualice el promedio de un número no definido de notas. La condición de terminación debe ser nota != -1
4. La sucesión de fibonacci es una secuencia infinita de números en los cuales cada uno (a excepción de los dos primeros, que siempre son 1, 1) es la suma de los
dos anteriores. Construir un algoritmo que escriba el 20avo número de la sucesión de fibonacci.
Plan de Mejoramiento
Para las siguientes situaciones, desarrolla un algoritmo que resuelva el problema. Lo puedes realizar en DFD, pero el algoritmo debe quedar en hojas, bien sea
impreso o bien sea dibujado.
1. Se desea calcular la distancia recorrida (en metros) por un móvil A que tiene velocidad constante (m/s) durante un tiempo t (sg). Considerar que el móvil se
desplaza en un MRU (Movimiento rectilíneo uniforme).
Datos de Entrada: Velocidad, Tiempo
Datos de Salida: Distancia recorrida.
2. Obtener el promedio de un estudiante, a partir de sus tres notas obtenidas.
3. Obtener el sueldo de un trabajador, a partir de sus horas laboradas en el mes y del pago por hora.
4. Calcular cuántos CD’s se necesitan para grabar un archivo de un tamaño que conoce el usuario, expresado en GB (Gigabytes). Considerar que un CD tiene 700
MB (Megabyes) y que un GB es igual a 1024 MB.
5. Elaborar un algoritmo que pida la edad de 2 hermanos y muestre un mensaje indicando la edad del mayor y cuántos años de diferencia tiene con el menor.
6. Elaborar un algoritmo que pida tres números distintos y determine cuál es el mayor.
7. Elaborar un algoritmo que determine el tipo de triángulo conociendo sus tres lados (Equilátero, Isósceles o Escaleno).
8. Elaborar un algoritmo que pida un número entero de 2 cifras y que muestre un mensaje diciendo cuántas unidades y cuántas decenas tiene. Ejemplo: Si el
número entrado por teclado es 27, el mensaje debe decir: ‘7 unidades y 2 decenas’. Para realizar este algoritmo es útil el operador TRUNC, operador que elimina de
un número la parte decimal, dejando sólo la parte entera. Por ejemplo: TRUNC (19,7) = 19
¿QUÉ ES UN COMPUTADOR?
Un computador es un dispositivo electrónico, utilizado para procesar información y obtener resultados, capaz de ejecutar cálculos y tomar decisiones a velocidades
millones o cientos de millones de veces más rápidas de lo que pueden hacerlo los seres humanos. En el sentido más simple un computador es “un dispositivo” para
realizar cálculos o computar. El término sistema de computador o simplemente computador se utiliza para enfatizar que, en realidad, son dos partes
distintas: hardware y software. El hardware es el computador en sí mismo. El software es el conjunto de programas que indican al computador las tareas que debe
realizar. Los computadores procesan datos bajo el control de un conjunto de instrucciones denominadas programas de computador. Estos programas controlan y
dirigen al computador para que realice un conjunto de acciones (instrucciones) especificadas por personas especializadas, llamadas programadores de
computadores.
Los componentes físicos que constituyen un computador, junto con los dispositivos de entrada y salida, se conocen como hardware o sistema físico. Un computador
consta de varios dispositivos (tales como teclado, pantalla, ratón, discos duros, memorias, escáner, DVD, memorias flash, unidades de proceso, impresoras, etc.)
Un computador puede tener más de una CPU; esto se llama multiprocesamiento. Todas las CPU modernas son microprocesadores, lo que significa que contienen un
solo circuito integrado (chip). Algunos circuitos integrados pueden contener varias CPU en un solo chip; estos son denominados procesadores multinúcleo.
Dos componentes típicos de una CPU son la unidad aritmético lógica (ALU), que realiza operaciones aritméticas y lógicas, y la unidad de control (CU), que extrae
instrucciones de la memoria, las decodifica y las ejecuta, llamando a la ALU cuando sea necesario.
MEMORIA PRINCIPAL
Memoria primaria (MP), memoria principal, memoria central o memoria interna es la memoria de la computadora donde se almacenan temporalmente tanto los
datos como los programas que la unidad central de procesamiento (CPU) está procesando o va a procesar en un determinado momento. Por su función, la MP debe
ser inseparable del microprocesador o CPU, con quien se comunica a través del bus de datos y el bus de direcciones. El ancho del bus determina la capacidad que
posea el microprocesador para el direccionamiento de direcciones en memoria.
En algunas ocasiones suele llamarse “memoria interna” porque a diferencia de los dispositivos de memoria secundaria, la MP no puede extraerse tan fácilmente.
Esta clase de memoria es volátil, es decir que cuando se corta la energía eléctrica, se borra toda la información que estuviera almacenada en ella.
La MP es el núcleo del subsistema de memoria de un sistema informático, y posee una menor capacidad de almacenamiento que la memoria secundaria, pero una
velocidad millones de veces superior. Cuanto mayor sea la cantidad de memoria, mayor será la capacidad de almacenamiento de datos.
Cuando la CPU tiene que ejecutar un programa, primero lo coloca en la memoria y después lo empieza a ejecutar. Lo mismo ocurre cuando necesita procesar una
serie de datos; antes de poder procesarlos los tiene que llevar a la memoria principal.
La memoria ROM (read only memory) es un medio de almacenamiento que sólo permite lectura de datos. En general, los datos en la memoria ROM no se pueden
modificar. Hoy en día, la memoria ROM en un computador se utiliza básicamente para almacenar la BIOS, un conjunto de instrucciones de inicio.
Memoria ROM
La memoria RAM (random access memory) se utiliza como memoria de trabajo en los computadores para el sistema operativo, los programas y la mayor parte del
software. En la RAM se cargan todas las instrucciones que ejecuta la CPU y otros componentes del computador. Dentro de la memoria de acceso aleatorio (RAM)
existe una clase de memoria denominada memoria caché, que se caracteriza por ser más rápida que las demás, permitiendo que el intercambio de información
entre la CPU y la MP sea a mayor velocidad.
Memoria RAM
La estructura de la memoria principal ha cambiado en la historia de las computadoras. Desde los años 1980 es prevalentemente una unidad dividida en celdas que
se identifican mediante una dirección. Está formada por bloques de circuitos integrados o chips capaces de almacenar, retener o "memorizar" información digital,
es decir, valores binarios; a dichos bloques tiene acceso el microprocesador de la computadora.
MEMORIA SECUNDARIA
La memoria secundaria, memoria auxiliar, memoria periférica o memoria externa, también conocida como almacenamiento secundario, es el conjunto de
dispositivos y soportes de almacenamiento de datos que conforman el subsistema de memoria de la computadora, junto con la memoria primaria o principal.
Puede denominarse periférico de almacenamiento o “memoria periférica”, en contraposición a la ‘memoria central’, porque en ocasiones puede considerarse como
periférico de Entrada/Salida.
La memoria secundaria es un tipo de almacenamiento masivo y permanente (no volátil) con mayor capacidad para almacenar datos e información que la memoria
primaria que es volátil, aunque la memoria secundaria es de menor velocidad.
Deben diferenciarse los “dispositivos o unidades de almacenamiento” de los “soportes o medios de almacenamiento”, porque los primeros son los aparatos que
leen o escriben los datos almacenados en los soportes.
La mayoría de los dispositivos y medios de almacenamiento emplean una tecnología u otra (almacenamiento magnético ó almacenamiento óptico), y algunos
utilizan ambas, llamados híbridos (almacenamiento magneto-óptico).
Otra categoría de almacenamiento, como el dispositivo de estado sólido, se utiliza con mayor frecuencia en las computadoras portátiles (netbooks, notebooks,
ultrabooks), así como también en cámaras digitales, teléfonos inteligentes, tabléfonos y reproductores multimedia.
DISPOSITIVOS DE ENTRADA
En informática, un periférico de entrada es un dispositivo utilizado para proporcionar datos y señales de control a la unidad central de procesamiento de
una computadora.
A pesar de que el término “periférico” implica a menudo el concepto de “adicional pero no esencial”, muchos periféricos son elementos fundamentales para un
sistema informático. Sin embargo, al ser las fuentes primordiales de entrada, se pueden considerar como extensiones del sistema.
Un dispositivo de entrada es cualquier periférico (dispositivo del equipamiento del hardware de computador) utilizado para proporcionar datos y señales de
control a un sistema de procesamiento de información. Los periféricos de entrada y salida componen la interfaz del hardware.
Ejemplos: teclado, ratón óptico, escáner, micrófono, palanca de mando, gamepad o controlador de videojuego, que están conectados a la computadora y son
controlados por el microprocesador.
DISPOSITIVOS DE SALIDA
Los dispositivos de salida son aquellos que reciben información de la computadora, su función es eminentemente receptora y por ende están imposibilitados para
enviar información. Entre los dispositivos de salida más conocidos están: la impresora (matriz, cadena, margarita, láser o de chorro de tinta), el delineador (plotter),
la grabadora de cinta magnética o de discos magnéticos y la pantalla o monitor.
Un periférico de comunicación permite la conexión de la computadora con otros sistemas informáticos a través de diversos medios. El medio más común es la línea
telefónica. El periférico de comunicación más utilizado es el módem (modulador-demodulador).
Referencia: https://sites.google.com/site/informaticaieensma/home