miércoles, 8 de junio de 2011

Lenguaje de programación

Para poder comenzar con el lenguaje de programación, lo primero que tenemos que saber es qué es programar. Programar es realizar una serie de instrucciones que a mí me permite solucionar un proyecto.Lo que el ordenador entiende cuando nosotros programamos se traduce a la realidad como 0 y 1, pero programar con 0 y 1 es difícil, por eso se hace un lenguaje de programación que el ordenador pueda comprender. Estos programas se han desarrollado a lo largo del tiempo.

Para poder empezar a programar tenemos que tener tres cosas fundamentales.
1. Las entradas de datos: Es lo primero que tenemos que definir en un programa. Un ejemplo sería base y altura.
2. El proceso: Tras tener lo anterior hecho, tenemos que realizar esto. Siguiendo con el ejemplo anterior aquí habría que poner el área de un triángulo B*h/2. No podemos realizar un proceso sin antes no haber una entrada de datos. En este caso el proceso lo representaremos con un rectángulo.
3.Salida de datos


Para empezar con el programa tenemos que tener un esquema, para ello podemos utilizar un diagrama de flujo, el cual por medio de figuras nos facilita  las cosas, ya que mirando a este diagrama podemos tener más claro los diferentes procesos a seguir en el programa.


En todo programa siempre va haber un inicio y un fin. Podríamos hacer un esquema con nuestras palabras de lo que va a realizar el programa, esto que veremos a continuación sería un simple ejemplo:

1. Comienzo de programa.
2. Definir las variables A: Área,B: Base,H: Altura
3. Petición al usuario de los valores de base y altura.
4. Asignamos los valores del usuario. Ej: B=4, H=8
5. Realizamos operaciones A= B*h/2
6. Indicamos solución al usuario
7. Fin

En este caso hemos realizado un diagrama de flujo del área de un triángulo, un poco más adelante pondré cómo se realizaría el programa de este.
Todos los programas deben comenzar por #include<stdio.h>, tras esto habrá que poner int main (){.
La función print f correspondería a la fase de entrada de datos, sirve para poner la operación que vamos a realizar, es la petición del usuario. Cuando esta función la ponemos al final el programa significa la salida de resultados.
La función scanf correspondería también a la fase de entrada de datos. En esta función hay que poner las variables con las que queramos realizar el programa.

A continuación realizaré un programa que realiza una suma. En este caso he utilizado el programa MinGStudio. Lo que ponga entre paréntesis y en negrita, no hay que ponerlo en el programaEl programa sería el siguiente:

#include<stdio.h>    (inicio de programa)
int main(){
int valor1;       (declaración de variables)
int valor2;
int solucion;
printf("indique el valor1 para realizar la suma:\n");  (entrada de datos)
scanf("%d",&valor1);
printf("indique el valor2 para realizar la suma:\n");
scanf("%d",&valor2);

solucion=valor1+valor2;
printf("el resultado de sumar los valores anteriores es:%d",solucion); (salida de resultados)
}       (Fin del programa)

El siguiente programa que realizaré a continuación es el área de un triángulo:


#include<stdio.h>    (inicio del programa)
int main(){
int a;                      (declaración de las variables)
int b;
int h;
printf("indique el valor de la base");   (entrada de datos)
scanf("%d",&b);
printf("indique el valor de la altura");
scanf("%d",&h);
a=(b*h)/2;
printf("el valor del area es:%d",a);   (salida de resultados)
}          (Fin del programa)


Continuamos con el lenguaje de programación de los dos programas en uno que hemos visto anteriormente. El programa constará de que si pulsas 1 realizará por ejemplo la suma y por el contrario si pulsas 2 realizará el área. Aquí aparece dos funciones nuevas que no hemos visto anteriormente que es la de If que en el programa significará decisión y la de else que significa lo que vamos a realizar tras la decisión:


#include<stdio.h>    (inicio de programa)
int main(){
int opcion;                (declaración de variables)
printf("pulsa 1 para sumar");     (entrada de datos)
printf("\npulsa 2 para area");
scanf("%d",&opcion);
if(opcion ==1){            (decisión)
int valor1;             (declaración de variables)
int valor2;
int solucion;
printf("indique el valor1 para realizar la suma:\n");     (entrada de datos)
scanf("%d",&valor1);
printf("indique el valor2 para realizar el area:\n");
scanf("%d",&valor2);
solucion=valor1+valor2;
printf("el resultado de sumar los valores anteriores es:%d",solucion);   (salida de resultados)
return 0;
}     (Fin)
if(opcion ==2){             (decisión)
int a;                      (declaración de las variables)
int b;
int h;
printf("indique el valor de la base");        (entrada de datos)
scanf("%d",&b);
printf("indique el valor de la altura");
scanf("%d",&h);
a=(b*h)/2;
printf("el valor del area es:%d",a);      (salida de resultados)
return 0;
}
else{
return 0;
}
}         (Fin del programa)

A continuación realizaremos el programa de un bucle. Este programa nos permite practicar con una tabla de multiplicar que el usuario elige al principio. En cada multiplicación se le pregunta al usuario el resultado. Si es correcto, el programa continúa con la siguiente multiplicación; si el usuario falla, el programa sale anticipadamente.
Para saber un poco cómo debemos comenzar el programa, debemos saber que la sección de inicialización se usa para dar un valor inicial a la variable que controla el bucle. Esta inicialización se ejecuta sólo cuando empieza el bucle. Después, el bucle se repite tantas veces como se cumpla la condición.Al final de cada repetición, el incremento se ejecuta respecto a como esté definido y justo antes de que se compruebe de nuevo la condición. Aquí aparece una nueva función for, ésta incluye en la misma línea la inicialización de la variable contador. También define en cuánto se incrementa esta variable. Comparte con otra función nueva que aparece también llamada while (sentencia de petición) que la expresión condicional está al comienzo del bucle, con lo que su representación en el organigrama es idéntica.
El programa es el que vemos a continuación:


#include<stdio.h> (inicio de programa)
int main(){ int tabla,resp,contador; (declaración de variables)  
printf("¿que tabla quieres practicar?");   (entrada de datos) 
scanf ("%d",&tabla); 
printf("\n empezamos...");  
for(contador=1;contador<11;contador=contador+1) (inicialización;condición;incremento) 

printf("¿cuanto es %d X %d?",tabla,contador);  
scanf("%d",&resp); 
if(resp== tabla*contador)printf("¡correcto!"); (decisión)
else{ (lo que realizamos tras la decisión) 
printf("Lo siento,no es correcto"); (salida de resultados)  
printf("\n la respuesta es %d", tabla*contador);  
printf("\n vuelve a ejecutar el programa");  
break; 

}/*fin del for*/ 
}/*fin del main()*/


Para terminar con esta entrada realizaré un factorial:



#include<stdio.h> (inicio del programa)
int main(){ 
int n; (dónde guardo el número que pido al usuario) 
int fact; (dónde voy a ir guardando las operaciones del factorial) 
int j; (j es quien se encarga de ir realizando las vueltas al bucle para ir multiplicando) 
fact=1; (comenzamos dando el valor 1 para que no tenga otro valor almacenado)
printf("indique el numero del que quiere calcular el factorial\n"); (pedimos al usuario el número y lo guardamos en n)  
scanf("%d",&n); (realizamos un bucle) 
for(j=1; j<=n; j++){ (empieza en n, es decir el número que ponga el usuario) 
fact=fact*j; (va realizando la operación: lo que tenga fact en ese momento por lo que valga j en ese momento hasta que el bucle finaliza) 
}
printf("el resultado es %d",fact); 
} (Fin del programa)



martes, 10 de mayo de 2011

Trabajar con Gimp

En esta entrada podremos ver 15 de los ejercicios que hemos realizado en clase con el programa Gimp. Para ello hemos seguido un manual.A continuación pondré las imágenes de los ejercicios e iré explicando cómo se deben hacer para obtener el resultado que queremos.

  1.  SELECCIÓN DE PARTES DE IMÁGENES

Tenemos una imágen de una hoja sobre un fondo blanco y queremos quitarle el fondo blanco, dejarlo transparente, para luego pegar la hoja en otro sitio. Para ello utilizaremos la opción de la varita, seleccionamos el fondo blanco y le damos a invertir selección porque lo que nosotros queremos tener seleccionado es la hoja. Pero vemos que al invertir selección nos queda un trocito de fondo blanco. Así que volvemos a hacer el mismo proceso dándonos cuenta de ese detalle. Y ya tenemos la hoja seleccionada. Tenemos que guardar la imágen en formato xcf.

 

  2. HACER DESAPARECER UNA ZONA DE LA IMÁGEN POR MEDIO DE CLONACIÓN.



Tenemos una imagen y queremos que desaparezca un trozo de ella pero sin que se note.


Con la herramienta de corte, seleccionamos el área con el que nos queremos quedar.


Si aún así el área que hemos elegido sigue siendo un poco grande, nos posicionamos en el borde que queremos agrandar, pulsamos el ratón y arrastramos hasta conseguir el área que queremos. Tras esto, habrá que cortarlo, entonces daremos doble click sobre el área que hemos seleccionado.


Como solo queremos que aparezcan los hombres que aparecen en la foto con sus piraguas y no la piragua que sale al fondo del todo, usamos la herramienta de clonar (tecla abreviada: C). Con opacidad a la mitad,cogemos un trocito de agua que es lo que queremos clonar para que no aparezca la piragua del fondo, y con el control pulsado vamos seleccionando la zona que queremos clonar. Así es como quedaría:


Si queremos mejorar la foto, utilizaremos la herramienta de desenfoque o gota de agua (mayúsculas+U) para difuminar la foto y que el foco se centre en los remeros.


3. MONTAJE DE DOS IMÁGENES UNA SOBRE OTRA




Tenemos dos imágenes que son estas:


Y queremos conseguir esto:


¿Cómo lo podemos hacer? Parece complicado pero no lo es.
Lo primero que tenemos que hacer es coger la imágen del pato y seleccionar solo el pato, esto lo haremos con las tijeras. Una vez hecho esto, hacemos doble click sobre el pato y se seleccionará la selección que hemos recortado con las tijeras, a continuación la copiamos (Ctrl +C).


A continuación tenemos que crear un nuevo documento. En la capa del fondo pegamos el estanque. Y creamos otras dos capas, pato y pato 2.


Nos ponemos en la capa pato y pegamos la selección que habíamos copiado. Entonces quedaría así:


Pero vemos que la foto no queda realista porque hemos puesto un pato muy grande, así que lo tendremos que hacer un poco más pequeño. Para ello estando en la capa de pato cogemos la herramienta redimensionar (tecla abreviada: mayúsculas+ T), y podemos poner el tamaño que consideremos adecuado, en este caso el de 50px estará bien. Todavía sigue quedando un poco mal, así que (con la herramienta mover: tecla abreviada: M) movemos la capa del pato hasta traerla delante al primer plano y así ya si que nos quedará un poco mejor y más realista.


Ahora tendremos que realizar lo mismo pero en la capa del segundo pato: capa dos.


Primero vamos a voltearlo horizontalmente para que se quede mirando cara a cara con el otro pato. Para ello seleccionamos la herramienta de volteo (tecla abreviada: Mayúsculas +F) y hacemos click en el pato.En este caso utilizaremos la herramienta de redimensionar y lo haremos un poco más pequeño que el anterior para que parezcan madre e hijo. Cogemos la capa del pato pequeño y la ponemos delante de la del pato grande. La imágen estaría ya terminada, pero ahora queremos añadir en un lateral un poco de texto.
Escribimos y lo rotamos verticalmente. Al escribir texto tenemos otra capa más que la ha creado el propio programa. Movemos un poco el texto para dejarlo donde nosotros queremos y ya tenemos el resultado.



4. QUITAR LAS ARRUGAS AL ROSTRO




Tenemos esta imagen:


Y queremos quitarle las máximas arrugas posibles. Para ello nos acercamos a la imagen con el zoom para poder ver mejor los detalles. Para movernos por la imagen usamos la tecla espaciadora. Tras esto vamos a comenzar a quitar las arrugas, para ello utilizamos la herramienta que clona luces y texturas (tecla abreviada: H). Tenemos que coger un pincel más o menos adecuada a la arruga que vamos a quitar para no clonar otras partes que no queremos clonar. Esta herramienta funciona casi igual que la de clonar: seleccionamos una zona con la tecla Control, después soltamos y vamos seleccionando las zonas que queremos clonar.


Y aquí tenemos el antes y el después:



Le hemos quitado también un poco las bolsas de los ojos.



5. QUITAR ZONAS CON LA HERRAMIENTA DE CLONAR






Vemos la imagen principal y vemos que con la herramienta de clonar que hemos visto en ejercicios anteriores podemos quitar el camino. Seleccionamos una zona de bosque con el Control, luego soltamos el Control y pinchamos donde queramos clonar el trocito de bosque.
Aquí vemos otro ejemplo, en este caso vamos a borrar la sombra; vemos el antes y el después.



6. ARREGLAR COLOR DE IMÁGENES


Tenemos esta imagen y queremos que se vea un poco mejor.


Para retocarla un poco nos vamos a Menú: Colores: Niveles. Vemos que hay excesos de blancos, es decir que la foto está quemada. Tocamos un poco los niveles hasta que veamos que la foto está mucho mejor.


Aquí tenemos el resultado.Podemos observar cómo la foto ya no está quemada.


7. FUSIÓN DE CAPAS


Tenemos estas dos imágenes:


Comenzamos primero con la imagen de las chispas. Con la herramienta de selección por color, seleccionamos el negro, pero lo que queremos seleccionar es todo lo que no es negro, por ello damos a invertir selección. Ya tenemos las chispas seleccionadas, las copiamos y las pegamos en la foto de la niña. Pero lo que queremos hacer es que las chispas aparezcan en la tarta. Para ello tenemos que hacer que las chispas sean más pequeñas, así que utilizamos la herramienta de redimensionar.





Como el resultado no queda muy natural en la capa de los rayos, podemos hacer una selección redonda y le decimos que nos difumine los bordes (en la herramienta de selección), invertimos selección y le damos a borrar. Hemos puesto que difumine los bordes, y el radio de difuminar lo hemos subido. Así si que queda un efecto más real.


8. APLICACIÓN DE VARIOS CONCEPTOS


Tenemos esta foto y queremos conseguir el resultado que sale a su lado:


Comenzamos seleccionando la rosa con la varita mágica, aunque será difícil poder seleccionar toda las partes de la rosa. Queremos desaturar la parte de atrás, pero lo que tenemos seleccionado es la rosa, así que tendremos que invertir selección y ya tenemos seleccionado el fondo en vez de la rosa. Para desaturar tenemos que dar a color: desaturar y damos a claridad. Aquí tenemos el resultado:


Todavía nos queda aplicar un filtro. Para ello nos vamos a Menú Filtros : Desenfoque :Desenfoque de movimiento. El tipo de desenfoque que utilizaremos será radial y este será el resultado.



9. SATURACIÓN




Tenemos esta foto y queremos retocarla un poco para que se vea mejor y no sea tan sosa.


Para ello vamos a Menú Colores: Tono y saturación. Tocamos un poco la saturación y este es el resultado que hemos obtenido.



10. FOTO QUEMADA CON FLASH


Tenemos esta imagen que está un poco quemada por el flash:


Para conseguir que la foto esté un poco mejor utilizaremos los niveles. Para ello nos vamos a Menú Colores: Niveles y los modificamos según el resultado que queramos obtener. Este es el que hemos obtenido nosotros:



11. MODO DE FUSIÓN DE CAPAS: COLOREAR UN OJO




Tenemos esta imagen:


Tenemos una sola capa y tenemos que crear otra transparente. Dentro de esta capa hago la selección del ojo.



Después cogemos el color que queramos y rellenamos la selección con ese color utilizando la herramienta de bote de pintura (tecla abreviada: Mayúsculas + B).


El modo de fusión lo ponemos en solapar y ya tenemos el ojo coloreado. Ya hemos conseguido el efecto que queríamos.



12. HERRAMIENTA DE SANEADO Y NIVELES




Tenemos la siguiente imagen:



Por medio de la herramienta de saneado le hemos quitado unas pocas arrugas y el lunar que tiene debajo del ojo y de encima de la boca. También hemos hecho una selección del ojo que se ve bien y la hemos pegado encima del otro ojo. También hemos saneado el lado de la gafa que tiene reflejo.



Después seleccionamos la cabeza y le damos a invertir selección porque lo que queremos tener señalado es lo demás. Nos vamos a Menú :Niveles y los retocamos un poco porque falta un montón de información de blancos. Y aquí podemos ver la diferencia de la foto principal a la de ahora:



13. QUITAR OJOS ROJOS




Tenemos la siguiente imagen en la cual tenemos que quitarle los ojos rojos:



Primero hacemos una selección de los ojos.



 Luego aplicamos Filtros: Realzar: Quitar ojos rojos y damos a ok con los valores que tiene por defecto.
Y este es el resultado:



14. BLANQUEAR LOS DIENTES




Tenemos esta foto en la que como podemos ver los dientes están amarillos:


Intentamos hacer una selección, lo más precisa posible, de los dientes. Para ello podemos utilizar cualquier herramienta de selección. Ahora tenemos que blanquear la selección, así que para eso damos a Colores: Tono y Saturación. Hemos puesto luminosidad:33 y saturación: -70.
Y aquí podemos ver el resultado:



15. APLICACIÓN DE VARIOS


Tenemos la siguiente foto, la cual es un poco oscura y queremos cambiarla un poco para que parezca más alegre:



Para comenzar vamos a seleccionar el cielo. Con el cubo de pintura le echamos un azul de algún cielo que nos haya gustado.



Ahora tenemos que aclarar el resto de la foto. De momento tenemos seleccionado el cielo, así que damos a Selección: Invertir, y así tenemos el resto de la foto seleccionado menos el cielo. Vamos a mirar Colores: Niveles. Vemos como hay ausencia de blancos, así que modificamos los niveles un poco.



Quitamos la selección y damos a Seleccionar: nada. Ahora vamos a ponerle un filtro de luz, y damos a  Filtros: Luces y sombras: Supernova, y ya tenemos la foto final.



¿Cómo hacer una base de datos?

Para empezar a realizar una base de datos en access, lo primero que hay que hacer son varias tablas, en este caso hemos realizado tres. En cada una de ellas habrá que recopilar distintas informaciones pero relacionadas entre sí. Cuando sepamos el tema que vamos a tratar, recopilaremos información y comenzaremos a realizarlas. En este caso las tablas serán relacionadas con el tema de conductores, trayectos y vehículos.
TABLAS
La tabla que hemos visto anteriormente será una de las tres que tenemos que realizar. Después tendremos que realizar otras dos más, una de ellas llamada trayectos y otra llamada vehículos. En la tabla de trayectos habrá que incluir los campos: origen, destino, los kilómetros que los separan, el vehículo y el conductor que lo realiza, la fecha en la que se produce y la duración del mismo. En la tabla de vehículos habrá que incluir: matrícula, marca, modelo, fecha de compra, y si es vehículo de segunda mano. Cuando terminemos las tres tablas, habrá que relacionarlas entre sí, buscando campos en común entre las tres tablas.

                                                                FORMULARIOS

A continuación tendremos que realizar un formulario. Esto es una ventaja ya que nos sirve para presentar de manera organizada y de una sola vez, todos los datos de un registro.

Access nos proporciona asistentes que falicitan la tarea de creación de un formulario. Si en la ventana de la BD seleccionamos la categoría formularios y pulsamos el botón "nuevo" se abre el menú que da acceso a los asistentes. También  se pueden iniciar con el acceso directo "crear un formulario utilizando el asistente".

                                                               INFORMES

A continuación habrá que realizar un informe. Un informe es un objeto de la base de datos que presenta la información de manera almacenada de manera organizada. Es parecido a los formularios, por lo tanto habrá que realizar las mismas operaciones. A continuación podremos ver un ejemplo de un informe.



Como hemos podido ver, todos los datos aparecen de manera almacenada y ordenada; esto nos facilita las cosas a la hora de buscar alguna información.
  
                                                                   CONSULTAS

Por último tendremos que crear una tabla de consultas, la cual nos permite extraer información de la base de datos. Sin ella solo tendríamos un conjunto de datos almacenados en filas y columnas. Pero la tabla de consultas nos permite seleccionar datos específicos y organizarlos para  generar una información que nos sea útil cuando vayamos a buscar alguna información.



Esta tabla no nos sale compleja ya que los campos que tenemos no son muchos y podríamos encontrar la información sin ni si quiera utilizar la tabla consultas. Pero si en realidad tuviésemos muchos campos con mucha información no podríamos encontrar la información que querríamos o nos costaría mucho encontrarla, por ello en ese caso, la tabla de consultas nos sería de gran ayuda.