29
Mar 14

Entrevista Candidatura Podemos a Radio Pirata

1982357_10202214180730846_201202061_n

Este martes la gente de Radio Pirata me han hecho una entrevista para la Candidatura de las Primarias abiertas de Podemos.

Quiero nuevamente agradecerles que me dieran esta oportunidad y desearle mucha suerte a Luis Cuerdo, candidato del Círculo Podemos de Londres.

Share
28
Mar 14

Video de Presentación para las Primarias Ciudadanas de Podemos

1982357_10202214180730846_201202061_n

Os dejo aquí el vídeo de mi presentación para las Primarias Ciudadanas de Podemos.

No me dio tiempo a prepararme el "discurso", así que no es gran cosa, pero mi cuñado grabando y mi novio con la iluminación y montaje han hecho un curro increible.

¡Muchísimas gracias!

Share
25
Mar 14

¿Qué es Podemos?

1982357_10202214180730846_201202061_n

Durante los últimos meses he visto muchos artículos de Podemos, pero ninguno dejaba claro cómo funcionaba realmente este movimiento social, y la mayoría directamente lo definía como el Partido de Pablo Iglesias. Quizás sea porque al no estar dentro y ver el quehacer diario se tiende a encorsetar a Podemos en la imagen típica de Partido Político, donde hay jerarquías y líderes, pero esta imagen poco tiene que ver con podemos.

Aprovechando que formo parte de un Círculo Podemos, quisiera explicar cómo se gestó Podemos, cómo se organiza, y cuál es su meta.

Hace poco más de dos meses, el 17 de Enero, Pablo Iglesias presentó una iniciativa, “Mover ficha: convertir la indignación en cambio político”, que era un método para la gestión de partidos políticos de forma horizontal y abierta, así como unos mínimos programáticos enfocados a la izquierda. Esta propuesta no sólo vino de la mano de Pablo Iglesias, que era la cara visible, sino que muchos otros participaron en su confección: pensadores, politólogos, activistas, escritores, periodistas….

Para tener legitimidad suficiente se pidieron 50.000 firmas vía online, meta que se alcanzó en menos de un día. Esto da buena fe de la necesidad que tiene la ciudadanía de un cambio en el modelo político de este país.

Podemos surgió por tanto como una iniciativa política, no como partido.

Los padres del manifiesto inicial se reunieron con la mayoría de grupos de Izquierda para proponerles seguir esta metodología de cara a las europeas, pero por desgracia ninguno de ellos quiso adoptarla. Por tanto, no quedó más remedio que registrarse como Partido Político e ir por libre.

Podemos tiene un modo organizativo similar al del 15M. Está conformado por un gran número de Círculos que pueden tener carácter territorial o sectorial (autónomos, sindicatos, educación, inmigración…). Los círculos, además, deberán realizar su toma de decisiones de manera asamblearia y no estarán cerrados a nadie, por lo que cualquier ciudadano puede asistir, opinar y votar. En Podemos no hay afiliados, sólo ciudadanos que colaboran con el movimiento.

Para formar un círculo sólo hay que crear una Página de Facebook y avisar a la promotora.

La Promotora coordina con los Círculos: plazos, consejos de autogestión y demás tareas de carácter organizativo, pero el Círculo mantiene su autonomía. Eso sí, los mínimos de la Promotora son el respeto a la Declaración Universal de Derechos Humanos.

Por ejemplo, yo estoy en el Círculo de Alcorcón – localidad donde resido – el cual se formó hace dos meses cuando uno de nuestros compañeros creó la página de Facebook. Con el tiempo hemos crecido, pero no somos más de quince personas por asamblea. Eso sí, todos vecinos normales que poca o ninguna vinculación tenían anteriormente con la política, y deseosos de que se incorporen más caras al grupo.

Hemos seguido muchos de los consejos aportados por la promotora, pero otros, en cambio, no. La promotora no tiene ni voz y voto sobre el propio Círculo, pero el afán de colaboración y la unión de unas propuestas básicas que todos compartimos, hacen que habitualmente haya un entendimiento entre ambas partes.

Al mes de vida, una serie de expertos formó un programa de mínimos y se dio una semana para que cualquier ciudadano pudiera hacer enmiendas o añadidos de esos puntos. Una vez concluida esta fase, se dio un plazo de un mes para que cualquier Círculo enviara también modificaciones y mejoras sobre el programa. El plazo de esta fase terminó el 23 de Marzo, pero la idea es que dicho programa sea dinámico y siempre reciba cambios y adicciones de la ciudadanía.

Por otra parte, Podemos está también realizando unas primarias ciudadanas abiertas para la confección de las listas europeas. Para ello, el ciudadano que quisiera presentarse debía de ser avalado al menos por un círculo y cada círculo podía avalar como máximo a tres candidatos. Hasta el 18 de Marzo cada círculo envió, en caso de que avalaran candidatos, el acta en el que esta decisión se aprobaba por votación asamblearia.

En el caso de mi Círculo se escogieron sólo a dos candidatos, ya que no hubo más voluntarios. Los dos candidatos no sólo tuvimos que acceder a serlo, sino que teníamos que recibir la aprobación en asamblea de nuestro Círculo.

Los candidatos a estas elecciones no son tampoco candidatos como los que estamos habituados a ver. No son líderes que ordenan y mandan, sino que tienen que firmar un documento que les compromete a obrar en todo momento respetando las decisiones de las bases, así como condiciones sobre el salario máximo a percibir como eurodiputado (no puede superar 3 veces el SMI, por ejemplo).

Por tanto, los representantes de Podemos que irán al Parlamento Europeo son portavoces en la defensa del programa económico, social y político (programa mínimo) y mensajeros de la voz de los ciudadanos que representa.

Durante esta semana los ciudadanos pueden consultar los perfiles de todos los candidatos desde la web de podemos.info, en la sección de Candidaturas, y todos por igual, independientemente de nuestro origen o estatus, podemos recibir el aval de los ciudadanos para ir en las listas de Podemos. Se han presentado nada menos que 141 candidatos.

Lo más importante en estas primarias no son las caras, sino que el mayor número de ciudadanos participen en las votaciones, tanto yendo como candidatos como a la hora de votar. Es de esta forma que Podemos tendrá legitimidad suficiente para representar a la ciudadanía.

Para votar es recomendable consultar los perfiles y meditar mucho el voto. Podemos no sólo pretende cambiar el funcionamiento de los partidos políticos, sino fomentar las actitudes responsables por parte de la ciudadanía. Es por ello que debemos de quitarnos esa manía de votar guiándonos por corazonadas, es decir, por lo bien que nos caiga un candidato. Hay que leer, ver qué opina ese candidato y sopesar si sería un buen portavoz y representante de los ciudadanos.

Podemos necesita de todos para que el cambio sea viable. Si uno no puede presentarse a candidato o colaborar en un círculo presencialmente, siempre puede participar en las votaciones con las que se confeccionarán las listas e interactuar a través de las redes sociales. Porque Podemos no es el partido de Pablo Iglesias, sino el partido de los Ciudadanos.

Por mi parte solo me queda animaros para que participéis en las votaciones online que darán comienzo el dia 27 de Marzo y terminarán el 2 de Abril, e invitaros a que os acerquéis a la asamblea de vuestro Círculo más cercano para que podáis comprobar por vosotros mismos que lo que digo es cierto.

Share
24
Mar 14

22M: La criminalización sistemática de los ciudadanos.

banner22M

Este sábado Madrid vivió uno de los días más grandes de la Democracia. Más de un millón de personas se juntaron en la capital para pedir al gobierno no pagar la deuda contraida por los bancos, parar la política injusta de recortes, y dar la espalda de una vez a la Troika.

Según El País, ese medio que hasta hace poco era de “izquierdas” y ahora sigue la línea editorial de La Razón, fuimos 50.000. Pena que la gente tenga ojos y pueda extrapolar de las fotos existentes aéreas los verdaderos datos. De todas formas, sólo hay que compararla con las del JMJ y veremos que en el 22M había más densidad de personas que en la Misa de las Familias, que supuestamente albergó a más de un millón de personas.

Este sábado vi familias con niños, gente mayor, jóvenes...personas de todo tipo que estaban unidas por la indignación y rechazo ante las políticas del gobierno. La manifestación fue en todo momento pacífica y no hubo ningún altercado hasta las 20.30h, momento en el que la policía cargó ante una plaza atestada de personas y coincidiendo con la apertura de informativos. Curioso que los incidentes ocurran siempre a la misma hora.
22m-vs-jmj
El gobierno lleva un mes criminalizando a las marchas. Primero eran extrema derecha, al día siguiente eran extrema izquierda....Total, que la delegación del gobierno criminalizó a ciudadanos normales y aprovechó para desplegar un dispositivo policial sin precedentes, de 1.700 agentes.

Se registraron y retuvieron autobuses que venían a las marchas y se negaron lugares de asilo para que la gente que venía caminando desde todos los confines de España pudiera descansar.

De nuevo hay clases y clases. Los católicos del JMJ tuvieron multitud de centros públicos, se les regaló transporte, se les daba de comer gratis...pero si los que se manifiestan lo hacen para quejarse de las políticas del gobierno, la cosa ya cambia.

Por muchas trabas que pongan, por mucho que criminalicen a los ciudadanos y orquesten disturbios, el pueblo está despertando. El 22M puede ser el punto de inflexión en las protestas. El verdadero comienzo de nuestra Primavera Árabe.

Ya se hablaba este fin de semana de caminar hacia la huelga general y realizar más marchas. Ojalá no hagan falta y el PP decida gobernar para sus ciudadanos. Quizás hoy, que tiene lugar en el Congreso la capilla ardiente de un político con principios, como Adolfo Suárez, se les pegue un poco de ese talante democrático que tanto les hace falta. Por desgracia lo dudo. Nuestro gobierno ya nos ha demostrado que carece de espíritu de autocrítica.

Share
20
Mar 14

Un mundo injusto sólo puede cambiar si luchamos todos

1982357_10202214180730846_201202061_n

Durante los más de 100 años de historia del Capitalismo han habido crisis cíclicas en el trascurso de los años. Además, estas crisis han sido más constantes desde que el capitalismo se desreguló y el neoliberalismo tomó el mando. Actualmente estamos inmersos en una de ellas.

El Capitalismo se basa en dos grandes pilares: el libre mercado y la competencia. Estos conceptos llevan implícitos a su vez una serie de valores éticos: individualismo, egoísmo, codicia y falta de empatía. Las crisis como la nuestra siempre vienen precedidas de épocas donde estos valores éticos están más extendidos en nuestra sociedad.

El Neoliberalismo por otra parte, no es más que el Capitalismo llevado al extremo. Esta corriente nació a mediados del siglo pasado de la mano de Milton Friedman y defiende la desregulación total y la ausencia absoluta de derechos para el trabajador. Según ellos, los mercados se autorregularán por ciencia infusa.

Friedman comenzó a poner su teoría en funcionamiento en la Chile de Pinochet, y más tarde en la Inglaterra de Margaret Thatcher y la USA de Reagan. En todos los casos se privatizaron las empresas nacionales y se empeoraron los derechos de los trabajadores. El resultado fue una mayor brecha entre pobres y ricos y una pérdida de riqueza por pate del estado.

Por otro lado, la historia nos está enseñando que el Neoliberalismo ha ido mejorando sus técnicas con el progreso de la tecnología y la ciencia.

La “ingeniería” económica ha ocasionado una radicalización de estas posturas y de forma, además, difícilmente palpable por el pueblo. Esa es la principal diferencia que tiene la crisis actual con otras pasadas.

Antes se distinguía entre capital, dueño y gestor, y los trabajadores. En cambio, ahora las empresas se conforman por los accionistas (que a su vez pueden ser otras empresas), que son los dueños de la empresa, los gestores, es decir, el consejo de administración, y los trabajadores, que a su vez se subdividen en infinidad de categorías profesionales.

En las empresas actuales los accionistas sólo quieren tener el máximo beneficio a final de año. Estos accionistas pueden despedir a sus gestores si no les gustan los resultados o moverse de un sector a otro de forma muy rápida, aumentándose así visiones muy cortoplacistas donde se busca el mayor beneficio anual individual, no la consecución de empresas sólidas, duraderas y que generen riqueza a la sociedad.

Los ejecutivos, es decir, los gestores, ganan ingentes bonos anuales que les empujan a conseguir el máximo beneficio posible, aunque esto sea a base de despidos, reducciones en la calidad del trabajo o firmando acuerdos y/o proyectos que a todas luces serán perjudiciales a largo plazo (véase las hipotecas subprime).

Los trabajadores dejamos de ser personas y se nos denomina “recursos”. Para ese ejecutivo poco importa si tienes hijos, una casa por pagar, o una enfermedad grave. Sólo importa su bono a final de año, con el que se comprará un nuevo Porche o se pegará unas buenas vacaciones en Copacabana con la familia.

Los trabajadores por su parte sueñan con llegar a ser como ese ejecutivo. Fantasean con una casa en la playa, con un gran coche, con viajes a destinos paradisiacos... Si para conseguir alcanzar esa meta tienen que pisar a otros compañeros no sólo no estará mal visto, sino que seguramente recibirá alguna recompensa en forma de ascenso. El trabajador tiene la sensación de estar más cerca de su meta pero sigue siendo un simple trabajador. Pocos o ninguno llegarán a ser como ese gran ejecutivo, porque a diferencia de la idea que tenía Adam Smith, la igualdad de oportunidad son los padres.

No se lucha en igualdad de condiciones cuando ese ejecutivo cuenta con titulaciones regaladas en universidades privadas, con masters carísimos impartidos en USA, y que además entra en esos órganos de administración sin experiencia directamente (en España se llama enchufe). Tu posición y la de tu familia son determinantes para conseguir estas metas, así que la libertad de oportunidades es un espejismo que nos venden para fomentar esa competitividad insana.

Estas brechas no sólo ocurren entre ejecutivos y trabajadores, sino que también existen entre grandes multinacionales y pequeñas empresas, y entre compañías financieras y productoras de bienes.

Gracias a la “ingeniería” financiera, las corporaciones que más beneficio obtienen son mayoritariamente aquellas que no producen bienes para la sociedad: La Banca.

Los poderes financieros se dedican a sacar márgenes de beneficio moviendo capitales de una empresa a otra (siendo accionistas), o comprando productos de primera necesidad, que luego retendrán y venderán en los picos de mayor carestía. Por tanto, no sólo no aportan nada a la sociedad, sino que roban parte del beneficio a las empresas que fabrican esa riqueza. Si miráis la lista Forbes veréis que las tres empresas más ricas del mundo pertenecen a la Banca, y que entre las diez primeras seis de ellas se dedican a este sector.

Por otra parte, las empresas que realmente producen bienes cada vez son menos (se las comen las grandes trasnacionales), y las potentes además son propiedad casi por completo de los poderes financieros. Sus industrias se encuentran en países del tercer mundo, en lugares donde los derechos humanos son una quimera y pueden explotar a sus trabajadores hasta niveles de semiesclavitud.

Ya no existen aquellas empresas en las que el patrón se preocupaba por su producción y que cuidaba a sus trabajadores para que fueran productivos. Todas esas empresas van desapareciendo o siendo absorbidas por los grandes grupos.

En 2011 un grupo de economistas y estadísticos de Suiza publicó un estudio el que se realizaba un seguimiento de nada menos que 43.060 multinacionales. En este estudio se constató que apenas 737 de ellas controlaban el 80% del valor accionarial total. Además, el 40% del valor de todas las trasnacionales del mundo pertenece a un pequeño grupo de 147 empresas, de las cuales tres cuartas partes son entidades financieras. Es decir, la riqueza mundial se encuentra en mano de unos pocos.

Si además tiráramos un poco más del hilo de esos grandes grupos seguiríamos encontrándonos más y más empresas tapadera, muchas de ellas con paso previo por un paraíso fiscal. Es muy difícil seguir estas trazas, pero muchas de ellas nos llevan a unas pocas familias que dominan el mundo. ¿Quiénes? Pues solo hay que mirar quienes son los dueños del Fondo de Reserva Federal de USA: Goldman Sachs, Rockefeller, Lehman, Loebs, Rothschild, Morgan, Warburg, Lazards, Moisés Seifs...

Estos grandes grupos para más inri no sólo ganaron dinero con la burbuja, sino que lo siguen haciendo en plena crisis. Aprovechan las privatizaciones para seguir haciendo negocio a precios de ganga.

En un mundo capitalista el poder se adquiere por medio del dinero, por lo que estos grandes grupos son las instituciones con mayor influencia del mundo. Pueden variar el rumbo de la economía mundial a su antojo, y tienen dinero y puestos de sobra con los que sobornar políticos.

Por ejemplo, el ayuntamiento de Madrid ha vendido toda su bolsas de viviendas a un fondo buitre por poco más de 70.000€ por vivienda. Dicho fondo buitre, Cerberus Capital Management, es propiedad del expresidente de Lehman Brothers, y está asociada con Poniente Capital, empresa donde ocupa un buen cargo de responsabilidad el hijo de Aznar y Botella.

Otro caso destacable es el de la sanidad. Tanto Capio como Ribera Salud, las dos empresas dominantes de la gestión privada de la sanidad, pertenecen a un gran fondo de inversiones, CVC. Tanto en Capio como en Ribera encontramos en los puestos de administración familiares o allegados al gobierno, como el marido de Cospedal.

Resumiendo, seguimos como en el Medievo. Unos pocos poderosos ordenan y acumulan la riqueza del mundo, mientras el 99% tenemos que servirles.

Esta crisis no es económica, sino de moral. Si queremos dejar de sufrir tantas injusticias y maltrato tenemos que variar nuestra propia forma de pensar.

Los trabajadores somos la verdadera fuerza de trabajo, los que producimos y hacemos progresar esta sociedad. Botín podrá conseguir grandes acuerdos comerciales o tener información privilegiada que le lleve a realizar operaciones comerciales muy beneficiosas, como la venta del activo inmobiliario de su banco poco antes de explotar la crisis. Obviamente esa visión es útil para una empresa pero, ¿de qué sirve esta visión empresarial si no hay empleados que realicen el trabajo? ¿Es justa esta brecha brutal entre unos y otros?

Somos el 99%, los que realmente generamos la riqueza y movemos este mundo. Hace más de un siglo nuestros antepasados consiguieron una jornada laboral de 8 horas y mayores derechos gracias al avance de la ciencia y la tecnología. Con las máquinas se conseguía producir más y en menos tiempo. Éste campo ha seguido avanzando durante este tiempo, pero el margen de beneficio, tanto de horas como de sueldo, no se ha repartido entre los trabajadores, sino que nutren a los grandes empresarios.

Si distribuimos la riqueza de forma equitativa todos podremos vivir con dignidad. Un tercio de la comida mundial se tira para poder tener precios altos en los alimentos, cuando con esa comida desperdiciada podría comer todo el tercer mundo.

Quizás no haya Ferrraris circulando por nuestras autopistas, ni grandes mansiones en primera línea de playa, pero tampoco veríamos mendigos durmiendo en la calle ni familias haciendo cola en comederos sociales.

Algunos dirán que no hay otro sistema posible, pero esos deberían preguntarse qué habría sido de la Revolución Industrial si sus antepasados hubieran pensado de esta forma.

Hay fórmulas como las cooperativas de trabajadores que han demostrado en muchas ocasiones que son soluciones distributivas de la riqueza y donde, además, la productividad de los trabajadores (que a su vez son los dueños) es infinitamente superior.

La tecnología también es una herramienta útil para nosotros. A través de aplicaciones informáticas e Internet podemos construir una Democracia Participativa y Directa. La oligarquía actual no nos lo pondrá fácil, pero hay que luchar por conseguir un futuro más justo.

¿Cuál es la clave? La colectividad, la Unión. Un solo individuo no puede hacer nada para cambiar las cosas, pero muchos juntos pueden mover el mundo. Tenemos que volver a los antiguos valores de la Solidaridad, el Colectivismo, el Altruismo, el Compromiso social...Esa es la solución.

Podemos pretende ser esa alternativa a al sistema. Gracias a la unión de los ciudadanos bajo un proyecto común podremos cambiar el sistema, podremos conseguir que el mundo sea más justo. ¡Lucha tu también por el cambio! ¡Participa en Podemos!

Share
18
Mar 14

Carta de Presentación como candidata a las Primarias Ciudadanas de Podemos por el Círculo de Alcorcón

1982357_10202214180730846_201202061_n

Mi nombre es Mar Millán, tengo 27 años y soy originaria de Tenerife. Me diplomé en ingeniería Técnica en Informática de Sistemas en la Universidad Politécnica de Madrid y trabajo como programadora senior en una consultora informática. Actualmente vivo con mi pareja en Alcorcón.

Como la gran mayoría de trabajadores y jóvenes de este país vivo sin saber que será de mí el día de mañana, sin posibilidades de alcanzar mis metas y sin un futuro claro que pueda permitirme cosas tan locas como formar una familia.

Soy una más. Alguien que pertenece al 99% y está cansada de tantomaltrato. Poco importa el nombre, el origen o la condición de los cada uno. Poco importa quién sea yo. Podemos no va de eso.

Somos millones los desheredados por este sistema. Los que con nuestro sudor movemos este país día a día para poder pagar los desmanes de los grandes poderes financieros. Personas que se han ganado la vida dignamente y nunca han vivido por encima de sus posibilidades. Ciudadanos que vemos como sistemáticamente nos privan de nuestros derechos humanos más básicos, para que una oligarquía de políticos y poderosos puedan seguir viviendo en la abundancia.

Más del 50% de los jóvenes se encuentran ahora mismo sin un trabajo y muchos de ellos se ven obligados a emigrar a otros países como mano de obra barata. Curiosamente muchos de los países destino suelen ser los mismos que guían los designios de estamentos no-democráticos como la Troika, el BCE o el FMI. Esos países, al igual que el nuestro, están gobernados por políticos a los que sólo les importa salvar las empresas que más tarde les darán puestos de responsabilidad en sus consejos. El perjuicio ocasionado a sus propios conciudadanos les trae sin cuidado.

700.000 hogares españoles carecen actualmente de ingresos y no cuentan con la protección de ningún gobierno. Los que tienen algún ingreso, o bien es en negro, obligados por los empresarios que ofrecen estas condiciones, o tienen contratos en los que los derechos son papel mojado.

Los que gobiernan Europa quieren países del tercer mundo donde las grandes empresas de sus regiones puedan ofrecer productos a precios “competitivos”. El problema es que para competir con países como China o Bangladesh hay que tirar a la basura los Derechos Humanos por los que tanto lucharon nuestros antepasados. La Troika, el BCE y el FMI nos demuestran día tras día que esa es su hoja de ruta, y que prefieren defender los márgenes de beneficio de los empresarios que la dignidad de los ciudadanos.

La Democracia es una forma de organización social donde las decisiones las toma el conjunto de la sociedad, pero en España y en Europa no se gobierna según los designios de la población, por mucho que nos digan que vivimos en Democracia.

Cada cuatro años damos el aval para que un partido gobierne sin contar con nuestra opinión. Estos regímenes despóticos cuatrienales aparentan ser diferentes, pero en momentos de crisis como ésta podemos percibir mejor que nunca que todos están controlados por los mismos, por los grandes
poderes empresariales y financieros.

Es hora de que el gobierno sea por y para los ciudadanos., que seamos nosotros los que decidamos nuestro propio destino. Tenemos el derecho y la obligación de volver a soñar, de pensar que un mundo más justo es una meta alcanzable.

Con las nuevas tecnologías una democracia directa es posible. Se pueden construir herramientas vía Internet donde los ciudadanos puedan proponer, cambiar y decidir lo que hará su gobierno. No obstante, los partidos políticos existentes no sólo no fomentan esta vía, sino que la intentan coartar con Leyes Sinde y pro-AEDE.

Es por ello que tenemos que cambiar el sistema desde dentro, formar un partido donde se tomen las decisiones de forma horizontal y abierta. Un partido que muestre que otra forma de hacer política es posible y que en un futuro pueda tener poder suficiente para cambiar este sistema sin recurrir a la violencia.

Por tanto, los candidatos no somos más que simples portavoces de lo que los ciudadanos decidan votar a través de estas herramientas, y nuestra única meta debe de ser siempre un futuro donde no haga falta delegar tu responsabilidad en otros.

Al menos eso es lo que buscamos desde el Círculo de Alcorcón, y me siento halagada de que mis compañeros quieran que represente estos valores. Gracias.

Twitter: @marmillang
Facebook: Mar Millán García
Blog: www.informaticafrustrada.es

Share
13
Mar 14

Pildoritas de POO y Java: Conceptos básicos de programación. Sentencias

pildoras poo java
Hoy ponemos punto y final a la parte de Conceptos Básicos de Programación de las Pildoritas de POO y Java, donde veremos la última parte de los algoritmos, las sentencias.

Veremos las sentencias de E/S, las funciones y las sentencias de flujo. Con esto y lo visto en las otras dos pildoritas anteriores, ya tendremos unos conocimientos aceptables de programación para poder afrontar la parte de Programación Orientada a Objetos.

Sentencias

Hasta donde hemos visto hasta ahora, las instrucciones de un algoritmo se ejecutan de forma secuencial, pero a veces necesitamos sólo ejecutar una parte del código o repetir varias veces un conjunto de instrucciones. Además, podemos interactuar con dispositivos de E/S o invocar porciones de código encapsulas por medio de un identificador.

Sentencias de E/S

Las sentencias de entrada y salida son aquellas que interactúan con el resto de dispositivos del ordenador. Por ejemplo, esperar a que el usuario introduzca un valor por consola, o que haga click sobre una determinada porción de la pantalla.

En el caso de Java, la entrada y salida se gestiona a partir de una clase (tipo, hablando de forma burda) que viene por defecto en la Máquina Virtual de Java, la clase System.

// Muestra por pantalla el mensaje pasado por parametro (de tipo String)
System.out.println("OLA K ASE?")

Funciones

Las funciones son módulos independientes de código que se ejecutan solamente cuando se les invoca y que pueden, o no, devolver un valor.

En la Programación teórica los módulos que no devuelven valor son procedimientos, y aquellos que sí lo hacen, se llaman funciones. En Java y otros lenguajes como C no existe tal separación y un procedimiento simplemente es una función que no devuelve valor alguno.

Veamos un ejemplo de una función:

int suma (int op1, int op2) {
	int resultado = op1 + op2;
	return resultado;
}

Y un procedimiento sería simplemente una función que no devuelve nada (void).

void suma2 (int op1, int op2) {
     int resultado = op1 + op2;
     System.out.println("La suma es: " + resultado);
}

* Cuando una sentencia incluye más de una instrucción se utilizan las llaves, {}, para indicar que esa porción de código pertenece a dicha sentencia.

La sentencia return es por sí misma una sentencia de flujo. Podemos indicar la sentencia return en otra parte de la función, lo que cortaría la ejecución de ésta y volvería al código principal.

Para llamar a una función lo haríamos de la siguiente forma:

int a = suma (3, 5);  //a vale 8

Las funciones pueden recibir, o no, parámetros, que irán indicados entre paréntesis y separados por coma. Los parámetros pueden ser de dos tipos, de paso por valor o por referencia.

En el primer caso, se realiza una copia a nivel de función de la variable. Cuando pasamos una variable por referencia, los cambios que realicemos en la función también afectarán a la variable que indicamos en la llamada a la función.

En Java, el paso de los parámetros siempre se realizará por valor.

Sentencias de control de flujo

Las sentencias de control de flujo dirigen el flujo del programa por una parte de código determinada, dependiendo de unas condiciones fijadas.

Hay varios tipos de sentencias de control de flujo: los ifs, los bucles, los capturadores de excepciones y otros muchos más.

if-then-else

La sentencia if-then-else es la sentencia más básica de control de flujo. Indica al compilador o intérprete que debe evaluar una parte del código sólo sí una determinada condición es verdadera. La parte del else es opcional.

Veamos varios ejemplos:

if (a < b) 
     c = 1;
else
     c = 2;

// Si a es menor que b, c valdrá 1, en caso contrario, valdrá 2

También podemos concatenar varios else seguidos de una condición indicada por el if:

if (a==b)
     c  = 0;
else if (a < b)
     c = 1;
else
     c = 2;

Si vamos a evaluar el valor de una variable cualquiera y necesitamos un gran número de bloques else, podemos utilizar la sentencia switch:

int mes;
switch (mes) {
     case 1:  System.out.println("Enero"); break;
     case 2:  System.out.println("Febrero"); break;
     case 3:  System.out.println("Marzo"); break;
     case 4:  System.out.println("Abril"); break;
     case 5:  System.out.println("Mayo"); break;
     case 6:  System.out.println("Junio"); break;
     case 7:  System.out.println("Julio"); break;
     case 8:  System.out.println("Agosto"); break;
     case 9:  System.out.println("Septiembre"); break;
     case 10: System.out.println("Octubre"); break;
     case 11: System.out.println("Noviembre"); break;
     case 12: System.out.println("Diciembre"); break;
     default: System.out.println("Mes incorrecto.");break;
 }

Los break, como veremos luego, también son sentencias de flujo por sí mismas. Lo que hacen las sentencias break es salir de sentencias de flujo, como son los ifs, switch y bucles. Por ejemplo, en este ejemplo utilizamos un break porque de lo contrario se seguirían evaluando el resto de casos del switch.

Bucles

Los bucles se utilizan para ejecutar un conjunto de instrucciones varias veces basándose en una condición determinada que indicará si el flujo debe continuar ejecutando este bloque de instrucciones o si por el contrario deberá salir del bucle y continuar la ejecución del resto del código fuente.

Hay diferentes tipos de bucles, veamos cuales son y en que se diferencian.

while y do-while

Los bucles while y do-while ejecutan un conjunto de instrucciones mientras se cumpla una determinada condición. Estos bucles se suelen utilizar cuando no conocemos el número de repeticiones.

while (expresión) {bloque de instrucciones}

do {bloque de instrucciones} while (expresión)

Se ejecutarán las sentencias incluidas entre las llaves del bloque while mientras la expresión de ésta se cumpla.

int contador;
while (contador > 1) 
     contador--;

do {
     contador--;
} while (contador > 1);

La diferencia entre while y do-while es que el bucle while primero evalúa la expresión y luego ejecuta el bloque de instrucciones, mientras que do-while primero ejecuta la porción de código y después evalúa la expresión. Por tanto, el bucle do-while se ejecutará al menos una vez.

for

El bucle for es el que utilizaremos cuando conozcamos el número de repeticiones. En la mayoría de ocasiones se ven cuando recorremos Listas, Vectores, o cualquier otro tipo de Colecciones.

En Java existen dos tipos de bucle for: el básico, que tiene una sintaxis idéntica a C, y el mejorado, que está especialmente diseñado para recorrer colecciones.

for básico
En el for básico indicaremos una variable y su inicialización, que utilizaremos como contador, la condición de parada, y por último, el incremento que se realizará sobre el contador en cada ejecución del bucle.

Su sintaxis en Java es la que sigue:

for (inicialización ; condición de terminación ; incremento) { 
     bloque de instrucciones 
}

Veamos un ejemplo práctico:

final int INTERACCIONES = 10;

for (int i = 0; i < INTERACCIONES; i++) 
     System.out.println("Interacción número " + i);

for mejorado
En el for mejorado se indicará en primer lugar el elemento del método que se evalúa en ese momento, y tras esto, la colección a evaluar.

int[] array = {2, 4, 6, 8, 10};
int sumatorio = 0;

for (int elemento : array) {
     sumatorio += elemento;
     System.out.println("El elemento evaluado es: " + elemento);
}

Los for mejorados siempre pueden traducirse en for básicos:

int[] array = {2, 4, 6, 8, 10};
int sumatorio = 0;
int elemento = 0;

for (int j = 0; j < array.length; j++) {
     sumatorio += elemento;
     System.out.println("El elemento evaluado es: " + elemento);
}
System.out.println("El sumatorio del array vale: " + sumatorio);

Otras sentencias de flujo

Excepciones
El tratamiento de excepciones es una técnica de programación que permite al programador controlar errores ocasionados durante la ejecución de un programa.

Las excepciones son eventos que interrumpen la ejecución del programa. Por noma general estas excepciones se lanzan cuando ocurre un error en el programa, ya sea por acceder a una variable vacía, leer un fichero que no existe..., y lanzadas por el propio programador.

Además, las excepciones pueden capturarse por medio de bloques try-catch-finally.

En el bloque try se ejecuta el código que se desea “controlar”.

El bloque catch será aquel que se ejecute cuando se lance una de las excepciones a capturar.

Por último, el bloque finally es opcional y se ejecutará SIEMPRE, se capture o no un error.

Hay muchos tipos de error, pero el más genérico es Exception.

try {
     if (metros > LIMITE_MAX)
          throw new Exception("Limite máximo demasiado grande");
     else
          metrosCuadrados = metros * metros;
} catch (Exception e) {
     e.printStackTrace();
}
finally {
     System.out.println("Fin del bloque");
}

Tampoco entraremos mucho en este tema, ya que es un concepto más avanzado de Java que me gustaría explicar en profundidad al final de las pildoritas.

break
El comando break hace que automáticamente el flujo salga del if o el bucle que lo contiene, sin evaluar el resto de código de esa parte.

while(i > 0) {
     if (i == 3) break;
     i--;
}

Si la variable i vale 3 en algún momento, se saldrá del bucle while.

return

Como ya adelantábamos en la parte de funciones, el bloque return también puede redirigir el flujo del programa, ya que puede cortar la ejecución de una función saliendo al código principal.

String devolverMes(int codigo) {
	     switch (codigo) {
	          case 1:  return "Enero";
	          case 2:  return "Febrero";
	          case 3:  return "Marzo";
	          case 4:  return "Abril";
	          case 5:  return "Mayo";
	          case 6:  return "Junio";
	          case 7:  return "Julio";
	          case 8:  return "Agosto";
	          case 9:  return "Septiembre";
	          case 10: return "Octubre";
	          case 11: return "Noviembre";
	          case 12: return "Diciembre";
	          default: return "Mes incorrecto";
	     }
	}

Si los bucles if-then-else o switch contemplan todos los posibles casos, no hará falta tener un return final. De no ser así, habrá que colocar un return al final de la función. De no ser así se mostraría un error en su compilación.

Si queremos cortar la ejecución del código de una función que no devuelve nada (void) utilizaremos la sentencia return sin devolver nada: return;

Bajo mi punto de vista, hay que evitar los break para salir de una sentencias de flujo. Siempre es más controlable y comprensible introducirlo como una propia condición más y jugar con variables locales.

Los return también es mejor utilizarlos sólo al final de la función, y que se lleve una variable del tipo de la función que almacene los valores que queremos devolver.

 

Y ya por fin, terminamos la parte de conceptos básicos. Ahora que tenéis unos conocimientos generales de Java y programación, puedo continuar con el tema principal de este post, la Programación Orientada a Objetos.

Mientras veamos POO también seguiremos viendo más cosas de Java y al final de todo, seguramente dedique alguna pildorita a ver conceptos importantes en Java que no hayan podido ser abarcadas en las restantes pildoritas.

Índice de Pildoritas

Share
5
Mar 14

Ilusión por el cambio: Podemos.

Los que me conozcáis sabréis que llevo un tiempo buscando un movimiento político en el que participar para cambiar las cosas. Llega un momento en el que una se cansa de quejarse y lamentarse sin más, de que le invada la desidia y piense que no se puede cambiar nada.

He ido a algún que otro evento de diferentes partidos para informarme y buscar el que me resultara más cercano a mi forma de pensar. Buscaba propuestas que correspondieran a mis ideas sobre economía, educación, sanidad, justicia…, y estructurado de forma horizontal. Un 15M con una meta clara y ánimo de intentar cambiar el sistema desde dentro.

Por todos los que pasé me surgió la misma duda: “¿Realmente este movimiento es horizontal?” Veía grupos de gente que destacaba sobre otros, procesos de listas abiertas con selecciones “sospechosas”, poca claridad sobre la posibilidad de participar, y así un largo etcétera de detalles que me echaban para atrás. Sin embargo, no desfallecía. Me informaría de todos los partidos posibles del espectro y me metería en el mejor de ellos, aunque no fuera todo de mi agrado.

CartelCuadradoPromocionPrensaUno de los grupos en los que me interesé fue Podemos. Me encantaba que surgiera por fin una iniciativa que intentara unificar la izquierda, con un programa y una lista de candidatos escogida por medio de verdadera democracia directa. No obstante, me surgían dudas. ¿Por qué Pablo Iglesias era el líder y no otro? ¿Qué pasaba con el acuerdo de IU? ¿Conseguirían convencer a IU en crear listas abiertas o acabarían sucumbiendo al dedismo? Aún así quería como en otros casos, pasarme antes por alguna asamblea para informarme.

Se había creado hacia unas semanas un Círculo en el pueblo en el que resido, Alcorcón, así que me pasé por su primera asamblea. Lo que allí me encontré me enamoró desde el primer momento.

Fuimos poco más de una decena de personas, pero a todas nos unían las mismas cualidades. Eramos gente normal, que compagina sus quehaceres diarios con la vocación de colaborar en cambiar las cosas. Personas que no tiene afán de protagonismo o notoriedad y simplemente quieren que el mundo sea mejor.

Encontré allí gente que me entendía y no me trataba de loca por preocuparme tanto por la política. Personas normales que aportaban ideas. Ciudadanos que votaban con total normalidad y respetaban las opiniones de los demás. Por un momento volví a sentir aquel que espíritu de ilusión y esperanzas por el cambio que me embargó en los comienzos del 15M.

Tenía algo claro, aunque no las tuviera todas conmigo iba a poner mis energías en aquel proyecto, en aquel Círculo de Alcorcón que se preocupaba por sus vecinos y que quería hacer algo por mejorar las condiciones de todos.

Desde que acabó aquella asamblea, todos hemos colaborado poniendo nuestro granito de arena y en menos de una semana hemos hecho grandes avances. Tenemos cartelería, redes sociales, actas, folletos informativos... un montón de cosas que sería imposible que consiguiera una única persona.

Mientras tanto, la “cúpula” de Podemos me demostró mientras tanto que no iban a aprovecharse de nosotros y hacer lo que les viniera en gana, que de verdad buscaban lo mismo que mis compañeros de Alcorcón.

IU se desvinculó de Podemos y decidió perder la mayor oportunidad que había tenido jamás en su historia de alzarse como estandarte de la Izquierda. Volvieron a optar por las listas a dedo y para colmo mandaron a Izquierda Abierta a la ignominia. Podemos por su parte anunció que visto lo visto se presentarían por su cuenta, y que lo harían a través de primarias abiertas.

Ayer Podemos anunció el proceso de construcción de las listas: Estas serían abiertas a cualquier ciudadano. Sólo había que ir a tu círculo más cercano – aunque fuera la primera vez – y presentarte y votar. Cada círculo escogería a tres candidatos, y estos se votarán de forma abierta por Internet (Si os interesa saber más del proceso de selección visitar este link)

Gracias a lo vivido esta semana y a los anuncios de la central de Podemos he decidido consagrarme a este proyecto. Quizás me equivoque, pero intentaré por todos los medios que esta iniciativa, que me parece un rayo de esperanza en este país roto por la corrupción, las desigualdades y la pobreza, salga adelante. Colaboraré como pueda, por insignificante que sea mi ayuda.

Por eso, os animo a que os informéis de donde está vuestro círculo más cercano. Id y participar, votad a vuestros candidatos, o presentaros si de verdad tenéis el compromiso desinteresado que eso conlleva. Una sola persona no puede hacer nada por cambiar el mundo pero todos juntos somos legión.

Share
3
Mar 14

Pildoritas de POO y Java: Conceptos básicos de programación. Operaciones

pildoras poo java
En la anterior pildorita de POO y Java vimos qué era un algoritmo y enumeramos los tipos de instrucciones que los componen y que nos permiten describir un problema: Datos, Operaciones y Sentencias. Además, vimos la primera parte, los Datos.

En esta pildorita vamos a ver el siguiente componente que forma un algoritmo: Las operaciones. Veremos los tipos de operadoresy su orden de precedencia.

Operaciones

Las operaciones son sentencias que realizan un cálculo sobre varios datos. Para realizar dichos cálculos tenemos una serie de operadores aritméticos (sumar, restar, multiplicar...), lógicos (mayor que, menor que, igual que...), y de asignación.

Los operadores sólo pueden ser utilizados con determinados tipos más o menos restrictivos (hay operadores que sirven para numéricos, otras para numéricos y de texto..). Además, los operadores pueden ser utilizados con dos datos – binarios - con un dato – unarios - e incluso terciarios.

Operadores aritméticos

Los operadores aritméticos actúan sobre datos numéricos, es decir, enteros y de coma flotante. Los básicos son + (sumar), - (restar), * (multiplicar), / (dividir) y % (módulo, que es el resto de una división de enteros).

Binarios

Operador Símbolo Descripción
Suma + Suma dos operandos
Resta - Resta dos operandos
Multiplicación * Multiplica dos operandos
División / Divide dos operandos
Módulo % Devuelve el resto de la división de dos operandos
//Suma
int resultadoSuma = 5 + 2; // resultadoSuma vale 7

//Resta
float resultadoResta = 5.3f - 2.07f; // resultadoResta vale 3.2300003

//Multiplicación
short resultadoMultip = 10 * 2; //resultadoMultip vale 20

// División
long resultadoDiv = 1238907 / 92384; //resultadoDiv vale 13

// Módulo		
int resultadoMod = 10 % 3; //resultadoMod vale 1

El operador suma, +, también puede operar con los String, concatenándolos entre ellos. También podemos concatenar a las cadenas valores de otros tipos, como int o long. Veamos un ejemplo:

System.out.println("resultadoSuma: " + resultadoSuma);

El comando System.out.println sirve para mostrar por consola un input introducido como parámetro (entre los paréntesis). Lo que veríamos por pantalla en este caso sería lo siguiente:

"resultadoSuma: 7"

Unarios

Operador Símbolo Descripción
Conversión de entero + Convierte el operando a entero si es un byte, short o char
Negación - Negación aritmética del operador (cambio de signo)
int a = -5;
int b = -a; //b vale 5

Operadores Lógicos

Los operadores lógicos comparan dos valores y devuelven la relación existente entre ambos. Por tanto, el resultado de estos operadores es de tipo booleano, es decir, en términos de verdadero o falso.

Los operadores lógicos a su vez pueden dividirse en dos subtipos: comparación y condicionales. Ambos tipos de operadores además se pueden combinar para realizar expresiones más complejas.

Operadores de comparación

Operador Símbolo Descripción
Mayor que > Devuelve true si el primer operando es mayor que el segundo
Mayor o igual que >= Devuelve true si el primer operando es mayor o igual que el segundo
Menor que < Devuelve true si el primer operando es menor que el segundo
Menor o igual que <= Devuelve true si el primer operando es menor o igual que el segundo
Igual == Devuelve true si los dos operandos son iguales
Distinto != Devuelve true si los dos operadores no son iguales
//Mayor que
boolean mayorQue = 3 > 1; //mayorQue vale true

// Menor que
boolean menorQue = 3 < 1; //menorQue vale false

//Mayor o igual que
boolean mayorIgualQue = 3 >= 3; //mayorIgualQue vale true

//Menor o igual que
boolean menorIgualQue = 3 <= 1; //menorIgualQue vale false

//Igual
boolean igual = 5 == 5; //igual vale true

// Distinto		
boolean distinto = 5 != 5; //distinto vale false

Operadores condicionales

Los operadores condicionales actúan sobre dos datos de tipo booleano, y devuelven un resultado también booleano. También pueden evaluar dos expresiones de comparación, ya que estas expresiones devolverán valores boolean.

Para mayor comprensión de los operadores condicionales os recomiendo ver el apartado de Operadores Condicionales de la Pildorita de Bases de Datos sobre Cláusulas. Las tablas de la verdad os pueden ayudar a comprenderlos mucho mejor

Operador Símbolo Descripción
AND && Devuelve true si ambos operadores son verdaderos
OR || Devuelve true si uno de los operadores es verdadero
Falso ! Opera sobre un elemento y devuelve su valor contrario
//AND
boolean and = true && true; // Vale true
boolean and2 = true && false; //Vale false
boolean andComplejo = (2 > 3) && (1 < 5); //false AND true: Vale false

//OR
boolean or = true || false; //Vale true. El intérprete ni siquiera mirará el sgundo elemento
boolean or2 = false || false; //Vale false
boolean orComplejo = (2 < 3) || (1 > 2); //Vale true

//Negacion
boolean not = !(3 > 1); //not vale false

Operadores de asignación

Los operadores de asignación son operadores especiales que asignan un valor a una variable. El operador básico ya lo hemos visto en anterior ejemplos, el =, pero en conjunción con otros símbolos como el de suma, se pueden realizar atajos.

Binarios

Operador Símbolo Ejemplo Expresión equivalente
Asignación básica = A = B; No Aplica
Suma += A += B; A = A + B
Resta -= A -= B; A = A – B
Multiplicación *= A *= B A = A * B
División /= A /= B A = A / B
Modulo %= A %= B A = A % B
//Asignación básica
int c = 5; // c vale 5

//Suma
c += 15; // c vale 20

//Resta
c-=5; //c vale 15

//Multiplicación
c *= 2; //c vale 30

//División
c /= 2; //c vale 15

//Módulo
c %= 10; //c vale 5

Unarios

Operador Símbolo Descripción
Post-incremento op++ Incrementa en 1 el operador. Se evalúa el valor anterior al incremento
Pre-incremento ++op Incrementa en 1 el operador. Se evalua el valor posterior al incremento
Post-decremento op-- Decrementa en 1 el operador. Se evalúa el valor anterior al incremento
Pre-decremento --op Decrementa en 1 el operador. Se evalúa el valor posterior al incremento
int unarios = 8;

unarios++; //unarios vale 9
++unarios; //unarios vale 10
unarios--; //unarios vale 9
--unarios; //unarios vale 8

boolean postfijo = (9 == unarios++); //postfijo vale false
boolean prefijo = (9 == unarios++); //prefijo vale true

Orden de precedencia

Cuando construimos expresiones complejas donde utilizamos más de un tipo de operador, hay que tener en cuenta el Orden de precedencia de los Operadores.

Operador Símbolo
1 operadores unarios postfijos op++, op--
2 Operadores unarios prefijos ++op, --op, +op, -op, !
3 Multiplicación y División *, /, %
4 Suma y Resta +, -
5 Operadores relacionales <, >, <=, >=
6 Operadores de equivalencia ==, ¡=
7 AND &&
8 OR ||
9 Condicional ?:
10 Operadores de asignación =, +=, -=, *=, /=, %=

 

Para romper el orden de precedencia, al igual que en las matemáticas, utilizaremos paréntesis o corchetes.
  
Y con esto terminamos esta pildorita de operaciones. En próximas pildoritas hablaremos de las sentencias de flujo de ejecución, las funciones y finalmente ciertas consideraciones especiales de Java.

Índice de Pildoritas

Share