Diseno de algoritmos y su codificacion en lenguaje C PDF

Title Diseno de algoritmos y su codificacion en lenguaje C
Pages 341
File Size 2.9 MB
File Type PDF
Total Downloads 931
Total Views 967

Summary

www.FreeLibros.me Diseño de algoritmos y su codificación en lenguaje C www.FreeLibros.me Preliminares_Corona_I0406.indd i 2/18/11 9:44 AM www.FreeLibros.me Preliminares_Corona_I0406.indd ii 2/18/11 9:44 AM Diseño de algoritmos y su codificación en lenguaje C María Adriana Corona Nakamura Universidad...


Description

www.FreeLibros.me

Diseño de algoritmos y su codificación en lenguaje C

www.FreeLibros.me Preliminares_Corona_I0406.indd i

2/18/11 9:44 AM

www.FreeLibros.me Preliminares_Corona_I0406.indd ii

2/18/11 9:44 AM

Diseño de algoritmos y su codificación en lenguaje C María Adriana Corona Nakamura Universidad de Guadalajara

María de los Ángeles Ancona Valdez Universidad de Guadalajara

Revisión técnica Miguel Orozco Malo Instituto Tecnológico y de Estudios Superiores de Monterrey, Campus Ciudad de México

Carlos Villegas Quezada Universidad Iberoamericana, Ciudad de México

MÉXICO • BOGOTÁ • BUENOS AIRES • CARACAS • GUATEMALA LISBOA • MADRID • NUEVA YORK • SAN JUAN • SANTIAGO • AUCKLAND LONDRES • MILÁN • MONTREAL • NUEVA DELHI • SAN FRANCISCO SÃO PAULO • SINGAPUR • ST. LOUIS • SIDNEY • TORONTO

www.FreeLibros.me Preliminares_Corona_I0406.indd iii

2/18/11 9:44 AM

Director Higher Education: Miguel Ángel Toledo Castellanos Editor sponsor: Pablo E. Roig Vázquez Coordinadora editorial: Marcela I. Rocha Martínez Editora de desarrollo: Ana L. Delgado Rodríguez Supervisor de producción: Zeferino García García

DISEÑO DE ALGORITMOS Y SU CODIFICACIÓN EN LENGUAJE C

Prohibida la reproducción total o parcial de esta obra, por cualquier medio, sin la autorización escrita del editor.

DERECHOS RESERVADOS © 2011, respecto a la primera edición por McGRAW-HILL/INTERAMERICANA EDITORES, S.A. DE C.V. A Subsidiary of he McGraw-Hill Companies, Inc. Edificio Punta Santa Fe Prolongación Paseo de la Reforma 1015, Torre A Piso 17, Colonia Desarrollo Santa Fe, Delegación Álvaro Obregón C.P. 01376, México, D.F. Miembro de la Cámara Nacional de la Industria Editorial Mexicana, Reg. Núm. 736

ISBN: 978-607-15-0571-2

1234567890

1098765432101

Impreso en México

Printed in Mexico

www.FreeLibros.me Preliminares_Corona_I0406.indd iv

2/18/11 9:44 AM

Contenido

Prefacio ........................................................................................................................................................... xi Capítulo 1. Conceptos básicos ............................................................................................................

1

1.1

Definición de lenguaje de programación ................................................................................

2

1.2

Definición de algoritmo .................................................................................................................

2

1.3 Definición de programa de computadora ..............................................................................

3

1.4 Etapas o pasos en la creación de un programa .....................................................................

4

1.4.1 Definición del problema ................................................................................................................................ 1.4.2 Análisis del problema ...................................................................................................................................... 1.4.3 Diseño y técnicas para la formulación de un algoritmo ..................................................................... 1.4.4 Codificación ........................................................................................................................................................ 1.4.5 Prueba y depuración ....................................................................................................................................... 1.4.6 Documentación ................................................................................................................................................ 1.4.7 Mantenimiento ..................................................................................................................................................

4 4 4 5 6 6 6

Capítulo 2. Los datos y las operaciones básicas ..........................................................................

7

2.1

Identificador ......................................................................................................................................

8

2.2 Tipos de datos ...................................................................................................................................

8

2.2.1 Datos numéricos .............................................................................................................................................. 2.2.2 Datos lógicos o booleanos ............................................................................................................................ 2.2.3 Caracteres ............................................................................................................................................................ 2.2.4 Tipo void ..............................................................................................................................................................

9 9 10 10

www.FreeLibros.me Preliminares_Corona_I0406.indd v

2/18/11 9:44 AM

vi

Contenido

2.3 Variables .............................................................................................................................................. 10 2.3.1 2.3.2

2.4

Uso de #define: creación de macros .......................................................................................................... Uso de const .......................................................................................................................................................

13 14 15 15 16 17

Prioridad de los operadores ......................................................................................................... 18 2.6.1 2.6.2

2.7

12 12

Operadores ......................................................................................................................................... 13 2.5.1 Operadores aritméticos .................................................................................................................................. 2.5.2 Incremento y decremento ............................................................................................................................. 2.5.3 Operadores relacionales ................................................................................................................................ 2.5.4 Operadores lógicos .......................................................................................................................................... 2.5.5 Operadores de asignación ............................................................................................................................ 2.5.6 Operador condicional (?:) ..............................................................................................................................

2.6

10 11

Constantes .......................................................................................................................................... 11 2.4.1 2.4.2

2.5

Declaración de variables ................................................................................................................................ Reserva de memoria ........................................................................................................................................

Prioridad de operadores aritméticos ......................................................................................................... Regla asociativa .................................................................................................................................................

18 18

Expresiones ......................................................................................................................................... 19

2.8 Palabras reservadas ......................................................................................................................... 20 2.9

Comentarios ....................................................................................................................................... 21

2.10 Conversión de tipos ......................................................................................................................... 21 2.10.1 2.10.2

Conversión forzada de tipos de datos .................................................................................................... El operador sizeof ..........................................................................................................................................

22 22

Capítulo 3. Programación estructurada .......................................................................................... 27 3.1

Definición ............................................................................................................................................ 28

3.2 Estructuras de control y su clasificación .................................................................................. 28 3.3 Estructura de un algoritmo y de un programa ...................................................................... 29 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6

Comentarios ........................................................................................................................................................ Declaración archivos de cabecera o encabezado (librerías o bibliotecas) .................................. Prototipos de funciones ................................................................................................................................. Declaración de variables globales y constantes .................................................................................... El programa principal o función principal main() ................................................................................. Declaración de funciones ..............................................................................................................................

29 29 30 30 30 30

3.4 Estructura de control secuencial ................................................................................................. 32 3.4.1 Ejercicios resueltos de la estructura de control secuencial ...............................................................

32

3.5 Estructura de control selectiva o alternativa .......................................................................... 49 3.5.1 Estructura de control selectiva simple si (if ) ........................................................................................... 3.5.2 Estructura de control selectiva doble si/si-no (if/else) ........................................................................

50 51

www.FreeLibros.me Preliminares_Corona_I0406.indd vi

2/18/11 9:44 AM

Contenido

3.5.3 Anidamiento o escalonamiento si-si no-si (if-else-if ) .......................................................................... 3.5.4 Ejercicios resueltos de la estructura de control selectiva simple si (if ) y doble si/si-no (if/else) ......................................................................................................... 3.5.5 Estructura de control selectiva múltiple segun_sea (switch) ........................................................... 3.5.6 Estructura de control selectiva segun_sea (switch) anidada ........................................................... 3.5.7 Ejercicios resueltos de la estructura de control selectiva múltiple segun_sea (switch) .........................................................................................................................

vii

52 53 67 68 68

3.6 Estructura de control repetitiva o de iteración condicional ............................................. 79 3.6.1 3.6.2 3.6.3 3.6.4 3.6.5 3.6.6 3.6.7 3.6.8 3.6.9 3.6.10 3.6.11

Contadores, acumuladores, centinelas y banderas .............................................................................. Estructura de control repetitiva mientras (while) ................................................................................. Ejercicios resueltos de la estructura de control repetitiva mientras (while) .............................. Estructura de control repetitiva hacer_mientras (do while) ............................................................. Ejercicios resueltos de la estructura de control repetitiva hacer_mientras (do_while) ............................................................................................................................ Estructura de control repetitiva desde (for) ............................................................................................ Ejercicios resueltos de la estructura de control repetitiva desde (for) .......................................... Casos especiales del for .................................................................................................................................. Ejercicios resueltos de la estructura de control repetitiva en casos especiales desde (for) ......................................................................................................................... Ciclos anidados ................................................................................................................................................. Ejercicios resueltos utilizando ciclos anidados ......................................................................................

79 81 82 94 94 107 109 118 119 126 127

Capítulo 4. Arreglos ................................................................................................................................. 135 4.1

Definición ............................................................................................................................................ 136

4.2

Arreglos unidimensionales (vectores o listas) ........................................................................ 137 4.2.1 4.2.2 4.2.3 4.2.4 4.2.5

4.3

Inicialización de arreglos unidimensionales ........................................................................................... Lectura e impresión de un arreglo unidimensional ............................................................................. Modificación de un elemento del arreglo unidimensional ............................................................... Arreglos de caracteres .................................................................................................................................... Ejercicios resueltos de arreglos unidimensionales ...............................................................................

138 139 141 141 142

Arreglos bidimensionales (matrices o tablas) ........................................................................ 155 4.3.1 4.3.2 4.3.3

Inicialización de arreglos bidimensionales ............................................................................................. 156 Lectura e impresión de unos arreglos bidimensionales ......................................................................... 156 Modificación de un elemento de una matriz ......................................................................................... 157

4.3.4

Ejercicios resueltos de arreglos bidimensionales ................................................................................. 157

Capítulo 5. Programación modular ................................................................................................... 171 5.1

Definición ............................................................................................................................................ 172

5.2

Programa principal y funciones .................................................................................................. 173 5.2.1 Programa principal o función main() ......................................................................................................... 173 5.2.2 Función ................................................................................................................................................................. 173 5.2.3 Ámbito de las variables .................................................................................................................................. 173

www.FreeLibros.me Preliminares_Corona_I0406.indd vii

2/18/11 9:44 AM

viii

Contenido

5.2.4 Llamada o invocación de una función ...................................................................................................... 173 5.2.5 Cómo se ejecuta un programa que contiene funciones .................................................................... 173 5.2.6 Ubicación de una función en un programa ............................................................................................ 173

5.3

Prototipo de una función .............................................................................................................. 174

5.4

Funciones sin paso de parámetros ............................................................................................ 174

5.5

Ejercicios resueltos de funciones sin paso de parámetros ................................................ 176

5.6

Funciones con paso de parámetros .......................................................................................... 189 5.6.1 5.6.2 5.6.3

Parámetros de una función ........................................................................................................................... 189 Paso de parámetros en una función .......................................................................................................... 189 Paso de parámetros en funciones con vectores y matrices .............................................................. 193

5.7

Ejercicios resueltos de funciones con paso de parámetros .............................................. 193

5.8

Recursividad ...................................................................................................................................... 213

5.9

Funciones predefinidas de lenguaje C ..................................................................................... 223

5.10 Ejercicios resueltos de funciones predefinidas de lenguaje C ......................................... 223 5.10.1 Funciones para manejo de caracteres y cadenas ............................................................................... 224 5.10.2 Funciones de pantalla .................................................................................................................................. 231

5.11 Creación de librerías en lenguaje C ........................................................................................ 237 Capítulo 6. Registros o estructuras ................................................................................................... 239 6.1

Definición de una estructura ....................................................................................


Similar Free PDFs