1 Universidade Federal Fluminense Instituto de Computação Departamento de Ciência da Computação Programação de Computadores II Professor: Leandro Augusto Frata Fernandes 4ª Lista de Exercícios Arquivos Texto 1. Faça um programa em Java que gere uma versão criptografada de um arquivo texto trocando cada caractere de código ASCII j pelo caractere de código ASCII j+k, onde k é um parâmetro especificado pelo usuário. Fique atento para não gerar códigos ASCII fora da faixa permitida. 2. Faça um programa Java que leia um arquivo texto chamado “entrada.txt” e imprima, em outro arquivo texto, denominado “saida.txt”, o total de letras, vogais, consoantes, espaços em branco,palavraseototaldelinhasencontradasnoprimeiroarquivo. 3. Considere dois arquivos, “itens1.dat” e itens2.dat”, contendo registros sobre itens de estoquedeumsupermercado.Cadaregistrocontémonomedoproduto,preço,marcaedatade validade.Emambososarquivososregistrosestãoordenadospelonomedoproduto.Escrevaum programa que leia os dois arquivos e gere um terceiro formado pela combinação dos dois anteriores de modo que os registros continuem ordenados pela chave nome. Os arquivos não devemserlidosparaamemória. 4. Escreva um programa que receba dois arquivos textos e determine se existe pelo menos uma mesma sequência de palavras de tamanho maior ou igual a cinco (5) em ambos os arquivos. Arquivos Binários 1. EscrevaumprogramaemJavaquesejacapazdelerumaimagemdedimensões256x256 emformatoRaw(arquivobináriocontendoapenasumasequênciadebytesindicandoumtons decinzaentre0e255)egereseuhistograma.Ohistogramaéummapaqueassociaacadatom onúmerodesuasocorrênciasnaimagem. 2. Considere uma classe abstrata Forma que generalize as classes concretas Circulo, Quadrado, Retangulo e Triangulo. Cada uma das classes concretas contém os parâmetros especificadosabaixo: a)Circulo–raio b)Quadrado–lado c)Retângulo–ladoealtura d)Triângulo–lado1,lado2elado3. Uma classe ColecaoDeFormas armazena várias formas em cada uma de suas instâncias. Escrevaumprogramaquegereumarquivobináriocontendoasinformaçõesdeuminstância de ColecaoDeFormas e que seja capaz de recuperar suas informações do arquivo binário correspondente. 2 3. Escrevaumaclasseespecializadaemcarregararquivos“.tga”,umformatobastantepopular paraarmazenamentodetexturasemjogosdevideogameantigos.Estudeoformatoapartirde sua especificação (disponível em http://www.gamers.org/dEngine/quake3/TGA.txt), porém, restrinja sua implementação para "Color map type" igual a 0 ("image file contains no color map"),"Imagetype"iguala2("uncompressedtrue‐colorimage")e24bitsdeprecisãoporpixel noespaçodecoresRGB.Umavezcarregadaaimagem,salve‐aemtrêsarquivos,umparacada canal R, G e B, com formato Raw (arquivo binário contendo apenas uma sequência de bytes indicando um tons entre 0 e 255 de cada canal). Utilize sua ferramenta de edição de imagens prediletaparaverificarseosarquivosRawgeradosestãocorretos.