LOS REYES DE LA PROGRAMACION

miércoles, 23 de febrero de 2011

Qué es un dato? Tipos de datos. Ejemplos

.   Tipos de datos

Se denomina dato a cualquier objeto manipulable por el ordenador. Un dato puede ser un carácter leído de un teclado, información almacenada en un disco, un número que se encuentra en la memoria principal, etc.

Datos son tanto las constantes definidas dentro de los programas, que no alteran su valor durante la ejecución de los mismos, como las variables utilizadas en dichos programas.

Podemos hablar de tipos de datos, teniendo en cuenta su naturaleza y las operaciones que permiten.

Tipo Entero

Representan el conjunto de números enteros. Su cardinalidad viene expresado por el número de bits necesarios para representarlos.
Se dice que se ha producido un desbordamiento u overflow cuando el resultado de una operación supera el valor que se puede representar.

Tipo Real

Representan el conjunto de números reales. El número a representar es expresado en notación científica o de coma flotante (floating point para los sajones).
Su magnitud dependerá del número de bits, siendo las más típicas representaciones en formato simple, doble o cuádruple precisión.
En este tipo de números, además del desbordamiento, se suelen producir errores de redondeo por la falta de precisión en la representación que se acumulan durante el proceso de cálculo.

Tipo Lógico

Representan valores lógicos o booleanos por lo que pueden tomar únicamente dos valores. Sobre estos valores suelen actuar los llamados operadores lógicos: AND, OR y NOT. En algunos lenguajes se añaden los operadores NAND, NOR Y XOR.
Su uso permiten establecer relaciones de orden, así si aplicamos un operador de relación de orden entre dos operandos del mismo tipo (mayor que, menor que, igual que, distinto que) obtendremos como resultado un valor lógico: verdadero o falso.

Tipo Carácter

Representa elementos individuales de conjunto finitos y ordenado de caracteres. Excepto la asignación y la concatenación no hay operaciones sobre este tipo de datos.
Estos tipos de datos vistos hasta ahora son usualmente tratados tanto a nivel de hardware como de software. Los tipos que vienen a continuación sólo son interpretados a nivel de software.

Tipo Enumerado

Se define explícitamente dando un conjunto finito de valores. No son tipos normalizados por lo que varían según el lenguaje de programación utilizado.
Internamente son guardados como un entero, así que admiten operaciones de conversión a entero y de desplazamiento por los valores.

Tipo Subrango

Se definen a partir de un entero, carácter o enumerado y determinan un rango de valores marcados por un valor mínimo y otro máximo.

Las operaciones a realizar vendrán condicionadas por el tipo de datos de los elementos del subrango.


Tabla de caracteres ASCII

Formato de caracteres estándares

ASCII

Hex

Símbolo

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

 
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F

 
NUL
SOH
STX
ETX
EOT
ENQ
ACK
BEL
BS
TAB
LF
VT
FF
CR
SO
SI

 

ASCII

Hex

Símbolo

16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

 
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
1F

 
DLE
DC1
DC2
DC3
DC4
NAK
SYN
ETB
CAN
EM
SUB
ESC
FS
GS
RS
US

 

ASCII

Hex

Símbolo

32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47

 
20
21
22
23
24
25
26
27
28
29
2A
2B
2C
2D
2E
2F

 
(espacio)
!
"
#
$
%
&
'
(
)
*
+
,
-
.
/


 

ASCII

Hex

Símbolo

48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63

 
30
31
32
33
34
35
36
37
38
39
3A
3B
3C
3D
3E
3F

 
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?

 

ASCII

Hex

Símbolo

64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79

 
40
41
42
43
44
45
46
47
48
49
4A
4B
4C
4D
4E
4F

 
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O

 

ASCII

Hex

Símbolo

80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95

 
50
51
52
53
54
55
56
57
58
59
5A
5B
5C
5D
5E
5F

 
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_

 

ASCII

Hex

Símbolo

96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111

 
60
61
62
63
64
65
66
67
68
69
6A
6B
6C
6D
6E
6F

 
`
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o

 

ASCII

Hex

Símbolo

112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127

 
70
71
72
73
74
75
76
77
78
79
7A
7B
7C
7D
7E
7F

 
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~


 

Qué es constante y variable? Ejemplos

cConstantes
Una constante es un dato cuyo valor no puede cambiar durante la ejecución del programa. Recibe un valor en el momento de la compilación y este permanece inalterado durante todo el programa.
Como ya se ha comentado en el tema sobre las partes de un programa, las constantes se declaran en una sección que comienza con la palabra reservada const. Después de declarar una constante ya puedes usarla en el cuerpo principal del programa. Tienen varios usos: ser miembro en una expresion, en una comparación, asignar su valor a una variable, etc.



En el siguiente ejemplo se contemplan varios casos:


const
    Min = 0;
    Max = 100;
    Sep = 10;
var
i : integer;

begin
i := Min;
while i < Max do begin
writeln(i);
i := i + Sep
end
end.

En este ejemplo se declaran tres constantes (Min, Max y Sep). En la primera línea del cuerpo del programa se asigna una constante a una variable. En la siguiente, se usa una constante en una comparación. Y en la cuarta, la constante Sep interviene en una expresión que se asigna a una variable. El resultado de ejecutar este programa sería una impresión en pantalla de los números: 0, 10, 20, 30, 40, 50, 60, 70, 80 y 90.

Variables

Una variable es un nombre asociado a un elemento de datos que está situado en posiciones contiguas de la memoria principal, y su valor puede cambiar durante la ejecución de un programa.

Toda variable pertenece a un tipo de dato concreto. En la declaración de una variable se debe indicar el tipo al que pertenece. Así tendremos variables enteras, reales, booleanas, etc.

begin
      ...
i:=1;
readln(n);
while i < n do begin
(* cuerpo del bucle *)
i := i + 1
end;
      ...
end.

TIPOS DE OPERADORES:

Operadores Aritméticos

Los operadores aritméticos permiten la realización de operaciones matemáticas con los valores (variables y constantes).

Los operadores aritméticos pueden ser utilizados con tipos de datos enteros o reales. Si ambos son enteros, el resultado es entero; si alguno de ellos es real, el resultado es real.
Operadores Aritméticos
+ Suma
- Resta
* Multiplicación
/ División
mod Modulo (residuo de la división entera)

Ejemplos:

Expresión
   
Resultado
7 / 2
   
3.5
12 mod 7
   
5
4 + 2 * 5
   
14


Prioridad de los Operadores Aritméticos

Todas las expresiones entre paréntesis se evalúan primero. Las expresiones con paréntesis anidados se evalúan de dentro a fuera, el paréntesis más interno se evalúa primero.
Dentro de una misma expresión los operadores se evalúan en el siguiente orden:
  1. ^ Exponenciación
  2. *, /, mod Multiplicación, división, modulo.
  3. +, - Suma y resta.
Los operadores en una misma expresión con igual nivel de prioridad se evalúan de izquierda a derecha.

Ejemplos:

4 + 2 * 5 = 14
   
23 * 2 / 5 = 9.2
3 + 5 * (10 - (2 + 4)) = 23
   
2.1 * (1.5 + 12.3) = 2.1 * 13.8 = 28.98


Operadores Relacionales

Se utilizan para establecer una relación entre dos valores. Luego compara estos valores entre si y esta comparación produce un resultado de certeza o falsedad (verdadero o falso).
Los operadores relacionales comparan valores del mismo tipo (numéricos o cadenas). Estos tienen el mismo nivel de prioridad en su evaluación.
Los operadores relaciónales tiene menor prioridad que los aritméticos.

Tipos de operadores Relacionales
  • > Mayor que
  • < Menor que
  • > = Mayor o igual que
  • < = Menor o igual que
  • <> Diferente
  • = Igual
Ejemplos:
Si a = 10, b = 20, c = 30

a + b > c
   
Falso
a - b < c
   
Verdadero
a - b = c
   
Falso
a * b <> c
   
Verdadero


Ejemplos no lógicos:
a < b < c
10 < 20 < 30
T > 5 < 30
(no es lógico porque tiene diferentes operandos)

Operadores Lógicos

Estos operadores se utilizan para establecer relaciones entre valores lógicos. Estos valores pueden ser resultado de una expresión relacional.

Tipos de operadores Lógicos
And Y
Or O
Not Negación
Ejemplo:
Para los siguientes ejemplos T significa verdadero y F falso.
Se puede utilizar los operadores lógicos AND, OR, y NOT.en cualquiera de las búsquedas de términos alfabéticos o de palabra clave, puede hacer más específica la búsqueda si de utilizan estos operadores.