Professional Documents
Culture Documents
VICERECTORADO ACADEMICO
TRABAJO DE INVESTIGACION: INGENIERIA INDUSTRIAL
ASIGNATURA: COMPUTACION 2
Profesor:
Bachiller:
Luis Extrao
Diego Hernandez
C.I. 26.770.850.
OBJETOS DE UN PROGRAMA
En un lenguaje de descripcin de software (SDL) una variable contiene un valor y
puede aceptar un nuevo valor a travs de una asignacin secuencial. Por otro lado, las
constantes tienen valores prefijados a lo largo de toda la ejecucin del programa. Sin
embargo, en VHDL se hace necesaria la utilizacin de un nuevo tipo de objeto que
puede emular las asignaciones concurrentes propias de los circuitos elctricos reales;
este nuevo tipo de objeto son las seales.
Un objeto en VHDL es un elemento que tiene asignado un valor de un tipo
determinado. Segn sea el tipo de dato, el objeto poseer un conjunto de operaciones
que se le podrn aplicar. En general, no ser posible realizar operaciones entre dos
objetos de distinto tipo, a menos que definamos previamente un programa de
conversin de tipos.
Palabras Reservadas
Son un conjunto de identificadores que tienen un significado especfico en VHDL.
Estas palabras son empleadas dentro del lenguaje a la hora de realizar un diseo. Por
esta razn y buscando obtener claridad en el lenguaje, las palabras reservadas no
pueden ser empleadas como identificadores definidos por el usuario.
Las palabras reservadas por VHDL son:
abs
access
after
alias
all
and
architecture
array
asser
attribute
begin
block
body
buffer
bus
case
component
configuration
constant
disconnect
downto
else
elsif
end
entity
exit
file
for
function
generate
generic
guarded
if
in
inout
is
label
library
linkage
loop
map
mod
nand
new
next
nor
not
null
of
on
open
or
others
out
package
port
procedure
process
range
record
register
rem
report
return
select
severity
signal
subtype
then
to
transoprt
type
units
until
use
variable
wait
when
while
with
xor
Constantes
Es un dato que no vara durante la ejecucin de un programa.
constante entera: Estas son nmeros enteros, que se almacenan en la cantidad de
memoria asignada para almacenar una cifra entera. Ejemplo: 48, -125.
Constante carcter: Las constantes de tipo carcter son un carcter escrito entre
comillas, ejemplo: 0, D, ;.
Constante cadena: Las constantes cadena son una cadena de caracteres escrita entre
comillas. Ejemplo lenguaje.
Constante real: Una constante de punto flotante es un nmero escrito en notacin
cientfica o punto decimal. Ejemplo 51.4E+4, 13.78
Constante boolenan. Son aquellas que solo pueden tomar el estado 0 o 1.
Las constantes pueden tomar un nombre con el que se les reconocer a lo largo del
programa. Ejemplo PI = 3.141592.
Variables
Son un conjunto de bytes que se identifican con un nombre nico. Pueden cambiar de
valor durante la ejecucin de un programa. Existen restricciones a la hora de dar
nombre a una variable:
Debe comenzar por una letra.
Puede contener solamente letras o nmeros.
Puede contener ms de ocho caracteres pero solamente para su identificacin,
se tienen en cuenta los primeros 8.
El carcter _ puede tratarse como una letra al definir una variable.
Los nombres de las variables no pueden ser palabras reservadas.
En los siguientes ejemplos identifique cual definicin no es correcta:
Jlm
Sal_men
Sum32
m-n
else
32sum
_salmen
Identificadores
TIPOS DE DATOS
El tipo de datos es un elemento bsico que delimita que valores puede tener un objeto
y que operaciones podemos realizar con l. Aparte de los tipos ya creados, podemos
crear nuevos tipos y subconjuntos de tipos.
Es aquel que puede tomar por valor un nmero perteneciente al conjunto de los
nmeros reales (R), el cual est formado por los nmeros racionales e irracionales.
Ejemplo: El peso de una persona (en kilogramos) y su altura (en centmetros), son
datos que pueden considerarse de tipo real.
Peso.....: 75,3
Altura...: 172,7
R es un conjunto infinito de nmeros reales, y como el ordenador no puede
representarlos todos, un dato de tipo real slo puede tomar por valor un nmero
perteneciente a un subconjunto de R. Los valores de dicho subconjunto varan segn
las caractersticas de cada ordenador y del compilador que se utilice. En
pseudocdigo, para indicar que un dato es de tipo real se utiliza la palabra reservada:
real.
Dato de tipo lgico
Es aquel que puede tomar por valor slo uno de los dos siguientes:
{verdadero, falso }
Los valores "verdadero" y "falso" son contrapuestos, de manera que, un dato de tipo
lgico siempre est asociado a que algo se cumpla o no se cumpla.
Ejemplo: El estado de una barrera de paso de trenes es un dato que puede
considerarse de tipo lgico, por ejemplo, asociando "verdadero" a que est subida y
"falso" a que est bajada.
Estado...: falso (indica que la barrera est bajada)
En pseudocdigo, para indicar que un dato es de tipo lgico se utiliza la palabra
reservada: lgico.
Dato de tipo carcter
Es aquel que puede tomar por valor un carcter perteneciente al conjunto de los
caracteres que puede representar el ordenador.
En pseudocdigo, el valor de un dato de tipo carcter se puede representar entre
comillas simples (') o dobles ("). Pero, en este curso de diseo de algoritmos, se van a
utilizar solamente las comillas simples (al igual que se hace en lenguaje C).
Ejemplo: En un examen con preguntas en las que hay que seleccionar la respuesta
correcta entre varias opciones dadas (a, b, c, d, e), la respuesta correcta de cada una
de las preguntas es un dato de tipo carcter.
Respuesta correcta a la pregunta 3...: 'c'
Dato de tipo cadena
Es aquel que puede tomar por valor una secuencia de caracteres. En pseudocdigo, el
valor de un dato de tipo cadena se puede representar entre comillas simples (') o
dobles ("). Sin embargo, en este curso de diseo de algoritmos, se van a utilizar
solamente las comillas dobles (al igual que se hace en lenguaje C).
Ejemplo: El ttulo de un libro y el nombre de su autor, son datos de tipo cadena.
Ttulo...: "La Odisea" (cadena de 9 caracteres)
Autor....: "Homero" (cadena de 6 caracteres)
Obsrvese que, en la cadena "La Odisea", el carcter espacio en blanco tambin se
cuenta. En pseudocdigo, para indicar que un dato es de tipo cadena se utiliza la
palabra reservada: cadena.
Tipos de datos simples
Se clasifican en predefinidos y definidos por el programador. La clasificacin completa
es:
Tipos de datos simples (sin estructura) en pseudocdigo:
Predefinidos (estndares):
Numricos:
Entero (entero)
Real (real)
Lgico (lgico)
Carcter (carcter)
Definidos por el programador (no estndares):
Subrangos (subrango)
Enumerados (enumerado)
Clasificacin de los tipos de datos simples en pseudocdigo. Los tipos de datos
simples predefinidos (estndares) son aquellos proporcionados por los lenguajes de
programacin. Pero, el programador tambin puede definir sus propios tipos de datos
simples (subrangos y enumerados). Todos los datos simples son ordinales, excepto el
dato de tipo real. Un dato ordinal es aquel que puede tomar por valor un elemento
perteneciente a un conjunto en el que todo elemento tiene un predecesor y un sucesor,
excepto el primero y el ltimo. Por ejemplo, el valor 5, perteneciente al conjunto de los
nmeros enteros, tiene como predecesor al 4, y como sucesor al 6. Sin embargo, entre
dos nmeros reales siempre hay un nmero infinito de nmeros
SENTENCIAS DE ASIGNACIN
Se utiliza para asignar o almacenar valores a variables o constantes. Es una operacin
que sita un valor determinado en una posicin de memoria. La operacin de
- Acumuladores
EXPRESIONES Y OPERACIONES ARITMTICAS
El lenguaje de programacin incorpora una serie de operadores que permiten realizar
clculos y escribir expresiones que realicen una serie de operaciones sobre los datos.
+ (suma)
- (resta)
* (multiplicacin)
% (resto de la divisin)
Todos estos operadores aritmticos deben utilizarse con dos operandos, situados
delante y detrs de los operadores, pudindose encadenar las operaciones. Se
pueden
incluir
espacios
para
aclarar
ms
el
cdigo.
Los datos usados como operandos deben ser de alguno de los tipos de datos
numricos (byte, short, int, long, float o double). Ejemplos:
4+3
8-5+2
6*2/3
8.5 - 3 + 4.3
El resultado de cualquier operacin aritmtica ser del tipo de dato ms grande que se
utilice en los operandos. Por ejemplo, si se hace una operacin entre dos nmeros
enteros (int) el resultado ser del mismo tipo, pero si se hace entre un int y un long es
resultado es de tipo long. Ejemplos:
2147483647 * 2 resulta un dato incorrecto, en concreto -2, porque se estn
multiplicando dos int y el resultado sobrepasa el lmite de los enteros.
2147483647L * 2 resulta 4294967294 porque el primer operando es de tipo
long (se ha indicado L al final).
Al igual que en las expresiones matemticas habituales, los operadores aritmticos y
en general todos los operadores, tienen un orden de precedencia:
1. Multiplicacin (*), Divisin (/) y Resto (%)
2. Suma (+) y Resta (-)
Dentro del mismo orden de precedencia, las operaciones se realizarn en orden de
izquierda a derecha. Si es necesario cambiar el orden de precedencia, se deben
utilizar parntesis de la forma habitual.
Ejemplos:
4 + 3 * 2 resulta 10 (4+6)
(4 + 3) * 2 resulta 14 (7*2)
4 / 2 * 3 resulta 6