Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Tipos de datos simples, Apuntes de Ingeniería Infórmatica

Asignatura: elementos programacion, Profesor: , Carrera: Ingeniería Informática, Universidad: UMA

Tipo: Apuntes

Antes del 2010

Subido el 14/10/2007

josemanuelk6
josemanuelk6 🇪🇸

4.2

(56)

58 documentos

1 / 6

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
UNIVERSIDAD DE MALAGA
DPTO. DE LENGUAJES Y C. DE LA COMPUTACION
E.T.S. DE INGENIERIA INFORMATICA
INGENIERIA INFORMATICA
ELEMENTOS DE PROGRAMACIÓN
(CURSO 2004-2005)
T
TE
EM
MA
A
I
IV
V
TIPOS DE DATOS SIMPLES
IV.I. Elementos básicos.
IV.2. Clasificación de los tipos (simples y estructurados).
IV.3. Tipos simples predefinidos.
IV.4. Tipos simples definidos por el programador.
Bibliografía [JOYA03] [DALE89a]
E.T.S. de Ingeniería Informática (Ing. Informática) Dpto de Lenguajes y C. de la Computación
Elementos de Programación Tema IV Tipos de datos simples 1
IV.1.-ELEMENTOS BÁSICOS.
- Ya sabemos que en los algoritmos aparecen objetos que tienen tres
características:
- Nombre.
- Tipo.
- Valor:
- Variables.
- Constantes.
- Tipo:
- Define el conjunto de valores que puede tomar un determinado
objeto.
- Determina las operaciones que se pueden aplicar a un objeto.
- Define el espacio que será necesario reservar en memoria para
albergar a un objeto.
- Define la interpretación del valor almacenado en memoria.
Cardinalidad.
- Es el número de valores que tiene un tipo de datos. La
simbolizaremos con '#'.
Operadores básicos.
- Aspecto práctico: manipulación de objetos.
- Para ello:
- A cada tipo de datos se le asocia un conjunto de operadores
básicos. ¿Cuántos?, ¿cuáles?. Como criterio general: se le
asocian aquellos que posibiliten al programador construir
cualquier operación adicional, en función de los básicos, de
una forma eficiente.
- Un mismo símbolo (por ejemplo '+') puede utilizarse como
operador para distintos tipos de datos. Esto se denomina
“sobrecarga”.
pf3
pf4
pf5

Vista previa parcial del texto

¡Descarga Tipos de datos simples y más Apuntes en PDF de Ingeniería Infórmatica solo en Docsity!

UNIVERSIDAD DE MALAGA

DPTO. DE LENGUAJES Y C. DE LA COMPUTACION

E.T.S. DE INGENIERIA INFORMATICA

INGENIERIA INFORMATICA

ELEMENTOS DE PROGRAMACIÓN

(CURSO 2004-2005) TE^ T

EM

MA

A I

IV

V

TIPOS DE DATOS SIMPLES

IV.I. Elementos básicos.IV.2. Clasificación de los tipos (simples y estructurados).IV.3. Tipos simples predefinidos.IV.4. Tipos simples definidos por el programador.Bibliografía [JOYA03] [DALE89a]

E.T.S. de IngenierÌa Inform·tica (Ing. Inform·tica)

Dpto de Lenguajes y C. de la ComputaciÛn

Elementos de ProgramaciÛn

Tema IV Tipos de datos simples 1

IV.1.-ELEMENTOS BÁSICOS. - Ya sabemos que en los algoritmos aparecen objetos que tienen tres

caracterÌsticas:

  • Nombre.- Tipo.- Valor:
    • Variables.- Constantes.
      • Tipo:

-^

Define el conjunto de valores que puede tomar un determinadoobjeto.

-^

Determina las operaciones que se pueden aplicar a un objeto.

-^

Define el espacio que ser· necesario reservar en memoria paraalbergar a un objeto.

-^

Define la interpretaciÛn del valor almacenado en memoria.

Cardinalidad.

-^

Es

el

n˙mero

de

valores

que

tiene

un

tipo

de

datos.

La

simbolizaremos con '#'.

Operadores b·sicos.

  • Aspecto pr·ctico: manipulaciÛn de objetos.- Para ello:
    • A cada tipo de datos se le asocia un conjunto de operadores

b·sicos. øCu·ntos?, øcu·les?. Como criterio general: se leasocian

aquellos

que

posibiliten

al

programador

construir

cualquier operaciÛn adicional, en funciÛn de los b·sicos, deuna forma eficiente.

  • Un mismo sÌmbolo (por ejemplo '+') puede utilizarse como

operador para distintos tipos de datos. Esto se denominaìsobrecargaî.

E.T.S. de IngenierÌa Inform·tica (Ing. Inform·tica)

Dpto de Lenguajes y C. de la ComputaciÛn

Elementos de ProgramaciÛn

Tema IV Tipos de datos simples 2

Compatibilidad de tipos.

  • Los operadores tienen que aplicarse a objetos de tipos de datos

compatibles (iguales o no).

  • La informaciÛn del tipo de dato ayuda a los compiladores a detectar

operaciones inapropiadas con tipos de datos no compatibles.

  • Hay lenguajes de programaciÛn m·s estrictos que otros en cuanto al

chequeo de tipos.

  • En nuestro pseudolenguaje seremos lo m·s flexible posible, pero

tendiendo a aplicar operadores a tipos de datos iguales, con el fin deevitar posibles errores de diseÒo.

DeclaraciÛn de constantes y variables en nuestro pseudolenguaje.

Constantes

nombre

valor

Variables

nombre : Tipo

E.T.S. de IngenierÌa Inform·tica (Ing. Inform·tica)

Dpto de Lenguajes y C. de la ComputaciÛn

Elementos de ProgramaciÛn

Tema IV Tipos de datos simples 3

IV.2.-CLASIFICACIÓN DE LOS TIPOS.

  • Tipos simples:
    • Predefinidos (N, Z, R, C, B)- Definidos por el programador (enumerado y subrango)
      • Tipos estructurados.
        • Arrays- Cadenas de Caracteres- Registros

E.T.S. de IngenierÌa Inform·tica (Ing. Inform·tica)

Dpto de Lenguajes y C. de la ComputaciÛn

Elementos de ProgramaciÛn

Tema IV Tipos de datos simples 6

Tipo natural.

  • Sea N el n˙mero de bits usados para almacenar un valor natural.-^

Valores:

n˙meros

enteros

no

negativos

(incluido

el

cero)

comprendidos en el rango (representaciÛn en binario puro):

[0 .. 2

N

ñ 1]

esto supone una ventaja respecto al tipo entero si sÛlo vamos autilizar n˙meros positivos.

  • Operadores aritmÈticos asociados: +,-,*,DIV,MOD.- RepresentaciÛn: secuencia de dÌgitos.- Cardinalidad: : 2

N

Tipo real.

  • Valores: n˙meros reales.- Operadores aritmÈticos asociados: +,-,*,/.- RepresentaciÛn: secuencia de dÌgitos con el obligado punto

decimal y con un posible factor de escala, aunque en nuestropseudolenguaje seremos flexibles en este sentido. Ejemplos:

1.5E

2.34E-

  • Sea N el n˙mero de bits usados para almacenar un valor real.

Los N bits se dividen en dos partes (coma flotante):

a) mantisa (entera o fracciÛn).b) factor de escala o exponente,.

Cada parte tiene un n∫ finito de dÌgitos => representaciÛninexacta y operaciones con reales tambiÈn inexactas.

E.T.S. de IngenierÌa Inform·tica (Ing. Inform·tica)

Dpto de Lenguajes y C. de la ComputaciÛn

Elementos de ProgramaciÛn

Tema IV Tipos de datos simples 7

Tipo booleano.

  • Valores: TRUE y FALSE.- Operadores asociados:

,^

,^

  • Cardinalidad: los 2 valores mencionados. Tipo car·cter. - Valores:

Cada computador se comunica con su entorno vÌa alg˙ndispositivo

de

E/S.

Lo

hace

mediante

elementos

pertenecientes a un conjunto fijo de caracteres.Este

conjunto

constituye

el

rango

de

valores

del

tipo

Car·cter.El conjunto m·s estandarizado es el ASCII. Est· ordenado ycada car·cter tiene una posiciÛn fija u "ordinal"

  • Operadores aritmÈticos asociados:

Un valor car·cter se le puede asignar a una variable de tipocar·cter,

pero

las

operaciones

aritmÈticas

no

pueden

utilizarse sobre ellos.SÌ se pueden usar operadores aritmÈticos sobre sus n˙merosordinales correspondientes, obtenidos mediante la funciÛnestandar

NATURAL(ch),

que

devuelve

el

ordinal

correspondiente al car·cter ch.

  • RepresentaciÛn: el car·cter encerrado entre apÛstrofes.- Cardinalidad: la cantidad de caracteres de la tabla ASCII.

E.T.S. de IngenierÌa Inform·tica (Ing. Inform·tica)

Dpto de Lenguajes y C. de la ComputaciÛn

Elementos de ProgramaciÛn

Tema IV Tipos de datos simples 8

Problemas derivados de la implementación de los tipos numéricos - La cantidad de memoria utilizada para almacenar un valor numÈrico en

un computador es limitada. Si se intenta almacenar un valor cuyarepresentaciÛn en binario excede el n˙mero de bits reservado para eltipo de datos de dicho valor, se produce lo que se conoce como desbordamiento

Por ejemplo, si trabajamos con n˙meros naturales y el n˙mero de bitsreservado para ellos es 4, al realizar la suma de los valores 7 y 10, seproducir· un desbordamiento, pues el resultado, 17, requiere 5 bits parasu representaciÛn.

Eso mismo ocurre cuando se trabaja con enteros y con reales. Con estos˙ltimos adem·s existe un problema aÒadido: la precisiÛn (n˙mero dedÌgitos significativos representables). El n˙mero de dÌgitos decimalesque se pueden almacenar es limitado, lo que implica que al realizaroperaciones con reales se puede ir ìperdiendoî precisiÛn. Por ejemplo:

Si la precisiÛn es de 4 dÌgitos:Si las variables X,Y,Z tienen los valores 9.900, 1.000 y -0.999respectivamente,

(X+Y)+Z = 10.90 +

X+(Y+Z) = 9.900 +

Cuando realmente deberÌan dar el mismo resultado. Esto nos hace verque cuando se trabaja con reales no debemos hacer, por ejemplo,comparaciones de valores con el operador de igualdad predefinido (=).Una soluciÛn es construirnos nuestra propia operaciÛn de comparaciÛnde igualdad:

Constantes

ERROR

=

1E-

PROC

Ig_Real(

↓ x,y:

R;

↑ res:

B

)

Inicio

res

ABS

(x-y)

<

ERROR

Fin

E.T.S. de IngenierÌa Inform·tica (Ing. Inform·tica)

Dpto de Lenguajes y C. de la ComputaciÛn

Elementos de ProgramaciÛn

Tema IV Tipos de datos simples 9

IV.4.- TIPOS SIMPLES DEFINIDOS POR EL PROGRAMADOR. - Aunque los tipos simples predefinidos vistos son ˙tiles para cualquier

propÛsito (que no requiera tipos estructurados), es conveniente que elprogramador pueda definir sus propios tipos simples. La razÛn es quepodamos representar adecuadamente en nuestro programa el problema ylos conceptos implicados de forma que el programa refleje lo m·sadecuada y exactamente posible el problema que se pretende resolver. Tipo enumerado.

  • Ayuda a la legibilidad de los algoritmos cuando los valores de

ciertas variables tienen una determinada interpretaciÛn.

  • Consiste

en

una

"enumeraciÛn"

entre

parÈntesis

de

los

identificadores que representan los valores abstractos del objeto arepresentar. Una variable de tipo enumerado sÛlo podr· tomar en undeterminado momento uno de esos identificadores.

  • Cuando el programador define o especifica un tipo de datos (simple

o estructurado) debe darle un nombre que lo identifique dentro delprograma. Para ello, en la zona de declaraciones del algoritmo, seutiliza una secciÛn dedicada a

Tipos

  • Una vez definido un nuevo tipo de datos, el programador puede

declarar objetos de dicho tipo.

  • En el caso que nos ocupa ahora, para definir un tipo enumerado, se

har· de la siguiente forma:

nombre = (lista de identificadores separados por comas)

nombre serÌa ahora un tipo de datos enumerado y las variablesdeclaradas de este tipo (ej, x,y: nombre) podr·n tomar cualquieridentificador que estÈ en la lista.