Buscar

Cap15 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de Computadores Autores JR., Dilermando

Prévia do material em texto

(
Resposta dos Exercícios Propostos
Livro: 
Algoritmo e Programação de Computadores
Autores: 
Dilermando Piva Junior, Gilberto 
Shigueo
 Nakamiti, Angela de Mendonça 
Engelbrecht
 e Francisco Bianchi.
Editora Campus
 / Elsevier, 2012.
) 
CAPÍTULO 15 - Arquivos
Exercício 
A. VisuaAlg
Em VisuAlg, arquivos podem ser usados apenas para entrada de dados.
Arquivo “entrada.txt”
var
	n1,n2:inteiro
inicio
	leia(n1)
	leia(n2)
escreva1 (n1+n2)
fimalgoritmo
Arquivo “entrada.txt”
var
	n1,n2:inteiro
inicio
	repita
		leia(n1)
		leia(n2)
escreva1 (n1+n2)
ate n1=0 e n2=0
fimalgoritmo
B. Pascal
program le;
var
n1,n2: integer;
	ent,sai:text;
	begin
		assign(ent, ‘Entrada.txt’);
		assign(sai,’Saida.txt’);
		reset(ent);
		rewrite(sai);
		read(ent,n1);
		read(ent,n2);
		write(sai,n1+n2);
close(ent);
		close(sai);
	end.
program le_varios;
var
	ent,sai:text;
	begin
		assign(ent, ‘Entrada.txt’);
		assign(sai,’Saida.txt’);
		reset(ent);
		rewrite(sai);
repeat
			read(ent,n1);
			read(ent,n2);
			write(sai,n1+n2);
		until (n1=0) and (n2=0);
close(ent);
		close(sai);
	end.
C. C
int main()
{
int n1, n2;
FILE *ent, *sai ;
ent = fopen(”Entrada.txt”, ”r”);
sai = fopen(”Saida.txt”, ”w”);
fscanf(ent,”%d %d”, &n1, &n2);
fprintf(sai, “%d ”, n1+n2);
fclose(ent);
fclose(sai);
}
int main()
{
int n1, n2;
FILE *ent, *sai ;
ent = fopen(”Entrada.txt”, ”r”);
sai = fopen(”Saida.txt”, ”w”);
do{
fscanf(ent,”%d %d”, &n1, &n2);
fprintf(sai, “%d ”, n1+n2);
} while ((n1!=0)||(n2!=0));
fclose(ent);
fclose(sai);
}
D. Java
public class Main 
{
 	public static void main(String[] args) 
throws Exception
 	{
 		//Usado para escrever no arquivo de saida
 		Formatter saida = new Formatter("Saida.txt");
 		//Usado para leitura do arquivo de entrada
 	Scanner entrada = new Scanner(
new File("Entrada.txt"));
		int n1, n2;
		
		n1 = entrada.nextInt();
		n2 = entrada.nextInt();
		saida.format( "%d", n1+n2 );
		saida.close();
entrada.close();
}
}
public class Main {
 	public static void main(String[] args) 
throws Exception
 	{
 		//Usado para escrever no arquivo de saida
 		Formatter saida = new Formatter("Saida.txt");
 		//Usado para leitura do arquivo de entrada
 		Scanner entrada = new Scanner(
new File("Entrada.txt"));
		int n1, n2;
		do
		{
			n1 = entrada.nextInt();
			n2 = entrada.nextInt();
			saida.format( "%d \n", n1+n2 );
		}while(n1 != 0 && n2 != 0);
		//Poderia se usar o entrada.hasNext()
		saida.close();
		entrada.close();
 	}
}
E. PHP
Código para entrada única
 $arquivo_entrada = fopen("entrada.txt", "r") or die("Erro ao abrir o arquivo.");
 $entrada = fgets($arquivo_entrada);
 fclose($arquivo_entrada);
 $valores = explode(" ", $entrada); // Explode é similar ao 
// TRIM, ou seja, nesse caso ele vai separar tudo que está entre 
// espaços em um array
 $arquivo_saida = fopen("saida.txt", "w+");
 $i = 0;
 if ($valores[$i] != NULL && $valores[$i + 1] != NULL) {
 $soma = $valores[$i] + $valores[$i + 1];
 fwrite($arquivo_saida, $valores[$i] . " + " . $valores[$i + 1] . " = " . $soma . " \n");
 fclose($arquivo_saida);
 } else {
 print("Erro com o conteúdo do arquivo!!!");
 }
Código para várias entradas
 $arquivo_entrada = fopen("entrada.txt", "r") or die("Erro ao abrir o arquivo.");
 $entrada = fgets($arquivo_entrada);
 fclose($arquivo_entrada);
 $valores = explode(" ", $entrada); 
// Explode é similar ao TRIM, ou seja, nesse caso ele vai 
// separar tudo que está entre espaços em um array
 $arquivo_saida = fopen("saida.txt", "w+");
 $i = 0;
 if ($valores[$i] != NULL && $valores[$i + 1] != NULL) {
 do {
 $soma = $valores[$i] + $valores[$i + 1];
 fwrite($arquivo_saida, $valores[$i] . " + " . $valores[$i + 1] . " = " . $soma . " \n");
 $i+=2;
 } while ($valores[$i] != NULL && $valores[$i+1] != NULL);
 fclose($arquivo_saida);
 } else {
 print("Erro com o conteúdo do arquivo!!!");
 }
		 	página: 5

Continue navegando