Make your own free website on Tripod.com

Práctica #14

Análisis de un Problema

14.1 El Proyecto.
14.2 Gráfica Matemática.

14.2.1 Ejemplo #1.

14.3 Grafica Estadistica.

14.3.1 Ejemplo #2.

14.4 Propuestas de Proyecto.

14.4.1 Anuncio Luminoso.
14.4.2 Diseñador de Iconos.
14.4.3 Editor de Textos.
14.4.4 Graficador con Mouse.
14.4.5 Batalla Naval.

14.1 El Proyecto.

El diseño es una representación significativa de ingeniería en algo que se va a construir. El diseñar software es la implementación de soluciones de problemas en la computadora por medio de herramientas y lenguajes de programación.

Para diseñar software hay que analizar los requerimientos, realizar un diseño de datos, arquitectura y componentes, generar código, realizar pruebas y darle mantenimiento. Una vez que se tienen las herramientas propias de un lenguaje y después de haber hecho un análisis y diseño exhaustivo de un proyecto a construir, se procede a codificar el sistema propuesto.

A continuación se presentan opciones para crear diferentes tipos de proyectos con las herramientas vistas durante el curso.

14.2 Gráfica Matemática.

Una función matemática presenta variables dependientes y variables independientes, puede ser polinómica, trigonométrica o de otro tipo. Definiendo una función de dos variables para graficarla en el plano habrá que considerar un conjunto de valores para la variable independiente, la ecuación para la variable dependiente y un incremento.

14.2.1 Ejemplo #1.

Graficar la función y = f ( x ) ; para un intervalo de -100 a +100 con incremento de 1 en 1 , donde la ecuación f ( x ) es propuesta por el programador .

// procedimiento de ejes
void ejes( )
{
    line ( 0, getmaxy ( ) / 2 , getmaxx ( ) , getmaxy ( ) / 2 ) ;
    line ( getmaxx ( ) / 2 , 0, getmaxx ( ) / 2 , getmaxy ( ) ) ;
}

void grafica ( )
{
    float x , y ;
    clearviewport ( ) ;
    ejes ( ) ;
    for ( x = -100 ; x < = 100 ; x + + )
    {
        y = f ( x ) ;
        putpixel ( 320 + x , 240 - y , WHITE ) ;
    }
}

14.3 Gráfica Estadística.

Una gráfica estadística ilustra un conjunto de datos relacionados entre sí, estas pueden ser gráficas de pastel, de barras, de líneas, de puntos, entre otras. Definiendo una serie de datos capturados por el usuario habrá que considerar un conjunto de valores almacenados y distribuirlos según la gráfica, si es de pastel se distribuyen los porcentajes, si es de otro tipo habrá que considerar que el valor máximo de la serie será el tope máximo para la escala de la gráfica. Para esto habrá que realizar una función que obtenga el mayor de los datos.

14.3.1 Ejemplo #2.

Graficar cinco datos de una serie como gráfica de lineas.

// procedimiento de ejes
void ejes ( )
{
    line ( 100, 100, 100, 400 ) ;
    line ( 100, 400, 600, 400 ) ;
}

void grafica ( )
{
    float i , datos[ 5 ] , max , altura ;

    clearviewport ( ) ;
    captura ( ) ; // realizar captura de datos
    max = mayor ( ) ; // realizar función del mayor
    ejes ( ) ;
    for ( i = 0 ; x < 5 ; i + + )
    {
        altura = datos [ i ] * 300 / max ; // altura a escala en base al mayor
        lineto ( 200 + i * 100 , 400 - altura );
    }
}

14.4 Propuestas de Proyecto

14.4.1 Anuncio Luminoso.

El anuncio luminoso es una matriz de focos por donde se desplazan mensajes. Cada caracter esta representado por una matriz numérica donde 1 representa foco prendido y 0 foco apagado. El programa tiene opciones que permiten personalizar el colorido, velocidad y sentido del mensaje en la pantalla; además cuenta con herramientas para crear y grabar anuncios nuevos y editar anuncios ya existentes.

14.4.2 Diseñador de Iconos.

Un icono es una matriz de enteros, esta matriz se representa en modo gráfico como una cuadrícula en la que cada celda aparece del color que este almacenado en la correspondiente posición de la matriz. El usuario selecciona un color de la paleta y enseguida marca las celdas que desea de ese color. El programa tiene una vista previa que va cambiando simultáneamente con los cambios efectuados por el usuario; además tiene opciones para grabar y editar archivos de iconos.

14.4.3 Editor de Texto.

El editor de texto tiene un área de trabajo o formada por una matriz de estructuras, en esta matriz por cada caracter que escriba el usuario se registra la siguiente información: símbolo (caracter), tamaño, color y tipo de letra. Este editor trabaja en ambiente gráfico, tiene funciones para seleccionar diferentes colores, tipos y tamaños de letra; cuenta también con un menú para administración de archivos.

14.4.4 Graficador con Mouse.

El graficador con mouse es un programa que permite al usuario, crear un dibujo en un área de trabajo o lienzo. El usuario utiliza el mouse para seleccionar la herramienta de dibujo, entre las cuales se encuentran herramientas para trazar lineas a mano alzada; relleno de áreas y figuras predeterminadas como el círculo, rectángulo etc. Las figuras pueden ser sólidas o contornos de diferentes colores y patrones de relleno; también es posible cambiar el tipo y grosor de las líneas; cuenta con opciones para mover, copiar y cortar una porción del área de trabajo; el usuario puede crear, abrir y editar archivos.

14.4.5 Batalla Naval.

Este juego puede jugarse contra otro jugador o contra la máquina. El tablero de cada jugador es una matriz de enteros, el usuario selecciona con teclado o mouse las posiciones donde va a esconder sus barcos, la computadora hace lo mismo pero generando las posiciones en forma aleatoria. El juego consiste en que ambos jugadores tratan de adivinar las posiciones donde el contrincante escondió sus barcos. El juego termina cuando uno de los jugadores hunde todos los barcos del contrario. Este programa incluye un registro de los nombres de los mejores jugadores y el total de tiros que hicieron para ganar.