jueves, 25 de abril de 2013

Lenguaje de alto y bajo nivel


Lenguajes de bajo nivel y alto nivel

Lenguajes de alto nivel

Un lenguaje de programación de alto nivel  se caracteriza por expresar los algoritmos  de una manera adecuada a la capacidad cognitiva  humana, en lugar de a la capacidad ejecutora de las máquinas. Se clasifican como lenguajes procedimentales. Otra limitación de los lenguajes de alto nivel es que se requiere de ciertos conocimientos de programación para realizar las secuencias de instrucciones lógicas. Los lenguajes de alto nivel se crearon para que el usuario común pudiese solucionar un problema de procesamiento de datos de una manera más fácil y rápida.


Ventajas

 -Genera un código más sencillo y comprensible.

 -Escribir un código válido para diversas máquinas y, posiblemente, sistemas operativos.

Desventajas

 -Reducción de velocidad al ceder el trabajo de bajo nivel a la máquina.

 -Algunos requieren que la máquina cliente posea una determinada plataforma.


Lenguaje de bajo nivel 



Un lenguaje de programación  de bajo nivel de abstracción es el que proporciona un conjunto de instrucciones aritmético lógicas sin la capacidad de encapsular dichas instrucciones en funciones que no estén ya contempladas en la arquitectura del hardware.

Dicho lenguaje es muy simple o nada complicado, pero estructurar programas a ese nivel es muy difícil. Dado que este lenguaje viene dado por las especificaciones técnicas del hardware, no permite una abstracción fuera de lo estipulado para el microprocesador  de un ordenador. Consecuentemente, es fácilmente trasladado a lenguaje de máquina.



Los lenguajes de bajo nivel son más fáciles de utilizar que los lenguajes máquina, pero, al igual que ellos, dependen de la máquina en particular. El lenguaje de bajo nivel por excelencia es el ensamblador. Las instrucciones en lenguaje ensamblador son instrucciones conocidas como nemotécnicos. Por ejemplo, nemotécnicos típicos de operaciones aritméticas son: en inglés, ADD, SUB, DIV, etc.; en español, SUM,RES,DIV,etc. Una instrucción típica de suma sería:
ADD M, N, P

Esta instrucción podría significar “sumar el número contenido en la posición de memoria M al número almacenado en la posición de memoria N y situar el resultado en la posición de memoria P”. Evidentemente es mucho más sencillo recordar la instrucción anterior con un nemotécnico que su equivalente en código máquina”.
0110 1001 1010 1011

Un programa escrito en lenguaje ensamblador no puede ser ejecutado directamente por la computadora en esto se diferencia esencialmente del lenguaje máquina, sino que requiere una fase de traducción al lenguaje máquina.
El programa original escrito en lenguaje ensamblador se denomina programa fuente y el programa traducido en lenguaje máquina se conoce como programa objeto, ya directamente entendible por la computadora.
El traductor de programas fuente a objeto es un programa llamado ensamblador, existente en casi todos los computadores.


Datos

El dato es una representación simbólica (numérica, alfabética, algorítmica, entre otros.), un atributo o característica de una entidad. Los datos describen hechos empíricos, sucesos y entidades.

Los datos aisladamente pueden no contener información humanamente relevante. Sólo cuando un conjunto de datos se examina conjuntamente a la luz de un enfoque, hipótesis o teoría se puede apreciar la información contenida en dichos datos. Los datos pueden consistir en números, estadísticas o proposiciones descriptivas. Los datos convenientemente agrupados, estructurados e interpretados se consideran que son la base de la información humanamente relevante que se pueden utilizar en la toma decisiones, la reducción de la incertidumbre o la realización de cálculos.

En programación, un dato es la expresión general que describe las características de las entidades sobre las cuales opera un algoritmo.




Diferencia entre datos e información

Los datos son símbolos que describen hechos, condiciones, valores o situaciones. Un dato puede ser una letra, un número, un signo ortográfico o cualquier símbolo y que representa una cantidad, una medida, una palabra o una descripción. Los datos se caracterizan por no contener ninguna información.

Los datos pueden asociarse dentro de un contexto para convertirse en información. Para ser útiles, los datos deben convertirse en información y ofrecer así un significado, conocimiento, ideas o conclusiones. Por sí mismos los datos no tienen capacidad de comunicar un significado.

En general, la información es un conjunto organizado de datos, que constituyen un mensaje sobre un determinado ente o fenómeno. 

Los datos se perciben mediante los sentidos, éstos los integran y generan la información necesaria para producir el conocimiento que es el que finalmente permite tomar decisiones para realizar las acciones cotidianas que aseguran la existencia social.








Tipos de operadores

Operadores aritméticos

Los operadores aritméticos nos permiten, básicamente, hacer cualquier operación aritmética, que necesitemos (ejemplo: suma, resta, multiplicación, etc). En la siguiente tabla se muestran los operadores de los que disponemos en C y su función asociada. 


Tabla: Operadores aritméticos
OperadorAcciónEjemplo
$-$Restax = 5 $-$ 3; // x vale 2
$+$Sumax = 2 $+$ 3; // x vale 5
$*$Multiplicaciónx = 2 $*$ 3; // x vale 6
$/$Divisiónx = 6 $/$ 2; // x vale 3
$\%$Módulox = 5 % 2; // x vale 1
$--$Decrementox = 1; x$--$; // x vale 0
$++$Incrementox = 1; x$++$; // x vale 2

Operadores Racionales

Los operadores relacionales son símbolos que se usan para comparar dos valores. Si el resultado de la comparación es correcto la expresión considerada es verdadera, en caso contrario es falsa. Por ejemplo, 8>4 (ocho mayor que cuatro) es verdadera, se representa por el valor true del tipo básico boolean, en cambio, 8<4 (ocho menor que cuatro) es falsa, false. En la primera columna de la tabla, se dan los símbolos de los operadores relacionales, el la segunda, el nombre de dichos operadores, y a continuación su significado mediante un ejemplo.
Operadornombreejemplosignificado
<menor quea<ba es menor que b
>mayor quea>ba es mayor que b
==igual aa==ba es igual a b
!=no igual aa!=ba no es igual a b
<=menor que o igual aa<=5a es menor que o igual a b
>=mayor que o igual aa>=ba es menor que o igual a b
Se debe tener especial cuidado en no confundir el operador asignación con el operador relacional igual a. Las asignaciones se realizan con el símbolo =, las comparaciones con ==.

Operadores alfanumérico



Un dato alfanumérico es un término informático referente al conjunto de caracteres numéricos y alfabéticos de los cuales dispone una computadora. Ocurre correspondencia casi exacta con los caracteres que aparecen en un teclado de computadora.
Un conjunto de caracteres alfanuméricos consiste en las letras del alfabeto y los números 0 al 9. Difieren según se especifica a continuación.

Operadores lógico
Los operadores lógicos sirven para combinar condiciones. En Access 2000 una condición puede tomar tres valores TRUE (verdadero), FALSE (falso) o NULL (nulo), por lo tanto el resultado de los operadores lógicos también será true, false o null.
Para ver cómo funcionan los operadores lógicos utilizaremos las tablas de verdad de estos operadores.
Operador AND .
Para que el resultado sea verdadero las dos condiciones deben ser verdaderas.
ANDTRUEFALSENULL
TRUETRUEFALSENULL
FALSEFALSEFALSEFALSE
NULLNULLFALSENULL
Operador OR .
El resultado es verdadero si al menos una de las dos condiciones es verdadera.
ORTRUEFALSENULL
TRUETRUETRUETRUE
FALSETRUEFALSENULL
NULLTRUENULLNULL


Operador NOT .
El resultado es invertido.
NOTTRUEFALSENULL
FALSETRUENULL