Fundamentos de programación. Vol. I. Metodología

Fundamentos de programación. Vol. I. Metodología

(2ª edición)

El aprendizaje de un buen estilo y unos hábitos correctos de programación no debe estar supeditado a las características particulares del lenguaje final en el que será codificado. Por eso este primer volumen de Fundamentos de programación está dedicado a la "metodología", al "diseño de programas" para la resolución de problemas, teniendo en cuenta la importancia tanto de las "estructuras de datos" utilizadas como de los "algoritmos" ideados. El segundo volumen, Fundamentos de programación. Lenguajes, está dedicado a dos lenguajes concretos de programación: el "C", por ser uno de los lenguajes imperativos más extendidos y utilizados; y el "Pascal", por ayudar al programador a adquirir unos buenos hábitos.

  • Cover
  • Indice
  • Capítulo 1 Introducción. Computadores y Programas
    • 1.1. Informática: Computadores y programas
      • 1.1.1. Computadores
      • 1.1.2. Programas
    • 1.2. Representación de la información
    • 1.3. Programación del computador
      • 1.3.1. Fases del proceso de programación
    • 1.4. Compilación e interpretación
    • 1.5. Sistemas Operativos
    • 1.6. Esquema general de un Sistema Informático
    • 1.7. Evolución de los Sistemas Operativos respecto al Hardware
    • 1.8. Ejercicios
      • 1.8.1. Resueltos
      • 1.8.2. Propuestos
  • Capítulo 2 Tipos de Datos Elementales
    • 2.1. Elementos básicos
      • 2.1.1. Datos: Constantes y Variables
      • 2.1.2. Constantes
      • 2.1.3. Variables
      • 2.1.4. Tipos de datos predefinidos
      • 2.1.5. Tipos de datos definidos por el programador
    • 2.2. Expresiones
      • 2.2.1. Definición
    • 2.3. Ejercicios
      • 2.3.1. Resueltos
      • 2.3.2. Propuestos
  • Capítulo 3 Lenguaje algorítmico. Concepto de programa
    • 3.1. ¿Qué es un algoritmo?
      • 3.1.1. Procesos.
      • 3.1.2. Variables
      • 3.1.3. Areas de interés en el trabajo con algoritmos
    • 3.2. Lenguaje algorítmico o seudocódigo
    • 3.3. Especificación de un algoritmo.
      • 3.3.1. Predicados.
      • 3.3.2. Componentes de una especificación.
    • 3.4. Estructuras básicas del lenguaje algorítmico.
      • 3.4.1. Los comentarios.
      • 3.4.2. Declaración de variables y constantes.
      • 3.4.3. La asignación.
      • 3.4.4. La entrada/salida.
      • 3.4.5. La estructura secuencial.
      • 3.4.6. La estructura alternativa.
      • 3.4.7. La estructura iterativa.
    • 3.5. Técnicas de representación de algoritmos.
      • 3.5.1. Lenguaje algorítmico.
      • 3.5.2. Diagramas de flujo.
      • 3.5.3. Diagramas de cajas.
    • 3.6. Complejidad de un algoritmo.
      • 3.6.1. Medida del tiempo de ejecución de un algoritmo.
      • 3.6.2. Cálculo del tiempo de ejecución de un algoritmo.
    • 3.7. Características deseables de un programa.
      • 3.7.1. Corrección.
      • 3.7.2. Claridad.
      • 3.7.3. Eficiencia.
    • 3.8. Resumen
    • 3.9. Ejercicios.
      • 3.9.1. Resueltos
      • 3.9.2. Propuestos
  • Capítulo 4 Programación modular
    • 4.1. Criterios de descomposición modular
    • 4.2. Concepto de subalgoritmo
      • 4.2.1. Transferencia de información a/desde subalgoritmos: los parámetros
      • 4.2.2. Lista de parámetros actuales y formales
      • 4.2.3. Correspondencia de parámetros
      • 4.2.4. Paso de parámetros por valor y por referencia
    • 4.3. Variables locales y globales
    • 4.4. Efectos laterales
    • 4.5. Ámbito de un identificador
      • 4.5.1. Reglas de ámbito
    • 4.6. Acciones y funciones
      • 4.6.1. Diferencias entre acciones y funciones
    • Ventajas derivadas de la utilización de subprogramas
    • 4.7. Recursividad
      • 4.7.1. Tipos de recursividad
    • 4.8. Ejercicios
      • 4.8.1. Resueltos
      • 4.8.2. Propuestos
  • Capítulo 5 Estructuras de datos
    • 5.1. Introducción
    • 5.2. Vectores
      • 5.2.1. Vectores unidimensionales
      • 5.2.2. Operaciones básicas
      • 5.2.3. Vectores multidimensionales
      • 5.2.4. Representación de los vectores en memoria
    • 5.3. Vectores de caracteres
      • 5.3.1. Definición de una cadena de caracteres
      • 5.3.2. Operaciones básicas con cadenas
      • 5.3.3. Otras operaciones con cadenas
    • 5.4. Ordenación y búsqueda en vectores
      • 5.4.1. Búsqueda de un elemento en un vector
      • 5.4.2. Ordenación de vectores
    • 5.5. Registros
      • 5.5.1. Definición de registros
      • 5.5.2. Operaciones con registros
    • 5.6. Ficheros
      • 5.6.1. Soportes de almacenamiento
      • 5.6.2. Organización de ficheros
      • 5.6.3. Operaciones basicas sobre archivos
    • 5.7. Estructuras dinámicas lineales de datos
      • 5.7.1. Listas enlazadas
      • 5.7.2. Listas circulares
      • 5.7.3. Listas doblemente enlazadas
      • 5.7.4. Pilas
      • 5.7.5. Colas
    • 5.8. Ejercicios
      • 5.8.1. Ejercicios resueltos
      • 5.8.2. Ejercicios propuestos
  • Capítulo 6 Lenguajes de Programación
    • 6.1. Introducción
    • 6.2. Perspectiva histórica y evolución de los lenguajes de programación
    • 6.3. Concepto de Paradigma de Programación
      • 6.3.1. Paradigma Imperativo
      • 6.3.2. Paradigma Funcional o Aplicativo
      • 6.3.3. Paradigma Lógico
      • 6.3.4. Paradigma Orientado a Objetos (O[sup(2)])
    • 6.4. Lenguajes de Programación representativos de cada Paradigma
      • 6.4.1. Lenguajes Imperativos: PASCAL, C
      • 6.4.2. Lenguajes Funcionales: LISP
      • 6.4.3. Lenguajes Lógicos: PROLOG
      • 6.4.4. Lenguajes O[sup(2)]: SMALLTALK, C++
    • 6.5. Sintaxis de los Lenguajes de Programación
      • 6.5.1. Elementos sintácticos de un lenguaje
      • 6.5.2. Modelos de Representación Formal
    • 6.6. Semántica de los Lenguajes de Programación
    • 6.7. Propiedades de un buen Lenguaje de Programación
    • 6.8. Ejercicios
      • 6.8.1. Resueltos

SUBSCRIBE TO OUR NEWSLETTER

By subscribing, you accept our Privacy Policy