Fundamentos generales de programación

Autor: Luis Joyanes Aguilar

ISBN: 9786071508188

Editorial: McGraw-Hill

Edición: 1

Páginas: 368

Formato: 27.5x21

Cant. tomos: 1

Año: 2013

Idioma: España

Origen: México

Disponibilidad.: No Disponible

Gs 252.000
Este libro forma parte de una selección de títulos que han sido preparados para atender a los planes de estudio de las instituciones de educación superior. Dentro de las características pedagógicas están la orientación al modelo de competencias, los ejemplos y ejercicios renovados, y la estructura que facilita el desarrollo del pensamiento lógico para analizar fenómenos y resolver problemas.

Esta obra cubre los cursos iniciales de programación a nivel universitario y profesional. Con esta material, los alumnos se iniciarán en el campo de la programación, la utilización de pseudocódigos, así como los diagramas de flujo y algoritmos.

El objetivo central de este material es enseñarle al alumno cómo escribir programas en un lenguaje de programación basándonos en competencias que deberá asumir el alumno de sistemas computacionales o ingeniería informática.
CAPÍTULO 1 CONCEPTOS BÁSICOS DE COMPUTACIÓN Y PROGRAMACIÓN

Introducción
1.1 Breve revisión de la historia de las computadoras
1.1.1 Generaciones de computadoras
1.2 Componentes de una computadora
1.2.1 Hardware
Unidad central de proceso y memoria principal
Dispositivos de entrada y salida
Dispositivos de almacenamiento secundario
Dispositivos de comunicación
1.3 Software: conceptos básicos y clasificación
1.3.1 Software de sistema.
1.3.2 Software de aplicaciones
1.4 Sistema operativo
1.5 El lenguaje de la computadora
1.5.1 Unidades de medida de memoria
1.5.2 Representación de la información en las computadoras (códigos de caracteres)
1.5.3 Categorías de lenguajes de programación
1.5.4 Algoritmos y programas
1.6 Internet y la Web
1.6.1 La revolución Web 2.0
1.6.2 Los social media (medios sociales)
1.6.3 El desarrollo de programas web
1.6.4 Cloud computing (computación en la nube)
1.6.5 Software como servicio (SaaS)
1.6.6 Internet de las cosas
1.6.7 La Web semántica y la Web 3.0

CAPÍTULO 2 PROGRAMAS Y PROGRAMACIÓN

Introducción
2.1 Lenguajes de programación (programas y programación)
2.2 Traductores de lenguaje: el proceso de traducción de un programa
2.2.1 Interpretes
2.2.2 Compiladores
2.3 La compilación y sus fases
2.4 Evolución de los lenguajes de programación
2.5 Paradigmas de programación .
2.5.1 Lenguajes imperativos (procedimentales)
2.5.2 Lenguajes declarativos
2.5.3 Lenguajes orientados a objetos
2.6 Breve historia de los lenguajes de programación
2.7 Metodología de la programación
2.7.1 Programación estructurada
2.7.2 Programación orientada a objetos
2.8 Herramientas de programación
2.8.1 Editores de texto
2.8.2 Programa ejecutable
2.8.3 Proceso de compilación/ejecución de un programa
2.9 Consola de línea de comandos
2.10 Entorno de desarrollo integrado
2.11 Diferencias entre los lenguajes C++y Java
2.11.1 Java Virtual Machine (JVM)

CAPÍTULO 3 ALGORITMOS

Introducción
3.1 Fases en la resolución de problemas
3.1.1 Análisis del problema
3.1.2 Diseño del algoritmo
3.1.3 Herramientas de programación
3.1.4 Codificación de un programa
Documentación interna
3.1.5 Compilación y ejecución de un programa
3.1.6 Verificación y depuración de un programa
3.1.7 Documentación y mantenimiento
3.2 Programación modular
3.3 Programación estructurada
3.3.1 Datos locales y datos globales
3.3.2 Modelado del mundo real
3.4 Programación orientada a objetos
3.4.1 Propiedades fundamentales de la orientación a objetos
3.4.2 Abstracción
3.4.3 Encapsulación y ocultación de datos
3.4.4 Objetos
3.4.5 Clases
3.4.6 Generalización y especialización: herencia
3.4.7 Reusabilidad.
3.4.8 Polimorfismo
3.5 Concepto y características de algoritmos
3.5.1 Características de los algoritmos
3.5.2 Diseño del algoritmo
3.6 Escritura de algoritmos
3.7 Representación grafica de los algoritmos
3.7.1 Pseudocódigo
3.7.2 Diagramas de flujo
3.7.3 Diagramas de Nassi-Schneiderman (N-S)

CAPÍTULO 4 INTRODUCCIÓN A LA PROGRAMACIÓN

4.1 Concepto de programa
4.2 Partes constitutivas de un programa
4.3 Instrucciones y tipos de instrucciones
4.3.1 Tipos de instrucciones
4.3.2 Instrucciones de asignación
4.3.3 Instrucciones de lectura de datos (entrada)
4.3.4 Instrucciones de escritura de resultados (salida)
4.3.5 Instrucciones de bifurcación
4.4 Elementos básicos de un programa
4.5 Datos, tipos de datos y operaciones primitivas
4.5.1 Datos numéricos
4.5.2 Datos lógicos (booleanos)
4.5.3 Datos tipo carácter y tipo cadena
4.6 Constantes y variables
Constantes lógicas (boolean)
4.6.1 Declaración de constantes y variables
4.7 Expresiones
4.7.1 Expresiones aritméticas
Operadores de incremento y decremento
4.7.2 Reglas de prioridad
4.7.3 Expresiones lógicas (booleanas)
Operadores de relación
Operadores lógicos
Prioridad de los operadores lógicos
4.8 Funciones internas
4.9 La operación de asignación
4.9.1 Asignación aritmética
4.9.2 Asignación lógica
4.9.3 Asignación de cadenas de caracteres
4.9.4 Asignación múltiple
4.9.5 Conversión de tipo
4.10 Entrada y salida de información
4.11 Escritura de algoritmos/programas
4.11.1 Cabecera del programa o algoritmo
4.11.2 Declaración de variables
4.11.3 Declaración de constantes numéricas
4.11.4 Declaración de constantes, variables carácter y cadenas
4.11.5 Comentarios
Visual Basic 6/VB .NET
C++ y C#
Java
Pascal
Modula-2
4.11.6 Estilo de escritura de algoritmos/programas

CAPÍTULO 5 CONTROL DE FLUJO (I): ESTRUCTURAS DE SELECCIÓN

Introducción
5.1 El flujo de control de un programa
5.2 Estructura secuencial
5.3 Estructuras selectivas
5.4 Alternativa simple (si-entonces/if-then)
5.4.1 Alternativa doble (si-entonces-sino/if-then-else)
5.5 Alternativa múltiple (segun_sea, caso de/case)
5.6 Estructuras de decisión anidadas (en escalera)
5.7 La sentencia ir_a (goto)
5.8 Sintaxis de las estructuras de selección en C, C++y Java

CAPÍTULO 6 CONTROL DE FLUJO (II): ESTRUCTURAS DE REPETICIÓN

Introducción
6.1 Estructuras repetitivas
6.2 Estructura mientras ("while")
6.2.1 Ejecución de un bucle cero veces
6.2.2 Bucles infinitos
6.2.3 Terminación de bucles con datos de entrada
6.3 Estructura hacer-mientras ("do-while")
Análisis del ejemplo anterior
6.4 Diferencias entre mientras (while) y hacer-mientras (do-while): una aplicación en C++
6.5 Estructura repetir ("repeat")
6.6 Estructura desde/para ("for")
6.6.1 Otras representaciones de estructuras repetitivas desde/para (for)
6.6.2 Realización de una estructura desde con estructura mientras
6.7 Salidas internas de los bucles
6.8 Sentencias de salto interrumpir (break) y continuar (continue)
6.8.1 Sentencia interrumpir (break)
6.8.2 Sentencia continuar (continue)
6.9 Comparación de bucles while, for y do-while: una aplicación en C++
6.10 Diseño de bucles (lazos)
6.10.1 Bucles para diseño de sumas y productos
6.10.2 Fin de un bucle
Lista encabezada por el tamaño
Preguntar antes de la iteración
Lista terminada con un valor centinela
Agotamiento de la entrada
6.11 Estructuras repetitivas anidadas
6.11.1 Bucles (lazos) anidados: una aplicación en C++
6.12 Sintaxis de las estructuras repetitivas en C, C+ + y Java
Estructura de repetición (while): Java, C y C+ +
Estructura de repetición (do-while): Java, C y C++
Estructura de repetición (lazo o bucle): for
6.13 Sintaxis de saltos incondicionales: transferencias de control (C/C++, Java)
Continue
return

CAPÍTULO 7 FUNCIONES

Introducción
7.1 Introducción a los subalgoritmos o subprogramas
7.2 Funciones
7.2.1 Declaración de funciones
Sentencia devolver (return)
7.2.2 Invocación a las funciones
7.3 Procedimientos (subrutinas)
7.3.1 Sustitución de argumentos/parámetros
7.4 Ámbito (alcance): variables locales y globales
7.5 Comunicación con subprogramas: paso de parámetros
7.5.1 Paso de parámetros
7.5.2 Paso por valor
7.5.3 Paso por referencia
7.5.4 Comparaciones de los métodos de paso de parámetros
Modo por valor
Modo por referencia
Utilizando variables globales
7.5.5 Síntesis de la transmisión de parámetros
7.6 Funciones y procedimientos como parámetros
7.7 Los efectos laterales
7.7.1 En procedimientos
7.7.2 En funciones
7.8 Recursión (recursividad)
7.9 Funciones en C/C++, Java y C#
Paso de parámetros
7.10 Ámbito (alcance) y almacenamiento en C/C++ y Java
Definición y declaración de variables
7.11 Sobrecarga de funciones en C++ y Java
Sobrecarga en C++
Sobrecarga en Java
7.12 Funciones predefinidas
Java.
C++

CAPÍTULO 8 ARREGLOS (ARRAYS)

Introducción
8.1 Introducción a las estructuras de datos
8.2 Arrays (arreglos) unidimensionales: los vectores
8.3 Operaciones con vectores
8.3.1 Asignación
8.3.2 Lectura/escritura de datos
8.3.3 Acceso secuencial al vector (recorrido)
8.3.4 Actualización de un vector
8.4 Arrays de varias dimensiones
8.4.1 Arrays bidimensionales (tablas/matrices)
8.5 Arrays multidimensionales
8.6 Almacenamiento de arrays en memoria
8.6.1 Almacenamiento de un vector
8.6.2 Almacenamiento de arrays multidimensionales
8.7 Estructuras versus registros
8.7.1 Registros
Declaración de tipos estructura
8.8 Arrays de estructuras
8.9 Uniones
8.9.1 Unión versus estructura
8.10 Enumeraciones
Creación de variables
Asignación
Sentencias de selección caso de (switch), si-entonces (if-then)
Sentencias repetitivas
8.11 Ordenación de listas y arreglos
8.11.1 Método de intercambio o de la burbuja
8.11.2 Método de Shell
8.12 Búsqueda en listas y arreglos
8.12.1 Búsqueda secuencial

Glosario

APÉNDICES
APÉNDICE A Estructura de un programa en C, C++ y Java
APÉNDICE B Representación de la información en las computadoras
APÉNDICE C Códigos ASCII y UNICODE
APÉNDICE D Palabras reservadas de Java, C y C++
APÉNDICE E Prioridad de operadores C/C++ y Java
APÉNDICE F Bibliografía
APÉNDICE G Recursos de programación
No hay enlaces disponible
Libros Relacionados