Introduccion+a+la+Programacion++Logica+y+Diseno.+7 kkkl j lkj lk j kl k k j hbhjjh gjfj jh jhakikjjjkñmñmñklmkmklklkmkkknklklm PDF

Title Introduccion+a+la+Programacion++Logica+y+Diseno.+7 kkkl j lkj lk j kl k k j hbhjjh gjfj jh jhakikjjjkñmñmñklmkmklklkmkkknklklm
Author emmanuel sanchez
Course Informática I
Institution Universidad Nacional Autónoma de México
Pages 40
File Size 986.9 KB
File Type PDF
Total Downloads 1
Total Views 133

Summary

okkkkkokkjj iioioji oih oh ioi ioh hhjj u i u opuipuoo hjhjh jhjkh...


Description

Introducción

A la Programación Lógica y Diseño JOYCE FARRELL

7a. Ed.

7a. Ed.

Introducción a la Programación Lógica y Diseño

J O Y C E FA R R E L L Traductor: Jorge Alberto Velázquez Arellano Revisión técnica: Fabiola Ocampo Botello José Sánchez Juárez Roberto De Luna Caballero Profesores de la Escuela Superior de Cómputo Instituto Politécnico Nacional

Australia • Brasil • Corea • España • Estados Unidos • Japón • México • Reino Unido • Singapur

Introducción a la Programación Lógica y Diseño 7a. Ed. Joyce Farrell Presidente de Cengage Learning Latinoamérica: Fernando Valenzuela Migoya Director editorial, de producción y de plataformas digitales para Latinoamérica: Ricardo H. Rodríguez Gerente de procesos para Latinoamérica: Claudia Islas Licona Gerente de manufactura para Latinoamérica: Raúl D. Zendejas Espejel Gerente editorial de contenidos en español: Pilar Hernández Santamarina Gerente de proyectos especiales: Luciana Rabuffetti Coordinador de manufactura: Rafael Pérez González Editores: Ivonne Arciniega Torres Timoteo Eliosa García

© D.R. 2013 por Cengage Learning Editores, S.A. de C.V., una Compañía de Cengage Learning, Inc. Corporativo Santa Fe Av. Santa Fe núm. 505, piso 12 Col. Cruz Manca, Santa Fe C.P. 05349, México, D.F. Cengage Learning® es una marca registrada usada bajo permiso. DERECHOS RESERVADOS. Ninguna parte de este trabajo amparado por la Ley Federal del Derecho de Autor, podrá ser reproducida, transmitida, almacenada o utilizada en cualquier forma o por cualquier medio, ya sea gráfico, electrónico o mecánico, incluyendo, pero sin limitarse a lo siguiente: fotocopiado, reproducción, escaneo, digitalización, grabación en audio, distribución en Internet, distribución en redes de información o almacenamiento y recopilación en sistemas de información a excepción de lo permitido en el Capítulo III, Artículo 27 de la Ley Federal del Derecho de Autor, sin el consentimiento por escrito de la Editorial. Traducido del libro Programming Logic and Design, Introductory version Seventh edition Joyce Farrell Publicado en inglés por Course Technology, una compañía de Cengage Learning © 2013 ISBN: 978-1-133-52651-3

Diseño de portada: Lisa Kuhn/Curio Press, LLC, www.curiopress.com

Datos para catalogación bibliográfica: Farrell, Joyce Introducción a la Programación Lógica y Diseño, 7a. Ed. ISBN: 978-607-481-904-5

Imagen de portada: © Leigh Prather/Veer

Visite nuestro sitio en: http://latinoamerica.cengage.com

Composición tipográfica: Rogelio Raymundo Reyna Reynoso

Impreso en México 1 2 3 4 5 6 7 15 14 13 12

Contenido v

P ref aci o . . . . . . . . . . . . . . . . . xi CAPÍT ULO 1

U n a revi si ón de l as compu t ador a s y l a prog r a maci ón . . . . . . . . . . . . . 1 Comprensión de los sistemas de cómputo . . . . . . . . . . 2 Comprensión de la lógica de programa simple . . . . . . . . 5 Comprensión del ciclo de desarrollo del programa . . . . . . . . . . . . . . . . . . . . . . 7 Entender el problema . . . . . . . . . . . . . . . . . . 8 Planear la lógica . . . . . . . . . . . . . . . . . . . . . 9 Codificación del programa . . . . . . . . . . . . . . . 10 Uso de software para traducir el programa al lenguaje de máquina . . . . . . . . . . . . . . . . . . . . . 10 Prueba del programa . . . . . . . . . . . . . . . . . . 12 Poner el programa en producción . . . . . . . . . . . . 13 Mantenimiento del programa . . . . . . . . . . . . . . 13 Uso de declaraciones en seudocódigo y símbolos de diagrama de flujo . . . . . . . . . . . . . . . . . . 14 Escritura en seudocódigo . . . . . . . . . . . . . . . . 15 Trazo de diagramas de flujo . . . . . . . . . . . . . . 16 Repetición de las instrucciones . . . . . . . . . . . . . 17 Uso de un valor centinela para terminar un programa . . . . 19 Comprensión de la programación y los ambientes del usuario . . . . . . . . . . . . . . . . . . . . . . 22 Comprensión de los ambientes de programación . . . . . 22 Comprensión de los ambientes de usuario . . . . . . . . 24 Comprensión de la evolución de los modelos de programación . . . . . . . . . . . . . . . . . . . . 25 Resumen del capítulo . . . . . . . . . . . . . . . . . . 27 Términos clave . . . . . . . . . . . . . . . . . . . . . 28 Preguntas de repaso . . . . . . . . . . . . . . . . . . . 31 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . 33 Encuentre los errores . . . . . . . . . . . . . . . . . 35 Zona de juegos . . . . . . . . . . . . . . . . . . . . 35 Para discusión . . . . . . . . . . . . . . . . . . . . . 36

CONTENIDO CAPÍT ULO 2

E l emen t os de l os prog r amas de al t a cal i dad . . . . . . . . . . . . . . . 3 7 La declaración y el uso de variables y constantes . . . . . 38 Comprensión de las constantes literales y sus tipos de datos . . . . . . . . . . . . . . . . . 38 Trabajo con variables . . . . . . . . . . . . . . . . . 39 Nombramiento de variables . . . . . . . . . . . . . . . 41 Asignación de valores a las variables . . . . . . . . . . 42 Comprensión de los tipos de datos de las variables . . . . 43 Declaración de constantes nombradas . . . . . . . . . . 44 Realización de operaciones aritméticas . . . . . . . . . . 45 Comprensión de las ventajas de la modularización . . . . . 48 La modularización proporciona abstracción . . . . . . . 49 La modularización permite que varios programadores trabajen en un problema . . . . . . . . . . . . . . . 50 La modularización permite que se reutilice el trabajo . . . 50 Modularización de un programa . . . . . . . . . . . . . . 51 Declaración de variables y constantes dentro de los módulos. . . . . . . . . . . . . . . . . . . . 55 Comprensión de la configuración más común para la lógica de línea principal . . . . . . . . . . . . 57 Creación de gráficas de jerarquía . . . . . . . . . . . . . 61 Características de un buen diseño de programa . . . . . . 63 Uso de comentarios del programa . . . . . . . . . . . . 64 Elección de identificadores . . . . . . . . . . . . . . . 66 Diseño de declaraciones precisas . . . . . . . . . . . . 68 Evite cortes de línea confusos . . . . . . . . . . . . . 68 Escritura de indicadores claros y entradas con eco . . . . 69 Mantener buenos hábitos de programación . . . . . . . . 71 Resumen del capítulo . . . . . . . . . . . . . . . . . . 72 Términos clave . . . . . . . . . . . . . . . . . . . . . 73 Preguntas de repaso . . . . . . . . . . . . . . . . . . . 76 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . 79 Encuentre los errores . . . . . . . . . . . . . . . . . 81 Zona de juegos . . . . . . . . . . . . . . . . . . . . 82 Para discusión . . . . . . . . . . . . . . . . . . . . 82

vi

CAPÍT ULO 3

C ompren der l a est r u ct u r a

. . . . . . . . . 83

Las desventajas del código espagueti no estructurado . . . 84 Comprensión de las tres estructuras básicas . . . . . . . . 86 Uso de una entrada anticipada para estructurar un programa. . . . . . . . . . . . . . . . . . . . . . 95 Comprensión de las razones para la estructura. . . . . . . 101

Reconocimiento de la estructura . . . . . Estructuración y modularización de la lógica no estructurada . . . . . . . . . . . . Resumen del capítulo . . . . . . . . . . Términos clave . . . . . . . . . . . . . Preguntas de repaso . . . . . . . . . . . Ejercicios . . . . . . . . . . . . . . . . Encuentre los errores . . . . . . . . . Zona de juegos . . . . . . . . . . . . Para discusión . . . . . . . . . . . . CAPÍT ULO 4

. . . . . . . . 102 . . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. 105 . 110 . 111 . 112 . 114 . 118 . 118 . 119

Toma de deci si on es . . . . . . . . . . . 1 2 1 Expresiones booleanas y la estructura de selección. . . . . 122 Uso de operadores de comparación relacionales . . . . . . 126 Evitar un error común con los operadores relacionales . . 129 Comprensión de la lógica AND . . . . . . . . . . . . . . 129 Anidar decisiones AND para la eficiencia . . . . . . . . . 132 Uso del operador AND . . . . . . . . . . . . . . . . . 134 Evitar errores comunes en una selección AND . . . . . . 136 Comprensión de la lógica OR . . . . . . . . . . . . . . . 138 Escritura de decisiones OR para eficiencia . . . . . . . . 140 Uso del operador OR . . . . . . . . . . . . . . . . . . 141 Evitar errores comunes en una selección OR . . . . . . . 143 Hacer selecciones dentro de rangos. . . . . . . . . . . . 148 Evitar errores comunes cuando se usan comprobaciones de rango . . . . . . . . . . . . . . . . . . . . . . 150 Comprensión de la precedencia cuando se combinan operadores AND y OR . . . . . . . . . . . . . . . . . 154 Resumen del capítulo . . . . . . . . . . . . . . . . . . 157 Términos clave . . . . . . . . . . . . . . . . . . . . . 158 Preguntas de repaso . . . . . . . . . . . . . . . . . . . 159 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . 162 Encuentre los errores . . . . . . . . . . . . . . . . . 167 Zona de juegos . . . . . . . . . . . . . . . . . . . . 167 Para discusión . . . . . . . . . . . . . . . . . . . . 168

CAPÍT ULO 5

C rea ci ón de ci cl os

. . . . . . . . . . . 169

Comprensión de las ventajas de crear ciclos . . . . . . . . 170 Uso de una variable de control de ciclo . . . . . . . . . . 171 Uso de un ciclo definido con un contador . . . . . . . . 172 Uso de un ciclo indefinido con un valor centinela . . . . . 173 Comprensión del ciclo en la lógica de línea principal de un programa . . . . . . . . . . . . . . . . . . . 175

vii

CONTENIDO Ciclos anidados . . . . . . . . . . . . . . . . . . . . . 177 Evitar errores comunes en los ciclos . . . . . . . . . . . 183 Error: descuidar la inicialización de la variable de control de ciclo . . . . . . . . . . . . . . . . . . 183 Error: descuidar la alteración de la variable de control de ciclo . . . . . . . . . . . . . . . . . . 185 Error: usar la comparación errónea con la variable de control de ciclo . . . . . . . . . . . . . . . . . . 186 Error: incluir dentro del ciclo declaraciones que pertenecen al exterior del mismo . . . . . . . . . 187 Uso de un ciclo for . . . . . . . . . . . . . . . . . . 192 Aplicaciones comunes de los ciclos . . . . . . . . . . . . 194 Uso de un ciclo para acumular totales . . . . . . . . . . 194 Uso de un ciclo para validar datos . . . . . . . . . . . . 198 Limitación de un ciclo que pide entradas de nuevo . . . . 200 Validación de un tipo de datos . . . . . . . . . . . . . 202 Validación de la sensatez y consistencia de los datos . . . 203 Resumen del capítulo . . . . . . . . . . . . . . . . . . 205 Términos clave . . . . . . . . . . . . . . . . . . . . . 205 Preguntas de repaso . . . . . . . . . . . . . . . . . . . 206 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . 209 Encuentre los errores . . . . . . . . . . . . . . . . . 211 Zona de juegos . . . . . . . . . . . . . . . . . . . . 211 Para discusión . . . . . . . . . . . . . . . . . . . . 212

viii

CAPÍT ULO 6

A r reg l os . . . . . . . . . . . . . . . . 2 1 3 Almacenamiento de datos en arreglos . . . . . . . . . . . 214 De qué modo los arreglos ocupan la memoria de la computadora . . . . . . . . . . . . . . . . . . 214 Cómo un arreglo puede reemplazar decisiones anidadas . . 216 Uso de constantes con arreglos. . . . . . . . . . . . . . 224 Uso de una constante como el tamaño de un arreglo . . . 224 Uso de constantes como valores de elemento del arreglo. . . . . . . . . . . . . . . . . . . . . . 225 Uso de una constante como subíndice de un arreglo . . . 225 Búsqueda de un arreglo para una correspondencia exacta . . . . . . . . . . . . . . . . . . . . . . . . 226 Uso de arreglos paralelos . . . . . . . . . . . . . . . . 230 Mejora de la eficiencia de la búsqueda . . . . . . . . . . 234 Búsqueda en un arreglo para una correspondencia de rango . . . . . . . . . . . . . . . . . . . . . . . 237 Permanencia dentro de los límites del arreglo . . . . . . . 241 Uso de un ciclo for para procesar arreglos . . . . . . . . 244 Resumen del capítulo . . . . . . . . . . . . . . . . . . 245

Términos clave . . . . Preguntas de repaso . . Ejercicios . . . . . . . Encuentre los errores Zona de juegos . . . Para discusión . . . . CAPÍT ULO 7

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

M an ej o de arch i vos y a pl i caci on es

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. 246 . 246 . 249 . 253 . 253 . 255

. . . . 257

Comprensión de los archivos de computadora . . . . . . . 258 Organización de los archivos . . . . . . . . . . . . . . 259 Comprensión de la jerarquía de datos . . . . . . . . . . 260 Ejecución de operaciones con archivos . . . . . . . . . . 261 Declarar un archivo . . . . . . . . . . . . . . . . . . 261 Abrir un archivo . . . . . . . . . . . . . . . . . . . . 262 Leer datos de un archivo . . . . . . . . . . . . . . . . 262 Escribir datos en un archivo . . . . . . . . . . . . . . 264 Cerrar un archivo . . . . . . . . . . . . . . . . . . . 264 Un programa que ejecuta operaciones de archivo . . . . . 264 Comprensión de los archivos secuenciales y la lógica de control de interrupciones . . . . . . . . . . . . . . 267 Comprensión de la lógica de control de interrupciones . . 268 Unión de archivos secuenciales . . . . . . . . . . . . . . 273 Procesamiento de archivos maestros y de transacción . . . 281 Archivos de acceso aleatorio . . . . . . . . . . . . . . . 290 Resumen del capítulo . . . . . . . . . . . . . . . . . . 292 Términos clave . . . . . . . . . . . . . . . . . . . . . 293 Preguntas de repaso . . . . . . . . . . . . . . . . . . . 295 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . 299 Encuentre los errores . . . . . . . . . . . . . . . . . 302 Zona de juegos . . . . . . . . . . . . . . . . . . . . 302 Para discusión . . . . . . . . . . . . . . . . . . . . 303 APÉNDICE A

C ompren si ón de l os si st ema s de n u mer aci ón y l os códi g os de compu t a dor a . . . . . . . . . . . . 3 0 5 El sistema hexadecimal . . . . . . . . . . . . . . . . . 311 Medición del almacenamiento . . . . . . . . . . . . . . . 312 Términos clave . . . . . . . . . . . . . . . . . . . . . 314

APÉNDICE B

Sí mbol os de di a g r a ma de f l u j o . . . . . . 3 1 5

APÉNDICE C

E st r u ct u r a s. . . . . . . . . . . . . . . 3 1 6

ix

CONTENIDO APÉNDICE D

Resol u ci ón de pr obl emas de est r u ct u r aci ón di f í ci l es . . . . . . . . . 3 1 8

APÉNDICE E

C reaci ón de g r áf i cas i mpr esas . . . . . . 3 2 8

APÉNDICE F

Dos var i aci on es de l as est r u ct u r as bási cas: c a s e y d o - w h i l e . .

x

.

La estructura case . . . . . . . . El ciclo do-while . . . . . . . . Reconocimiento de las características compartidas por todos los ciclos estructurados. . . . . . . . Reconocimiento de ciclos no estructurados . . . . Términos clave . . . . . . . . . . . . . . . . .

.

330

. .

. 330 . 332

. . . . 334 . . . . 335 . . . . 336

G l osar i o . . . . . . . . . . . . . . . . 3 3 7 Í n di ce . . . . . . . . . . . . . . . . . 3 4 9

1

C A P Íde T U Llas O Una revisión computadoras y la programación

En este capítulo usted aprenderá sobre:

programa flujo

CAPÍTULO 1

Una revisión de las computadoras y la programación

Comprensión de los sistemas de cómputo

2

Un sistema de cómputo es una combinación de todos los componentes que se requieren para procesar y almacenar datos usando una computadora. Todos los sistemas de cómputo están compuestos por múltiples piezas de hardware y software. • Hardware es el equipo o los dispositivos físicos asociados con una computadora. Por ejemplo, todos los teclados, ratones, altavoces e impresoras son hardware. Los dispositivos se manufacturan en forma diferente para las computadoras mainframe grandes, las laptops e incluso para las computadoras más pequeñas que están incorporadas en los productos como automóviles y termostatos, pero los tipos de operaciones que efectúan las computadoras de distintos tamaños son muy parecidos. Cuando se piensa en una computadora con frecuencia son sus componentes físicos los que llegan a la mente, pero para que sea útil necesita más que dispositivos; requiere que se le den instrucciones. Del mismo modo en que un equipo de sonido no hace mucho hasta que se le incorpora la música, el hardware de computadora necesita instrucciones que controlen cómo y cuándo se introducen los datos, cómo se procesan y la forma en que se les da salida o se almacenan. • Software son las instrucciones de la computadora que dicen al hardware qué hacer. El software son programas o conjuntos de instrucciones escritos por programadores. Usted puede comprar programas previamente escritos que se han almacenado en un disco o descargarlos de la web. Por ejemplo, en los negocios se utilizan programas de procesamiento de palabras y de contabilidad y los usuarios ocasionales de computadoras disfrutan los que reproducen música y juegos. De manera alternativa, usted puede escribir sus propios programas. Cuando escribe las instrucciones de un software se dice que está programando. Este libro se enfoca en el proceso de programación. El software puede clasificarse en dos extensas categorías: • Software de aplicación, que abarca todos los programas que se aplican para una tarea, como los procesadores de palabras, las hojas de cálculo, los programas de nómina e inventarios, e incluso los juegos. • Software de sistema, que incluye los programas que se usan para manejar una computadora, entre los que se encuentran los sistemas operativos como Windows, Linux o UNIX. Este libro se enfoca en la lógica que se usa para escribir programas de software de aplicación, aunque muchos de los conceptos se aplican a ambos tipos de software. Juntos, el hardware y el software llevan a cabo tres operaciones importantes en la mayoría de los programas: • Entrada: los elementos de datos entran en el sistema de cómputo y se colocan en la memoria, donde pueden ser procesados. Los dispositivos de hardware que efectúan operaciones de entrada incluyen teclados y ratones. Los elementos de datos constan de todo el texto, los números y otras materias primas que se introducen en una computadora y son procesadas por ella. En los negocios, muchos elementos de datos que se usan son los hechos y las cifras sobre entidades como productos, clientes y personal. Sin embargo, los datos también pueden incluir imágenes, sonidos y movimientos del ratón que el usuario efectúa. • Procesamiento: procesar los elementos de datos implica organizarlos o clasificarlos, comprobar su precisión o realizar cálculos con ellos. El componente de hardware que realiza estas tareas es la unidad central de procesamiento o CPU (siglas del inglés central processing unit).

Comprensión de los sistemas de cómputo

• Salida: después de que los elementos de datos se han procesado, la información resultante por lo general se envía a una impresora, un monitor o algún otro dispositivo de salida de modo que las personas vean, interpreten y usen los resultados. Los profesionales de la programación con frecuencia emplean el término datos para los elementos de entrada y el de información para los datos que se han procesado y que han salido. En ocasiones usted coloca estos datos de salida en dispositivos de almacenamiento, como discos o medios flash (flash media). Las personas no pueden l...


Similar Free PDFs