ebook img

Algoritmos y Programación en Pascal PDF

557 Pages·06.09 MB·Spanish
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Algoritmos y Programación en Pascal

Algoritmos y Programaci¶on en Pascal Crist¶obal Pareja Flores Manuel Ojeda Aciego A¶ngel Andeyro Quesada Carlos Rossi Jim¶enez Algoritmos y Programaci¶on en Pascal A nuestros compan~eros y alumnos ¶ Indice Presentaci¶on xix Tema I Algoritmos e introducci¶on a Pascal 1 Cap¶‡tulo1 Problemas, algoritmos y programas 3 1.1 Soluci¶on de problemas mediante programas : : : : : : : : : : : : 3 1.2 Concepto de algoritmo : : : : : : : : : : : : : : : : : : : : : : : : 5 1.2.1 Una deflnici¶on de algoritmo : : : : : : : : : : : : : : : : : 6 1.2.2 Una deflnici¶on formal de algoritmo : : : : : : : : : : : : : 8 1.3 Aspectos de inter¶es sobre los algoritmos : : : : : : : : : : : : : : 11 1.3.1 Computabilidad : : : : : : : : : : : : : : : : : : : : : : : 11 1.3.2 Correcci¶on de algoritmos : : : : : : : : : : : : : : : : : : 14 1.3.3 Complejidad de algoritmos : : : : : : : : : : : : : : : : : 15 1.4 Lenguajes algor¶‡tmicos y de programaci¶on : : : : : : : : : : : : : 16 1.5 Desarrollo sistem¶atico de programas : : : : : : : : : : : : : : : : 18 1.6 Conclusi¶on : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 20 1.7 Ejercicios : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 20 1.8 Referencias bibliogr¶aflcas : : : : : : : : : : : : : : : : : : : : : : 21 Cap¶‡tulo2 El lenguaje de programaci¶on Pascal 23 2.1 Introducci¶on: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 23 2.2 Otros detalles de inter¶es : : : : : : : : : : : : : : : : : : : : : : : 24 2.3 Origen y evoluci¶on del lenguaje Pascal : : : : : : : : : : : : : : : 24 2.4 Pascal y Turbo Pascal : : : : : : : : : : : : : : : : : : : : : : : : 25 Cap¶‡tulo3 Tipos de datos b¶asicos 27 3.1 Introducci¶on: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 28 viii ¶Indice 3.2 El tipo integer : : : : : : : : : : : : : : : : : : : : : : : : : : : : 28 3.3 El tipo real : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 32 3.4 El tipo char : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 35 3.5 El tipo boolean : : : : : : : : : : : : : : : : : : : : : : : : : : : : 36 3.6 Observaciones : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 39 3.7 El tipo de una expresi¶on : : : : : : : : : : : : : : : : : : : : : : : 43 3.8 Ejercicios : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 43 Cap¶‡tulo4 Elementos b¶asicos del lenguaje 47 4.1 Un ejemplo introductorio : : : : : : : : : : : : : : : : : : : : : : 47 4.2 Vocabulario b¶asico : : : : : : : : : : : : : : : : : : : : : : : : : : 48 4.2.1 Constantes y variables : : : : : : : : : : : : : : : : : : : : 52 4.3 Instrucciones b¶asicas : : : : : : : : : : : : : : : : : : : : : : : : : 52 4.3.1 Asignaci¶on : : : : : : : : : : : : : : : : : : : : : : : : : : 52 4.3.2 Instrucciones de escritura : : : : : : : : : : : : : : : : : : 54 4.3.3 Instrucciones de lectura : : : : : : : : : : : : : : : : : : : 57 4.4 Partes de un programa : : : : : : : : : : : : : : : : : : : : : : : : 59 4.4.1 Encabezamiento : : : : : : : : : : : : : : : : : : : : : : : 59 4.4.2 Declaraciones y deflniciones : : : : : : : : : : : : : : : : : 60 4.4.3 Cuerpo del programa: : : : : : : : : : : : : : : : : : : : : 62 4.4.4 Conclusi¶on: estructura general de un programa : : : : : : 63 4.5 Ejercicios : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 63 Cap¶‡tulo5 Primeros programas completos 67 5.1 Algunos programas sencillos : : : : : : : : : : : : : : : : : : : : : 68 5.1.1 Dibujo de la letra ‘‘C’’ : : : : : : : : : : : : : : : : : : : : 68 5.1.2 Suma de dos nu¶meros : : : : : : : : : : : : : : : : : : : : 69 5.2 Programas claros programas de calidad : : : : : : : : : : : : : 69 ) 5.3 Desarrollo descendente de programas : : : : : : : : : : : : : : : : 71 5.4 Desarrollo de programas correctos : : : : : : : : : : : : : : : : : 73 5.4.1 Estado de los c¶omputos : : : : : : : : : : : : : : : : : : : 73 5.4.2 Desarrollo descendente con especiflcaciones : : : : : : : : 78 5.5 Observaciones flnales : : : : : : : : : : : : : : : : : : : : : : : : : 79 5.6 Ejercicios : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 81 ¶Indice ix Tema II Programaci¶on estructurada 83 Cap¶‡tulo6 Instrucciones estructuradas 85 6.1 Composici¶on de instrucciones : : : : : : : : : : : : : : : : : : : : 86 6.2 Instrucciones de selecci¶on : : : : : : : : : : : : : : : : : : : : : : 88 6.2.1 La instrucci¶on if-then-else : : : : : : : : : : : : : : : : : 88 6.2.2 La instrucci¶on case : : : : : : : : : : : : : : : : : : : : : 92 6.3 Instrucciones de iteraci¶on : : : : : : : : : : : : : : : : : : : : : : 94 6.3.1 La instrucci¶on while : : : : : : : : : : : : : : : : : : : : : 94 6.3.2 La instrucci¶on repeat : : : : : : : : : : : : : : : : : : : : 98 6.3.3 La instrucci¶on for : : : : : : : : : : : : : : : : : : : : : : 100 6.4 Disen~o 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¶‡tulo7 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 Disen~o 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 155 Cap¶‡tulo8 Procedimientos y funciones 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 8.5 A¶mbito y visibilidad de los identiflcadores : : : : : : : : : : : : : 174 8.5.1 Tipos de identiflcadores segu¶n su ¶ambito : : : : : : : : : : 174 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 mu¶ltiples : : : : : : : : : : : : : 184 8.7 Desarrollo correcto de subprogramas : : : : : : : : : : : : : : : : 184 8.8 Ejercicios : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 186 Cap¶‡tulo9 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 Disen~o 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 Taman~o 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¶‡tulo10 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 sucesi¶on de Fibonacci : : : : : : : : : : : : : : : : : : 216 10.3.2 Torres de Hanoi : : : : : : : : : : : : : : : : : : : : : : : 216 10.3.3 Funci¶on de Ackermann : : : : : : : : : : : : : : : : : : : : 219 10.4 Correcci¶on de subprogramas recursivos : : : : : : : : : : : : : : : 219 10.4.1 Principios de inducci¶on : : : : : : : : : : : : : : : : : : : 220 10.5 Recursi¶on mutua : : : : : : : : : : : : : : : : : : : : : : : : : : : 222 10.6 Recursi¶on e iteraci¶on : : : : : : : : : : : : : : : : : : : : : : : : : 226 10.7 Ejercicios : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 227 10.8 Referencias bibliogr¶aflcas : : : : : : : : : : : : : : : : : : : : : : 228 Tema IV Tipos de datos deflnidos por el programador 231 Cap¶‡tulo11 Tipos de datos simples y compuestos 233 11.1 Tipos ordinales deflnidos por el programador : : : : : : : : : : : 234 11.1.1 Tipos enumerados : : : : : : : : : : : : : : : : : : : : : : 235 11.1.2 Tipo subrango : : : : : : : : : : : : : : : : : : : : : : : : 238 11.2 Deflnici¶on de tipos : : : : : : : : : : : : : : : : : : : : : : : : : : 240 11.2.1 Observaciones sobre la deflnici¶on de tipos : : : : : : : : : 242 11.3 Conjuntos : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 244 11.3.1 Operaciones sobre el tipo conjunto : : : : : : : : : : : : : 245 11.3.2 Observaciones sobre el tipo conjunto : : : : : : : : : : : : 247

Description:
Cristóbal Pareja Flores. Manuel Ojeda Aciego. ´Angel Andeyro Quesada. Carlos Rossi Jiménez. Algoritmos y Programación en Pascal
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.