28 agosto, 2007

Apuntes divertidos II: Programación

Sí, lo sé, quizá puedo ser un poco cansino con el mismo tema pero, joder, esto lo merece. Ahora voy a ir con una asignatura llamada Metodología y Tecnología de la Programación, vamos, lo que viene a ser Programación pura de toda la vida. En esta asignatura damos la programación informática en un lenguaje inventado llamado Pseudocódigo pero, de vez en cuando, aparecen ejemplos escritos en otros lenguajes de programación (normalmente Ada). Os meto en materia. En esto caso, se trata de un ejemplo en Ada que creo que la mayoría va a entender (no se trata de una sentencia extremadamente difícil) para el tema de Tipos de datos, concretamente referido al tipo de dato tabla. Considero que el ejemplo deja bastante claro la procedencia de mis profesores:

~Selección (acceso indexado)

if lluvias (marzo) < 10.0 then
Put ("Pedir trasvase");
end if;


Pero, pensándolo un poco, la realidad no está tan alejada de la ficción. Estoy seguro que con el porculo que han dado con el tema de marras no es debido a un exceso de tozudez utópica sino que, realmente, nuestro amiguito Valcárcel es un computador programado en Ada con un bucle mal cerrado que le hace comprobar cada x tiempo (donde x es la frecuencia de su procesador) el siguiente algoritmo:

if elecciones_generales_ganadas = False or elecciones_cercanas = True then
Put("Exigir todos los trasvases que hagan falta");
if not
Hacerse_rico_a_costa_de(ciudadano, resorts, venta_ilegal_de_agua_potable, campos_de_golf);
mentir:= "Hacemos todo lo que podemos para mejorar la cuenca hidrográfica de la Región";
while existe(estatua_fea_que_poner) or existe(proyecto_ridículo_que_llevar_a_cabo) loop
Put(mentir);
Put(estatua_fea_que_poner); --Darth Vader, sardina..
Put(proyecto_ridículo_que_llevar_a_cabo); --Tranvía..
end loop;
end if;


Donde, obviamente, las acciones Hacerse_rico_a_costa_de y existe están definidas previamente, cosa que no hago, porque ya creo que sería demasiada tralla para ustedes, señores blogolectores, como para mí.

Por cierto, esta entrada está dedicada a todos aquellos que tienen que aprobar Programación este septiembre.

Etiquetas: , , , , ,

27 agosto, 2007

Apuntes divertidos I: Computadores

Porque a veces existen los apuntes divertidos hoy, cómo no, dejaré un ejemplo de lo graciosos que pueden ser algunos profesores. Los apuntes pertenecen a la asignatura Estructura y Teconología de los Computadores y el ejemplo que voy a mostrar se trata de un simple metáfora con jefe-secretaría para dejar bien claras las diferencias entre sondeo (polling) e interrupciones, que son métodos de comunicación CPU-E/S (entrada/salida). Atentos todos a que forma de manejar la prosa, que metafórico que es todo, y qué moralejas.

La comunicación entra la CPU y los dispositivos de E/S mediante el uso de interrupciones permite a la CPU delegar parte del trabajo al dispositivo y reducir así el impacto que las transacciones de E/S tienen sobre la CPU. Veamos mediante una analogía la diferencia entre la utilización de interrupciones y el uso del polling (analogía jefe-secretaria):


  1. Encargamos a nuestra secretaria un trabajo (= orden de transacción de E/S).
    1. Nos quedamos mirándola continuamente, esperando a que termine (= sonde continuo), o bien hacemos otra cosa, pero cada X minutos nos acercamos a preguntarle si ha terminado (= sondeo periódico).
    2. Continuamos haciendo otras cosas, sin preocuparnos ya de vigilar y pedimos a la secretaria que nos avise, llamando por teléfono, cuando haya terminado el trabajo (= interrupción externa a la CPU).
  2. En ambos casos, una vez detectado que la subtarea ha sido terminada, utilizarla adecuadamente (= tratamiento de los datos: lect./escr. de los mismos desde/a buffers adecuados, etc.).


¡Buf! Dedicado a todos ellos que aún les queda por aprobar esta asignatura (por ejemplo..).

PD: Bioshock tiene pinta de convertirse en el juego del año. Yo ya lo he jugado y es un dignísimo sucesor de Undying y Gears of wars. Parte mucho.

Etiquetas: , ,



Text Link Ads