Actualizado el 21 de Marzo del 2018 (Publicado el 7 de Marzo del 2018)
2.193 visualizaciones desde el 7 de Marzo del 2018
6,1 MB
557 paginas
Creado hace 19a (13/10/2004)
Algoritmos y Programaci¶on
en Pascal
Crist¶obal Pareja Flores
Manuel Ojeda Aciego
¶Angel Andeyro Quesada
Carlos Rossi Jim¶enez
Algoritmos y Programaci¶on
en Pascal
A nuestros compa~neros y alumnos
¶Indice
Presentaci¶on
Tema I Algoritmos e introducci¶on a Pascal
Cap¶‡tulo 1 Problemas, algoritmos y programas
1.1 Soluci¶on de problemas mediante programas
: : : : : : : : : : : :
1.2 Concepto de algoritmo : : : : : : : : : : : : : : : : : : : : : : : :
1.2.1 Una deflnici¶on de algoritmo : : : : : : : : : : : : : : : : :
1.2.2 Una deflnici¶on formal de algoritmo : : : : : : : : : : : : :
1.3 Aspectos de inter¶es sobre los algoritmos : : : : : : : : : : : : : :
1.3.1 Computabilidad : : : : : : : : : : : : : : : : : : : : : : :
1.3.2 Correcci¶on de algoritmos
: : : : : : : : : : : : : : : : : :
1.3.3 Complejidad de algoritmos
: : : : : : : : : : : : : : : : :
1.4 Lenguajes algor¶‡tmicos y de programaci¶on : : : : : : : : : : : : :
1.5 Desarrollo sistem¶atico de programas
: : : : : : : : : : : : : : : :
1.6 Conclusi¶on : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
1.7 Ejercicios
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
1.8 Referencias bibliogr¶aflcas
: : : : : : : : : : : : : : : : : : : : : :
Cap¶‡tulo 2 El lenguaje de programaci¶on Pascal
2.1
Introducci¶on : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
2.2 Otros detalles de inter¶es : : : : : : : : : : : : : : : : : : : : : : :
2.3 Origen y evoluci¶on del lenguaje Pascal
: : : : : : : : : : : : : : :
2.4 Pascal y Turbo Pascal
: : : : : : : : : : : : : : : : : : : : : : : :
Cap¶‡tulo 3 Tipos de datos b¶asicos
3.1
Introducci¶on : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
xix
1
3
3
5
6
8
11
11
14
15
16
18
20
20
21
23
23
24
24
25
27
28
viii
¶Indice
3.2 El tipo integer
: : : : : : : : : : : : : : : : : : : : : : : : : : : :
3.3 El tipo real
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
3.4 El tipo char : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
3.5 El tipo boolean : : : : : : : : : : : : : : : : : : : : : : : : : : : :
3.6 Observaciones : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
3.7 El tipo de una expresi¶on : : : : : : : : : : : : : : : : : : : : : : :
3.8 Ejercicios
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
Cap¶‡tulo 4 Elementos b¶asicos del lenguaje
4.1 Un ejemplo introductorio : : : : : : : : : : : : : : : : : : : : : :
4.2 Vocabulario b¶asico : : : : : : : : : : : : : : : : : : : : : : : : : :
4.2.1 Constantes y variables : : : : : : : : : : : : : : : : : : : :
4.3
Instrucciones b¶asicas : : : : : : : : : : : : : : : : : : : : : : : : :
4.3.1 Asignaci¶on : : : : : : : : : : : : : : : : : : : : : : : : : :
4.3.2
Instrucciones de escritura : : : : : : : : : : : : : : : : : :
4.3.3
Instrucciones de lectura : : : : : : : : : : : : : : : : : : :
4.4 Partes de un programa : : : : : : : : : : : : : : : : : : : : : : : :
4.4.1 Encabezamiento : : : : : : : : : : : : : : : : : : : : : : :
4.4.2 Declaraciones y deflniciones : : : : : : : : : : : : : : : : :
4.4.3 Cuerpo del programa : : : : : : : : : : : : : : : : : : : : :
4.4.4 Conclusi¶on: estructura general de un programa : : : : : :
4.5 Ejercicios
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
Cap¶‡tulo 5 Primeros programas completos
5.1 Algunos programas sencillos : : : : : : : : : : : : : : : : : : : : :
5.1.1 Dibujo de la letra ‘‘C’’ : : : : : : : : : : : : : : : : : : : :
5.1.2
Suma de dos n¶umeros
: : : : : : : : : : : : : : : : : : : :
5.2 Programas claros ) programas de calidad : : : : : : : : : : : : :
5.3 Desarrollo descendente de programas : : : : : : : : : : : : : : : :
5.4 Desarrollo de programas correctos
: : : : : : : : : : : : : : : : :
5.4.1 Estado de los c¶omputos : : : : : : : : : : : : : : : : : : :
5.4.2 Desarrollo descendente con especiflcaciones
: : : : : : : :
5.5 Observaciones flnales : : : : : : : : : : : : : : : : : : : : : : : : :
5.6 Ejercicios
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
28
32
35
36
39
43
43
47
47
48
52
52
52
54
57
59
59
60
62
63
63
67
68
68
69
69
71
73
73
78
79
81
¶Indice
Tema II Programaci¶on estructurada
Cap¶‡tulo 6 Instrucciones estructuradas
6.1 Composici¶on de instrucciones : : : : : : : : : : : : : : : : : : : :
6.2
Instrucciones de selecci¶on : : : : : : : : : : : : : : : : : : : : : :
6.2.1 La instrucci¶on if-then-else : : : : : : : : : : : : : : : : :
6.2.2 La instrucci¶on case : : : : : : : : : : : : : : : : : : : : :
6.3
Instrucciones de iteraci¶on : : : : : : : : : : : : : : : : : : : : : :
6.3.1 La instrucci¶on while : : : : : : : : : : : : : : : : : : : : :
6.3.2 La instrucci¶on repeat : : : : : : : : : : : : : : : : : : : :
ix
83
85
86
88
88
92
94
94
98
6.3.3 La instrucci¶on for : : : : : : : : : : : : : : : : : : : : : : 100
6.4 Dise~no y desarrollo de bucles
: : : : : : : : : : : : : : : : : : : : 103
6.4.1 Elecci¶on de instrucciones iterativas : : : : : : : : : : : : : 103
6.4.2 Terminaci¶on de un bucle : : : : : : : : : : : : : : : : : : : 105
6.4.3 Uso correcto de instrucciones estructuradas : : : : : : : : 106
6.5 Dos m¶etodos num¶ericos iterativos : : : : : : : : : : : : : : : : : : 113
6.5.1 M¶etodo de bipartici¶on : : : : : : : : : : : : : : : : : : : : 113
6.5.2 M¶etodo de Newton-Raphson : : : : : : : : : : : : : : : : 115
6.5.3
Inversi¶on de funciones : : : : : : : : : : : : : : : : : : : : 117
6.6 Ejercicios
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 117
Cap¶‡tulo 7 Programaci¶on estructurada
123
7.1
Introducci¶on : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 123
7.2 Aspectos te¶oricos : : : : : : : : : : : : : : : : : : : : : : : : : : : 125
7.2.1 Programas y diagramas de (cid:176)ujo : : : : : : : : : : : : : : : 125
7.2.2 Diagramas y diagramas propios : : : : : : : : : : : : : : : 126
7.2.3 Diagramas BJ (de B˜ohm y Jacopini) : : : : : : : : : : : : 130
7.2.4 Equivalencia de diagramas : : : : : : : : : : : : : : : : : : 135
7.2.5 Teoremas de la programaci¶on estructurada : : : : : : : : 137
7.2.6 Recapitulaci¶on : : : : : : : : : : : : : : : : : : : : : : : : 138
7.3 Aspectos metodol¶ogicos
: : : : : : : : : : : : : : : : : : : : : : : 139
7.3.1
Seudoc¶odigo : : : : : : : : : : : : : : : : : : : : : : : : : : 139
7.3.2 Dise~no descendente : : : : : : : : : : : : : : : : : : : : : : 141
7.4 Reflnamiento correcto de programas con instrucciones
estructuradas : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 146
x
¶Indice
7.4.1 Un ejemplo detallado
: : : : : : : : : : : : : : : : : : : : 147
7.4.2 Recapitulaci¶on : : : : : : : : : : : : : : : : : : : : : : : : 150
7.5 Conclusi¶on : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 151
7.6 Ejercicios
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 151
7.7 Referencias bibliogr¶aflcas
: : : : : : : : : : : : : : : : : : : : : : 153
Tema III Subprogramas
Cap¶‡tulo 8 Procedimientos y funciones
155
157
8.1
Introducci¶on : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 158
8.2 Subprogramas con par¶ametros : : : : : : : : : : : : : : : : : : : : 162
8.2.1 Descripci¶on de un subprograma con par¶ametros : : : : : : 162
8.2.2 Par¶ametros formales y reales
: : : : : : : : : : : : : : : : 165
8.2.3 Mecanismos de paso de par¶ametros : : : : : : : : : : : : : 165
8.2.4 Consistencia entre deflnici¶on y llamada
: : : : : : : : : : 168
8.3 Estructura sint¶actica de un subprograma : : : : : : : : : : : : : : 169
8.4 Funcionamiento de una llamada : : : : : : : : : : : : : : : : : : : 170
¶Ambito y visibilidad de los identiflcadores : : : : : : : : : : : : : 174
8.5.1 Tipos de identiflcadores seg¶un su ¶ambito : : : : : : : : : : 174
8.5
8.5.2 Estructura de bloques : : : : : : : : : : : : : : : : : : : : 175
8.5.3 Criterios de localidad : : : : : : : : : : : : : : : : : : : : 181
8.5.4 Efectos laterales
: : : : : : : : : : : : : : : : : : : : : : : 181
8.6 Otras recomendaciones sobre el uso de par¶ametros
: : : : : : : : 183
8.6.1 Par¶ametros por valor y por referencia : : : : : : : : : : : 183
8.6.2 Par¶ametros por referencia y funciones
: : : : : : : : : : : 183
8.6.3 Funciones con resultados m¶ultiples : : : : : : : : : : : : : 184
8.7 Desarrollo correcto de subprogramas : : : : : : : : : : : : : : : : 184
8.8 Ejercicios
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 186
Cap¶‡tulo 9 Aspectos metodol¶ogicos de la programaci¶on con
subprogramas
189
9.1
Introducci¶on : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 189
9.2 Un ejemplo de referencia : : : : : : : : : : : : : : : : : : : : : : : 190
9.3 Metodolog¶‡a de la programaci¶on con subprogramas : : : : : : : : 192
9.3.1 Dise~no descendente con subprogramas : : : : : : : : : : : 193
¶Indice
xi
9.3.2 Programa principal y subprogramas
: : : : : : : : : : : : 194
9.3.3 Documentaci¶on de los subprogramas : : : : : : : : : : : : 195
9.3.4 Tama~no de los subprogramas : : : : : : : : : : : : : : : : 196
9.3.5 Reflnamiento con subprogramas y con instrucciones
estructuradas : : : : : : : : : : : : : : : : : : : : : : : : : 197
9.4 Estructura jer¶arquica de los subprogramas : : : : : : : : : : : : : 199
9.5 Ventajas de la programaci¶on con subprogramas : : : : : : : : : : 201
9.6 Un ejemplo detallado: representaci¶on de funciones
: : : : : : : : 203
9.7 Ejercicios
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 207
Cap¶‡tulo 10 Introducci¶on a la recursi¶on
211
10.1 Un ejemplo de referencia : : : : : : : : : : : : : : : : : : : : : : : 212
10.2 Conceptos b¶asicos
: : : : : : : : : : : : : : : : : : : : : : : : : : 213
10.3 Otros ejemplos recursivos
: : : : : : : : : : : : : : : : : : : : : : 216
10.3.1 La
Comentarios de: Algoritmos y Programación en Pascal (0)
No hay comentarios