"Hombres y mujeres para los demás"

SDL Teoria Básica

¿Mencione al menos 2 ventajas de utilizar la librería gráfica SDL
1) Su implementación optimizada brinda buenos tiempos de respuesta del hardware.
2) versatilidad y control sobre el hardware de la computadora.
¿Cuáles son los pasos básicos para utilizar en un programa la librería SDL?
1) Agregar en el encabezado del programa la siguiente directiva de compilación (#include "SDL/SDL.h")
2) Inicializar y finalizar la librería. Manejadores de video,audio,event handling(ratón-teclado), etc.
3) Inicializar el modo de video. SDL_SetVideoMode()
4) Crear un ciclo de detección y manejo de eventos SDL_WaitEvent() ò SDL_PollEvent()
¿Cuáles son los pasos para manejar fuentes en SDL?
1) Activación o desactivación de la librería (TTF_Init()).
2) abriendo o cerrando fuentes TTF_OpenFont(),
3) Crear un texto en una superficie temporal SDL_Surface()
4) Copiar el texto de la superficie temporal a la superficie donde se desea el objeto SDL_BlitSurface()
5)Actualizar (Refrescar) la superficie modificada SDL_UpdateRect()

3er Examen Parcial + Solucion EDD 2009

He aqui un parcial del año 2009 de la materia Estructura de Datos y Analisis de algoritmos. Espero que sea de su interes.

Solucion parcial final PE2010, en SDL

Construya un programa con interfaz grafica que dibuje 9 cuadrados en una pantalla:
Para la primera Fila: Rosado, verde y amarillo
Para la segunda Fila: Amarillo, verde y rosado
Para la tercera Fila: Verde,amarillo y rosado
Al dar click en 3 cuadrados de un mismo color el programa terminara, si se da click fuera del area
de los cuadrados se reiniciaran las banderas que controlan el pulsado sobre cada color

Tercer parcial EDD

Solución del 2do parcial EDD

1. Existen tres tipos especialers de listas lineales simples las cuales son: 1)Listas Ordenadas, 2)Pilas 3)Colas.

2.Cuáles son los pasos generales que se usan al insertar un nodo en una lista (sin tomar en cuenta la búsqueda): 1)Crear un bloque de memoria temporal, 2)Verificar que no falle la asignación de memoria 3)Colocar los datos en el nuevo nodo 4)Conectar el nodo a la lista 5)Conectar la lista al nodo.

3.Existen tres clases de ordenamiento interno las cuales son: 1)Inserción 2)Selección 3)Intercambio.

4.Describa al menos dos desventajas al utilizar listas doblemente enlazadas contra utilizar listas simples: 1)Código más largo 2)Código más complejo 3)Mayor consumo de memoria 4)Mayor ineficiencia.

5.Cuantos bytes a lo sumo debe tener la sección de datos de un nodo, en una lista doblemente enlazada, para que los intercambios se puedan hacer por contenido y no por posición: 18 bytes.
6.Nos dan dos algoritmos: uno denota un comportamiento natural y otro denota un comportamiento antinatural, ¿Cúal de estos algoritmos utilizaría para ordenar una colección completamente desordenada de valores, si todos los demás criterios de comparación resultasen iguales? El que tiene comportamiento antinatural.

Problema 1
int eliminaNulas(Nodo *L){
    Nodo *Q=L, *temp=NULL;
    int cont=0;
    while(Q->sig!=L){
        if(Q->sig->nombre[0]=='\0'){
            cont++;
            temp=Q->sig;
            temp->sig->ant=temp->ant;
            temp->ant->sig=temp->sig;
            free(temp);
        }
        else Q=Q->sig;
    }
    return cont;
}
Problema 2
void mostrar(Nodo *L,char car){
    Nodo *Q=L;
    int band=0;
    while(Q->ant!=L){
        if(Q->ant->nombre[0]<car) break;
        if(Q->ant->nombre[0]==car){
            printf("%s\n",Q->ant->nombre);
            if(!band) band=1;
        }
        Q=Q->ant;
    }
    if(!band) printf("No hay nombres que empiecen con ese caracter\n");
}

Características de listas lineales simples, listas lineales doblemente enlazadas, pilas y colas.

Listas lineales simples: El recorrido solo puede realizarse en una dirección.
Listas lineales doblemente enlazadas: El recorrido puede hacerse en ambas direcciones; es decir, en cualquier extremo de la lista.
Desventajas:
1- El enlace extra incrementa el espacio requerido.
2- Se duplica el costo de las inserciones y supresiones, ya que es necesario manejar el doble de punteros.
3- El manejo es más complejo.
Pilas
1. La inserción y supresión solo ocurren en un extremo de la pila.
2. La eliminación es una operación que, es posible, quita el último elemento agregado.
3. El tope de una pila es el último elemento agregado, que no haya sido eliminado.

Colas

Se restringe que los elementos se supriman por un lado de la lista llamado frente.
2. La inserción se hace por el extremo de la lista llamado fondo.