Baixe o app para aproveitar ainda mais
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; }
Compartilhar