Presentación del libro en Marcilla

Gracias a todos los compañeros que habéis asistido hoy a la presentación de mi libro Empezar de cero a programar en lenguaje C en la sala de profesores y, en especial a Julia, por organizar el evento. Aquí os dejo una foto del mismo.

Presentación en Marcilla del libro -Empezar de cero a programar en lenguaje C- de Carlos Pes
Por cierto, en la foto también podéis ver a Julia presentando el libro "Fungi. El placer de cocinar con setas" del marido de nuestra compañera Patricia, Carlos Ruíz de Vergara. Son 50 recetas de cocina muy sencillas y apetitosas, os lo recomiendo.

Donación de libros

El año pasado, por estas fechas, doné a la biblioteca de la Universidad Politécnica de Valencia (donde yo estudié) varios ejemplares del libro Empezar de cero a programar en lenguaje C. Podéis consultar en la siguiente dirección:

http://www.upv.es/bib/ Encontraréis mi libro fácilmente si buscáis por autor e introduciendo mi nombre completo: Carlos Javier Pes Rivas

De vez en cuando, ojeo la disponibilidad de los libros y, casi siempre, observo que hay más de un libro prestado. Así pues, esto me ha animado a realizar nuevas donaciones este año.

Por lo que, ya me he puesto en contacto con varias universidades y pronto enviaré los libros. En cuanto lo haga os haré saber de qué universidades se trata.

¿Qué es un ordinograma?

En programación, antes de escribir un programa en un lenguaje de programación específico (C, Pascal, ...), es conveniente diseñar un algoritmo para definir los pasos o acciones que debe llevar a cabo el programa en cuestión.

Pues bien, dicho algoritmo se suele diseñar utilizando pseudocódigo o, también, un ordinograma. El pseudocódigo es un lenguaje de programación intermedio entre el lenguaje natural y cualquier lenguaje de programación específico. Sin embargo, mediante un ordinograma se puede representar el mismo algoritmo, pero, de manera gráfica.

Para saber más acerca de cómo se diseña un algoritmo utilizando ordinogramas y en comparación con el pseudocódigo, podéis visitar los siguientes enlaces de mi Web:

Llamadas a subalgoritmos - Capítulo 2

Terminado el capítulo 2 del libro siguiente a Empezar de cero a programar en lenguaje C, puedo adelantar el índice del mismo:

2.1 INTRODUCCIÓN
2.2 PROBLEMAS Y SUBPROBLEMAS
2.3 SUBPROGRAMAS
...2.3.1 Procedimientos
...2.3.2 Declaraciones locales y globales
......2.3.2.1 Declaración de subprogramas
...2.3.3 Parámetros
......2.3.3.1 Parámetros formales
......2.3.3.2 Parámetros actuales
......2.3.3.3 Paso por valor
......2.3.3.4 Paso por referencia
...2.3.4 Funciones
...2.3.5 Representación mediante diagramas de flujo
...2.3.6 Codificación en lenguaje C
2.4 RECURSIVIDAD

En el capítulo explico qué son los subprogramas (procedimientos y funciones) y cómo podemos diseñar subalgoritmos en pseudocódigo y con ordinogramas. Todo ello mediante ejemplos y sus correspondientes trazas.

Hay que saber que en lenguaje C todo son funciones. No obstante, los procedimientos se pueden simular con funciones de tipo void en las que no será necesario hacer uso de la instrucción return, ya que, dichas funciones no devolverán ningún valor.

Por otra parte, en lenguaje C no existe el paso de parámetros por referencia, sino que, todos son por valor, de forma que, para simular el paso de parámetros por referencia haremos uso de punteros (también llamados apuntadores).

En el capítulo también se muestra de que forma se ve afectada la memoria del ordenador cuando se hace una llamada a una función, para así poder comprender mejor el paso de parámetros y el uso de la pila.

Instrucciones de control de salto - Capítulo 1

"En programación estructurada, no se considera una buena práctica hacer uso de las instrucciones de control de salto, pero, ¿por qué entonces, casi todos los lenguajes de programación permiten codificarlas?"

De esta forma comienza el capítulo 1 del libro siguiente a Empezar de cero a programar en lenguaje C. El capítulo ya lo he terminado de escribir y, por ahora, puedo adelantaros el índice de contenidos del mismo:

1.1 INTRODUCCIÓN
1.2 INSTRUCCIONES DE SALTO
...1.2.1 interrumpir
......1.2.1.1 La instrucción break
...1.2.2 continuar
......1.2.2.1 La instrucción continue
...1.2.3 ir_a
......1.2.3.1 La instrucción goto
...1.2.4 volver
......1.2.4.1 La instrucción return
1.3 VENTAJAS DE NO USAR LAS INSTRUCCIONES DE SALTO

En el capítulo se presentan las instrucciones de control de salto en pseudocódigo (interrumpir, continuar, ir_a y volver) y en C (break, continue, goto y return), así como, la conveniencia de no hacer uso de ellas, en especial de la instrucción goto.

Además, se presentan ejemplos de cómo se pueden reescribir los algoritmos (programas) que las usan. De todas formas, también hay que tener en cuenta que, en ocasiones, es inevitable usarlas. Por ejemplo, la instrucción break se emplea en la sintaxis de la instrucción switch.

¿Qué es el pseudocódigo CEE?

Se me ocurrió llamar así al pseudocódigo que utilizo en el libro EMPEZAR DE CERO A PROGRAMAR EN LENGUAJE C, ya que, la mayoría de palabras utilizadas en dicho pseudocódigo son una traducción del inglés al castellano y, aunque la correspondencia entre un algoritmo escrito en pseudocódigo CEE (C En Español) y su codificación al C no es del 100%, sí he pretendido que sea lo más didáctico y entendible posible para el estudiante.

De modo que, por ejemplo, el siguiente algoritmo, que sirve para mostrar por pantalla los primeros diez números naturales:

algoritmo Numeros_del_1_al_10
variables
...entero contador
inicio
...contador 1
...hacer
......escribir( contador )
......contador contador + 1
...mientras ( contador <= 10 )
fin

Se puede codificar en C de la siguiente manera:

#include <stdio.h>

int main()
{
...int contador;

...contador = 1;
...do
...{
......printf( "%d ", contador );
......contador++;
...} while ( contador <= 10 );
...return 0;
}

En donde, a primera vista, se pueden observar las siguientes correspondencias:
  • Para la instrucción de asignación: en pseudocódigo (←) y en C (=).
  • Para una instrucción de salida: en pseudocódigo (escribir) y en C (printf).
  • Para la instrucción repetitiva del ejemplo: en pseudocódigo (hacer..mientras) y en C (do...while). Nótese que, por ejemplo, en Pascal se escribe (repeat...until), es decir, (repetir...hasta).
En cualquier caso, aunque he pretendido que el pseudocódigo CEE sirva, especialmente, para facilitar su posterior codificación al lenguaje C, también he querido que no implique mucha dificultad su codificación a otros lenguajes, como Pascal. De hecho, ya estoy pensando en codificar todos los ejemplos y ejercicios del libro en dicho lenguaje.

Además, en el pseudocódigo CEE también he incluido otros aspectos del lenguaje C, como son: las mismas reglas de sintaxis para escribir los identificadores o la misma prioridad de operadores.

Empezar de cero a programar en lenguaje C

Hace poco más de un año (julio de 2006) que publiqué el libro y, haciendo balance, estoy bastante contento con la aceptación que ha tenido, ya que, a pesar de las dificultades que tuve en su momento para editarlo, de vez en cuando recibo emails felicitándome y preguntándome para cuándo terminaré el siguiente libro, cosa que, evidentemente, me anima a seguir escribiendo. Por lo que, desde aquí, quiero agradecer públicamente las felicitaciones recibidas y, en cuanto al siguiente libro, me gustaría tenerlo terminado para junio de 2008 como muy tarde. Actualmente, ya he escrito dos capítulos:

1. Instrucciones de control de salto
2. Llamadas a subalgoritmos (subprogramas)

Y estoy preparando el tercero, en donde explico los arrays.

¡Bienvenido a mi blog!

Quiero dar la bienvenida a todos aquellos que os animéis a visitar mi blog. Esto es sólo el principio, de forma que, si queréis saber algo más de mí, podéis visitar el siguiente enlace:

www.carlospes.com/carlospes.php

Saludos a todos.

Blog de Carlos Pes