Archivo de Abril 2008

inicio, apuntes

Abril 29, 2008

inicio

 

            En Dominicana estamos inmersos en un proceso eleccionario. Nuestras próximas elecciones presidenciales son el 16 de mayo de este 2008. Y para muchos resultan ser unas elecciones más, sin que se vea luz al final del túnel. Algunos hablan de una verdadera crisis del sistema de partidos.

            Casi toda la propaganda de los partidos ha consistido en señalar las fallas, actuales o pasadas, de los otros. Claro, no han faltado las promesas, ni la llamada demagogia. Y a muchos nos queda el amargo sabor de la desilusión en el paladar político.

            No creo que estemos en crisis. Si así fuera, al menos habría una esperanza, pues, como decía J.F. Kennedy, escrita en chino la  palabra crisis tiene dos caracteres: Uno significa peligro, y el otro oportunidad. Creo que en nuestro caso no hay oportunidad alguna.

            Y no es que sea pesimista. Al contrario. Me considero un optimista a ultranza. Pero creo que es inútil cerrar los ojos a la realidad, intentar tapar el sol con un dedo. Entiendo que nuestro país está cayendo en un foso cada vez más profundo, y si no ha tocado fondo, es precisamente porque no hay fondo.

            No sólo el sistema de partidos está en franca decadencia. También lo están los “sistemas” educativo, energético, transporte, salud, y pare usted de contar. Gobiernos van y gobiernos vienen, prometiendo solucionar estos problemas, y lo que se aprecia es un deterioro cada vez mayor. Creo que esto no es exageración.

            Pero tampoco es un lamento. Quisiera estar equivocado. Ojalá alguien me probara que estoy fundamentalmente equivocado en esto. Ciertamente es un cuadro preocupante. No estamos ante una encrucijada en el camino del progreso, sino cayendo por un muy empinado precipicio.

            Y ahora se me puede preguntar: Y tú, ¿qué propones? ¿Tienes algo positivo qué aportar? Y yo diría que quizá no. No me considero tan inteligente como para señalar una salida, o, al menos, proponer una manera de frenar tan acelerada caída. Por ello entiendo a tantos dominicanos que se han marchado al extranjero.

            Una vez alguien propuso las que llamó tres preguntas racionales, a saber: ¿Dónde estoy? ¿Dónde quiero estar? ¿Cómo sé que estoy llegando allí? Si les hacemos estas tres preguntas a nuestro país, particularmente a los que parecen dirigirlo, ¿qué responderían?

            Y este bien pudiera ser inicio, optimista, para empezar a mitigar, al menos, la caída en que creo estamos como nación. Hacernos estas tres preguntas racionales. Hacerlas a los políticos, en especial a los candidatos, que nos digan dónde cree que está el país, hacia dónde quieren que vaya, y lo más importante, cómo llevarlo allí.

            Percibo a nuestro país como un barco sin rumbo. Sin metas claras, sin un proyecto de nación que nos sirva de carta de navegación, que nos permita establecer prioridades, que nos sirva como base de una estrategia global para la geopolítica, y de las tácticas de los retos inmediatos y locales.

            Pero pareciera que prefiramos, al decir de un profesor que conozco, practicar asiduamente la improvisación estratégica, el ir friendo y comiendo, aparejando la carga en el camino. Así puede que tengamos un golpe de suerte, pero lo más probable es que sigamos en picada, como hasta ahora.

            Iremos a votar. Votaremos. Y luego veremos como todo se sigue deteriorando. Seguiremos viendo crecimiento sin desarrollo, reducción de las exportaciones y aumento de las importaciones, incremento de las debilidades a las catástrofes naturales, disminución de nuestra capacidad de sobre vivencia.

            Mas puede que esté equivocado. Que en algunos, mucho más inteligentes y valientes que yo, empiecen, o ya hayan empezado, a concebir, presentar y exigir respuestas a las tres preguntas racionales, de las que emerge un proyecto de nación acorde con lo que sonaron los padres de nuestra patria.

 

ecabrera.blog.apuntes.política.inicio.abril.2008

democracia, apuntes

Abril 29, 2008

democracia

           

            Para los griegos la democracia era el gobierno del pueblo, en oposición al gobierno tiránico. De ahí que crearan el parlamento, donde el pueblo era representado por medio de los senadores y diputados. En Dominicana conservamos esta caricaturesca  concepción griega.

            Algunos dicen que tenemos una democracia formal, es decir, teórica, no de hecho, a lo cual me adhiero. Nuestro pueblo tiene cada vez menos poder y un grupo cada vez más pequeño ejerce una mayor cuota de poder sobre la mayoría.

            Sin embargo no creo que el verdadero problema sea la concentración del poder o su distribución, porque a fin de cuentas lo vital es cómo y con qué objetivos se ejerce poder. Si se ejerce bien, me parece indiferente el que esté concentrado  o distribuido el poder.

            Un tirano que ejerza el poder absoluto para el máximo bienestar de las mayorías es preferible, entiendo yo, a un estado de anarquía en que cada quien hace lo que le place, imperando la ley del más fuerte, que resulta ser, casi siempre, una minoría oculta detrás del tirano.

            Por ello más bien creo que antes de la representación y el ejercicio del poder, viene lo que se ha llamado el bien común, una entidad bastante elusiva, por cierto. La democracia formal, en sí misma, no promueve el bien común, y un tirano puede procurarlo de todo corazón.

            Es difícil establecer qué es el bien común. Algunos entienden que es, simplemente la felicidad de la mayor cantidad de gente posible. Pero el concepto de felicidad es también bastante problemático, hasta subjetivo, para muchos, aunque entiendo que tiene ver con la satisfacción de necesidades humanas.

            Puede que haya un punto de entrada en lo que son las necesidades básicas comunes, entre las que están agua, alimento, vivienda, ropa, educación, energía, trabajo, circulación, expresión. Por mencionar sólo algunas. Hay mucho qué discutir luego de satisfechas las necesidades básicas, pero poco antes de satisfacerlas.

            Entiendo que el peor tirano que procure, alcance y mantenga satisfechas estas necesidades a más del 95% de la población de su país, será amado por su pueblo. Y la democracia más representativa que no lo haga, será considerada, de hecho, una dictadura de la desigualdad.

            Puede que no tenga sentido llamar democrático a un ejercicio del poder donde predominan grandes brechas de acceso a la riqueza, tangible e intangible, entre grupos de la población. De hecho, la horizontalidad en el acceso y uso de la riqueza es mejor distintivo de democracia que la representatividad.

            Así que me inclino por llamar democracia al acceso y uso aleatorio de la riqueza por  parte de la mayoría inmensa de la población. Una distribución justa de la riqueza es democracia plena, aunque haya un tirano sentado en el trono.

            Y contra esto no hay propaganda ideológica que valga. No habría que malgastar grandes sumas de dinero en publicidad y propaganda para defender las virtudes de una democracia que la gente experimenta de hecho y en verdad. Hasta se le podría llamar dictadura de la ley.

            Pero el poder corrompe, y los que actualmente lo ejercen, en todo el planeta, no están realmente  interesados en la democracia, sino en profundizar las brechas de acceso y uso de la riqueza. Están absolutamente convencidos que los seres humanos no somos iguales, sino que unos tienen derecho a la felicidad y los otros no.   

 

ecabrera.blog.apuntes.política.democracia.abril.2008

Función (C 3)

Abril 10, 2008

Función

            Una función puede redactarse para ser invocada por otra, como la función main(), el programa. Una función pretende ser una solución general a un solo problema específico, de manera que sea una pieza o parte de la solución de un problema mayor.

            El formato de una función es:

 tipo nombre (parametros) {

               

Instrucciones

 }

            Donde tipo es una tipo básico de C (int, flota, char, double, void), nombre es el nombre asignado a la función y que cumple las mismas reglas que un nombre de variable. Entre los paréntesis se colocan los parámetros de retorno y de entrada, y el cuerpo de la función son las instrucciones que lo conforman.

            Los parámetros de retorno (si los hay) son variables que corresponden a valores que la función retorna a la que la invoca, y los de entrada son los que la función recibe. Para ilustrar, consideremos el algoritmo areaTriangulo ya discutido.

            Si nos limitamos a calcular el área de un triángulo, el leer del usuario los valores de la base y la altura, y desplegar el valor del área no es esencial, sino que se puede asumir que los valores de la base y de la altura llegan y que el valor del área se retorna.

            El parámetro de retorno, en este caso es, pues, el área, y los parámetros de entrada son la base  y la altura. Por tanto, podemos redactar la función  areaDeTriangulo() así:

 

void areaDeTriangulo (float *area, float b, flota h) {

                // retorna area de un triangulo dadas la base y la altura

 

         *area = (b*h)/ 2;

 }

 

            Se asume que los valores de la base y la altura del triángulo llegan a la función areaDeTriangulo y que son recibidos en los parámetros b y h. Similarmente, el valor del área del triángulo calculado en la función es retornado en el parámetro area.

Note que para indicar que el area es un parámetro de retorno, se le precede con asterisco, *, tanto en la lista de parámetros, como en el cuerpo de la función. Y se dice que se recibe no sólo el valor, sino la dirección de memoria donde reside el valor de area.

Se puede redactar otra versión de areaDeTriangulo() retornando el valor de  area usando el tipo de la función y no como parámetro. En este caso se usa una variable local a la función y se retorna su valor con la instrucción return:

float areaDeTriangulo (float b, float h) {

// retorna area de un triangulo dadas la base y la altura

                foat area; // area

 

         area = (b*h)/ 2;

         return area;

 }

            Podemos redactar ahora una versión del programa areaTriangulo() en que se asuma la invocando a la función areaDeTriangulo():

 // areaTriangulo.c, calcula area de un triangulo, dadas la base y la altura

 

#include <stdio.h>

#include <stdlib.h>

 

float areaDeTriangulo(float b, float h);

 

int main() {

                float base, altu, area; // base, altura, area

 

                printf(“Calcula area de un triangulo, dasa la base y la altura.\n\n”);

 

                printf(“Base: “);

                scanf(“%f”, &base);

  

                printf(“Altura: “);

                scanf(“%f”, &altu);

 

                area = areaDeTriangulo(base, altura);

 

                printf(“Area: %f\n\n”, area);

 

                system(“pause”);

                return 0;

}

 

float areaDeTriangulo (float b, float h) {

// retorna area de un triangulo dadas la base y la altura

                foat area; // area

 

         area = (b*h)/ 2;

         return area;

 }

 

Note que se ha declarado la función areaDeTriangulo() (un nombre ligeramente distinto para reducir confusión) pues, de manera similar a las variables, es un recurso que se va a utilizar, y se ha hecho antes de la cabecera de main(), para que sea global.

            Luego se ha invocado desde la función main() y finalmente se ha detallado luego de la función main(). Note que los nombres de las variables en la función main() no tienen que coincidir con los nombres de  parámetros en la función.

            Las variables base, altura y a se declaran en el programa, y luego se piden al usuario los valores de la base y la altura y se guardan en esas variables, pero para calcular el área del triángulo no se hace directamente en el programa, sino que se invoca a la función areaDeTriangulo().

            Esto significa que los valores leídos en las variables base y altura se pasan al subalgoritmo areaDeTriangulo(), los cuales son recibidos en los parámetros b y h, respectivamente, y allí se calcula el área, que se guarda en la variable area del subalgoritmo y se retorna a la variable area del algoritmo.

            Note que el valor de la variable base del programa es pasado al parámetro b de la función y el valor de la variable altura es pasado al parámetro h de la función, por lo que los nombres no tienen que ser iguales para las variables que se pasan y se reciben.

            Sin embargo, pueden usarse los mismos nombres, pues no se confunden ya que cada variable se encuentra en un ámbito distinto, ya sea en el programa, o en la  función. Los que sí tiene que ser iguales son los tipos de las variables correspondientes en el programa y en la función.

            Otra versión del programa, pero usando el valor a retornar como parámetro, a lo cual se llama paso por referencia, podría ser:

 

 // areaTriangulo.c, calcula area de un triangulo, dadas la base y la altura

 

#include <stdio.h>

#include <stdlib.h>

 

void areaDeTriangulo(float *area, float b, float h);

 

int main() {

                float base, altu, area; // base, altura, area

 

                printf(“Calcula area de un triangulo, dadas la base y la altura.\n\n”);

 

                printf(“Base: “);

                scanf(“%f”, &base);

  

                printf(“Altura: “);

                scanf(“%f”, &altu);

 

                areaDeTriangulo(&area, base, altura);

 

                printf(“Area: %f\n\n”, area);

 

                system(“pause”);

                return 0;

}

 

void areaDeTriangulo (float *a, float b, float h) {

// retorna area de un triangulo dadas la base y la altura

 

         *a = (b*h)/ 2;

}

            Note que para pasar la referencia de la variable area desde el programa ala función se usa el prefijo &, y para recibirla, tanto en la declaración de la función como en su detalle, se usa el prefijo *.

            ecabrera.abril.2008

 

fundación (SF)

Abril 2, 2008

Una de las obras, de ficción o no, que más me ha impresionado es Fundación, de Isaac Asimov, una trilogía que eventualmente se convirtió en “multilogía”, pues su éxito fue tal que el autor tuvo que crear varios otros libros de saga.

Asimov dice que se inspiró en algunas consecuencias que sacó de su estudio acerca de los acensos y descensos de los imperios de la antiguedad, encontrando cierta regularidad en ello, y sobre esta base creó una obra fantástica que se desarrolla en un futuro muy lejano de la humanidad.

He sacado algunas aplicaciones prácticas de esta obra, y viniendo para la oficina hace unos momentos se me ocurrió compartir con mi eventual lector una de ellas, y tiene que ver con el momento político y social que vive nuestro país, a saber, la República Dominicana.

Algunos percibimos que el grueso de las instituciones está secuestrado por la informalidad, la corrupción, entre jinetes que  las asedian, al punto de que no parece haber salida. Es algo así como un imperio que ha entrado en franca e imparable  decadencia, similar al imperio galáctico que imagina Asimov en Fundación.

Se me ocurre entonces que aquellos que de verdad entienden que la caída de este imperio local de la corrupción es inminente e inevitable, podrían establezcer una fundación “en el extremo de la galaxia”. Abundaré sobre esto, Dios mediante, en otro momento, pues tengo que ir a clases…

ecabrera.abril.2008.