EBOOK VS DISENO ALGORITMOS Y CODIFICACION EN LENGUAJE C
PRODUCTO DIGITAL EBOOK. NO ES UN PRODUCTO FÍSICO.
Gracias este es un libro electrónico o EBOOK, para poder utilizarlo debes de crear una cuenta en VitalSource Bookshelf esta es una Aplicación Gratis. Una vez que has creado tu cuenta, dentro de la plataforma debes de redimir los distintos códigos que hayas adquirido para poder leer tus libros.- Ingresa a tu libro desde cualquier lugar o dispositivo, con acceso a internet o sin acceso.
- Crear notas, y apuntes en tus lecturas.
- Puedes realizar búsquedas a los conceptos que necesites de manera rápida y fácil.
- Ingresa a tu libro desde cualquier lugar o dispositivo, con acceso a internet o sin acceso.
- Crear notas, y apuntes en tus lecturas.
- Puedes realizar búsquedas a los conceptos que necesites de manera rápida y fácil.
Prefacio
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 4
1.4.2 Análisis del problema 4
1.4.3 Diseño y técnicas para la formulación de un algoritmo 4
1.4.4 Codificación 5
1.4.5 Prueba y depuración 6
1.4.6 Documentación 6
1.4.7 Mantenimiento 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 9
2.2.2 Datos lógicos o booleanos 9
2.2.3 Caracteres 10
2.2.4 Tipo void 10
2.3 Variables 10
2.3.1 Declaración de variables 10
2.3.2 Reserva de memoria 11
2.4 Constantes 11
2.4.1 Uso de #define: creación de macros 12
2.4.2 Uso de const 12
2.5 Operadores 13
2.5.1 Operadores aritméticos 13
2.5.2 Incremento y decremento 14
2.5.3 Operadores relacionales 15
2.5.4 Operadores lógicos 15
2.5.5 Operadores de asignación 16
2.5.6 Operador condicional (?:) 17
2.6 Prioridad de los operadores 18
2.6.1 Prioridad de operadores aritméticos 18
2.6.2 Regia asociativa 18
2.7 Expresiones 19
2.8 Palabras reservadas 20
2.9 Comentarios 21
2.10 Conversión de tipos 21
2.10.1 Conversión forzada de tipos de datos 22
2.10.2 El operador sizeof 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 Comentarios 29
3.3.2 Declaración archivos de cabecera o encabezado (librerías o bibliotecas) 29
3.3.3 Prototipos de funciones 30
3.3.4 Declaración de variables globales y constantes 30
3.3.5 El programa principal o función principal main() 30
3.3.6 Declaración de funciones 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) 50
3.5.2 Estructura de control selectiva doble si/si-no (if/else) 51
3.5.3 Anidamiento o escalonamiento si-si no-si (if-else-if) 52
3.5.4 Ejercicios resueltos de la estructura de control selectiva simple si (if) y doble si/si-no (if/else) 53
3.5.5 Estructura de control selectiva multiple segun_sea (switch) 67
3.5.6 Estructura de control selectiva segun_sea (switch) anidada 68
3.5.7 Ejercicios resueltos de la estructura de control selectiva múltiple segun_sea (switch) 68
3.6 Estructura de control repetitiva o de iteración condicional 79
3.6.1 Contadores, acumuladores, centinelas y banderas 79
3.6.2 Estructura de control repetitiva mientras (while) 81
3.6.3 Ejercicios resueltos de la estructura de control repetitiva mientras (while) 82
3.6.4 Estructura de control repetitiva hacer_mientras (do while) 94
3.6.5 Ejercicios resueltos de la estructura de control repetitiva hacer_mientras (do_while) 94
3.6.6 Estructura de control repetitiva desde (for) 107
3.6.7 Ejercicios resueltos de la estructura de control repetitiva desde (for) 109
3.6.8 Casos especiales del for 118
3.6.9 Ejercicios resueltos de la estructura de control repetitiva en casos especiales desde (for) 119
3.6.10 Ciclos anidados 126
3.6.11 Ejercicios resueltos utilizando ciclos anidados 127
Capítulo4. Arreglos 135
4.1 Definición 136
4.2 Arreglos unidimensionales (vectores o listas) 137
4.2.1 Inicialización de arreglos unidimensionales 138
4.2.2 Lectura e impresión de un arreglo unidimensional 139
4.2.3 Modificación de un elemento del arreglo unidimensional 141
4.2.4 Arreglos de caracteres 141
4.2.5 Ejercicios resueltos de arreglos unidimensionales 142
4.3 Arreglos bidimensionales (matrices o tablas) 155
4.3.1 Inicialización de arreglos bidimensionales 156
4.3.2 Lectura e impresión de unos arreglos bidimensionales 156
4.3.3 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 mainQ 173
5.2.2 Función 173
5.2.3 Ámbito de las variables 173
5.2.4 Llamada o invocación de una función 173
5.2.5 Como 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 Parámetros de una función 189
5.6.2 Paso de parámetros en una función 189
5.6.3 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 240
6.2 Tipos de datos definidos por el usuario typedef 242
6.3 Asignación de valores a los campos de una estructura 243
6.4 Acceso a los campos de un registro o estructura (struct) 244
6.5 Arreglos de estructuras 246
6.6 Estructuras anidadas 247
6.7 Ejercicios resueltos de registros o estructuras (struct) 248
Capítulo 7. Algoritmos de ordenamiento y búsqueda. Apuntadores 265
7.1 Ordenación 266
7.1.1 Ordenación interna 266
7.2 Búsquedas 274
7.2.1 Búsqueda secuencial 274
7.2.2 Búsqueda binaria 276
7.3 Apuntadores 278
7.3.1 Dirección de una variable 278
7.3.2 Declaración de apuntadores 278
7.3.3 Asignación de apuntadores 278
7.3.4 El operador-> 279
7.3.5 Errores usuales 280
7.3.6 Apuntadores a apuntadores 280
7.3.7 Apuntadores para paso de parámetros por referencia 280
Anexo A. Entrada y salida (e/s) en lenguaje C 285
A.1 Entrada y salida formateada 286
A.1.1 Entrada de datos: función scanty 286
A.1.2 Salida de datos: función printf() 288
A.2 Entrada y salida sin formato 290
Anexo B. Diferencias entre Turbo C, Dev-Cpp y Code::Blocks 292
Anexo C. Aplicaciones 295
Anexo D. Código ASCII 309
Anexo E. Glosario 311
Glosario de funciones en lenguaje C 315
Entrada y salida formateada (vea el anexo A) 316
Entrada y salida sin formato (vea el anexo A) 316
Funciones matemáticas (librería math.h) 317
Funciones para manejo de caracteres y cadenas 317
Operaciones con cadenas de caracteres, string.h y stdlib.h 318
Funciones para la conversión de tipos, librería stdlib.h 318
Manejo de consola, librerías conio.h y conio2.h (Dev-C++ y Code::Blocks) 318
Bibliografía y recursos de programación 320
Índice analítico 323
Diseño de algoritmos y su codificación en lenguaje C, nos introduce a los conceptos fundamentales de la programación, especialmente en el diseño de algoritmos la programación estructurada y la codificación en lenguaje C con esta obra el lector recibe una orientación básica y fundamental en dicha área.
Las autoras parten de tres premisas básicas:
Programar es una tarea fácil.
La práctica fortalece la habilidad de programar.
El texto que tiene en sus manos esta estructurado en siete capítulos y un apartado de anexos. Los capítulos inician con una definición de conceptos teórico y culminan con un conjunto de ejemplos y ejercicios prácticos que el lector debe realizar para afianzar sus conocimientos.
Este material viene acompañado de un CD que contiene:
1. Aplicaciones.
2. Compiladores DEV+C++ y Code: Blocks.
3. Ejercicios complementarios.