jueves, 31 de diciembre de 2015

La Escencia de la Lógica de la Programación


INTRODUCCIÓN


Durante muchos años he dedicado gran parte de mi tiempo no solo a la enseñanza de la Lógica de Programación sino al análisis de la enseñanza de dicha Lógica debido precisamente a que me he encontrado con que muchas personas confunden la Programación con la Lógica de Programación, la primera involucra el conocimiento de técnicas e instrucciones de un determinado lenguaje a través de los cuales se nos hace sencillo lograr que el computador obtenga unos resultados mucho mas rápido que nosotros. La segunda involucra, de una manera técnica y organizada, los conceptos que nos permiten diseñar en términos generales la solución a problemas que pueden llegar a ser implementados a través de un computador.
El estudio de la Lógica de Programación no exige ningún conocimiento previo de computadores ni de tecnología en general, tampoco exige la presencia de algún lenguaje de programación específico aunque no puedo negarle que éste podría permitirle, solo después que usted maneje bien los conceptos de lógica de programación, implementar y ver convertida en realidad las soluciones lógicas a sus objetivos.
Fueron muchos los alumnos que con el tiempo me fueron solicitando que les enseñara cuáles eran los conceptos realmente básicos para aprender a programar, o sea aquellos conceptos con los cuales es suficiente para enfrentarse a cualquier lenguaje de programación o, mejor aún, enfrentarse a lograr cualquier objetivo a través de un computador. Poco a poco fui buscando soluciones a las preguntas que mis alumnos me planteaban y veía que en sus dudas siempre estaba presente la búsqueda de conceptos esenciales que los liberara de las ataduras que tienen los lenguajes de programación cuando éstos son lo primero que se conoce en computadores.
Luego de muchos años de estudio de estos factores pude condensar en este libro los que considero que son los conceptos fundamentales para aprender realmente a programar o sea lo que he llamado La Esencia de la Lógica de Programación, pues busco que usted conozca estos elementos conceptuales y, luego de dominarlos, se enfrente sin ningún problema no solo a cualquier objetivo que pueda ser alcanzable a través de computadores sino además a cualquier lenguaje de Programación.
Puedo garantizarle que si usted lee este libro hoja por hoja y desarrolla los ejercicios aquí planteados, al llegar al final del mismo podrá (y se lo garantizo) entender que programar no es mas que buscar soluciones muy lógicas utilizando unos conceptos muy sencillos. Espero pues que este libro cumpla el objetivo planteado pues pensando en usted fue como se concibió. No se vaya a afanar por leerlo de una sola vez, tómese su tiempo para razonar y asimilar los conceptos que aquí se plantean. Este libro en ninguna de sus partes le mostrará conceptos complejos debido precisamente a que la lógica de programación es la unión de muchos (pero muchos) conceptos sencillos para el diseño de soluciones muy (pero muy) lógicas.
           
Share:

sábado, 26 de diciembre de 2015

Ansi C


CONTENIDO


1. INTRODUCCIÓN
1.1 Esquema general de un computador
1.1.1 Partes o elementos de un computador
1.1.2 La memoria: bits, bytes, palabras
1.1.3 Identificadores
1.2 Concepto de "programa"
1.3 Concepto de "función"
1.3.1 Conceptos generales
1.3.2 Nombre, Valor de retorno y Argumentos de una función
1.3.3 La función main( )
1.4 Tokens
1.4.1 Palabras clave del C
1.4.2 Identificadores
1.4.3 Constantes
1.4.4 Operadores
1.4.5 Separadores
1.4.6 Comentarios 
1.5 Lenguaje C 
1.5.1 Compilador 
1.5.2 Preprocesador 
1.5.3 Librería estándar 
1.6 Ficheros 
1.7 Lectura y escritura de datos 
1.8 Interfaz con el sistema operativo 
2. TIPOS DE DATOS FUNDAMENTALES. VARIABLES
2.1 Caracteres (tipo char) 
2.2 Números enteros (tipo int) 
2.3 Números enteros (tipo long) 
2.4 Números reales (tipo float) 
2.5 Números reales (tipo double) 
2.6 Duración y visibilidad de las variables: Modos de almacenamiento.
2.7 Conversiones de tipo implícitas y explícitas(casting) 
3. CONSTANTES 
3.1 Constantes numéricas 
3.1.1 Constantes enteras. 
3.1.2 Constantes de punto flotante 
3.2 Constantes carácter 
3.3 Cadenas de caracteres 
3.4 Constantes de tipo Enumeración 
3.4.1 Cualificador const 
4. OPERADORES, EXPRESIONES Y SENTENCIAS 
4.1 Operadores 
4.1.1 Operadores aritméticos 
4.1.2 Operadores de asignación 
4.1.3 Operadores incrementales 
4.1.4 Operadores relacionales 
4.1.5 Operadores lógicos 
4.1.6 Otros operadores 
4.2 Expresiones 
4.2.1 Expresiones aritméticas 
4.2.2 Expresiones lógicas 
4.2.3 Expresiones generales 
4.3 Reglas de precedencia y asociatividad 
4.4 Sentencias 
4.4.1 Sentencias simples 
4.4.2 Sentencia vacía ó nula 
4.4.3 Sentencias compuestas o bloques 
5. CONTROL DEL FLUJO DE EJECUCIÓN
5.1 Bifurcaciones
5.1.1 Operador condicional
5.1.2 Sentencia if 
5.1.3 Sentencia if ... else 
5.1.4 Sentencia if ... else múltiple 
5.1.5 Sentencia switch 
5.1.6 Sentencias if anidadas 
5.2 Bucles
5.2.1 Sentencia while
5.2.2 Sentencia for
5.2.3 Sentencia do ... while
5.3 Sentencias break, continue, goto
6. TIPOS DE DATOS DERIVADOS
6.1 Punteros
6.1.1 Concepto de puntero o apuntador
6.1.2 Operadores dirección (&) e indirección (*) 
6.1.3 Aritmética de punteros
6.2 Vectores, matrices y cadenas de caracteres
6.2.1 Relación entre vectores y punteros
6.2.2 Relación entre matrices y punteros
6.2.3 Inicialización de vectores y matrices
6.3 Estructuras
7. FUNCIONES
7.1 Utilidad de las funciones
7.2 Definición de una función
7.3 Declaración y llamada de una función
7.4 Paso de argumentos por valor y por referencia
7.5 La función main() con argumentos
7.6 Funciones para cadenas de caracteres
7.6.1 Función strlen()
7.6.2 Función strcat()
7.6.3 Funciones strcmp() y strcomp()
7.6.4 Función strcpy()
7.7 Punteros como valor de retorno
7.8 Paso de arrays como argumentos a una función
7.9 Punteros a funciones
8. FUNCIONES DE ENTRADA/SALIDA
8.1 Función printf()
8.2 Función scanf()
8.3 Macros getchar() y putchar()
8.4 Otras funciones de entrada/salida
9. EL PREPROCESADOR
9.1 Comando #include
9.2 Comando #define
9.3 Comandos #ifdef, #ifndef, #else, #endif, #undef
10. OTROS ASPECTOS DEL LENGUAJE C
10.1 Typedef
10.2 Funciones recursivas
10.3 Gestión dinámica de la memoria

11. LAS LIBRERÍAS DEL LENGUAJE C
            


Share:
Con tecnología de Blogger.