Practica Turno2 SOL-1

2
PRUEBA DE PROGRAMACION (1º Grado E.T.S.I.T.) - 28 / Enero / 2015 PRÁCTICAS – TURNO 2 Departamento de Sistemas Informáticos y Computación Duración del examen: 45 minutos. Instrucciones: Para implementar el programa deberá crearse un nuevo proyecto en Bluej de nombre Examen”. En este proyecto deberá crearse una clase cuyo nombre deberá seguir obligatoriamente el siguiente patrón: GrupoDePrácticas_nombreUsuario. Por ejemplo, un alumno del grupo A1A cuyo usuario sea minombre deberá crear una clase de nombre A1A_minombre. La primera linea del programa deberá ser un comentario (con //) en el que aparezca el nombre completo del alumno/a. Al finalizar el examen deberá subirse, a través de poliformaT, el fichero GrupoDePrácticas_nombreUsuario.java (que se encontrará dentro de la carpeta Examen) a la tarea 2º Examen Prácticas Turno 2. Es responsabilidad de cada alumno guardar periódicamente los cambios que vaya realizando mientras edita el programa. Bluej guarda automáticamente los cambios cada vez que se compila. No se permite el acceso a ninguna aplicación distinta del Bluej ni a ninguna unidad de disco distinta del disco local. Infringir esta norma supondrá el suspenso de la asignatura completa. Únicamente se deberá abrir un navegador para acceder exclusivamente a la web de la UPV y a la tarea correspondiente de PoliformaT para descargar los ficheros necesarios y para subir al finalizar el programa realizado. Enunciado: Implementar una clase programa que pida un nombre de fichero de una imagen, la cargue usando los métodos de la clase Imagen y, mediante un método implementado en esa clase programa , obtenga la imagen especular respecto a un eje horizontal. Tras ello se deberá guardar la imagen en un nuevo fichero. A continuación se muestra un ejemplo de ejecución (imagen original y resultado):

description

soucion ehercicios prog primer curso djiasfdi

Transcript of Practica Turno2 SOL-1

Page 1: Practica Turno2 SOL-1

PRUEBA DE PROGRAMACION (1º Grado E.T.S.I.T.) - 28 / Enero / 2015

PRÁCTICAS – TURNO 2

Departamento de Sistemas Informáticos y Computación

Duración del examen: 45 minutos.

Instrucciones:

Para implementar el programa deberá crearse un nuevo proyecto en Bluej de nombre“Examen”. En este proyecto deberá crearse una clase cuyo nombre deberá seguirobligatoriamente el siguiente patrón: GrupoDePrácticas_nombreUsuario. Por ejemplo, unalumno del grupo A1A cuyo usuario sea minombre deberá crear una clase de nombreA1A_minombre.

La primera linea del programa deberá ser un comentario (con //) en el que aparezca elnombre completo del alumno/a.

Al finalizar el examen deberá subirse, a través de poliformaT, el ficheroGrupoDePrácticas_nombreUsuario.java (que se encontrará dentro de la carpeta Examen)a la tarea 2º Examen Prácticas Turno 2.

Es responsabilidad de cada alumno guardar periódicamente los cambios que vaya realizandomientras edita el programa. Bluej guarda automáticamente los cambios cada vez que secompila.

No se permite el acceso a ninguna aplicación distinta del Bluej ni a ninguna unidad de discodistinta del disco local. Infringir esta norma supondrá el suspenso de la asignatura completa.Únicamente se deberá abrir un navegador para acceder exclusivamente a la web de la UPVy a la tarea correspondiente de PoliformaT para descargar los ficheros necesarios y parasubir al finalizar el programa realizado.

Enunciado:Implementar una clase programa que pida un nombre de fichero de una imagen, la cargue usandolos métodos de la clase Imagen y, mediante un método implementado en esa clase programa,obtenga la imagen especular respecto a un eje horizontal.

Tras ello se deberá guardar la imagen en un nuevo fichero.

A continuación se muestra un ejemplo de ejecución (imagen original y resultado):

Page 2: Practica Turno2 SOL-1

SOLUCIÓN:

import java.util.*;

public class TestProcesadoImagenes {  public static void main(String [] args) {    Scanner tec=new Scanner(System.in).useLocale(Locale.US);    String nomImg;    int [][] img;    int [][] imgEspH;

    System.out.print("Nombre imagen: ");     nomImg=tec.nextLine();

    img=Imagen.cargar(nomImg);    imgEspH = espejoHorizontal(img);    Imagen.guardar(imgEspH,"EspH_"+nomImg);  }

  public static int [][] espejoHorizontal(int [][] img) {    int i,j;    int [][] resultado;

    resultado = new int[img.length][img[0].length];     for (i=0;i<img.length;i++)       for (j=0;j<img[i].length;j++)         resultado[i][j] = img[img.length­1­i][j];        return resultado;  }}