Desarrollo de aplicaciones Solución Borland Daniel Pereiro Borland Ibérica .
Programación en Turbo-Borland Pascal 7 3ra Edición
Transcript of Programación en Turbo-Borland Pascal 7 3ra Edición
-
7/24/2019 Programacin en Turbo-Borland Pascal 7 3ra Edicin
1/558
CONSULTORES EDITORIALES
REA D EINFORMTICA YCOMPUTACIN
Antonio Vaquero Snchez
Catedrtico
d e
Lenguajes
y
Sistemas Informticos
Escuela Superior deInformtica
Universidad Complutense de Madrid
ESPAA
Gerardo Quiroz Vieyra
Ingeniero en Comunicaciones y Electrnica
por la ESIME de l Instituto Politcnico Nacional
Profesor de laUniversidad Autnoma Metropolitana
Unidad Xochimilco
MXICO
Programacin
en
Turbo Borland Pascal
7
3
a
edicin
Luis Joyanes Aguilar
Director de l Departamento de Lenguajes
ySistemas Informticos
Facultad deInf ormtica/Escuela Universitaria de Informtica
Universidad Pontificiad eSalamanca en Madrid
Osbor ne/McGraw-Hill
MADRID
BUENOS AIRES
CARACAS
GUATEMALA
LISBOA
MXICO
NUEVA YORK
PANAM
SAN
JUAN
SANTAF
DE
BOGOT
SANTIAGO
SAO
PAULO
AUCKLAND HAMBURGO LONDRES MILN MONTREAL. NUEVA DELHI. PARIS
SAN FRANCISCO . SIDNEY SINGAPUR . ST. LOUIS TOKIO TORONTO
-
7/24/2019 Programacin en Turbo-Borland Pascal 7 3ra Edicin
2/558
PROGRAMACIN ENTURB O/BORLAND PASCAL 7. 3.
a
Edicin
No
est permitida
la
reproduccin total
o
parcial
de
este libro,
ni su
tratamiento
informtico, ni la transmisin de ninguna forma o por cualquier medio, ya sea
electrnico, mecnico, po r fotocopia,p or registrouotros mtodos, sin elpermiso
previo y por escrito de lostitulares delCopyright.
DERECHOS RESERVADOS 1998, respecto a laprimera edicin en espaol por
McGRAW-HILL/INTERAMERICANA DE ESPAA, S . A. U.
Edificio Valrealty,
1.
a
planta
Basauri, 17
28023 Aravaca (Madrid)
ISBN: 84-481-1075-7
Depsito legal:M .3.591-1999
Editor: Carmelo Snchez Gonzlez
Diseo
de
cubierta: Luis Sanz Cantero
Compuesto e n F ER Fotocomposicin, S. A.
Impresoe n Impresosy Revistas, S. A.(IMPRESA)
IMPRESO EN ESPAA -PRINTED IN SPAIN
A mi hijo Luis, mi otra gran pasin
-
7/24/2019 Programacin en Turbo-Borland Pascal 7 3ra Edicin
3/558
CONTENIDO
Prlogoa la primera, segundaytercera edicin xv
Captulo 1. Introduccina laciencia de lascomputadorasy a la programacin 1
1.1.
Qu
es una
computadora?
2
1.2.
Organizacin fsica
de una
computadora (hardware)
2
1.3. El
software
(los
programas)
10
1.4. Los
lenguajes
de
programacin
11
1.5. La
resolucin
de
problemas
c on
computadora
13
1.6.
Programacin modular
24
1.7.
Programacin estructurada
25
1.8. Los
lenguajes Pascal
y
Turbo Pascal
28
Resumen
29
Ejercicios
30
Captulo 2. Elentornod eprogramacinTurbo Pascal:Comenzandol a programacin . . 32
2.1. El
programa Turbo Pascal (versin
7.0) 33
2.2.
Qu
es un
entorno
de
programacin?
35
2.3. El
Entorno Integrado
de
Desarrollo
(EID) 35
2.4.
Instalacin
de
Turbo Pascal
36
2.5. El
entorno
de
programacin
de
Turbo Pascal
37
2.6. Componentes del EIDTurbo Pascal 7.0 41
2.7. Los
mens
45
2.8.
Creacin
de
programas:
1a
edicin
48
2.9. Conservacin (grabacin) deprogramase ndiscos 48
2.10.
Compilacin
49
2.11.
Ejecucin
(Run) 50
2.12.
Tratamiento
de
archivos
en la
ventana
de
edicin
51
2.13. El
depurador integrado
52
Resumen
52
^ Captulo 3. IntroduccinaPascal 54
3.1. La
estructura
de un
programa
en
Pascal
55
3.2. Objetosde un programa 58
3.3.
Diagramas
d e
sintaxis
61
3.4.
Tipos
d e
datos
62
3.5.
Constantes
71
3.6.
Variables
73
3.7.
Sentencias
75
-
7/24/2019 Programacin en Turbo-Borland Pascal 7 3ra Edicin
4/558
vi i Programacin
en
Turbo/Borland Pascal
7
3.8. La
sentencia
de
asignacin
77
3.9. Expresiones y operaciones aritmticas 79
3 .10 . Operaciones Entrada/Salida 83
3 .11 . Operac iones bsicas de utilidad 90
3 .12 .
Programa cin interactiva
94
3.13. El estilo de programacin 95
3 .14 . Puesta a punto de programas 99
Resumen 103
Ejercicios
103
Problemas 107
Captulo 4
Estructuras
de
control selectivas
109
4 .1 . Expresiones lgicas 109
4 .2 . La sentencia if 117
4 .3 . Sentencias i f anidadas 122
4 .4 . Programacin co n expresiones lgicas 126
4 .5 . La sentencia case 131
4 .6 . Comparacin de sentencias i f anidadas y case 134
4 .7 . Puesta a punto deprogramas 136
Resumen 141
Problemas resueltos 141
Ejercicios 143
Problemas 145
Captulo
5.
Estructuras
de
control repetitivas
148
5.1. El concepto de bucle .
148
5.2. Lasentencia wh i le 150
5.3. Diseo de bucles 152
5.4. Terminacin dlos bucles 154
5.5. La sentencia repeat 161
5.6. Comparacin de losbucles while y r ep ea t 163
5.7. La sentencia fo r ) 165
5.8. Bucles anidado s 171
5.9. Sentencias d
t
control incondicional 174
5 .10 . Eleccin de la estructura repetitiva adecuada 177
5 .11 . Optimizacin de bucles 179
5 .12 . Puesta a punto deprogramas ." 180
Resumen 183
Problemas resueltos 185
Ejercicios 191
Problemas 192
Captulo 6. La programacin modular 195
6.1. El diseo descendente: lo ssubprogramas 195
6.2. El diseo modular: lo smdulos 198
6 .3 .
Procedimientos
199
6 .4 . Transferenciad einformacin a/desde procedimientos: lo s parmetros . . . . 2 06
6 .5 .
Variables locales
y
globales
218
6 .6 . Efectos laterales 221
6 .7 .
Ambito
de un
identificador
222
6 .8 . La declaracin forward 230
" ~ -
Contenido x
6 .9 . Diseo descendente y programacin modular 232
6 .10 .
Incluir archivos
en
programas (creacin
de
libreras)
239
6 .11 . Puesta a punto de programas 241
Resumen
243
Ejercicios 243
Problemas
247
x
Captulo 7. Funciones estndar
y
definidas por elusuario 249
7 .1 . Las funcionesd e Turbo Pascal 250
7 .2 . Lasfunc iones predefinidase n Turbo Pascal 250
7 .3 . Funciones matemticas 251
7 .4 . Funciones trigonomtricas 257
7 .5 . Funciones ordinales 261
7 .6 . Funciones especiales 264
7 .7 . Funci ones especiales (bajo nivel):
HI
/ W swap 265
7 .8 . Incremento y decremento:
inc/Dec
267
7 .9 . Nmeros aleatorios 269
7 .10 . Funciones definidas por e l usuario 273
7 . 1 1 . E l t ipo procedimental (PROCEDURE FUNCTION) 2 7 8
7 .12 . Puesta a punto de programas 281
Resumen 281
Problemas resueltos 282
Ejercicios 285
Problemas 288
- Captulo 8. Tipos de datos definidos por el usuario
y
conjuntos 290
8 .1 .
Definiciones
d e
tipos
290
8 .2 . Tipos de datos ordinales 291
8 .3 .
Tipos
de
datos subrango
294
8 .4 . Tipos definidos por e l usuario: enumerados 297
8 .5 . Las funciones ordinales:
ord,Pred
y
succ
304
8 .6 . Compatibilidad de tipos ycompatibilidad de asignacin 308
8 .7 .
Conjuntos
309
8 .8 . Operaciones co n c o n j u n t o s . . . 313
8 .9 .
Recapitulacin sobre conjuntos: conceptos
y
operaciones
323
8 .10 . Procedimientos especiales de conjuntos 326
8 .11 . Puesta a punto de programas 328
Resumen 329
Ejercicios . 32 9
Problemas . 330
Captulo 9. Introduccin a las estructuras de datos:arrays 332
9 .1 . Concepto de estructuras de datos 333
9 .2 . Qu es un array? 333
9 .3 . Arrays unidimensionales: lo s vectores 334
9 .4 . Operaciones co n arrays (vectores) 341
9 .5 . Arrays como parmetros 345
9 .6 . Valores mnimo ymximo d e u n vector 348
9 .7 . La directiva de l compilador R 349
9 .8 . Arrays paralelos 350
9 .9 .
Arrays multidimensionales
351
-
7/24/2019 Programacin en Turbo-Borland Pascal 7 3ra Edicin
5/558
X Programacin en Turbo/Borio,idPascal7
9.10. Arrays bidimensionales (tablas) 352
9.11. Tratamiento de arrays multidimensionales 361
9.12. Compatibilidady conversin de tipos 364
9.13. Constantesd etipo array (tipeadas) 365
9.14. Arrays abiertos 366
9.15.
Puesta
a
punto
de
programas
369
Resumen
370
Problemas resueltos 370
Ejercicios
374
Problemas
377
Capitulo1 0. Tratamientodecadenasd ecaracteres 380
10.1. Concepto de cadena decaracteres (string) 380
10.2. Longitud de una cadena 381
10.3. Operaciones entre cadenas 385
10.4. Procedimientos y funcionesde cadena internos 386
10.5. Otras propiedadesde lascadenas 394
10.6. Parmetro s array abierto de tipoCHAR 398
10.7. Parmetro s cadena abierta 399
10.8. Cadenas terminad as en nulo 401
10.9. La unidad strings: funciones 402
Resumen 407
Ejercicios 409
Problemas
412
Captulo
11. El
control
de la
pantalla
y del
teclado
414
11.1. La unidad c r t 4 1 4
11.2. Lasvariablesc r t 4 1 7
11.3. Rutinasd econtrold e pantalla 419
11.4. Pantallas versus ventanas 423
11.5. Pantalla de texto 424
11.6. Coordenadas depantalla: posicin del cursor 426
11.7.
Reglas prcticas para
el
control
de la
pantalla
428
11.8. El control de lteclado 430
11.9. El
control
de l
tiempo
y de
sonidos
434
Captulo 12 . Ingeniera de software: introduccin a la medotologa de construccin de
grandes programas 438
12.1. La complejidad inherente al software 438
12.2. La crisisd el software 440
12.3.
Factores
en la
calidad
de l
software
442
12.4. El
ciclo
d e
vida
del
software
443
12.5. La
documentacin
449
12.6. Mtodos formalesd everificacind eprogramas 451
12.7. Principios dediseo de sistemas 458
12.8. Estilod e programacin 463
12.9. Diseo dealgoritmos 47 3
12.10. Codificacin 474
12.11. Prueba
(Testing)
474
12.12. Depuracin 475
12.13. Eficiencia 478
12.14. Transportabilidad(Portabilidad) 481
Contenido
X
Captulo
13.
13.1.
13.2.
13.3.
13.4.
13.5.
13.6.
13.7.
13.8.
13.9.
Captulo14.
14.1.
14.2.
14.3.
14.4.
14.5.
14.6.
14.7.
14.8.
14.9.
14.10.
14.11.
Captulo 15.
15.1.
15.2.
15.3.
15.4.
15.5.
15.6.
15.7.
15.8.
15.9.
15.10.
15.11.
15.12.
15.13.
15.14.
15.15.
15.16.
15.17.
15.18.
15.19.
15.20.
Captulo 16.
16
1
1 6 . 2 .
16.3
16.4
Ordenacin, bsqueda ymezcla 484
Introduccin 484
Ordenacin 485
Ordenacin po rburbuja 486
Ordenacin p orseleccin 493
Ordenacin po r insercin 495
Ordenacin Shell 498
Bsqueda lineal 501
Bsqueda binaria 505
Mezcla 509
Registros 515
El
tipo
de
datos registro
516
La sentencia
with
520
Registros jerrquicos (anidados)
521
Lo s registros como parmetros 527
Arravs
deregistros 531
Registros variantes 534
Constantes detipo registro (
tipeadas
) 543
Bsqueda en un array deregistros 544
Bsqueda po r conversin de claves (
hashing
) 547
Ordenacin de un
array
deregistros 552
Puesta a punto de programas 556
Archivos 564
Introduccin a losarchivos 565
Lo s archivose n Turbo Pascal 566
Lo s archivosd etexto (secuenciales) 570
Tratamiento
de
archivos
d e
texto
572
Redirecciones de las entradas/salidas estndar 579
Lo sarchivos deacceso aleatorio(con tipos) 582
Tratamiento de archivosd eacceso aleatorio 584
Mantenimiento
de
archivos aleatorios
586
Deteccin
de
errores
de
Entrada/Salida
(E/S) 593
Errores de E/S bajo MS-DOS 595
Tratamiento completo
de
archivos aleatorios
595
Archivoss in tipos 604
Borrar yrenombrar archivos 606
Dispositivose n Turbo Pascal 608
Escriturae n impresora 609
Archivos detexto asociadosaunidades lgicas 610
Lo sarchivos como parmetros deprocedimientos 611
Ordenacin de archivos 611
Mezcla de archivos 612
Puesta apunto de programas 616
La recursividad 620
La
naturaleza
de la
recursividad
620
El
seguimiento
de la
recursividad
629
Pilas 631
Subprogramas recursivosc on parmetros tipo array 633
-
7/24/2019 Programacin en Turbo-Borland Pascal 7 3ra Edicin
6/558
X
Programacin
en
Turbo/Borland Pascal
7
16.5. La eficiencia (iteracin
ver sus
recursividad) 635
16.6. Recursividad indirecta : declara cin Forward 637
16.7.
Bsqueda binaria recursiva
639
16.8. Ordena cin rpida (qttteksorf) 642
16.9. Ordenacin po r mezclir(ordeacin externa) 646
16.10.
El
problema
de la s
Torres
de
Hanoi
650
16.11. Recursin mutu a 653
16.12. La recursividad, pros y contras (sntesis) 654
16.13. Puesta a punto de programas 655
Captulo
17 .
Pilas
y
colas
6 6 0
17.1.
Introduccin
6 6 0
17.2. Qu es una pila? 661
17.3. Realizacin de pilas co n arrays (vectores) y registros 6 6 4
17.4.
Qu
es una
cola?
6 7 0
17.5. Aplicaciones de la s colas '. 67 1
17.6. Realizacin d e u n a cola co n arrays yregistros 671
17.7. Puesta a punto de programas 676
Captulo 18 . Estructuras dinmicas dedatos: punteros y listas enlazadas 6 8 0
18.1. Estructuras de datos dinmicas 680
18.2.
Punteros
682
18.3. Operaciones co n variables puntero: lo s procedimientos
N ew
yDispose . . . 685
18.4. El tipo genrico puntero (pointer) 700
18.5. La funcin assigned 701
18.6. La asignacin de memoria en Turbo Pascal 701
18.7. Listas enlazadas 706
18.8. Operaciones e n u n a lista enlazada 710
18.9.
Listas circulares
721
18.10. Listas dobleme nte enlaza das 723
18.11. Diseo de pilas co n listas enlazadas 725
18.12. Diseo
de
colas
co n
listas enlazadas
727
18.13. Puesta apunto d e programas 729
Captulo
19 .
Arboles
733
19.1. Concepto de rbol 733
19.2. Arboles binarios 736
19.3.
Arboles
de
expresin
742
19.4. Construccin de un rbol binario 745
19.5. Recorrido de un rbol 747
19.6. Arbol binario de bsqueda 751
19.7. Operaciones en rboles binarios de bsqueda 760
Captulo
20 .
Construccin
de
grandes programas
la s
unidades
y la
compilacin indepen-
diente) 770
20 .1 . Concepto de unidad 771
20 .2 . Estructura d e u n a unidad 771
20 .3 . Creacin de unidades 774
20 .4 . Utilizacin de unidad estndar 782
20 .5 .
Situacin
de las
unidades
en sus
discos: Dnde busca Turbo Pascal
l a s u n i -
dades? 786
Contenido xiii
20 .6 . Identific adores idnticos en diferentes unidades 788
20 .7 . Sntesis de unidades 789
20 .8 . Otros mtodos de estructurar programas: inclusin, solapamientos y enca-
denamiento
791
Captulo
21 .
Unidades estndar
805
21 .1 . Las unidades estndar 805
21 .2 . La unidad System 806
21 .3 . La unidad
Printer
806
21 .4 . La unidad
D os
808
2 1 . 5 . Procedimientos y funciones de la unidad D o s 811
21 .6 . La unidad C r t 819
21 .7 . La unidad Strings: Funciones 825
21 .8 . La
unidad
Turbo3 829
Captulo 22 . Tipos abstractos de datos yobjetos 834
22 .1 . E l
Papel
(el Rol) de la
abstraccin
835
2 2 . 2 . U n nuevo paradigma de programacin 838
22 .3 . Modularidad 840
22 .4 . Diseo de mdulos 843
22 .5 . Tipos de datos 845
22 .6 . Abstraccin en lenguajesd e programacin 846
22 .7 . Tipos abstractos de datos 849
22 .8 .
Tipos abstractos
de
datos
en
Turbo Pascal
851
2 2 . 9 . Orientacin aobjetos 854
22.10. Reutilizacin de software 838
22.11. Lenguajesd e programacin orientados a objetos 859
22.12. Desarro llo tradicion al frente a orientado a objetos 863
22.13. Beneficios de las tecnologas de objetos 864
Captulo 23 . Programacin orientada a objetos 86 8
23 .1 . Programacin estructurada 869
23 .2 . Qu es programacin orientada a objetos? 871
2 3 . 3 . U n m u n d o de objetos: notaciones grficas 877
23 .4 .
Comunicaciones entre objetos:
lo s
mensajes
883
23 .5 . Estructura interna de un objeto 886
23 .6 . Estructura interna d e u n a clase 888
23 .7 . Herencia 890
23 .8 . Anulacin/Sustitucin 897
23 .9 . Sobrecarga 898
23.10. Ligadura dinmi ca
899
Captulo
24 .
Programacin orientada
a
objetos
co n
Turbo Pascal 7
904
24 .1 . La estructura de los objetos: sintaxis 905
24 .2 . Secciones pblica y privada 912
24 .3 . Definicin de objetos mediante unidades 915
24 .4 . La herencia 917
24 .5 . Los mtodos - 925
2 4 . 6 . Objetos dinmicos 926
24 .7 .
Polimorfismo
935
24 .8 . Constructores ydestructores 942
-
7/24/2019 Programacin en Turbo-Borland Pascal 7 3ra Edicin
7/558
XV Programacin en Turbo/Borland Pascal 7
24 .9 . Los procedimientos new y d i sp o se en programacin orientada a objetos . . 945
24.10. Mejoras en programacin orientada aobjetos 946
Apndice
A. Cdigos de referencia 95
B. Palabra s reservadas 957
C. El editor de Turbo Pascal 7 .0 959
D . E lentorno integrado d e desarrollo Turbo Pascal 7 .0 963
E.
Operaciones
m s
ususales
c on
Turbo Pascal
7 980
F. Directivas de compilacin 983
G. Depuracin de sus programas en Turbo Pascal 998
H. Mensajesy cdigos de error 1011
I. Gua d ereferencia Turbo Pascal 7.0, 6.0 y 5.5 1019
J. Diagramas de sintaxis Turbo Pascal 7.0, 6.0 y 5.5 1044
K. Gua de l usuario ISO/ANSI Pascal estndar 1059
L.
Pascal estndar (ANSI Pascal)
versus
Turbo Pascal
5.5 a 7.0 1081
Bibliografa 1084
Indice
1086
PRLOGO
A LA
PRIMERA,
SEGUNDA YTERCERA EDICIN
Un a historia breve de Pascal yTurbo Pascal
A
principio
de los
aos setenta,
y
tras
lo s
estudios efectuados
en la
dcada anterior
en
la realizacin de l lenguaje ALGOL-68, Niklaus Wirth, u n profesor d e Eidgenssiche
Technische Hochschule (Instituto Tecnolgico) d e Zurich (Suiza), dise Pascal, un l en -
guaje concebido para laenseanza d e tcnicas d e programacin a estudiantes universi-
tarios, que con e l correr de los tiempos se ha convertido en estndar de l mundo de la
programacin.
El
objetivo fundamental
y a
comentado anteriormente
de su
creador
fu e
desarro-
llar
u n
lenguaje
q u e
permitiera
ensear programacin como
un a
disciplina sistemtica
basada en determinados conceptos fundamentales.
Estos conceptos
se
reflejan
d e
modo
claro
y
natural
en el
lenguaje.
E l
libro
Pascal User Manual an d Report,
escrito
p o r
Wirth
y K .
Jensen, publicado
en 1974,
sirvi como definicin bsica
de l
lenguaje Pascal.
A m e-
dida
que s u us o
creci
en las
comunidades educativa
y
profesional, aparecieron diferen-
te s
implementaciones; para asegurar
que l os
programas Pascal escritos
en un
sistema
puedan
se r
ejecutados
en
otros,
s e han
diseado diferentes estndar: IEEE
e I S O ,
entre
l o s que
destacaba
el
UCSD Pascal
e n
ambientes universitarios americanos
ha
gozado
de buena aceptacin. Si n embargo, en lamitad de la dcada de los ochenta, Pascal era
u n
lenguaje cuya difusin
se
reduca
a
ambientes
y
cenculos universitarios
y de
inves-
tigacin.
Tal vez, la
razn esencial resida
en el
elevado precio
de los
compiladores
y de
las
herramientas complementarias necesarias: editores
y
depuradores.
E n 1983
aparece
en el
mercado norteamericano comercializado
p o r
Borland
In -
ternational, Inc.
u n
compilador
de
Pascal denominado Turbo Pascal;
la
caracterstica
m s
notable,
su
reducido precio: 49,95 dlares.
L o s
programadores profesionales
l o com -
praron masivamente, pues
n o
slo funcionaba sino
q u e
compilaba
y
corra ejecu-
taba programas
m s
rpidamente
q u e
cualquier otro compilador
de l
mercado.
En
aos
sucesivos aparecieron la s versiones 2. 0 (todava conservo m i vieja copia, regalo de un
amigo como recuerdo de un viaje a Estados Unidos), 3.0, 3.1 y 3.2. Su xito se deba
a la
facilidad
de
edicin, compilacin
y
ejecucin; constitua
por s
mismo
un entorno
de programacin
: editor, compilador
y
depurador integrados; tena
u n a
limitacin
de
64
Kbytes
en el
tamao
de los
programas.
P o r
aquella poca, Apple comercializaba
sus
programas basados
en
mens desplegables
q u e
presentaban
la s
rdenes visualmente
al
programador
y
para cuya ejecucin bastaba solamente
la
pulsacin
de una
tecla; ello
evitaba
la
tediosa tarea
d e
escritura
de las
rdenes.
-
7/24/2019 Programacin en Turbo-Borland Pascal 7 3ra Edicin
8/558
x v i Programacin
en
Turbo/Borland Pascal 7
La
versin
4. 0
super
co n
creces
a las
versiones anteriores
y
elimin
la
barrera
de los
64 K
incorporando
a su vez los
mens desplegables. Adems, ofreca
u n
gran nmero
de
mejoras
y
novedades
en lo que
concierne
al
confort
y al
entorno
de
programacin:
Compilador
co n
editor incorporado similar
a las
versiones anteriores, pero reno-
vado (mens desplegables, funciones especiales, etc.).
Facilidad para construc cin de bibliotecas.
Compilador
de
tipo clsico
q u e
puede
se r
utilizado
en batch
(procesos
po r
lotes).
La
gran novedad
fue la
posibilidad
de
superar
la
barrera
de los 64 K
para
la
creacin
de
programas. Esto
se
consegua mediante mdulos
que se
diseaban
co n
unidades(unit).
Cada unidad puede sercompilada separadamente.
A
finales
de 1988
aparece
en
Estados Unidos
la
versin
5.0 que,
entre otras noveda-
des,
ofreca
un
entorno
de
desarrollo. Entrado
el ao 1989
aparece
la
versin
5.5,
idn-
tica
a la 5.0, con una
importante excepcin: incorpora facilidades para realizar progra-
macin orientada
a
objetos
O O P , Object Oriented Programming),
metodologa
de
programacin clsica, pero poco utilizada,
que, s in
duda, ser clave
en el
desarrollo
de la
ingeniera
de l
software
en la
dcada
de los
noventa.
En el ao 1991, Borland lanz Turbo Pascal 6.0, quemejoraba el entorno de la ver-
sin
5.5 y,
sobre todo, aada nuevas herramientas
de
programacin orientada
a
obje-
tos:
Turbo Vision.
A
finales
del ao 1992, dos
nuevos productos
se
lanzaron
por la
casa
Borland: Turbo Pascal 7.0
y
Borland Pascal 7.0,
En la
actualidad, Turbo Pascal
es,
seguramente,
el
compilador
m s
vendido
del
mundo. Combina
lo s
beneficios
de la
programacin estructurada
en
Pascal,
c on un a m-
plio conjunto
d e
herramientas adicionales, entre otras, programacin orientada
a
objetos
y Turbo Visin. Turbo Pascal y Borland Pascal es un sistema de desarrollo profesional
para crear programas
qu e
corren
en
entornos
D O S o
Windows
y en
modos
de
memoria
real
o
protegido.
Turbo Pascal proporciona
u n
entorno
de
programacin
m u y
potente
y es una
imple-
mentacin m u y slida de Pascal. Elentorno integra muchos recursos importantes para
crear
y
comprobar programas. Algunos
de
estos recursos
son: un
editor
de
fcil
uso, un
compilador,
un
depurador, numerosas ventanas
y
diferentes extensiones
de
ayuda
en
lnea.
Hoy d aTurbo Pascal que corre sobre computadoras PC y M a c , tanto en los pro-
cesadores Pentium c omo
en
Pentium
II es una
herramienta
de
programacin
muy po-
tente
qu e
tiene adems
la
virtud
de su
fcil aprendizaje.
P o r
esta razn, sirve indistinta-
mente
en el
campo
de la
educacin
y en el
profesional. Desde institutos
y
liceos hasta
escuelas yfacultades universitarias, Turbo/Borl and Pascal es, sin gnero de dudas, u n o
de los
lenguajes
y
herramientas
de
programacin
m s
utilizado.
Objetivos de l libro
Aunque este libro proporciona
u n a
visin completa
de
Turbo/Borland Pascal
de la ver-
sin
7.0, es
sobre todo,
un
manual para aprender
a
programar
en
Pascal
c on una
herra-
mienta llamada Turbo.
Refleja
u n a
opinin
m u y
extendida,
de que la
principal razn para aprender
un len-
guaje
d e
programacin
es
utilizar
u n a
computadora para resolver problemas.
La s
etapas
Prlogo
a la
primera, segunda
y
tercera edicin xvii
fundamentales
en la
resolucin
de
problemas ayudados
po r
computadora
se
examinan
e
ilustran en el texto: 1)anlisis
del
problema
y
diseo
del
algoritmo/ 2) transformacin
de l
algoritmo
en un
programa:
codificacin; 3)ejecucin
y
prueba/validacin del pro-
grama.
El
texto
se ha
diseado como
u n
curso
de
programacin
en
Pascal
en las
versio-
ne s 5.0/5.5, 6.0 y 7.0 de Turbo Pascal. Asimismo, puede se rutilizado con la nueva ver-
sin
Borland Pascal
7.0 corriendo bajo
el
sistema operativo
D O S .
Busca conseguir
dos
objetivos complementarios: ensear aprogramar con un estilo depurado y ensear las
nuevas tcnicas de Turbo Pascal.
Organizacin
de l
libro
Este libro est concebido como primer curso
de
programacin
de l curriculum en
Cien-
cias
de la
Computacin/Informtica,
as
como
de
Facultades
de
Ciencias
e
Ingeniera;
o
bien, como curso de programacin para cursos no reglados oaprendizaje libre de lecto-
res con
inters
por la
programacin.
Su
contenido
se
complementa
en los
planes
de es-
tudio citados
co n
asignaturas
de
anlisis
y
diseo
de
algoritmos
(se la
suele conocer como
Metodologa, Introduccin
o
Fundamentos
de la
Programacin). Asimismo, cubre parte
de losprogramas deasignaturas tales como Estructura
de
datos oAlgoritmos
y
Estruc-
turas
de
datos y decurriculum
similares, como
es el
caso
de los
programas
CS1, CS2 de
A CM
(
Associationfor Computing Machinery)
de
Estados Unidos.
El
libro est concebido para
u n
curso
de dos
cuatrimestres
o dos
semestres,
y
adems
de
contener
los
conceptos fundamentales
de
Turbo Pascal, cubre
lo s
programas tpicos
de las
asignaturas citadas.
Lo s
Captulos
1 al 11 se
corresponden
con e l
primer cuatri-
mestre/semestre (CS1),
y los
Captulos
12 al 21 con el
segundo cuatrimestre/semestre
(CS2); el Captulo 12 queda como puente entre ambos cuatrimestres (o semestres),
dependiendo
de la
decisin
de l
profesor
o de los
avances
de l
lector.
El
Captulo
22 in-
cluye
la s
nuevas caractersticas incorporadas
a la
versin Turbo Pascal
7.0 y
Borland
Pascal 7.0.
Para aquellos lectores qu e procedan de Pascal estndar o de cursos elementales de
programacin,
el
orden lgico
de
estudio
se
corresponde
con el
orden natural
de los ca-
ptulos.
Si
posee experiencia
en
Pascal, puede modularizar
el
estudio como crea
m s
conveniente,
ya que su
diseo permite cambiar
el
orden
de
estudio
o
lectura
de los
captulos.
Ingeniera
del
software
La produccin de un programa se puede definir en diferentes etapas: anlisis, diseo,
pruebas ymantenimiento.
Estas fases
se
conocen como
ciclo
d e
vida
del
software, y
cons-
tituyen
lo s
principios bsicos
en los que se
sustenta
la
ingeniera del software. Aunque
este libro
se
dedica esencialmente
a la
tercera etapa,
es
necesario considerar siempre
las
restantes etapas
en el
proceso
de
creacin
de
programas, dado
que e l
diseo
y
pruebas
tienen
u n a
relacin
m u y
estrecha
con la
implementacin
o
codificacin.
El
Captulo
12 es una
amplia introduccin
a la
ingeniera
de
software, como ciencia
para la creacin yproduccin deprogramas agran escala.
-
7/24/2019 Programacin en Turbo-Borland Pascal 7 3ra Edicin
9/558
XVii
Programacin en Turbo/Borland Pascal
7
Programacin orientada aobjetos
La
Programacin orientada
a
objetos,
P O O O O P , Object-Oriented Programming),
forma
parte
de una
tecnologa
que se
lleva experimentando
en las dos
ltimas dcadas
y que
hasta laaparicin deTurbo Pascal 5.5 sevena
implementando
enlenguajes como Smal-
talk/Objective-C y C++. Las versiones 6.0 y 7.0 han aadido nuevas propiedades a las
ya incorporadas a laversin 6.0, aunque su s mayores aportaciones son lasnuevas pala-
bras reservadas public, prvate einherited, as como u n nuevo depurador orientado a
objetos, ysobre todo, y esencialmente, u n a nueva herramienta de programacin Turbo
Vision, qu epermite la programacin profesional co nenfoque orientado aobjetos.
La historia de las tecnologas orientadas aobjetos (TO) es breve, aunque proviene de
ladcada de lossesenta, en la que seproducen lasgrandes convulsiones estudiantiles como
fue larevolucin de mayo del 68 francs.S u crecimiento, sin embargo, ha sido expo-
nencial
en la
dcada actual.
La
tecnologa
de
objetos
es
inevitable,
y la
revolucin
del
software
se
est produciendo estos aos
y se
producir
la
explosin
al
principio
de l
tercer
milenio, aunque
ya en e l ao 1997 es una
autntica realidad.
El paradigma orientado a objetos sebasa en el concepto de abstraccin de datos, de
soporte fundamental a los
tipos abstractos
de
datos
y su extensin, lo s
objetos.
Las pro-
piedades fundamentales en que seapoya elmodelo objeto (tipo dedatoobjeto) son: abs-
traccin, encapsidamiento, ocultacin de la informacin, herencia ypolimorfismo.
Todas la s versiones de Turbo y Borland Pascal permiten trabajar e n POO y estn
diseadas como herramientas dedesarrollo deprogramas.
Ayudas pedaggicas
Para llegar
a
conseguir
lo s
objetivos
d e
este libro
se han
incluido
en
todos
lo s
captulos:
Numerosos ejemplosd etipo didctico.
Resolucin de pequeas aplicaciones.
Notas, reglasy precauciones que seaconsejan al lector sobre problemas qu e suelen
surgir en laprctica de laprogramacin.
Ejerciciosy problemas propuestos (cuya realizacin se recomienda).
En
varios captulos
se
incluyen tambin como ayuda complementaria:
Problemas resueltos sobre aplicaciones especficas.
Puesta a punto de programas q u e incluyen tcnicas y errores tpicos de progra-
macin.
Aportaciones
de la
tercera edicin
Esta tercera edicin ha ampliado considerablemente elcontenido de las ediciones ante-
riores. D e modo formal se han aadido do s captulos m s , para conformar u n total de
veinticuatro, pero
de
modo prctico
se han
reestructurado
y
organizado
c on un
orden
distinto, muchos
de los
captulos,
en
base
a la
experiencia acumulada
en los
nueve aos
de
vida
de l
libro.
Prlogo a laprimera, segunda y tercera edicin x i x
As,hemos dedestacar especialmente, loscaptulos dedicados a estructura de datos,
programacin orientada aobjetos eingeniera de software.
Aunque
ya en las
ediciones anteriores
se
trataron estos temas,
el
avance
de las
tcni-
cas de
programacin
en
estos ltimos aos, junto
con el
mayor conocimiento
que de
ellas tienen lo sestudiantes universitarios, de formacin profesional ypolitcnica, nos ha
llevado
a
ampliar todo
lo
posible prcticamente todos
lo s
temas,
y e n
especial,
los im-
portantes temas citados. Po r estas causas hemos dedicado cuatro captulos a tratar las
estructuras dinmicas de datos, pilas, colas, listas enlazadas yrboles, adems de los ca-
ptulos dedicados a
arrays
(arreglos, vectores omatrices), cadenas yunidades. P or igual
razn, se ha dedicado u n captulo totalmente nuevo a los
tipos abstractos
de
datos,
y
otro, a tratar todasl as propiedades de l modelado deobjetos y un tercer captulo a la pro-
gramacin orientada a objetose n Turbo Pascal. Po rltimo, se ha dedicado un captulo
especfico a laintroduccin en el arte yciencia de la ingeniera de l software.
Contenido
Esta nueva edicin
se han
organizado
en 24
captulos
y 12
apndices, cuya estructura,
aunque no formalmente, sedivide en lossiguientes grandes bloques:
sintaxis
y
progra-
macin
en
Turbo/Borland Pascal, estructuras
de
datos
(estticas y dinmicas),
mtodos
de
ordenacin
y
bsqueda, abstraccin
de
datos
y
programacin orientada
a
objetos
e
ingeniera delsoftware.
El Captulo 1describe un aintroduccin a laciencia de las computadoras y a la pro-
gramacin. Describe lo selementos fundamentales de una computadora: elhardware y
elsoftware, ascomo lo sdiferentes tipos de programacin tradicionales en laactualidad:
estructurada ymodular.
El entorno deprogramacin de l compilador Turbo y Borland Pascal sedescribe en
el
Captulo
2.
El
Captulo
3
realiza
un a
introduccin
al
leng uaje Pascal,
as
como
la
sintaxis
y ele-
mentos bsicos
de un
programa
en
Pascal; jun to
con las
instrucciones bsicas
de
Entrada
ySalida.
L as estructuras de control selectivas q ue muestran el flujo de control condicional de
u n programa. Sedescribe el concepto y funcionamiento de lassentencias condicionales
o selectivas if ycase, en e lCaptulo 4.
El Captulo 5 explica lasimportantes estructuras de control repetitivas: lo s bucles,
lazos
o
ciclos.
Seestudian la ssentencias repetitivas for,while yrepeat, junto con la sen-
tencia
de
control incondicional goto,
que s i
bien
no es
recomendable
su uso,
puede
haber circunstancias en un programa que loaconsejen.
La estrategia clsica de resolucin de problemas co n computadoras se ha desarro-
llado tradicionalmente con la programacin modular. El Captulo 6analiza yestudia el
componente fundamental de la programacin modular: el mdulo, y en particular, el
procedimiento.
El Captulo 7 describe otro tipo de mdulo: la funcin. Se describen y analizan las
funciones estndar oimplcitas al usuario y las funciones definidas por e lusuario.
El Captulo 8 analiza lo s tipos de datos definidos por e l usuario y u n tipo de dato
estructurado denominado conjunto. La soperaciones usualesc on conjuntose sotrode los
temas importantes tratados
en
este captulo.
-
7/24/2019 Programacin en Turbo-Borland Pascal 7 3ra Edicin
10/558
XX Programacin
en
Turbo/Borland Pascal 7
El Captulo 9 trata el importante tema de laestructura de datos: colecciones de ele-
mentos dato organizados
de un
modo especfico.
Se
describen
y
analizan
lo s
arrays
arreglos, en Hispanoamrica), tablas, matrices ovectores: su concepto bsico, operacio-
nes y
tratamiento.
El tipo de dato cadena (string) es uno de los elementos clave encualquier programa.
Su
concepto, tratamiento
y
operaciones diversas
se
describen
en el
Captulo
10. Las ca-
denas son, en realidad, arrays de caracteres, pero al contrario que en e l caso de Pascal
estndar, en Turbo/Borland Pascal se puede definirc on datos tipostring.
El Captulo 11 trata sobre lo s mtodos para controlar la pantalla y elteclado, esdecir,
las tcnicas necesarias para disear eimplementar interfacesa l usuario.
L a primera parte de l libro termina con e lCaptulo 12,Ingeniera de software: intro-
duccin a lametodologa de construccin de grandes programas. Se
estudian
en
este
ca -
ptulo las diferentes fases o etapas de la produccin de un programa: anlisis, diseo,
codificacin, pruebas ymantenimiento.
El Captulo 13expone el importante tema de ordenacin, bsqueda y mezcla de da-
tos en listas, vectores ytablas. Lo s mtodos m s importantes seanalizan eneste captulo.
El
registro
es un
nuevo tipo
de
dato introducido
en
Pascal
y que
permite almacenar
u n a variedad de informacin sobre entidades de todo tipo. Cada elemento sealmacena
en un campo de l registro independiente y se puede referenciar cada elemento almace-
nado en un campo por sunombre. ElCaptulo 14 analiza eltipo dedato registro.
El Captulo 15 se dedica al importante tema de l almacenamiento dedatos permanen-
tes en
archivos. Este tipo
de
datos
es una
estructura
de
dato constituida
po r
colecciones
de datos que se pueden guardar (grabar) para us o posterior mediante laejecucin de pro-
gramas adecuados.
La recursividad orecursin es una alternativa a laiteracin o repeticin, yconstituye
u n a
herramienta conceptual
m u y
potente
y
til para
la
resolucin
de
problemas
que ten-
ga n naturaleza recursiva. El Captulo 16 considera el concepto de recursividad y su tra-
tamiento para conseguir la mayor eficacia dentro de un algoritmo, as como la tcnica
para resolver problemas mediante algoritmos recursivos.
El Captulo 17considera la sestructuras de datos m s usuales en todo tipo de algorit-
m o s: pilas y colas. E n este captulo la s estructuras se implementan mediante vectores
(arrays).
La s estructuras dinmicas de datos son, probablemente, la sestructuras m s utiliza-
da s junto con los arrays. El concepto de puntero y de lista enlazada, se describe en el
Captulo 18.
Otra estructura de datos dinmica es el rbol, m u y extendida y utilizada en nume-
rosas aplicaciones;
se
definen
en e l
Captulo
19 los
rboles genricos,
lo s
binarios
y b i-
narios debsqueda.
Lo s programas que se construyen en la actualidad cada ve z presentan mayor c o m -
plejidad; p or esta circunstancia, lo s programadores requieren de tcnicas qu e permitan
afrontar la implementacin de dichos programas con la mayor eficacia y eficiencia po -
sibles.
El
Captulo
20
ensea
al
lector
el
concepto
de
unidad
y el
modo
de
utilizarlo como
herramienta clave para el desarrollo de grandes programas.
El Captulo 21 describe la estructura de las unidades fundamentales que se incluyen
en loscompiladores de Turbo y Borland Pascal.
El concepto de abstraccin es una de las ideas claves en eldesarrollo de lasmodernas
tcnicas
de
programacin orientada
a
objetos,
y el
tipo abstracto
de
datos
T A D ) la re-
Prlogo a laprimera, segunda y tercera edicin x x i
presentacin m s fiel de l modo de implementacin de dicho concepto. El Captulo 22
explica el diseo y construccin de tipos abstractos de datos, junto con los conceptos
fundamentales
d e
orientacin
a
objetos,
s us
beneficios
en el
desarrollo
de
software
y cu-
les son los
lenguajes
m s
utilizados
en
programacin orientada
a
objetos.
L a
Programacin Orientada
a
Objetos
P O O ) es, sin gnero d e dudas, eltipo de pro-
gramacin q u e p redomina en la segunda mitad de la dcada de los noventa y que ,
probablemente, prevalecer en el tercer milenio. El Captulo 23 se dedica al estudio
de los P O O con e l objeto de llegar a entender su s propiedades fundamentales:
herencia,
polimorfismo, etc.
El Captulo 24 muestra la s caractersticas orientadas a objetosd eTurbo/Borland Pas-
cal,junto con la sintaxis y las tcnicas de implementacin de las propiedades de objetos
en este lenguaje.
El libro secomplementa c o n u n a serie de apndices q u e hemos considerado pueden
ayudar al lector para consulta y referencia de losentornos integrados de desarrollo. As,
se han conservado algunos apndices de las versiones anteriores, cuya finalidad hemos
podido contrastar co n estudiantes y profesores q u e h a n seguido este libro como referen-
cia en susclases. Adems, se han modificado y aadido otros apndices.
Lo sapndices tratan lo ssiguientes temas. A: El cdigo de referencia (ASCII); B: Pa -
labras reservadas
de
Turbo/Borland Pascal;
C: El
editor
de
Turbo Pascal
7 .0 ; D: El En-
torno Integrado de Desarrollo (losdiferentes mens y sus sucesivas opciones); E : O p e -
raciones m s usuales co nTurbo Pascal 7.0; F: Directivas decompilacin; G:Depuracin
de programas en Turbo Pascal; H: Mensajes y cdigos de error que se producen en el
desarrollo real de programas; I : U n a gua dereferenciad el lenguaje Turbo Pascal; J: Los
diagramas
de
sintaxis
de los
elementos
de un
programa
en
Turbo Pascal;
K:
Gua
del
usuario ISO/ANSI Pascal estndar; L: Diferencias entre Pascal estndar y Turbo Pascal.
Agradecimientos en laprimera edicin
Muchas personas h a n intervenido en el desarrollo de este libro y a muchas de ellas les
debo m i reconocimiento m s sincero por la ayuda y colaboracin prestada.
L os
profesores Ignacio Zahonero, Rubn Garca
y
Paloma Centenera del Depar-
tamento de Lenguajes y Sistemas Informticos de l Centro Superior de Estudios de In-
formtica
(CESIES)
de la Universidad Pontificia de Salamanca en Madrid me han
revisado algunas partes de l libro, dndome sugerencias y detectando erratas. Especial re -
levancia h an tenido en esta obra lo s siguientes profesores de l Departamento citado an -
teriormente: Jos Luis Andrs Garca (la lectura detallada de la mitad de l primer m a -
nuscrito,
su s
sugerencias,
un par de
programas cedidos
de sus
clases
y su
apoyo personal
h an contribuido notablemente a los quince primeros captulos de la obra) y Angel H e r -
moso (s u labor es de un valor inapreciable para m ya que ha ledo y depurado e n
algn caso la mayora de los segmentos, subprogramas y programas de l libro; mi re -
conocimiento m s sincero). A ambos compaeros y, sin embargo, amigos, m i gratitud.
El
profesor Carlos
de la
Fuente Chacn, experto
en
WordPerfect,
m e h a
ayudado
en la
adaptacin de los listados de Turbo Pascal a WordPerfect para su mejor impresin en
papel. A Lourdes y Cristina por su excelente trabajo de mecanografiado.
Finalmente deseo agradecer al equipo editor de la Divisin Profesinoal de McGraw-
Hill: Jorge Piernavieja yEduardo Susanna, su apoyo constante a la obra; en especial de -
-
7/24/2019 Programacin en Turbo-Borland Pascal 7 3ra Edicin
11/558
XXi
Programacin en Turbo/Borland Pascal 7
seo
reconocer
la s
facilidades
y la
ayuda material
qu e
Eduardo Susanna,
mi
editor
y
amigo,
m e h a proporcionado en la materializacin prctica de laimpresin de losnumerosos
listados de la obra, a fin deconseguir u n amejor legibilidad de losmismos por e l lector.
Agradecimientos en la segunda edicin
En esta segunda edicin hemos de agradecer, demodo especial, la contribucin prestada
por laprofesora de laUniversidad Pontificiad eSalamanca en Madrid, Matilde Fernn-
de z Azuela. H a revisado el manuscrito completo de la primera edicin, as como los
nuevos captulos introducidos
en
esta edicin.
Su s
sabios consejos, junto
con la
depura-
cin d eprogramas, h an hecho que suexperiencia docente en laFacultad yEscuela U n i -
versitaria de nuestra Universidad se haya transmitido en esta obra. Mi
agradecimiento
eterno, compaera
y sin
embargo amiga.
Muchas otras personash a ncontribuido enesta nueva edicin con sus ideas, sugeren-
cias, crticas, aportaciones... P o rsuerte para elautor, esta contribucin ha venido de uno
y otro lado de l Atlntaico, donde numerosos profesores y alumnos h an tenido l a a ma -
bilidad de impartir oseguir su scursos deprogramacin con laprimera edicin. Para m
ha sido u n o honor recibir ayuda material yaliento, ascomo crticas, de numerosos co -
legas, alumno s, estudiosos, aficionados...
M i
agradecimiento
m s
sincero para to das ellas
y
confo
q u e
esta nueva edicin recoja todo
su
apoyo
qu e
para
m ha
sido
un
gran est-
mulo y de unvalor inapreciable.
Eran obligadosl osprrafos anteriores, pues
nobleza obliga
, pero como correrae lgrave
riesgo dedejar en el tintero nombres oinstituciones, he preferido centrarme en aquellos
profesoresq u e dentro de mi Universidad ha n utilizado, consultado o simplemente criti-
cado la primera edicin, reiterando de nuevo m i agradecimiento a todas esas personas
n o citadas, pero a lascuales tanto debo.
As,
deseo expresar pblicamente
m i
reconocimiento
a los
siguientes profesores
de la
Facultad yEscuela Universitaria de Infortica y p o rsuerte para m, s inembargo, a mi -
gos
de la
Universidad Pontificia
de
Salamanca
en el campus d e
Madrid: Lucas
S n-
chez, Joaqun Abeger, Antonio Muoz, Luis Villar, Luis Rodrguez, Matilde Fernndez,
Isabel Tokrralvo, M .
a
M a r Garca, Angela Carrasco, Ignacio Zahonero, Juan I. Prez,
Angel Hermoso, Juan A.Riesco, Rubn Garca, Miguel Snchez, Jess Cobo, Francisco
Navarro, Mercedes Vargas, Jess Prez, Paloma Centenera, Francisco Oliva, Antonio
Reus, Rafael Ojeda, Jos Luis Andrs, Julin Margolles, Vctor Garca yManuel R i-
quelme. Todos ellos, yseguramente alguno ms que eneste momento n o m e viene a la
cabeza -y a quien pido disculpas por su ausencia n o deseada po r m, ha n utilizado
la
obra
y e n una u
otra forma
h an
contribuido
a que
esta segunda edicin
vea la luz.
Como enmuchas otras ocasiones m i buen amigo y a la vezeditor, Jorge Piernavieja,
me ha apoyado y aconsejado en lassucesivas fases de laproduccin yespecialmente en
las sucesivas revisiones. Gracias, amigo Jorge.
Majadahonda (Madrid), mayo de 1993
AGRADECIMIENTOS
EN LA TERCERA EDICIN
Muchas seran
la s
personas
a las que
debera agradecer
la
existencia
de
esta tercera
edi-
cin. Profesoresy estudiantes de Espaa yLatinoamrica h an utilizado y estudiado con
las ediciones anteriores y nos handado ideas, consejos ycorregido erratas de todo tipo.
Estas personas son, esencialmente, a quienes mayor agradecimiento debo y, por eso, de-
seo reconocerlo en primer lugar, y he de reconocer, de nuevo, el honor qu e para m ha
supuesto recibir la ayuda material, elaliento y lascrticas de numerosos colegas, alum-
nos , profesionalesy autodidactas. Reitero m i agradecimiento eterno atoda esta inmensa
cantidad de personas que ha n confiado e n mis ediciones anteriores. Espero responder a
esa
confianza depositada
en mis
obras
y que
esta nueva edicin contemple todo
el
apoyo
y estmulo que herecibido desde e l ao 1990 en que apareci la primera edicin.
D e
modo especial quiero agradecer, expresamente,
la
ayuda prestada
en la
revisin
de laspruebas de esta tercera edicin de lossiguientes profesores y s in embargo a mi -
gos de la Facultad de Informtica y Escuela Universitaria de Informtica de la Uni-
versidad Pontificia deSalamanca en Madrid: Matilde Fernndez Azuela, Antonio M u-
o z Clemente, Luis Villar Pizarro, ngela Carrasco, Isabel Torralba, M .
a
del Mar Garca,
Francisco Mata, Hctor Castn, Miguel ngel Sicilia, Rosa Pernndez, Salvador S n-
chez, Francisco Agueva, Miguel Snchez, Jess Prez, Ignacio Zahonero, Paloma C e n-
tenera y ngel Hermoso. Adems, de modo m u yparticular, al gran nmero de profe-
sores
de
universidades espaolas
y
latinoamericanas
que ha n
utilizado como referencia
este libro en sus dos primeras ediciones en susclases de algoritmos, programacin y es-
tructura dedatos.
Asimismo, y como siempre sucede e n m i caso el equipo editorial de McGraw-
Hill me ha prestado todo su apoyo para q u e esta tercera edicin vea la luz. De modo
especial deseo expresar m i agradecimiento al editor y s in embargo amigo Carmelo
Snchez Gonzlez, po r s u comprensin, paciencia y ayuda material en la edicin de la
obra.
P or ltimo, quiero terminar c on mi agradecimiento eterno a misalumnos, pasados,
presentes yfuturos, que son lamayor fuented e inspiracin q ue tengo. A ellos debo, en
gran parte, qu e esta obra vea de nuevo la luz , ya que de ellos he aprendido, y seguir
aprendiendo, laciencia de lacomprensin, elentendimiento y el agradecimiento. Como
dice eseviejo refrn espaol: D e bien nacido es ser agradecido, y ese es mi reconoci-
miento
a mis
alumnos.
Majadahon da (Madrid), octubre de 1997
-
7/24/2019 Programacin en Turbo-Borland Pascal 7 3ra Edicin
12/558
CAPITULO
l
INTRODUCCION
A LA
CIENCIA
D E LA S
COMPUTADORAS
Y A LA PROGRAMACION
CONTENIDO
1 . 1 . Qu e s una computadora?
1 . 2 .
Organizacin fsica
de una
computadora (hardware)
1.3. El software (ios
programas)
1 .4 . Los lenguajes d e programacin
1.5. La resolucin d e problemas co n computadora
1 . 6 . Programacin modular
1 . 7 . Programacin estructurada
1 .8 . Los lenguajes Pascal y Turbo Pascal
RESUMEN
EJERCICIOS
La s
computadoras electrnicas modernas
son uno de los
productos
m s
impor tantes
de l
siglo
xx y
especialmente
de l a s dos
ltimas
dcadas. Son una herramienta esencial en muchas reas: industria,
gobierno, ciencia, educacin,..., en realidad en casi todos i o s c a m -
p o s d e nuestras vidas. El papel de los programas d e computadoras
e s esencial; sin una lista d e instrucciones aseguir, lacomputadora e s
virtualmente intil. Lo s lenguajes d e programacin n o s permiten es -
cribir esos programas y por consiguiente comunicamos con las
computadoras.
En esta obra, usted comenzar a estudiar la ciencia de l a s compu-
tadoras o informtica a travs de uno de los lenguajes de programa-
cin m s verstiles disponibles hoy da: ellenguaje Pascal, y en parti-
cular profundizar en una de sus versiones, seguramente l a ms po-
ten te yeficiente: Turbo y Borland Pascal.
Este captulo
le
introduce
a la
computadora
y s u s
componentes,
as
como
a los
lenguajes
de
programacin,
y a la
metodologa
a
seguir para la resolucin d e problemas co n computadoras y con una
herramienta denominada Turbo Pascal.
-
7/24/2019 Programacin en Turbo-Borland Pascal 7 3ra Edicin
13/558
2 Programacin
en
Turbo/Borland Pascal 7
1 . 1 . QUE ES UNACOMPUTADORA?
U n a computadora
1
o computador es un
dispositivo electrnico utilizado para procesar
informacin
y
obtener resultados.
L o s
datos
y la
informacin
se
pueden introducir
en la
computadora como entrada (
i npu t )y a
continuacin
se
procesan para producir
u n a
salida (
output
, resultados), como
se
observa
en la
Figura
1.1.
COMPUTADORA
Programa
Datos
de
entrada
Datos
de
salida
Figura 1 . 1 .
P r o ceso
d e
informacin
e n u n a
computadora.
Lo s
componentes fsicos
q u e
constituyen
la
computadora, junto
con los
dispositivos
q u e
realizan
la s
tareas
d e
entrada
y
salida,
se
conocen
con el
trmino hardware (traduci-
do en
ocasiones
p o r material). El
conjunto
d e
instrucciones
q u e
hacen funcionar
a la
computadora
se
denomina
programa; a la
persona
q u e
escribe programas
se
llama pro-
gramador y al
conjunto
d e
programas escritos para
u n a
computadora
se
llama software
(traducido
en
ocasiones
p o r logical).
Este libro
se
dedicar casi exclusivamente
al softwa-
re, pero
se
har
u n a
breve revisin
de lhardware
como recordatorio
o
introduccin segn
sean
lo s
conocimientos
de l
lector
en
esta materia.
1 . 2 .
ORGANIZACION FISICA
DE UNA
COMPUTADORA
(HARDWARE)
La
mayora
de las
computadoras, grandes
o
pequeas, estn organizadas como
se
mues-
t ra en la
Figura
1.2.
Ellas constan
d e
cinco componentes principales:
dispositivos
de
entrada, dispositivos
de
salida, unidad central
de
proceso U C P ) oprocesador, memoria
interna y memoria externa.
1.2.1. Dispositivos d e Entrada/Salida E/S)
Lo s
dispositivos
d e
Entrada/Salida
E / S )
[Input/Output (I/O),
e n
ingls] permiten
la
comunicacin entre lacomputadora y el usuario.
' En Espaa est mu y extendido el trmino
ordenador
para referirsea la traduccin de la palabra inglesa
computer.
Introduccin
a la
ciencia
de las
computadoras
y a la
programacin 3
Dispositivos
de
entrada
UC P (Procesador)
Unidad de
control
Memoria
central
Unidad
lgica y
aritmtica
Dispositivos
de
salida
Memoria
externa
(almacena-
miento
permanente)
Figura 1 . 2 . Organizacin fsica d e u n a co m p u t ad o r a .
Lo s dispositivos
de
entrada,
como
su
nombre indica, sirven para introducir datos
(informacin)
en la
computadora para
su
proceso.
Lo s
datos
se leen de los
dispositivos
de
entrada
y se
almacenan
en la
memoria central
o
interna.
Lo s
dispositivos
de
entrada
convierten
la
informacin
de
entrada
e n
seales elctricas
que s e
almacenan
en la me-
moria central. Dispositivos
d e
entrada tpicos
son los
teclados; otros
s on :
lectores
de
tarjetas y a
casi
en
desuso,
lpices pticos, palancas demando (joystick), lectores de
cdigos
de
barras,
etc . Hoy da es muy
frecuente
que e l
usuario utilice
u n
dispositivo
de
entrada llamado ratn
q u e
mueve
u n
puntero electrnico sobre
la
pantalla
q u e
facilita
l a
interaccin usuario-mquina.
Lo s dispositivos
de
salida
permiten representar
lo s
resultados (salida)
de l
proceso
de
lo s
datos.
El
dispositivo
de
salida tpico
es la
pantalla (CRT)
2
o
monitor. Otros dispositi-
vos de
salida
s on : impresoras
(imprimen resultados
en
papel),
trazadores grficos [plot-
ters), reconocedores de voz, etc.
El
teclado
y la
pantalla constituyen
e n
muchas ocasiones
u n
nico dispositivo,
denominado terminal.
U n
teclado
d e
terminal
es
similar
al
teclado
d e u n a
mquina
de
escribir moderna
con la
diferencia
de
algunas teclas extras
q u e
tiene
el
terminal para
funcione s especiales.
Si
est utilizando
u n a
computadora personal,
el
teclado
y el
moni-
tor son
dispositivos independientes conectados
a la
computadora
p o r
cables.
En
ocasio-
nes a la
impresora
se la
conoce como dispositivo
de
copia dura (
hard copy
), debido
a
2
Cathode
Ray
Tube:Tubo derayos catdicos.
-
7/24/2019 Programacin en Turbo-Borland Pascal 7 3ra Edicin
14/558
4 Programacin
en
Turbo/Borland Pascal
7
Figura 1 . 3 .
Compu tado ra persona l profesional model o Pentium
2 0 0 M M X c o n
dispositivos
d e entrada (teclado y ratn), un d isposi t ivo d e salida (monitor) y d isposi t ivos d e
entrada/sal ida (un idades
d e
d isco magnt ico
y
CD-ROM).
que la
escritura
en la
impresora
es una
copia permanente (dura)
de la
salida,
y a la
pantalla
se le
denomina
en
contraste:
dispositivo decopia blanda ( soft copy ), ya que se
pierde
la
pantalla actual cuando
se
visualiza
la
siguiente.
Figura 1 . 4 .
Dispositivo d e salida (impresora).
Lo s
dispositivos
d e
entrada/salida
y los
dispositivos
d e
almacenamiento secundario
o
auxiliar (memoria externa)
se
conocen tambin
con e l
nombre
de
dispositivos perifricos
o
simplemente perifricos
ya que,
normalmente,
so n
externos
a la
computadora.
Algunos terminales(PC,s)estn equipados co n caractersticas grficas (Fig. 1.5), los
cuales permiten
que la
salida
se
visualice
en un
grfico
o
dibujo
de dos
dimensiones.
Introduccin a
l a
ciencia
de las
computadoras
y a la
programacin
5
1.2.2.
La
memoria central (interna)
La memoria central o
simplemente
memoria(interna oprincipal) se
utiliza para almace-
na r
informacin.
En
general,
la
informacin almacenada
en
memoria puede
ser de dos
tipos:
la sinstrucciones de un
programa
y losdatos con los que
operan
la s
instrucciones.
P or
ejemplo, para
que un
programa
se
pueda ejecutar (correr, rodar, funcionar,...,
en
ingls
run),
debe
se r
situado
en la
memoria,
e n una
operacin denominada carga (load)
de l
programa. Despus, cuando
se
ejecuta
el
programa, cualquier dato
a
procesar
por el
programa
se
debe llevar
a la
memoria mediante la sinstrucciones de l programa.
La
memoria central
de una
computadora
es una
zona
de
almacenamiento organiza-
da en
centenares
o
millares
de
unidades
de
almacenamiento individual
o
celdas.
Figura
1 . 5 .
Compu tador a porttil digital.
La
unidad elemental
de
memona
se
llama
byte
(octeto).
U n byte
tiene
la
capacidad
de
almacenar
un
carcter
de
informacin,
y
est formado
po r un
conjunto
de
unidades
m s
pequeas
de
almacenamiento denominadas
bits,
que son
dgitos binarios
(0 o 1).
Generalmente
se
acepta
que un
byte contiene ocho bits.
P or
consiguiente,
si se
desea
almacenar la frase
Hola Mortimer todo va b ien .
la
computadora utilizar exactamente
27
bytes consecutivos
d e
memoria. Obsrvese
que,
adems
de las
letras, existen cuatro espacios
en
blanco
y un
punto
(u n
espacio
es un
carcter
qu e
emplea tambin
un
byte).
D e
modo similar,
el
nmero
de l
pasaporte
P57487891
6 Programacin Turbo/Borland Pascal
-
7/24/2019 Programacin en Turbo-Borland Pascal 7 3ra Edicin
15/558
ocupar
9
bvtes, pero
si se
almacena como
P5-748-7891
ocupar
11.
Estos datos
se
llaman
alfanumricos, y
pueden constar
de l
alfabeto, dgitos
o
incluso caracteres especiales (smbolos: $, #, *,etc.).
Mientras
qu e
cada carcter
de un
dato alfariumrico
se
almacena
en un
byte,
la
informacin numrica se almacena de un modo diferente. Lo sdatos numricos ocupan
2, 4 e
incluso
8
bvtes consecutivos, dependien do
de l
tipo
de
dato numrico
(se
ver
en el
Captulo 3).
Existen
do s
conceptos importantes asociados
a
cada byte
o
posicin
de
memoria:
su
direccin y sucontenido.
Cada celda
o
byte tiene asociada
u n a
nica
direccin q u e
indica
su
posicin relativa
en
memoria
y
mediante
la
cual
se
puede acceder
a la
posicin para
almacenar
o
recuperar informacin.
La
informacin almacenada
e n una
posicin
de
memoria es su contenido. La Figura 1.6 muestra u n a memoria de computadora que
consta
de 1.000
posiciones
en
memoria
co n
direcciones
de 0 a 999. El
contenido
d e
estas
direcciones
o
posiciones
de
memoria
se
llaman
palabras, de
modo
q u e
existen palabras
de 8, 16, 32 y 64
bits.
P or
consiguiente,
si
trabaja
c on una
mquina
de 32
bits, significa
que e n
cada posicin
de
memoria
de su
computadora puede alojar
32
bits,
es
decir,
32
dgitos, bien ceros
o
unos.
Siempre
que una
nueva informacin
se
almacena
e n una
posicin,
se
destruye (desa-
parece) cualquier informacin
que en
ella hubiera
y no se
puede recuperar.
La
direccin
es
permanente
y
nica,
el
contenido, puede cambiar mientras
se
ejecuta
un
programa.
La
memoria central
de una
computadora puede tener desde unos centenares
de
millares
de
bvtes hasta millones
de
bvtes. Como
el
byte
e s una
unidad elemental
de
almacenamiento, se utilizan mltiplos para definir el tamao de la memoria central:
Kilo-byte KB o Kb)igual a 1.024bvtes (2
10
) prcticamente se toman 1.000 yMega-
bvte M B o M b)
igual
a 1.024 x 1.024
bvtes
(2
20
)
prcticamente
se
considera
un
1
".000.000.
direcciones 9 9 9
9 9 8
9 9 7
3 2 5
Contenido
de la
direccin
997
3
2
0
Figura
1 . 6 .
Memoria central d e u n a computadora.
Introduccin
a la
ciencia
de las
computadoras
y a la
programacin 7
En la
actualidad
la s
computadoras personales tipo
P C
tienen memorias centrales
de
512 o 640 k,aunque ya es muy frecuente ver PC,s con memorias de 1,2, e tc . , Mb.
1.2.3.
La
Unidad Central
d e
Proceso
UCP)
La
Unidad Central
de
Proceso, U C P (Cen tra l Processing Unit, C P U ,
en
ingls), dirige
y
controla el proceso de informacin realizado por.la computadora. La U C P procesa o
manipula la informacin almacenada en memoria; puede recuperar informacin desde
memoria (esta informacin
so n
datos
o
instrucciones: programas). Tambin puede
al-
macenar
lo s
resultados
de
estos procesos
en
memoria para
su uso
posterior.
La
U C P
consta
de dos
componentes:
unidad
de
control
U C )
y
unidad aritmtico-
lgica U A L )
(Fig. 1.7). La
unidad decontrol (Control Unit, C U)coordina
las
actividades
de la
computadora
y
determina
q u
operaciones
se
deben realizar
y en qu
orden;
asimismo controla
y
sincroniza todo
el
proceso
de la
computadora.
Unidad Central
de
Proceso
Unidad lgica
y aritmtica
Unidad
de
control
Memoria
central
Programa
Datos
de
entrada
Datos de
salida
Figura 1 . 7 ,
Unidad Central d e Proceso .
La
unidad aritmtico-lgica (Arithmetic-Logic Unit,
A L U )
realiza operaciones arit-
mticas y lgicas, tales como suma, resta, multiplicacin, divisin ycomparaciones.
Lo s
datos
en la
memoria central
se
pueden
leer
(recuperar)
o escribir
(cambiar)
po r
l a UC P.
1. 2. 4. Memoria auxiliar (externa)
Cuando
u n
programa
se
ejecuta,
se
debe situar primero
en
memoria central
de
igual
modo que losdatos. Si n embargo, lainformacin almacenada en lamemoria sepierde
(borra) cuando seapaga (desconectade la redelctrica) lacomputadora, y por otra parte
la memoria central es limitada e n capacidad. P o r esta razn, para poder disponer d e
almacenamiento permanente, tanto para programas como para datos,
s
necesitan
dis-
positivos de almacenamiento secundario, auxiliar o masivo
("mass storage",
o
"secon-
dary storage").
Lo s
dispositivos de almacenamiento
o
memorias auxiliares (externas
o
secundarias)
m s comnmente utilizados son: cintas magnticas y discos magnticos. La scintas son
-
7/24/2019 Programacin en Turbo-Borland Pascal 7 3ra Edicin
16/558
8
Programacin en Turbo/Borland Pascal 7
utilizadas principalmente
p or
sistemas
de
computadoras grandes similares
a las
utiliza-
das en los
equipos
de
audio.
Lo s
discos
y
disquetes magnticos
se
utilizan
po r
todas
las
computadoras, especialmente
las
medias
y
pequeas las computadoras personales.
Lo s discos pueden ser rgidos o duros (tecnologa Winchester), de gran capacidad de
almacenamiento
(10 a
centenares
de Mb), disquetes o discos flexibles
("floppy disk")
(360 Kb a 1,2 Mb) o microdiscos de
naturaleza dura
y m s
manejables
y
prcticos
que
los
discos flexibles
(720 Kb y 1,44 Mb). El
tamao fsico
de los
disquetes
y por e l que son
Figura
1 . 8 .
Memoria s auxiliares: a) disco duro d e 3'/2"
3
; b) unidad y lector Z IP de 1 00 M b.
pulgada, medida inglesa equivalente a 2,54 cm.
Introduccin
a la
ciencia
de las
computadoras
y a la
programacin
9
conocidos
es de 5'A", 3Vi" y 3",
siendo
las
dimensiones estndar
5'A y 3Vi
pulgadas,
de
capacidades
360 Kb o 1,2 Mb y 720 Kb o 1,44 Mb,
respectivamente.
La
informacin almacenada
en la
memoria central
es
voltil (desaparece cuando
se
apaga
la
computadora)
y la
informacin almacenada
en la
memoria auxiliar
es
perma-
nente.
Esta informacin seorganiza en unidades independientes llamadasarchivos (ficheros,
file en ingls). L os resultados de los programas se pueden guardar como archivos de
datos y los
programas
que se
escriben
se
guardan como
archivos deprogramas,
ambos
en
la
memoria auxiliar. Cualquier tipo
de
archivo
se
puede transferir fcilmente desde
la
memoria auxiliar hasta
la
memoria central para
su
proceso posterior.
En el
campo
de las
computadoras
es
frecuente utilizar
la
palabra memoria
y
almace-
namiento
o
memoria externa, indistintamente.
En
este libro
y
recomendamos
su
uso
se
utilizar
el
trmino memoria slo para referirse
a la
memoria central.
Comparacin de la memoria central y la memoria auxiliar
La
memoria central
o
principal
es
mucho
m s
rpida
y
cara
que la
memoria auxiliar.
Se
deben transferir
lo s
datos desde
la
memoria auxiliar hasta
la
memoria central, antes
de
qu e
puedan
ser
procesados.
Lo s
datos
en
memoria central
son: voltiles y
desaparecen
cuando
seapaga la
computadora.
Lo s
datos
en
memoria auxiliar
so npermanentes y no
desaparecen cu ando
se
apaga
la
computadora.
1.2.5.
La s
computadoras multimedia
Hoy da las
computadoras personales profesionales
y
domsticas tienen prcticamente
e n u n
gran porcentaje incorporadas caractersticas
multimedia
(CD-ROM, tarjeta
de
sonido, altavoces
y
micrfono)
q u e
permiten integrar texto, sonido, grficos
e im -
genes
en
movimiento.
La s
computadoras multimedia pueden leer discos CD-ROM
de
gran capacidad
de
almacenamiento. Esta caracterstica
h a
hecho
que la
mayora
de los
fabricantes
d e
software comercialicen
su s
compiladores (programas
de
traduccin
de len-
guajes
d e
programacin)
en
CD-ROM, almacenando
e n un
solo disco
lo que
antes
ne -
cesitaba seis, ocho
o
doce disquetes.
Figura
1 . 9 .
Computadora mul timedia.
-
7/24/2019 Programacin en Turbo-Borland Pascal 7 3ra Edicin
17/558
1 0
Programacin
en
Turbo/Borland Pascal
7
1.3. ELSOFTWARE LO S PROGRAMAS)
La s
operaciones
qu e
debe realizar
el
hardware
so n
especificadas
po r una
lista
d e
instruc-
ciones, llamadas programas,
o
software.
El
software
se
divide
en dos
grandes grupos:
software
del
sistema
y
software
de
aplicaciones.
El
software del sistema
es el
conjunto
de
programas indispensables para
que la m-
quina funcione;
se
denominan tambin programas
de l
sistema. Estos programas
son,
bsicamente,
el
sistema operativo,
lo s
editores
de
texto,
lo s
compiladores/intrpretes
(len-
guajes
d e
programacin)
y los
programas
de
utilidad.
Uno de los
programas
m s
importantes
es el
sistema operativo,
q u e
sirve, esencial-
mente, para facilitar laescritura y uso de sus propios programas. El sistema operativo
dirige las operaciones globales de lacomputadora, instruye a lacomputadora para ejecu-
ta r otros programas y controla el almacenamiento y recuperacin de archivos (progra-
mas y
datos)
d e
cintas
y
discos. Gracias
al
sistema operativo
es
posible
que e l
programa-
do r
pueda introducir
y
grabar nuevos programas,
as
como instruir
a la
computadora
para
que los
ejecute.
Lo s
sistemas operativos pueden
ser:monousuarios (u n
solo usuario)
y multiusuarios, o tiempo compartido
(diferentes usuarios), atendiendo
al
nmero
de
usuarios
y monocarga ( u n a
sola tarea)
o multirea
(mltipl es tareas) segn
las
tareas
(procesos)
q ue
puede realizar simultneamente. Turbo Pascal corre (funciona)
p o r
ahora
en el
sistema operativo
d e
disco
D O S
monousuario, monotarea
y
Windows
95
multitarea,
q u e
soportan
la s
computadoras personales
PC , XT , AT y PS/2 ,
compu-
tadoras Macintosh
de
Apple
y en el ya
clsico UNIX.
Figura 1 . 1 0 .
Diferen tes programas d e so f t war e .
Introduccin a laciencia de lascomputadoras y a laprogramacin 1 1
Lo slenguajes deprogramacin sirven para escribir progra masq uepermitan lacomu-
nicacin usuario/mquina. Unos programas especiales llamadostraductores (compilado-
res
e
intrpretes)convierten
las
instrucciones escritas
en
lenguajes
de
programacin
en
instrucciones escritas
en
lenguajes mquina
(0 y 1,
bits)
q ue
sta pueda entender.
Lo s
programas
de
utilidad
4
facilitan
el uso de la
computadora.
U n
buen ejemplo
es
un
editor
de
textos
q ue
permite
la
escritura
y
edicin
de
documentos. Este libro
ha
sido
escrito
en un
editor
de
textos
o
procesador
de
palabras
("
word procesor ).
Lo s
programas
qu e
realizan tareas concretas, nminas , contabilidad, anlisis estads-
ticos,
etc., es
decir,
lo s
programas
q ue
podr escribir
en
Turbo Pascal,
se
denominan
programas
de
aplicacin.
A lo
largo
de l
libro
se
vern pequeos programas
de
aplicacin
qu e
muestran
lo s
principios
de una
buena programacin
de
computadora.
Se
debe diferenciar entre
el
acto
de
crear
u n
programa
y la
accin
de la
computado-
ra
cuando ejecuta
la s
instrucciones
de l
programa.
La
creacin
de un
programa
se
hace
inicialmente
en
papel
y a
continuacin
se
introduce
en la
computadora
y se
convierte
en
lenguaje entendible
por la
computadora.
La
Figura
1.12
muestra
el
proceso general
de
ejecucin
de un
programa: aplicacin
de una
entrada
(datos) al
programa
y
obtencin
de
u na
salida (resultados).
La
entrada puede tener
u n a
variedad
de
formas, tales como
nmeros
o
caracteres alfabticos.
La
salida puede tambin tener formas, tales como
datos numricos
o
caracteres, seales para controlar equipos
o
robots,
etc.
4
Utility: programa deutilidad.
-
7/24/2019 Programacin en Turbo-Borland Pascal 7 3ra Edicin
18/558
1 2
Programacin en Turbo/Borland Pascal 7
Terminal
P r o g r a m a d o r
UCP
Datos de
entrada
Datos de salida
(resultados)
Otros
dispositivos
: externos
Figura 1 . 1 2 .
Accin de un programador.
La
ejecucin
de un
programa requiere generalmente unos datos como entrada
(Figura 1.13), adems
de l
propio programa, para poder producir
u n a
salida.
UCP
Entrada
(Datos)
Sistema
operativo
Programa
Salida
(resultados)
Mem o r i a
ex t e r n a
Programa
Figura 1 . 1 3 .
Ejecucin de un programa.
1.4. LOS
LENGUAJES
DE
PROGRAMACION
Lo s lenguajes utilizados para escribir programas d e computadoras q u e puedan se r enten-
didos p o r ellas se denominan lenguajes deprogramacin.
Lo slenguajesd e programacin se clasificane n tres grandes categoras:mquina, bajo
nivel (ensamblador) y alto nivel.
1.4.1. Lenguaje mquina
Lo s
lenguajes mquina
so n aquellos cuyas instrucciones so n directamente entendibles
por la computadora y n o necesitan traduccin posterior para que l a U C P pueda c o m -
prender y ejecutar el programa. L as instrucciones en lenguaje mquina se expresan en
trminos de la unidad d e memoria m s pequea, el bit (dgito binario 0, o bien 1), en
Introduccin a laciencia de las computadoras y a laprogramacin
1 3
esencia u n a secuencia de bits q u e especifican la operacin y las celdas d e memoria
implicadas en una operacin. U n a serie d e instrucciones en lenguaje mquina son:
0010 0000 0000 1001
1001 0001 1001 1110
Como se puede observar, estas instrucciones sern fcilesd eleer por lacomputadora
y
difciles
po r un
programador,
y
viceversa. Esta razn hace difcil escribir programas
en
cdigo o lenguaje a mquina y requiere buscar otro lenguaje para comunicarse con la
computadora, pero que s ea m s fcild e escribir y leer po r e lprogramador. Para evitar la
tediosa tarea d eescribir programas enlenguaje maquina se han diseado otros lenguajes
de programacin q u e facilitan laescritura y posterior ejecucin de losprogramas. Estos
lenguajes son los de bajo y alto nivel.
1.4.2. Lenguajes
d e
bajo nivel (ensambladores)
La programacin en l