miércoles, 30 de junio de 2010

¿Cuál es el alumno más alto?

Por fin alguien envió un problema... en fin, el enunciado es algo así:

Se necesita saber cuál, de una serie de alumnos, es el más alto, para esto, se ingresarán sus datos y el programa escrito en C, debe retornar el nombre.

En general, esto se hace con un arreglo struct, en donde se van almacenando los datos y luego se corre una pequeña función para ir buscando el mayor, pero sin struct, se puede hacer, simplemente, almacenando la altura y preguntando por las siguientes, en caso de que se ingrese una altura mayor, se reemplazarán los datos almacenados, si no, se ingresarán los nuevos datos. Solo es importante conservar el nombre y la altura del mayor. Para empezar, un pequeño truco, inicializamos la variable altura en "0" (cero) de tal manera que la primera de las ingresadas sea la mayor y luego se sigue con las demás. 

Existen opciones con respecto al ingreso de datos, se podrían pedir entradas hasta terminar un número determinado (idea chanta, a mi juicio) o bien preguntar  "¿desea seguir comparando alumnos?" o algo así, lo cual es un tanto lento, pero por lo menos da la oportunidad de cerrar la aplicación a cada instante. 

Plan general:

//Inicializar variables:
altura_alumno = 0;
mas_alto = 0;

nombre_alumno_alto[MAXNOMBRE];

nombre_alumno[MAXNOMBRE];

//ingreso de estudiantes

//inicio del ciclo
Ingreso de nombre y almacenar en nombre_alumno
Ingreso de altura y almacenar en altura_alumno

//condición
¿altura_alumno es mayor que mas_alto?
Si es sí: mas_alto = altura_alumno
asignar a nombre_alumno_alto el contenido de nombre_alumno 

//esto se hace con un función  o bien un ciclo, elemento a elemento, no olvidar el nulo al final

Si es no: volver a inicio del ciclo

//fin del ciclo

//Cuando termine el ciclo
Presentar datos, mas_alto y altura_alumno

//fin programa

Muy pronto el código, pero con lo anterior, está más claro que el agua :D


Ahora el código lo pueden descargar desde aquí

jueves, 10 de junio de 2010

Encuentro de ajedrecístas

El problema se trata de crear un programa que coordine la asistencia al evento anual de ponencias de ajedrez. Los oferentes se dividen en "educación" y "clínicas". Se deben asignar sedes y horarios, así como también llevar un control en cuanto a pagos.

Este problema lo realizaré paso a paso, espero comentarios para apoyar la realización. ¡ah! se me olvidaba, usaremos C++ y obviamente todo lo haremos orientado a objetos :D


lunes, 31 de mayo de 2010

Dimensionado de planchas

Es útil escuchar. A veces el entorno nos entrega situaciones... problemas para algunos, oportunidades para mí, de "algo" que se podría mejorar... es el caso del siguiente problema:

Para diversos usos en el campo de la construcción civil, es necesario completar sectores, sean planchas, concreto, etc. Se conoce el alto y el ancho de lo que se requiere cubrir (el espacio total); se conoce también lo que ya está cubierto, por ejemplo, con trozos de concreto o bien con pedazos (rectangulares) de malla; solo falta conocer el trozo exacto, el alto y ancho, del material que falta.

Entonces, el programa debe generar la salida, el alto y ancho, de lo que falta, haciendo coincidir o cubriendo un espacio total con lo que ya se tiene, o sea: Salida = Total - Lo_que_se_tiene.

Actualmente, este programa ya existe y es usado por una empresa, solo si los clientes compran el trozo faltante ahí. La idea transversal de este ejercicio, es liberar el código, para que todas las personas tengan la libertad de elegir dónde comprar sus materiales para conseguir el área que les falta.

¿Se animan?

lunes, 24 de mayo de 2010

¡Manden sus preguntas!

De una conversación informal nació la idea de reflotar este espacio, así que envíen sus dudas para ir generando comunidades de aprendizaje en torno al lenguaje C/C++.