26
INFORMATICA BÁSICA INFORMATICA BÁSICA IUTE – MÉRIDA IUTE – MÉRIDA PROF: DUBERLIS GONZÁLEZ PROF: DUBERLIS GONZÁLEZ

Lenguajes De Bajo Nivel

Embed Size (px)

Citation preview

Page 1: Lenguajes De Bajo Nivel

INFORMATICA BÁSICAINFORMATICA BÁSICA

IUTE – MÉRIDAIUTE – MÉRIDA

PROF: DUBERLIS GONZÁLEZPROF: DUBERLIS GONZÁLEZ

Page 2: Lenguajes De Bajo Nivel

Niveles de los lenguajes

Lenguaje Natural Lenguaje de Programación Compilador / Interprete Lenguaje Máquina

Page 3: Lenguajes De Bajo Nivel

Etapas de la Compilación

Page 4: Lenguajes De Bajo Nivel

Lenguaje de Máquina

Lenguaje mas básico, propio de cada computadora,ya que está relacionado con el diseño del hardware dela misma (dependiente de la máquina). Por lo generalconsisten en cadenas de números al final reducidos aceros y unos (sistema numérico binario). Operaciones: Cargar Almacenar Sumar Restar

Page 5: Lenguajes De Bajo Nivel

Lenguaje de Máquina

Ejemplo:

Código de Dirección Significado operación

00010101 10000001 (a) Cargar contenido de la dir. 129 enAcumulador

00010111 10000010 (b) Sumar contenido de la dir 130 alAcumulador

00010110 10000011 (c) Almacenar contenido del Acumuladoren la dir. 131

(c) 10000011 = 27+21+20 = 131.

Page 6: Lenguajes De Bajo Nivel

Lenguaje Ensamblador

Consiste en abreviaturas similares al inglés, llamadas instrucciones mnemotécnicas, que permiten representar las operaciones elementales de la computadora (dependiente de la máquina).

Ejemplo: Código operación Dirección Inst en lenguaje ensamblador

00010101 10000001 LOAD A 00010111 10000010 ADD B 00010110 10000011 STORE C

Page 7: Lenguajes De Bajo Nivel

Lenguaje Ensamblador

Lenguaje de bajo nivel o ensamblador:La computadora no entiende directamente lenguaje

ensamblador por lo que un programa escrito en este lenguaje tiene que ser traducido a lenguaje de máquina por un programa llamado un ensamblador para que pueda ser ejecutado por la computadora.

Los lenguajes ensambladores todavía requieren que el programador tenga un buen conocimiento de la arquitectura de la computadora.

Como los lenguajes ensambladores son dependientes de la máquina, todo programa escrito en un lenguaje ensamblador particular tendrá que ser reescrito si se va a ejecutar en otro tipo de computadora.

Page 8: Lenguajes De Bajo Nivel

Lenguaje de Alto Nivel

Permite a los programadores escribir instrucciones en un lenguaje mas familiar para ellos y que contiene notaciones matemáticas comúnmente utilizadas independiente de la máquina).

Ejemplo:Código operación Dirección Inst en lenguaje ensamblador Inst en lenguaje de alto Nivel

00010101 10000001 LOAD A00010111 10000010 ADD B00010110 10000011 STORE C C = A + B

Con este tipo de lenguajes, la programación es mas fácil para losusuarios ya que éste no necesita tener conocimiento de laarquitectura de la computadora.

Page 9: Lenguajes De Bajo Nivel

Lenguaje de Alto Nivel

Lenguaje de alto nivel:Como ocurre con los lenguajes ensambladores, la

computadora no entiende directamente lenguaje de alto nivel, por lo que un programa escrito en este lenguaje tiene que ser traducido a lenguaje de máquina por un programa llamado un compilador para que pueda ser ejecutado por la computadora.

Los lenguajes de alto nivel permiten portabilidad, mejor expresión de las ideas, facilidad de programar ciertas

clases de problemas, menos posibilidad de cometer errores,una visión más amplia del problema, etc.

Page 10: Lenguajes De Bajo Nivel

Lenguaje de Alto Nivel

Ejemplos de lenguajes de alto nivel: - Java - BASIC - C - Visual Basic - C++ - Pascal - COBOL - FORTRAN - PROLOG - LISP - PL/I - SMALLTALK - ADA

Page 11: Lenguajes De Bajo Nivel

Lenguaje de Alto Nivel

Page 12: Lenguajes De Bajo Nivel

FUENTES DE INFORMACIÓNFUENTES DE INFORMACIÓN

Dato. Esta asociado a un objeto o hecho Dato. Esta asociado a un objeto o hecho concreto. concreto.

Información. Compuesta de datos organizados, Información. Compuesta de datos organizados, agrupados o clasificados en categorías que le agrupados o clasificados en categorías que le dotan de significado. dotan de significado.

Page 13: Lenguajes De Bajo Nivel

TIPOS DE DATOSTIPOS DE DATOS

El tipo de un dato es el conjunto de valores queEl tipo de un dato es el conjunto de valores quePuede tomar durante el programa. Puede tomar durante el programa.

La asignación de tipos a los datos tiene La asignación de tipos a los datos tiene dosdosobjetivosobjetivos principales: principales: Por un lado, detectar errores en las operaciones Por un lado, detectar errores en las operaciones Por el otro, determinar cómo ejecutar estas operacionesPor el otro, determinar cómo ejecutar estas operaciones

todos los datos deben de tener un tipo declarado explícitamente, ytodos los datos deben de tener un tipo declarado explícitamente, yademás que existen ciertas restricciones en las expresiones en cuantoademás que existen ciertas restricciones en las expresiones en cuantoa los tipos de datos que en ellas intervienen a los tipos de datos que en ellas intervienen

Page 14: Lenguajes De Bajo Nivel

TIPOS DE DATOSTIPOS DE DATOS

El manejo de la informaciónEl manejo de la información

en cualquier lenguajeen cualquier lenguaje

de programación se realizade programación se realiza

mediante diferentesmediante diferentes

clases de datos.clases de datos.

En una secuencia

de caracteres que

se trata como un

solo dato.

Cadena (String)

Números que pueden incluir una parte decimal

Real

Pueden contener los valores de falso o verdadero

Boleano (Boolean)

Cracteres del codigo ASCII

Carácter ( Char)

Numeros enteros sin parte Decimal

Entero (Integer)

Page 15: Lenguajes De Bajo Nivel

TIPOS DE DATOSTIPOS DE DATOSUn programa debe ser capaz de manejar diferentes tipo de datos,Un programa debe ser capaz de manejar diferentes tipo de datos,

como pueden ser números enteros, reales, caracteres, cadenas decomo pueden ser números enteros, reales, caracteres, cadenas de

caracteres, etc. Para lograr el manejo de toda esta información .caracteres, etc. Para lograr el manejo de toda esta información .

Tipos enterosTipos enterosEn esta categoría generalmente cuenta con 5 tipos diferentes,En esta categoría generalmente cuenta con 5 tipos diferentes,

cada uno abarca un rango específico de valores y utilizan unacada uno abarca un rango específico de valores y utilizan una

diferente cantidad de memoria dependiendo de ese rango.diferente cantidad de memoria dependiendo de ese rango.

Naturalmente el trabajar con rangos menores nos ofrece unaNaturalmente el trabajar con rangos menores nos ofrece una

mayor velocidad y menor espacio en memoria, pero si semayor velocidad y menor espacio en memoria, pero si se

utilizan enteros largos se cuenta con mayor presición. Losutilizan enteros largos se cuenta con mayor presición. Los

tipos de enteros en son: tipos de enteros en son:

Page 16: Lenguajes De Bajo Nivel

TIPO DE DATOS ENTEROSTIPO DE DATOS ENTEROS

-2,147,483,648 a 2,147,483,648 LongInt (Entero largo)

0 a 255 Byte

-128 a 127 ShortInt (Entero corto)

0 a 65535 Word (Palabra)

-32,768 a 32,767 Integer (Entero)

Rango de valores que aceptaTipo

Page 17: Lenguajes De Bajo Nivel

TIPO DE DATOS REALESTIPO DE DATOS REALES

Los números reales son aquellosLos números reales son aquellos

que cuentan con una parte que cuentan con una parte

decimal. En algunos lenguajes dedecimal. En algunos lenguajes de

programación se tienenprogramación se tienen

varios tipos de datos reales, perovarios tipos de datos reales, pero

no se puede utilizar, masno se puede utilizar, mas

que el tipo que el tipo realreal, en máquinas que, en máquinas que

no cuenten con un coprocesadorno cuenten con un coprocesador

matemático. Los tipos de datosmatemático. Los tipos de datos

reales son: reales son:

-9.2E18 a 9.2E18 Comp

1.9E-4851 a 1.1E4932 Extended

5.0E-324 a 1.7E308 Double

1.5E-45 a 3.4E38 Single

2.9E-39 a 1.7E38 Real

Rango de valores que acepta

Tipo

Los números reales deben llevar por fuerza al menos un dígito de cada lado del punto decimal así sea éste un cero. Como ejemplo, el número 5 debe representarse como: 5.0, el .5 como 0.5 , etc.

Page 18: Lenguajes De Bajo Nivel

TIPO DE DATOS REALESTIPO DE DATOS REALESEjemplos:Ejemplos:

double miPi = 314.16e-2 ; // aproximadamentedouble miPi = 314.16e-2 ; // aproximadamente

float temperatura = (float)36.6; // Paciente sinfloat temperatura = (float)36.6; // Paciente sin

fiebrefiebre

Se realiza un moldeado a Se realiza un moldeado a temperaturatemperatura, porque, porque

todos los literales con decimales por defectotodos los literales con decimales por defecto

se consideran se consideran doubledouble..

Page 19: Lenguajes De Bajo Nivel

TIPOS DE DATO CARACTERTIPOS DE DATO CARACTERLos caracteres son cada uno de los símbolos que forman elLos caracteres son cada uno de los símbolos que forman elcódigo ASCII.. Los caracteres se especifican entre apostrofes: código ASCII.. Los caracteres se especifican entre apostrofes:

'a' 'a' 'B' '2' '#' 'B' '2' '#'

El tipo Char es un tipo ordinal en algunos lenguajes de El tipo Char es un tipo ordinal en algunos lenguajes de programacion, ésto quiere decir que sus elementos válidosprogramacion, ésto quiere decir que sus elementos válidossiguen una secuencia ordenada de valores individuales. Lasiguen una secuencia ordenada de valores individuales. Lasecuencia de caracteres para este tipo corresponden alsecuencia de caracteres para este tipo corresponden alnúmero del código ASCII, del 0 al 255.número del código ASCII, del 0 al 255.Es posible accesar a cada uno de los caracteres utilizando unEs posible accesar a cada uno de los caracteres utilizando unsigno # antes de su valor correspondiente, por ejemplo, la letrasigno # antes de su valor correspondiente, por ejemplo, la letraA puede ser representada como A puede ser representada como #65#65

Page 20: Lenguajes De Bajo Nivel

TIPOS DE DATO CARACTERTIPOS DE DATO CARACTER

Las variables de tipo Las variables de tipo charchar se declaran de la se declaran de la

siguiente forma:siguiente forma:

char letraMayuscula = 'A'; // Observe la char letraMayuscula = 'A'; // Observe la necesidad de las ' 'necesidad de las ' '

Page 21: Lenguajes De Bajo Nivel

TIPO CADENATIPO CADENALas cadenas son secuencias de caracteres o arreglos queLas cadenas son secuencias de caracteres o arreglos quetienen una longitud máxima de 255 caracteres. Se definentienen una longitud máxima de 255 caracteres. Se definenentre apostrofes. entre apostrofes.

Nombre : Cadena; Nombre : Cadena; Nombre = 'Ernesto González'; Nombre = 'Ernesto González';

La cadena 'Ernesto González' es almacenada en la variableLa cadena 'Ernesto González' es almacenada en la variablenombre definida como tipo cadena. nombre definida como tipo cadena. El tamaño por defecto para un tipo string es de 255El tamaño por defecto para un tipo string es de 255caracteres, pero es posible definir uno mas pequeñocaracteres, pero es posible definir uno mas pequeñoutilizando el siguiente formato: utilizando el siguiente formato:

Variable : Cadena[Tamaño];Variable : Cadena[Tamaño];

Donde Variable es la variable a definir y Tamaño es el número maximoDonde Variable es la variable a definir y Tamaño es el número maximode caracteres que podrá contener esa variable (naturalmente mayor ade caracteres que podrá contener esa variable (naturalmente mayor a0 y menor a 256). 0 y menor a 256).

Page 22: Lenguajes De Bajo Nivel

TIPO CADENATIPO CADENA

Por ejemplo:

Nombre : String[30]; {Permite un máximo de 30 caracteres en la variable} Nombre := 'Ernesto González'; Escribir (Nombre[5]); {Visualiza el 5to caracter de la cadena}

Page 23: Lenguajes De Bajo Nivel

TIPOS DE DATOS LOGICOSTIPOS DE DATOS LOGICOSEste tipo de datos tienen la peculiaridad de que solo pueden tomar Este tipo de datos tienen la peculiaridad de que solo pueden tomar

dos tipos de datos: verdadero o falso, el verdadero puede ser dos tipos de datos: verdadero o falso, el verdadero puede ser representado por su nombre en inglés: representado por su nombre en inglés: TrueTrue y el falso por y el falso por FalseFalse; ;

también se representan por también se representan por 11 y por y por 0 0 respectivamente. El tiporespectivamente. El tipoestá definido como está definido como BooleanBoolean. . Los datos lógicos tienen una enorme aplicación en la evaluaciónLos datos lógicos tienen una enorme aplicación en la evaluaciónde ciertos procesos, así como en el control de flujo de losde ciertos procesos, así como en el control de flujo de losprogramas. programas.

EjemploEjemploPara declarar un dato del tipo booleano se utiliza la palabraPara declarar un dato del tipo booleano se utiliza la palabrareservada reservada boolean:boolean:

boolean reciboPagado = false; // ¡¿Aun no nos han pagado?!boolean reciboPagado = false; // ¡¿Aun no nos han pagado?!

Page 24: Lenguajes De Bajo Nivel

ESTRUCTURA DE DATOS LINEALESESTRUCTURA DE DATOS LINEALES

Se derivan del concepto de Se derivan del concepto de secuenciasecuencia. Primero se. Primero sedefinen las secuencias como conjuntos dedefinen las secuencias como conjuntos deelementos entre los que se establece una relaciónelementos entre los que se establece una relaciónde predecesor y sucesor. Los diferentes TADsde predecesor y sucesor. Los diferentes TADsbasados en este concepto se diferenciaran por lasbasados en este concepto se diferenciaran por lasoperaciones de acceso a los elementos y manipulación deoperaciones de acceso a los elementos y manipulación dela estructura. Desde el punto de vista de la informática,la estructura. Desde el punto de vista de la informática,existen tres estructuras lineales especialmenteexisten tres estructuras lineales especialmenteimportantes: importantes: las las pilaspilas, , las las colascolas y y las las listaslistas. Su. SuImportancia radica en que son muy frecuentes en losImportancia radica en que son muy frecuentes en losesquemas algorítmicos. esquemas algorítmicos.

Page 25: Lenguajes De Bajo Nivel

ESTRUCTURA DE DATOS LINEALESESTRUCTURA DE DATOS LINEALES

La diferencia entre las tres estructuras que seLa diferencia entre las tres estructuras que seestudiarán vendrá dada por la posición delestudiarán vendrá dada por la posición delelemento a añadir, borrar y consultar: elemento a añadir, borrar y consultar: Pilas: las tres operaciones actúan sobre el final Pilas: las tres operaciones actúan sobre el final

de la secuencia de la secuencia Colas: se añade por el final y se borra y consulta Colas: se añade por el final y se borra y consulta

por el principio por el principio Listas: las tres operaciones se realizan sobre Listas: las tres operaciones se realizan sobre

una posición privilegiada de la secuencia, la cual una posición privilegiada de la secuencia, la cual puede desplazarse puede desplazarse

Page 26: Lenguajes De Bajo Nivel

ESTRUCTURA DE DATOS NO LINEALESESTRUCTURA DE DATOS NO LINEALES

la estructura de datos no lineales se caracteriza por nola estructura de datos no lineales se caracteriza por noexistir una relación de sus elementos es decir que unexistir una relación de sus elementos es decir que unelemento puede estar con cero uno o mas elementos.elemento puede estar con cero uno o mas elementos.Las estructuras no lineales de datos mas general son losLas estructuras no lineales de datos mas general son losárboles donde no existe ninguna relación de ordenárboles donde no existe ninguna relación de ordenPredefinida.Predefinida.

Esta estructura se usa principalmente para representarEsta estructura se usa principalmente para representardatos con una relación jerárquica entre sus elementos,datos con una relación jerárquica entre sus elementos,como por ejemplo registros, árboles genealógicos y tablascomo por ejemplo registros, árboles genealógicos y tablasde contenidos. de contenidos.