|
Curso orientado para los programadores que requieran desarrollar
herramientas en lenguaje C y C++ bajo la plataforma y entorno de
desarrollo del sistema operativo Linux. Se contemplan rápidamente las
características de C y sus usos y aplicaciones iniciando desde los
fundamentos elementales hasta cubrir los aspectos más poderosos del
sistema.
El propio sistema Linux esta escrito en lenguaje C. El Lenguaje
de programación fue inventado espacialmente para implementar UNIX y
extenderlo ampliamente. Todos los comandos de Linux importantes que
el usuario emplea, más otras facilidades del sistema como la revisión
de claves secretas, programas de uso en redes y controladores de DVD
están escritas en C.
Durante el desarrollo de Linux, miles de funciones se han creado
para extender las facetas del sistema. Tales funciones están
disponibles para el programador en las propias librerías contenidas en
el sistema. Al crear programas en C y usando las librerías de Linux el
usuario tiene ahora la capacidad de construir herramientas realmente
poderosas.
- Introducción a la programación
- Un programa simple en c.
- Otro programa simple en c.
- Conceptos de memoria.
- Aritmética en c.
- Toma de decisiones: operadores de igualdad y
relacionales.
- Desarrollo de programas estructurales
- Algoritmos.
- Pseudocódigo.
- Estructuras de control.
- La estructura de selección
if.
- La estructura de selección
if/else.
- La estructura de repetición
while.
- Cómo formular algoritmos: Estudio de caso 1
(repetición controlada por contador).
- Cómo formular algoritmos con refinamiento
descendente paso a paso: Estudio de caso 2 (repetición controlada
por centinela).
- Cómo formular algoritmos con refinamiento
descendente paso a paso: Estudio de caso 3 (estructuras de control
anidadas).
- Operadores de asignación.
- Operadores incrementales y
decrementales.
- Control de programa.
- Lo esencial de la repetición.
- Repetición controlada por contador.
- La estructura de repetición for.
- La estructura for: comentarios y
observaciones.
- La estructura de selección múltiple
switch.
- La estructura de repetición
do/while.
- Los enunciados
break y
continue.
- Operadores lógicos.
- Confusión entre los operadores de igualdad
(
==) y de asignación (=).
- Programación estructurada.
- Funciones
- Módulos de programa en c.
- Funciones matemáticas de biblioteca.
- Funciones.
- Definiciones de función.
- Prototipo de funciones.
- Archivos cabecera.
- Cómo llamar funciones: llamada por valor y
llamada por referencia.
- Generación de números aleatorios.
- Clases de almacenamiento.
- Reglas de alcance.
- Recursión.
- Recursión en comparación con
iteración.
- Arreglos
- Cómo declarar arreglos.
- Cómo pasar arreglos a funciones.
- Cómo ordenar arreglos.
- Estudio de caso. Cómo calcular el promedio,
la mediana y el modo utilizando arreglos.
- Búsqueda en arreglos.
- Arreglos con múltiples subíndices.
- Punteros.
- Declaraciones e inicialización de variables
de apuntadores.
- Operadores de apuntador.
- Cómo llamar funciones por
referencia.
- Cómo usar el calificador const con
apuntadores.
- Ordenamiento de tipo burbuja utilizando
llamadas por referencia.
- Expresiones de punteros y aritmética de
apuntadores.
- Relación entre apuntadores y
arreglos.
- Arreglos de apuntadores.
- Apuntadores a funciones.
- Caracteres y cadenas.
- Fundamentos de cadenas y caracteres.
- Biblioteca de manejo de caracteres.
- Funciones de conversión de cadenas.
- Funciones de biblioteca estándar de
entradas/salidas.
- Funciones de manipulación de cadenas de la
biblioteca de manejo de cadenas.
- Funciones de comparación de biblioteca de
manejo de cadenas.
- Funciones de búsqueda de biblioteca de
manejo de cadenas.
- Funciones de memoria de la biblioteca de
manejo de cadenas.
- Otras funciones de la biblioteca de manejo de
cadenas.
- Entrada/salida con formato.
- Flujos.
- Salida con formato mediante
printf.
- Cómo imprimir enteros.
- Cómo imprimir números de punto
flotante.
- Cómo imprimir cadenas y caracteres.
- Otros especificadores de conversión.
- Cómo imprimir con anchos de campo y
precisiones.
- Uso de banderas en la cadena de control de
formato
printf.
- Cómo imprimir literales y secuencias de
escape.
- Formato de entrada con
scanf.
- Estructuras, uniones, manipulaciones de bits y
enumeraciones.
- Definiciones de estructura.
- Cómo inicializar estructuras.
- Cómo tener acceso a miembros de
estructuras.
- Cómo utilizar estructuras con funciones
typedef.
- Uniones.
- Operadores a nivel de bits.
- de bits.
- Constantes de enumeración.
- Procesamiento de archivos.
- La jerarquía de datos.
- Archivos y flujos.
- Cómo crear un archivo de acceso
secuencial.
- Cómo leer datos de un archivo de acceso
secuencial.
- Archivos de acceso directo.
- Cómo crear un archivo de acceso
directo.
- Cómo escribir datos directamente a un
archivo de acceso directo.
- Cómo leer datos directamente de un archivo
de acceso directo.
- c++ como un C ``mejorado''.
- Comentarios de una sola linea de
c++.
- Flujo de entrada/salida de c++.
- Declaraciones en c++.
- Cómo crear nuevos tipos de datos en
c++.
- Prototipos de funciones y verificación de
tipo.
- Funciones en línea.
- Parámetros de referencia.
- Asignación dinámica de memoria mediante
new y delete.
- Argumentos por omisión.
- Operador de resolución de alcance
unario.
- Homonimia de funciones.
- Especificaciones de enlace.
- Plantillas de función.
- Clases y abstracción de datos.
- Definiciones de estructuras.
- Cómo tener acceso a miembros de
estructuras.
- Cómo poner en práctica mediante un
struct un tipo time definido por el
usuario.
- Cómo implantar un tipo de dato abstracto
time con una clase.
- Alcance de clase y acceso a miembros de
clase.
- Cómo separar el interfaz de una puesta en
práctica.
- Cómo controlar el acceso a miembros.
- Funciones de acceso y funciones de
utilería.
- Cómo inicializar objetos de clase:
constructores.
- Cómo utilizar argumentos por omisión con
los constructores.
- Cómo utilizar destructores.
- Cuándo son llamados los destructores y los
constructores.
- Cómo utilizar miembros de datos y funciones
miembro.
- Cómo regresar una referencia a un miembro
de datos privado.
- Asignación por omisión en copia a nivel
de miembro.
- Reutilización de software.
- Clases
- Objetos de constantes y funciones de miembro
const.
- Composición: clases como miembro de otras
clases.
- Funciones amigo y clases amigo.
- Cómo utilizar el apuntador.
- Asignación dinámica de memoria mediante
los operadores
new y delete.
- Miembros de clase estáticos.
- Abstracción de datos y ocultamiento de
información.
- Clases contenedor e iteradores.
- Clases plantilla.
- Herencia
- Clases base y clases derivadas.
- Miembros protegidos.
- Cómo hacer la conversión explícita
(
cast) de apuntadores de clase base a apuntadores de
clase derivada.
- Cómo utilizar funciones miembro.
- Cómo redefinir los miembros de clase base
en una clase derivada.
- Clases base públicas, protegidas y
privadas.
- Clases base directas y clases base
indirectas.
- Cómo utilizar constructores y destructores
en clases derivadas.
- Conversión implícita de objeto de clase
derivada a objeto de clase base.
- Ingeniería de software con herencia.
- Composición en comparación con
herencia.
- Relaciones utilizan un y conoce
un.
- Estudio de caso:
point,
circle, cylinder.
- Herencia múltiple.
- Flujo de entrada/salida de c++.
- Flujos.
- Salida de flujo.
- Entrada de flujo.
- Entrada/Salida sin formato mediante
read, gcount y write.
- Manipuladores de flujo.
- Estados de formato de flujo.
- Estados de errores de flujo.
- Entradas/Salidas de tipos definidos por
usuario.
- Cómo ligar un flujo de salida con un flujo
de entrada.
|