Buscar

Gabarito COMPUTAÇÃO II

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

AD2 – Computação II do curso de Engenharia de Produção 
Anderson Furtado da Hora - Mat. 19217160126 - Piraí 
 
Questão 1) 
// Implementar um programa que obtenha a cotacao do dolar (U$) em relacao ao 
real (R$) 
// e a seguir armazene em vetor A com 20 elementos as seguintes conversoes: 
// A[i] := cotacao do dolar * i, para todo i variando de 1 ate 20. 
 
import java.util.Scanner; 
 
public class _20 { 
 
 public static void main(String[] args) { 
 Scanner ler = new Scanner(System.in); 
 
 int n = 20; 
 double conversao[] = new double[n], cotacao; 
 int i; 
 
 System.out.printf("Informe a cotacao do dolar (U$) em relacao ao 
real (R$):\n"); 
 cotacao = ler.nextDouble(); 
 
 for (i=0; i<n; i++) { 
 conversao[i] = cotacao * (i+1); 
 } 
 
 System.out.printf("\n"); 
 
 for (i=0; i<n; i++) { 
 System.out.printf("U$ %2d.00 = R$ %5.2f\n", (i+1), 
conversao[i]); 
 } 
 } 
 
} 
 
Questão 2) 
// Ler 10 elementos inteiros em um vetor A. Montar uma rotina de busca, 
//para pesquisar se um dado elemento x está armazenado em A. 
int main () 
{ 
 int i, vetA[10], NO = 0, buscah; 
 
 for (i=0; i<=9; i++) { 
 printf ("\n Digite o %do valor :\n", i + 1); 
 scanf ("%d", &VetA[i]); 
 } 
 printf ("\n Digite o valor que deseja achar \n"); 
 scanf ("%d", &buscah); 
 
 for (i=0; i<9; i++) { 
 if(vetA[i] != buscah) { 
 No++; 
 
 } 
 else { 
 printf (" O valor esta na posicao %d do vetor A", i); 
 
 } 
 } 
 if (No >9) { 
 printf ("O valor nao foi localizado"); 
 } 
 return 0; 
 } 
 
Questão 3) 
// Números palíndromos são aqueles que escritos da direita para a esquerda 
têm o mesmo valor quando escritos da esquerda para a direita. 
//Exemplo: 545; 789987; 97379; 123454321; etc. Escreva um programa que 
verifique se um dado vetor A de 10 elementos inteiros é um palíndromo, 
//ou seja, se o primeiro elemento do vetor e igual ao último, se o segundo 
elemento do vetor é igual ao penúltimo e assim por diante até verificar 
//todos os elementos ou chegar à conclusão que o vetor não é um palíndromo. 
import java.util.Scanner; 
 
 int n = 10; 
 
 int a[] = new int[n]; 
 
 int i, j; 
 
 boolean ehpalin; 
 
 for (i=0; i<n; i++) { 
 
 System.out.printf("Informe %2do. elemento de %d: ", (i+1), n); 
 
 a[i] = ler.nextInt(); 
 
 } 
 
 i = 0; // posicoes iniciais do vetor 
 
 j = (n-1); // posicoes finais do vetor 
 
 ehpalin = true; // flag que indicara se o vetor eh palindromo ou nao 
 
 while ((i < j) && (ehpalin == true)) { 
 
 if (a[i] != a[j]) 
 
 ehpalin = false; // nao eh palindromo 
 
 else { 
 
 i = i + 1; 
 
 j = j - 1; 
 
 if (ehpalin == true) 
 
 System.out.printf("\nOs elementos do vetor formam um palindromo.\n"); 
 
 else System.out.printf("\nOs elementos do vetor \"nao\" formam um 
palindromo.\n"); 
 
 } 
 
Questão 4) 
// Ler 10 elementos inteiros em um vetor A. Montar uma rotina de busca, para 
pesquisar se um dado elemento x está armazenado em A. 
 
import java.util.Scanner; 
 
public class Q2 
{ 
 public static void main(String[] args) 
 { 
 Scanner ler = new Scanner(System.in); 
 
 int n = 3; // ordem da matriz quadrada 
 
 // declarando a matriz "a" 
 int[][] a = new int[n][n]; 
 
 // declarando variáveis de posição "linha x coluna" da matriz 
 int i, j, maior, mi, mj; 
 
 // entrada de dados - Definindo os valores da matriz 
 System.out.printf("Matriz_________________________\n"); 
 for (i=0; i<n; i++) 
 { 
 System.out.printf("Informe os elementos da %da. linha:\n", 
(i+1)); 
 for (j=0; j<n; j++) 
 { 
 System.out.printf("a[%d][%d] = ", i, j); 
 a[i][j] = ler.nextInt(); 
 } 
 System.out.printf("\n"); 
 } 
 
 // Verificando dentro da matriz o maior valor 
 
 maior = a[0][0]; // Inicialmente, o maior valor é o primeiro. 
 mi = 1; 
 mj = 1; 
 
 for (i=0; i<n; i++) 
 { 
 for (j=0; j<n; j++) 
 { 
 // Verifica se o valor sendo verificado é maior que o atual 
 if (a[i][j] > maior) 
 { 
 maior = a[i][j]; 
 
 // Adiciona-se "+1" à posição, porque na matemática a posição 
de uma matriz inicia-se em 1 e não em 0 
 mi = i + 1; 
 mj = j + 1; 
 } 
 } 
 } 
 
 //Exibindo o maior valor e sua posição 
 System.out.printf("O maior valor é "+maior+" e está na linha 
"+mi+" x coluna "+mj+"\n"); 
 
 } 
 
} 
 
 Questão 5) 
// Ler duas matrizes A e B quadradas de ordem 3 e realizar o produto destas 
matrizes. 
// O produto AB da matriz A pela matriz B, apenas esta definido se o numero 
de colunas 
// de A for igual ao numero de linhas de B. Cada elemento de AB e definido 
atraves do 
// somatorio do produto dos elementos da i-esima linha da matriz A com os 
respetivos 
// elementos da j-esima coluna da matriz B. 
 
import java.util.Scanner; 
 
public class _MultiplicaçãoMatrizes { 
 
 public static void main(String[] args) { 
 Scanner ler = new Scanner(System.in); 
 
 int n = 3; // ordem da matriz quadrada 
 
 // declarando as matrizes "a", "b" e "ab" 
 int[][] a = new int[n][n]; 
 int[][] b = new int[n][n]; 
 int[][] ab = new int[n][n]; 
 
 int i, j, k, sm; 
 
// entrada de dados 
 System.out.printf("1a. Matriz_________________________\n"); 
 for (i=0; i<n; i++) { 
 System.out.printf("Informe os elementos da %da. linha:\n", (i+1)); 
 for (j=0; j<n; j++) { 
 System.out.printf("a[%d][%d] = ", i, j); 
 a[i][j] = ler.nextInt(); 
 } 
 System.out.printf("\n"); 
 } 
 
 System.out.printf("\n2a. Matriz_________________________\n"); 
 for (i=0; i<n; i++) { 
 System.out.printf("Informe os elementos da %da. linha:\n", (i+1)); 
 for (j=0; j<n; j++) { 
 System.out.printf("b[%d][%d] = ", i, j); 
 b[i][j] = ler.nextInt(); 
 } 
 System.out.printf("\n"); 
 } 
 
// processamento: multiplicando as matrizes de entrada 
 for (i=0; i<n; i++) { 
 for (j=0; j<n; j++) { 
 sm = 0; 
 for (k=0; k<n; k++) { 
 sm = sm + (a[i][k] * b[k][j]); 
 } 
 ab[i][j] = sm; 
 } 
 } 
 
// saida 
 System.out.printf("\n1a. Matriz________\n"); 
 for (i=0; i<n; i++) { 
 System.out.printf("%da. linha: ", (i+1)); 
 for (j=0; j<n; j++) { 
 System.out.printf("%d ", a[i][j]); 
 } 
 System.out.printf("\n"); 
 } 
 
 System.out.printf("\n2a. Matriz________\n"); 
 for (i=0; i<n; i++) { 
 System.out.printf("%da. linha: ", (i+1)); 
 for (j=0; j<n; j++) { 
 System.out.printf("%d ", b[i][j]); 
 } 
 System.out.printf("\n"); 
 } 
 
 System.out.printf("\nProduto___________\n"); 
 for (i=0; i<n; i++) { 
 System.out.printf("%da. linha: ", (i+1)); 
 for (j=0; j<n; j++) { 
 System.out.printf("%d ", ab[i][j]); 
 } 
 System.out.printf("\n"); 
 } 
 } 
} 
Questão 6) 
//Escreva um programa em Java que, ao receber como parâmetro de entrada um 
número de 1 a 9 (você deve testar se o número informado segue este intervalo) 
e o nome de um arquivo de saída, crie uma pirâmide de números neste arquivo 
de saída. Por exemplo, se o número passado for três e o nome do arquivo for 
teste.txt, será escrito em teste.txt as seguintes sequências, uma por linha: 
//1 
//121 
//12321 
import java.io.*; 
public class Piramide{ 
 public static void main (String[] args) throws IOException{ 
 int num = Integer.parseInt(args[0]); 
 if ((num >= 1) && (num <= 9)){ 
 BufferedWriter out = new BufferedWriter(new FileWriter(args[1])); 
 String s; 
 try{ 
 for (int k = 1; k <= num; k++){ 
 s = ""; 
 for(int i = 1; i <= k; i++) 
 s += i; 
 for (int j = k - 1; j >= 1; j--) 
 s += j; 
 out.write(s +"\n"); 
 } 
 } 
 catch (Exception e){ 
 System.out.println("Excecao\n"); 
 } 
 finally{ 
 out.close(); 
 } 
 } 
 } 
} 
 
Questão 7) 
//Escreva um programa em Java que leia um arquivo texto (o usuário deverá 
digitar o nome do arquivo) 
//e depois copie apenas as vogais para um outro arquivo de destino (o usuário 
também deverá digitar o nome do arquivo de destino). 
//Considere apenas as vogais em caixa baixa (minúscula). 
 
#include <stdlib.h> 
 
int testaVogal (char letra) { 
 if (letra=='a'||letra=='e'||letra=='i'||letra=='o'||letra=='u') 
 return 1; 
 else 
 return 0; 
} 
 
int main() { 
 FILE *ptrOrigem, *ptrDestino; 
 char fileOrigem[20], fileDestino[20], caracter; 
 
 scanf("%s", fileOrigem); 
 scanf("%s", fileDestino); 
 
 ptrOrigem = fopen(fileOrigem, "rt"); 
 if (ptrOrigem==NULL) { 
 printf("Arquivo não existe."); 
 exit(1); 
 } 
 
 ptrDestino = fopen(fileDestino, "w"); 
 if (ptrDestino==NULL) { 
 printf("Não foi possìvel criar o arquivo."); 
 exit(1); 
 } 
 caracter=getc(ptrOrigem); 
 while (caracter!=EOF){ 
 if (testaVogal(caracter)) 
 putc(caracter, ptrDestino); 
 caracter=getc(ptrOrigem); 
 } 
 
 fclose(ptrOrigem); 
 fclose(ptrDestino); 
 
 return 0; 
}

Outros materiais