Publicado el 31 de Agosto del 2020
728 visualizaciones desde el 31 de Agosto del 2020
165,3 KB
16 paginas
Creado hace 19a (11/01/2005)
TEMA 3: Programación en lenguajes de alto nivel
TEMA 3: Programación en lenguajes de alto nivel
3.1.-Características de un lenguaje de programación de alto nivel
A partir de ahora estudiaremos los conceptos que se utilizan en los lenguajes de
programación en general, aunque nos centraremos especialmente en los lenguajes
procedurales. Estudiaremos los conceptos en el caso concreto del lenguaje C++.
El lenguaje C++ es una evolución del lenguaje C (1975). El lenguaje C fue desarrollado
inicialmente como lenguaje de programación de sistemas operativos, en concreto, para
desarrollar y mantener el sistema operativo UNIX. El lenguaje C es muy potente,
debido a que permite operaciones a bajo nivel. Pero también a causa de esto, es muy
propenso a los errores por parte del programador. Para subsanar esto se creo a
principios de los 80 el C++, que añade al C la programación orientada a objetos. En
1998 se creó el estándar de C++ que se denomina ANSI/ISO C++, y es el que se sigue
actualmente.
En el vocabulario de los lenguajes de alto nivel se pueden distinguir claramente tres
tipos de palabras (tokens): palabras reservadas, identificadores y símbolos (*,+,/,^, …).
3.1.1.-Palabras reservadas
Palabras que tienen un significado especial en el lenguaje y no pueden ser utilizadas
para ninguna otra cosa. Definen la estructura del programa y las instrucciones más
básicas.
Ejemplo:
if / for / while ...
3.1.2.-Identificadores
Son palabras del lenguaje que hacen referencia a elementos del programa (variables,
subprogramas, …)
Fernando Barber y Ricardo Ferrís
21
TEMA 3: Programación en lenguajes de alto nivel
En C++ un identificador es una secuencia de caracteres que cumple las siguientes
reglas:
• Sólo pueden utilizarse caracteres alfanuméricos estándar (no Ñ, Ç o acentuados) y el
carácter subrayado ‘_’. No puede utilizarse el carácter blanco.
• El primer carácter ha de ser una letra o el carácter subrayado.
• No pueden utilizarse palabras reservadas como identificadores.
En C++ se distingue entre mayúsculas y minúsculas, por lo que hay que tener cuidado
de cómo se escribe un identificador.
Ejemplo:
Válidos
num_2
PracticaDos
_uno
3.1.3.-Símbolos
No Validos
año
Practica Dos
12x
if
Existen símbolos de diferentes tipos y con diferentes significados en cada lenguaje de
programación, pero básicamente se pueden clasificar en los siguientes grupos:
Operadores:
Son símbolos que indican la realización de una cierta operación entre valores y/o
variables.
Ejemplo:
En C++:
Suma
+
% Resto de la
= Asignación
división entera
En Pascal:
Suma
+
:= Asignación
Resta
-
&& Y (lógico)
== Comparación
-
=
Resta
Comparación
Fernando Barber y Ricardo Ferrís
22
TEMA 3: Programación en lenguajes de alto nivel
Símbolos de comentarios:
Los comentarios son explicaciones del programa. Son ignoradas por el compilador.
Ejemplo:
En C++:
En Pascal:
// Inicio de comentario en una sola línea
/* Inicio de comentario en una o varias líneas
*/ Fin de comentario
{
}
Inicio de comentario
Fin de comentario
Directivas del compilador:
Son órdenes especiales para el compilador que no forman parte del lenguaje.
Ejemplo:
En C++ se escriben con una almohadilla delante:
Directiva para incluir un fichero.
#include <iostream.h>
3.2.-Concepto de variable
En lenguajes de bajo nivel, los datos están en celdas de memoria. La variable es una
abstracción del concepto de celda de memoria.
Existe una relación biunívoca entre el nombre de la variable y la dirección de memoria,
y el valor de la variable y el contenido de la celda.
Una variable tiene un nombre que la identifica y cuatro atributos básicos:
• Valor: Está codificado en la posición de memoria asociada a la variable.
• Tipo: Describe el conjunto de valores que puede tomar una variable así como las
operaciones que soporta (dominio.)
• Ámbito: Rango de sentencias del programa en el que la variable es conocida.
Fernando Barber y Ricardo Ferrís
23
• Tiempo de vida: Rango de sentencias en que la variable está asociada a la posición
TEMA 3: Programación en lenguajes de alto nivel
de memoria.
Existen también unas operaciones básicas sobre las variables:
Indirección: Consiste en recuperar el valor de la variable haciendo uso de su nombre.
Ejemplo:
Si la variable X tiene valor 4
X + 3 ==> 4 + 3
Asignación: Consiste en modificar el valor de la variable.
Ejemplo:
X ← 3 A partir de ahora X contendrá el valor 3.
(En C++ x = 3 / En Pascal x := 3)
3.3.-Tipos simples de datos
Un tipo de datos es simple cuando no puede ser descompuesto en tipos de datos más
simples (es decir, es atómico). Cuando sí que es posible descomponerlo diremos que es
compuesto.
Un tipo es ordinal o numerable cuando se puede establecer una biyección entre los
elementos de ese tipo y los números naturales.
Un tipo es ordenado cuando existe una relación de orden. Todos los tipos simples son
ordenados.
Fernando Barber y Ricardo Ferrís
24
TEMA 3: Programación en lenguajes de alto nivel
Los ordinales, debido a la biyección con los naturales, se codifican como enteros.
En la asignatura de Estructura de Computadores I se explica la representación interna de
los tipos enteros, reales, lógicos y caracteres.
3.3.1.-Lógicos
Solamente posee los valores VERDADERO y FALSO.
Como todo tipo ordinal posee un orden:
F < V
En C++: bool
Los valores son: true o false
Operaciones en C++ sobre variables y valores lógicos:
X1
F
V
NO
V
F
Los operadores sobre tipos lógicos son: Y (&&), o (||), no (!).
Y
F
F
F
V
X1
F
F
V
V
X2
F
V
F
V
O
F
V
V
V
Fernando Barber y Ricardo Ferrís
25
TEMA 3: Programación en lenguajes de alto nivel
Ejemplo:
bool b;
int a;
b = a > 5;
3.3.2.-Carácter
Tipo para representar caracteres alfanuméricos, que corresponde con una serie estándar
de caracteres. Normalmente se utiliza la serie ASCII, aunque casi todas las series
contienen lo siguiente:
• Códigos de control.
• Conjunto de letras por orden alfabético que no contiene caracteres especiales (Ñ,
acentos, etc.)
• Conjunto de números del 0 al 9.
• Caracteres especiales: Ñ, Ç, acentos, ?, !, etc.
Los caracteres se codifican en el ordenador utilizando su código ASCII.
En C++:
TIPO
char
FORMATO
(Codificación)
16 bits
Los caracteres se escriben con comillas simples 'A'.
'A' < 'B' → TRUE
Fernando Barber y Ricardo Ferrís
26
TEMA 3: Programación en lenguajes de alto nivel
TABLA ASCII
Código ASCII estándar
Código ASCII extendido
Hex
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
Hex Bin
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0000
NUL
DLE
0
16
0001
SOH
DC1
1
17
0010
STX
DC2
2
18
0011
ETX
DC3
3
19
0100
EOT
DC4
4
20
32
!
33
“
34
#
35
$
36
0101
ENQ
NAK %
5
21
0110
ACK
SYN
6
22
0111
BEL
ETB
7
23
1000
BS
CAN
0
1
2
3
4
5
6
7
8
9
8
1001
HT
A
1010
B
C
1011
1100
D
1101
E
F
1110
1111
9
LF
10
VT
11
FF
12
CR
13
SO
14
SI
15
24
EM
25
SUB
26
ESC
27
FS
28
GS
29
RS
30
US
31
0
48
1
49
2
50
3
51
4
52
5
53
6
54
7
55
8
56
9
57
:
58
;
59
<
60
=
61
>
62
?
63
@
64
A
65
B
66
C
67
D
68
E
69
F
70
G
71
H
72
I
73
J
74
K
75
L
76
M
77
N
78
O
79
P
80
Q
81
R
82
S
83
T
84
U
85
V
86
`
96
a
97
b
98
c
99
d
p
Ç
É
á
112
128
144
160
q
11
r
ü
æ
í
129
145
161
é
Æ
ó
114
130
146
162
s
â
ô
ú
115
131
147
163
t
ä
ö
ñ
100
116
132
148
164
e
u
à
ò
Ñ
101
117
133
149
165
f
v
å
û
ª
102
118
134
150
166
W
g
w
ç
ù
º
87
X
88
Y
89
Z
90
[
91
\
92
]
93
^
94
_
95
103
119
135
151
167
h
x
ê
ÿ
104
120
136
152
i
y
ë
Ö
105
121
137
153
j
è
Ü
106
122
138
154
k
{
ï
¢
107
123
139
155
l
|
î
£
108
124
140
156
m
}
ì
109
125
141
n
~
Ä
110
126
142
o
DEL
Å
¥
157
₧
158
ƒ
¿
168
⌐
169
¬
170
½
171
¼
172
¡
173
«
174
»
111
127
143
159
175
░
176
▒
177
▓
178
│
179
┤
180
╡
181
╢
182
╖
183
╕
184
╣
185
║
186
╗
187
╝
188
╜
189
╛
190
┐
191
└
192
┴
193
┬
194
├
195
─
196
┼
197
╞
198
╟
199
╚
200
╔
201
╩
202
╦
203
╠
204
═
205
╬
206
╧
207
╨
208
╤
209
╥
210
╙
211
╘
212
╒
213
╓
214
╫
215
╪
216
┘
217
┌
218
█
219
▄
220
▌
221
▐
222
▀
223
α
224
β
225
Γ
≡
240
±
241
≥
226
242
π
≤
227
243
Σ
⌠
228
244
σ
⌡
229
245
µ
÷
230
246
τ
≈
231
247
Φ
°
232
248
θ
•
233
249
Ω
⋅
234
250
δ
235
∞
236
∅
237
∈
238
∩
239
√
251
ⁿ
252
²
253
■
254
255
37
&
38
‘
39
(
40
)
41
*
42
+
43
,
44
-
45
.
46
/
47
Caracteres de Control
Caracteres Gráficos
Fernando Barber y Ricardo Ferrís
27
TEMA 3: Programación en lenguajes de alto nivel
Para escribir caracteres especiales se utiliza el símbolo \ (barra invertida):
Ejemplo:
'\n'
'\''
'\\'
3.3.3.-Enteros
Salto de línea
Comilla simple
Símbolo \
Es un subconjunto del conjunto matemático de los enteros. Es por tanto ordenado y
numerable.
Distintos tipos de enteros en C++ (el rango y formato dependen del compilador y la
máquina):
TIPO
int
long
short
unsigned int
unsigned short
RANGO
[-2147483648,2147483647]
''
[-32768,32767]
[0,4294967295]
[0,65535]
FORMATO
(Codificación)
32 bits con signo
32 bits con signo
16 bits con signo
32 bits sin signo
16 bits sin signo
Operaciones sobre enteros:
• Aritméticas:
+, -, *, /, %
(¡¡Entre enteros ‘/’ es la división entera!!)
• Relacionales:
• Funciones de biblioteca: abs
==, !=, <, >, <=, >=
(stdlib.h)
3.3.4.-Reales
Representación de los números matemáticos reales. Es ordenado pero no numerable.
Se codifica en el ordenador en notación de coma flotante, es decir, el número está
dividido
Comentarios de: TEMA 3: Programación en lenguajes de alto nivel (0)
No hay comentarios