HARDWARE
Se refiere a las partes físicas tangibles de un sistema informático; sus componentes eléctricos, electrónicos, electromecánicos y mecánicos. Cables, gabinetes o cajas, periféricos de todo tipo y cualquier otro elemento físico involucrado componen el hardware; contrariamente, el soporte lógico e intangible es el llamado software.
Partes del Hardware:
_Main Board
_CPU
_Ram
_Disco Duro
_Tarjeta Grafica
_Procesador
Memoria: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, esta memoria es volatil,es decir que cuando se corta la energía eléctrica, se borra toda la información que estuviera almacenada en ella.
Disco Duro:es el dispositivo de almacenamiento de datos que emplea un sistema de grabación magnética para almacenar archivos digitales este disco no es volatil.
Dentro del disco se encuentran:
El registro de arranque principal (Master Boot Record, MBR), en el bloque o sector de arranque, que contiene la tabla de particiones.
Las particiones de disco, necesarias para poder colocar los sistemas de archivos.
Procesador: Es el circuito integrado central más complejo de un sistema informático; a modo de ilustración, se le suele llamar por analogía el cerebro de un computador, es el encargado de ejecutar los programas, desde el sistema operativo hasta las aplicaciones de usuario; sólo ejecuta instrucciones programadas en lenguaje de bajo nivel, realizando operaciones aritméticas y lógicas simples, tales como sumar, restar, multiplicar, dividir, las lógicas binarias y accesos a memoria, puede contener una o más unidades centrales de procesamiento (CPU) constituidas, esencialmente, por registros, una unidad de control, una unidad aritmético lógica (ALU) y una unidad de cálculo en coma flotante (conocida antiguamente como «coprocesador matemático»).
SOFTWARE
Se conoce como el soporte lógico de un sistema informático, que comprende el conjunto de los componentes lógicos necesarios que hacen posible la realización de tareas específicas, los componentes lógicos incluyen, entre muchos otros, las aplicaciones informáticas, tales como el procesador de texto, que permite al usuario realizar todas las tareas concernientes a la edición de textos; el llamado software de sistema, tal como el sistema operativo, que básicamente permite al resto de los programas funcionar adecuadamente, facilitando también la interacción entre los componentes físicos y el resto de las aplicaciones, y proporcionando una interfaz con el usuario.
Sistema Operativo:Es el software principal o conjunto de programas de un sistema informático que gestiona los recursos de hardware y provee servicios a los programas de aplicación de software, los sistemas operativos utilizan imágenes y botones para poder comunicarnos con el ordenador de forma sencilla y fácil para decirle lo que queremos hacer en cada momento a nuestro ordenador.
Su función principal es la de darnos las herramientas necesarias para poder controlar nuestra computadora y poder hacer uso de ella, de la forma más cómoda y sencilla posible.
Tipos de Sistemas Operativos
Sistemas Operativos para Pc:
Linux
Windows
Mac Os
OS X
Windows
GNU/Linux
Unix
Solaris
FreeBSD
OpenBSD
Google Chrome OS
Debian
Ubuntu
Sistemas Operativos Móviles:
Android
iOS
Windows Phone
BlackBery
Symbian OS
HP webOS
Firefox OS
Ubuntu Phone OS
Lenguaje de Programación:Un lenguaje de programación es un lenguaje formal diseñado para realizar procesos que pueden ser llevados a cabo por máquinas como las computadoras.
Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana.
Tipos de Lenguajes de Programación:
Según su nivel de abstracción :
LENGUAJE DE ALTO NIVEL
Los lenguajes de alto nivel son normalmente fáciles de aprender porque están formados por elementos de lenguajes naturales, como el inglés.
En BASIC, uno de los lenguajes de alto nivel más conocidos, los comandos como "IF CONTADOR = 10 THEN STOP" pueden utilizarse para pedir a la computadora que pare si el CONTADOR es igual a 10. Esta forma de trabajar puede dar la sensación de que las computadoras parecen comprender un lenguaje natural; en realidad lo hacen de una forma rígida y sistemática, sin que haya cabida, por ejemplo, para ambigüedades o dobles sentidos.
LENGUAJE DE BAJO NIVEL :
Los lenguajes de bajo nivel son lenguajes de programación que se acercan al funcionamiento de una computadora. El lenguaje de más bajo nivel por excelencia es el código máquina. A éste le sigue el lenguaje ensamblador, ya que al programar en ensamblador se trabajan con los registros de memoria de la computadora de forma directa
LENGUAJE DE MAQUINA
Lenguaje de máquina
Están escritos en lenguajes directamente legibles por la máquina (computadora), ya que sus instrucciones son cadenas binarias (0 y 1). Da la posibilidad de cargar (transferir un programa a la memoria) sin necesidad de traducción posterior lo que supone una velocidad de ejecución superior, solo que con poca fiabilidad y dificultad de verificar y poner a punto los programas.
Según el paradigma de programación:
Lenguajes imperativos
Son los lenguajes que dan instrucciones a la computadora, es decir, órdenes.
Lenguajes Funcionales
]Paradigma Funcional: este paradigma concibe a la computación como la evaluación de funciones matemáticas y evita declarar y cambiar datos. En otras palabras, hace hincapié en la aplicación de las funciones y composición entre ellas, más que en los cambios de estados y la ejecución secuencial de comandos (como lo hace el paradigma procedimental). Permite resolver ciertos problemas de forma elegante y los lenguajes puramente funcionales evitan los efectos secundarios comunes en otro tipo de programaciones.
Lenguajes Lógicos
La computación lógica direcciona métodos de procesamiento basados en el razonamiento formal. Los objetos de tales razonamientos son "hechos" o reglas "if then". Para computar lógicamente se utiliza un conjunto de tales estamentos para calcular la verdad o falsedad de ese conjunto de estamentos. Un estamento es un hecho si sus tuplas verifican una serie de operaciones.
Un hecho es una expresión en la que algún objeto o conjunto de objetos satisface una relación específica. Una tupla es una lista inmutable. Una tupla no puede modificarse de ningún modo después de su creación.
Un regla if then es un estamento que informa acerca de conjuntos de tuplas o estamentos relacionados que pueden predecir si otras tuplas satisfacerán otras relaciones.
Un estamento que es probado verdadero como resultado de un proceso se dice que es una inferencia del conjunto original. Se trata por tanto de una descripción de cómo obtener la veracidad de un estamento dado que unas reglas son verdaderas.
La computación lógica está por tanto relacionada con la automatización de algún conjunto de métodos de inferencia.
Lenguajes orientados a objetos
Programación orientada a objetos
La Programación Orientada a Objetos (POO u OOP según sus siglas en inglés) es un paradigma de programación que usa objetos y sus interacciones para diseñar aplicaciones y programas de computadora. Está basado en varias técnicas, incluyendo herencia, modularidad, polimorfismo y encapsulamiento. Su uso se popularizó a principios de la década de 1990. Actualmente son muchos los lenguajes de programación que soportan la orientación a objetos.
LENGUAJES DE PROGRAMACIÓN MÁS USADOS
Lenguaje de Programación “HTML”: Este lenguaje es con el que se crean las páginas web, por ejemplo, que básicamente es un conjunto de etiquetas que sirven para definir el texto y otros elementos que puedes ver en las páginas web. HTML significa HyperText Markup Lenguaje («lenguaje de marcas de hipertexto») y es muy fácil de aprender. Luego ya depende de si queremos una web más o menos elaborada podremos profundizar en este lenguaje. Por ejemplo, el lenguaje de programación CSS (Cascading Style Sheets) son hojas que sirven para dar “estilo” a las páginas web como su color, definir su fondo, tipos de letra…etc
Lenguaje de Programación “SQL”: Este lenguaje está creado para realizar consultas a bases de datos principalmente. SQL son las siglas de Structured Query Lenguaje ( Lenguaje estructurado de consultas) y se utiliza para páginas web y también para aplicaciones de ordenadores, para manejar datos sobre todo. (Introducir datos, actualizar datos, eliminar o seleccionar datos)
Lenguaje de Programación “Java”: Probablemente éste podría ser el favorito de más de uno ya que es el lenguaje utilizado para programas punteros como herramientas, juegos y aplicaciones. Este lenguaje de programación se utiliza en miles de millones de dispositivos móviles y aparatos de televisión y en más de 850 millones de ordenadores personales de todo el mundo. Java está instalado en inmensidad de aplicaciones y sitios web.
JavaScript: Seguramente también te suene JavaScript, que es otro lenguaje utilizado para crear pequeños programas encargados de realizar acciones y dar interactividad dentro de una web como por ejemplo para crear efectos especiales, para definir interactividades con los usuarios, efectos de textos. Hoy en día es casi el único lenguaje usado en todas las páginas web por la compatibilidad con HTML5. Si quieres aprender a programar en Javascript te recomendamos este enlace: JavaScript Curso Basico.
Lenguaje de Programación “C”: Este lenguaje de programación está orientado a los Sistemas Operativos y es muy eficaz y con él podemos crear Softwares de sistemas operativos como Windows o Linux y también para aplicaciones. También sirve para experimentos informáticos, físicos, matemáticos…etc. Es también muy utilizado en robótica con el que se programan simuladores, etc.
Lenguaje de Programación “XML”: Este lenguaje es también un lenguaje de etiquetas como el HTML, pero a diferencia de éste, el lenguaje XML separa el contenido de la presentación, es decir, XML se preocupa del significado del texto que define el HTML. Te da el dato + el significado de ese dato, mientras que el HTML te da el dato nada más. El XML es un complemento fundamental al HTML.
Lenguaje de Programación “PHP”: El PHP es un lenguaje de programación similar al HTML que nos sirve fundamentalmente para páginas web y se puede combinar con el lenguaje HTML. El lenguaje PHP se basa en los “scripts” que es un guión de órdenes o instrucciones que recibe un servidor de una página web para leer su código fuente.
Generaciones de lenguajes de programación
Los equipos de ordenador (el hardware) han pasado por cuatro generaciones, de las que las tres primeras (ordenadores con válvulas, transistores y circuitos integrados) están muy claras, la cuarta (circuitos integrados a gran escala) es más discutible.
Algo parecido ha ocurrido con la programación de los ordenadores (el software), que se realiza en lenguajes que suelen clasificarse en cinco generaciones, de las que las tres primeras son evidentes, mientras no todo el mundo está de acuerdo en las otras dos. Estas generaciones no coincidieron exactamente en el tiempo con las de hardware, pero sí de forma aproximada, y son las siguientes:
Primera generación: Los primeros ordenadores se programaban directamente en código de máquina (basado en sistema binario), que puede representarse mediante secuencias de ceros y unos sistema binario. Cada modelo de ordenador tiene su propio código, por esa razón se llama lenguaje de máquina.
Segunda generación: Los lenguajes simbólicos, asimismo propios de la máquina, simplifican la escritura de las instrucciones y las hacen más legibles.
Tercera generación: Los lenguajes de alto nivel sustituyen las instrucciones simbólicas por códigos independientes de la máquina, parecidas al lenguaje humano o al de las Matemáticas.
Cuarta generación: se ha dado este nombre a ciertas herramientas que permiten construir aplicaciones sencillas combinando piezas prefabricadas. Hoy se piensa que estas herramientas no son, propiamente hablando, lenguajes. Algunos proponen reservar el nombre de cuarta generación para la programación orientada a objetos.
Estos lenguajes tienen una estructura lo más parecido al idioma inglés, algunas características son:
- Acceso a base de datos.
- Capacidades Gráficas.
- Generación de código automáticamente.
- Puede programarse visualmente como Visual Basic (Programación Visual).
Quinta generación: se llama así a veces a los lenguajes de la inteligencia artificial, aunque con el fracaso del proyecto japonés de la quinta generación el nombre ha caído en desuso.
Sistemas Numericos:
Sistema de numeración decimal:
El sistema de numeración que utilizamos habitualmente es el decimal, que se compone de diez símbolos o dígitos (0, 1, 2, 3, 4, 5, 6, 7, 8 y 9) a los que otorga un valor dependiendo de la posición que ocupen en la cifra: unidades, decenas, centenas, millares, etc.
El valor de cada dígito está asociado al de una potencia de base 10, número que coincide con la cantidad de símbolos o dígitos del sistema decimal, y un exponente igual a la posición que ocupa el dígito menos uno, contando desde la derecha.
En el sistema decimal el número 528, por ejemplo, significa:
5 centenas + 2 decenas + 8 unidades, es decir:
5*102 + 2*101 + 8*100 o, lo que es lo mismo:
500 + 20 + 8 = 528
En el caso de números con decimales, la situación es análoga aunque, en este caso, algunos exponentes de las potencias serán negativos, concretamente el de los dígitos colocados a la derecha del separador decimal. Por ejemplo, el número 8245,97 se calcularía como:
8 millares + 2 centenas + 4 decenas + 5 unidades + 9 décimos + 7 céntimos
8*103 + 2*102 + 4*101 + 5*100 + 9*10-1 + 7*10-2, es decir:
8000 + 200 + 40 + 5 + 0,9 + 0,07 = 8245,97
Sistema de numeración binario.
El sistema de numeración binario utiliza sólo dos dígitos, el cero (0) y el uno (1).
En una cifra binaria, cada dígito tiene distinto valor dependiendo de la posición que ocupe. El valor de cada posición es el de una potencia de base 2, elevada a un exponente igual a la posición del dígito menos uno. Se puede observar que, tal y como ocurría con el sistema decimal, la base de la potencia coincide con la cantidad de dígitos utilizados (2) para representar los números.
De acuerdo con estas reglas, el número binario 1011 tiene un valor que se calcula así:
1*23 + 0*22 + 1*21 + 1*20 , es decir:
8 + 0 + 2 + 1 = 11
y para expresar que ambas cifras describen la misma cantidad lo escribimos así:
10112 = 1110
Conversión entre números decimales y binarios
Convertir un número decimal al sistema binario es muy sencillo: basta con realizardivisiones sucesivas por 2 y escribir los restos obtenidos en cada división en orden inversoal que han sido obtenidos.
Por ejemplo, para convertir al sistema binario el número 7710 haremos una serie de divisiones que arrojarán los restos siguientes:
77 : 2 = 38 Resto: 1
38 : 2 = 19 Resto: 0
19 : 2 = 9 Resto: 1
9 : 2 = 4 Resto: 1
4 : 2 = 2 Resto: 0
2 : 2 = 1 Resto: 0
1 : 2 = 0 Resto: 1
y, tomando los restos en orden inverso obtenemos la cifra binaria:
7710 = 10011012
Conversión de binario a decimal
El proceso para convertir un número del sistema binario al decimal es aún más sencillo; basta con desarrollar el número, teniendo en cuenta el valor de cada dígito en su posición, que es el de una potencia de 2, cuyo exponente es 0 en el bit situado más a la derecha, y se incrementa en una unidad según vamos avanzando posiciones hacia la izquierda.
Por ejemplo, para convertir el número binario 10100112 a decimal, lo desarrollamos teniendo en cuenta el valor de cada bit:
1*26 + 0*25 + 1*24 + 0*23 + 0*22 + 1*21 + 1*20 = 83
10100112 = 8310
Sistema de numeración octal
El inconveniente de la codificación binaria es que la representación de algunos números resulta muy larga. Por este motivo se utilizan otros sistemas de numeración que resulten más cómodos de escribir: el sistema octal y el sistema hexadecimal. Afortunadamente, resulta muy fácil convertir un número binario a octal o a hexadecimal.
En el sistema de numeración octal, los números se representan mediante ocho dígitos diferentes: 0, 1, 2, 3, 4, 5, 6 y 7. Cada dígito tiene, naturalmente, un valor distinto dependiendo del lugar que ocupen. El valor de cada una de las posiciones viene determinado por las potencias de base 8.
Por ejemplo, el número octal 2738 tiene un valor que se calcula así:
2*83 + 7*82 + 3*81 = 2*512 + 7*64 + 3*8 = 149610
2738 = 149610
Conversión de un número decimal a octal
La conversión de un número decimal a octal se hace con la misma técnica que ya hemos utilizado en la conversión a binario, mediante divisiones sucesivas por 8 y colocando los restos obtenidos en orden inverso. Por ejemplo, para escribir en octal el número decimal12210 tendremos que hacer las siguientes divisiones:
122 : 8 = 15 Resto: 2
15 : 8 = 1 Resto: 7
1 : 8 = 0 Resto: 1
Tomando los restos obtenidos en orden inverso tendremos la cifra octal:
12210 = 1728
Conversión octal a decimal
La conversión de un número octal a decimal es igualmente sencilla, conociendo el peso de cada posición en una cifra octal. Por ejemplo, para convertir el número 2378 a decimal basta con desarrollar el valor de cada dígito:
2*82 + 3*81 + 7*80 = 128 + 24 + 7 = 15910
2378 = 15910
Sistema de numeración hexadecimal
En el sistema hexadecimal los números se representan con dieciséis símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E y F. Se utilizan los caracteres A, B, C, D, E y F representando las cantidades decimales 10, 11, 12, 13, 14 y 15 respectivamente, porque no hay dígitos mayores que 9 en el sistema decimal. El valor de cada uno de estos símbolos depende, como es lógico, de su posición, que se calcula mediante potencias de base 16.
Calculemos, a modo de ejemplo, el valor del número hexadecimal 1A3F16:
1A3F16 = 1*163 + A*162 + 3*161 + F*160
1*4096 + 10*256 + 3*16 + 15*1 = 6719
1A3F16 = 671910
Conversión de números binarios a octales y viceversa
Observa la tabla siguiente, con los siete primeros números expresados en los sistemas decimal, binario y octal:
DECIMAL
|
BINARIO
|
OCTAL
|
0
|
000
|
0
|
1
|
001
|
1
|
2
|
010
|
2
|
3
|
011
|
3
|
4
|
100
|
4
|
5
|
101
|
5
|
6
|
110
|
6
|
7
|
111
|
7
|
Cada dígito de un número octal se representa con tres dígitos en el sistema binario. Por tanto, el modo de convertir un número entre estos sistemas de numeración equivale a "expandir" cada dígito octal a tres dígitos binarios, o en "contraer" grupos de tres caracteres binarios a su correspondiente dígito octal.
Por ejemplo, para convertir el número binario 1010010112 a octal tomaremos grupos de tres bits y los sustituiremos por su equivalente octal:
1012 = 58
0012 = 18
0112 = 38
y, de ese modo: 1010010112 = 5138
La conversión de números octales a binarios se hace, siguiendo el mismo método, reemplazando cada dígito octal por los tres bits equivalentes. Por ejemplo, para convertir el número octal 7508 a binario, tomaremos el equivalente binario de cada uno de sus dígitos:
78 = 1112
58 = 1012
08 = 0002
y, por tanto: 7508 = 1111010002
Conversión de números binarios a hexadecimales y viceversa
Del mismo modo que hallamos la correspondencia entre números octales y binarios, podemos establecer una equivalencia directa entre cada dígito hexadecimal y cuatro dígitos binarios, como se ve en la siguiente tabla:
DECIMAL
|
BINARIO
|
HEXADECIMAL
|
0
|
0000
|
0
|
1
|
0001
|
1
|
2
|
0010
|
2
|
3
|
0011
|
3
|
4
|
0100
|
4
|
5
|
0101
|
5
|
6
|
0110
|
6
|
7
|
0111
|
7
|
8
|
1000
|
8
|
9
|
1001
|
9
|
10
|
1010
|
A
|
11
|
1011
|
B
|
12
|
1100
|
C
|
13
|
1101
|
D
|
14
|
1110
|
E
|
15
|
1111
|
F
|
La conversión entre números hexadecimales y binarios se realiza "expandiendo" o "contrayendo" cada dígito hexadecimal a cuatro dígitos binarios. Por ejemplo, para expresar en hexadecimal el número binario 1010011100112 bastará con tomar grupos de cuatro bits, empezando por la derecha, y reemplazarlos por su equivalente hexadecimal:
10102 = A16
01112 = 716
00112 = 316
y, por tanto: 1010011100112 = A7316
En caso de que los dígitos binarios no formen grupos completos de cuatro dígitos, se deben añadir ceros a la izquierda hasta completar el último grupo. Por ejemplo:
1011102 = 001011102 = 2E16
La conversión de números hexadecimales a binarios se hace del mismo modo, reemplazando cada dígito hexadecimal por los cuatro bits equivalentes de la tabla. Para convertir a binario, por ejemplo, el número hexadecimal 1F616 hallaremos en la tabla las siguientes equivalencias:
116 = 00012
F16 = 11112
616 = 01102
y, por tanto: 1F616 = 0001111101102