Baixe o app para aproveitar ainda mais
Prévia do material em texto
UNIVERSIDADE FEDERAL FLUMINENSE ESCOLA DE ENGENHARIA INDUSTRIAL METALÚRGICA DE VOLTA REDONDA CURSO DE ENGENHARIA DE PRODUÇÃO Fundação Centro de Ciências e Educação Superior a Distância do Estado do Rio de Janeiro Centro de Educação Superior a Distância do Estado do Rio de Janeiro Gabarito Avaliação a Distância – AD2 2016.1 Disciplina: Computação I Coordenador da Disciplina: Edgar Eller Junior Nome: Matrícula: Pólo: ____________________________ ORIENTAÇÕES PARA A AVALIAÇÃO: 1. A AD deverá ser postada na plataforma, em formato PDF, até a data limite informada no cronograma da disciplina, com nome de arquivo: AD2_nome_do_aluno_Polo. 2. A AD terá o valor de 10,0 pontos, porém corresponderá a 20% da primeira nota do período. 3. A AD é individual. Caso seja constatado que avaliações ou questões de alunos distintos são cópias uma das outras, a estas será atribuída a nota 0,0 (ZERO). As soluções para as questões podem ser buscadas por meio de grupos de estudo, mas a redação final de cada questão tem que ser individual. 1) (2,0 pts). Algoritmo Multiplicacao_matrizes Início Inteiro i, j, k, m, n Enquanto (m <= 50 | n <= 50) Faça Imprimir “Digite o número de linhas e colunas das matrizes (maiores que 50)” Ler m, n Fim Enquanto Inteiro [][] A = Inteiro [m][n] Inteiro [][] B = Inteiro [n][m] Imprimir “Digite os elementos das matrizes A” Para (i=0;i<m;i=i+1) Faça Para (j=0;j<n;j=j+1) Faça Ler A[i][j] Fim Para Fim Para Imprimir “Digite os elementos das matrizes B” Para (i=0;i<n;i=i+1) Faça Para (j=0;j<m;j=j+1) Faça Ler B[i][j] Fim Para Fim Para Para (i=0;i<m;i=i+1) Faça Para (j=0;j<m;j=j+1) Faça C[i][j] = 0 Para (k=0;k<n;k=k+1) Faça C[i][j] = C[i][j] + A[i][k] * B[k][j] Fim Para Fim Para Fim Para Imprimir “Matriz A” Para (i=0;i<m;i=i+1) Faça Para (j=0;j<n;j=j+1) Faça Imprimir A[i][j] Fim Para Fim Para Imprimir “Matriz B” Para (i=0;i<n;i=i+1) Faça Para (j=0;j<m;j=j+1) Faça Imprimir B[i][j] Fim Para Fim Para Imprimir “Resultado da Matriz A x B” Para (i=0;i<m;i=i+1) Faça Para (j=0;j<m;j=j+1) Faça Imprimir C[i][j] Fim Para Fim Para Fim 2) (2,0 pts) Início Inteiro [][]mat = Inteiro [6][6] Inteiro i, j, valor, linha, coluna Logico x=Falso Imprimir "Digite os valores da matriz 6x6" Para (i=0;i<6;i=i+1) Faça Para (j=0;j<6;j=j+1) Faça Leia mat[i][j] Fim Para Fim Para Imprimir " Digite o número a ser buscado na matriz" Ler valor Para (i=0;i<6;i=i+1) Faça Para (j=0;j<6;j=j+1) Faça Se (valor==mat[i][j]) Então linha = i coluna = j x = Verdadeiro Fim Para Fim Para Se (x) Então Imprimir "O valor" + valor + " foi encontrado na lina" + linha + " coluna" + coluna Senão Imprimir "O valor" + valor + " não foi encontrado" Fim Se Fim 3) (2,0 pts) Algoritmo ValorMatriz() Início Real [][] A = Real [8][8] Inteiro i, j, linhamin=0, colunamin=0, linhamax=0, colunamax=0 Real pos=0, neg=0, valormax, valormin Imprimir "Digite o valor da matriz" Para (i=0;i<8;i=i+1) Faça Para(j=0;j<8;j=j+1) Faça Ler A[i][j] Fim Para Fim Para valormax = A[0][0] Para (i=0;i<8;i=i+1) Faça Para(j=0;j<8;j=j+1) Faça Se (A[i][j] > valormax) Então valormax = A[i][j] linhamax = i colunamax = j Fim Se Fim Para Fim Para valormin = A[0][0] Para (i=0;i<8;i=i+1) Faça Para(j=0;j<8;j=j+1) Faça Se (A[i][j] < valormin ) Então valormin = A[i][j] linhamin = i colunamin = j Fim Se Fim Para Fim Para Para (i=0;i<8;i=i+1) Faça Para(j=0;j<8;j=j+1) Faça Se (A[i][j] > 5) Então pos = pos + A[i][j] Fim Se Se (A[i][j] < 5) Então neg = neg + A[i][j] Fim Se Fim Para Fim Para Imprimir “A localização do maior valor é linha “+ linhamax +” e coluna “+ colunamax +” e do menor valor é linha “+ linhamin +” e coluna “+ colunamin Imprimir "A soma dos valores positivos maiores que 5 é " + pos + " e a soma dos valores negativos menores que 5 é " + neg Fim 4) (2,0 pts) Algoritmo Linhas_pares_impares() Início Real [][] A = Real [20][20] Inteiro [] P, I Inteiro i, j, par=0, impar=0 Imprimir "Digite o valor da matriz" Para (i=0;i<20;i=i+1) Faça Para(j=0;j<20;j=j+1) Faça Ler A[i][j] Fim Para Fim Para Para (i=0;i<20;i=i+1) Faça Para(j=0;j<20;j=j+1) Faça Se (i%2 != 0) Então %Linha Impar% Se (A[i][j] %2 == 0) Então P[par] = A[i][j] A[i][j] = 5 par = par+1 Fim Se Senão Se (A[i][j] %2 != 0) Então I[impar] = A[i][j] A[i][j] = 3 impar = impar+1 Fim Se Fim Se Fim Para Fim Para Imprimir “ Os valores da Matriz A são:” Para (i=0;i<20;i=i+1) Faça Para(j=0;j<20;j=j+1) Faça Imprimir A[i][j] Fim Para Fim Para Imprimir “ Os valores do Vetor P são:” Para (i=0;i<par;i=i+1) Faça /* variável par é o número de elementos do vetor P */ Imprimir P[i] Fim Para Imprimir “ Os valores do Vetor I são:” Para (i=0;i<impar;i=i+1) Faça /* variável impar é o número de elementos do vetor I */ Imprimir I[i] Fim Para Fim 5) (2,0 pts) Algoritmo FibRecursivo() Início Inteiro num, i, f, fprox Logico x Imprimir "Digite o número para verificar" Ler num Imprimir " A sequencia de Fibonacci é" fptox=0 cont=1 Enquanto (fprox<=num) Faça f=fib(cont) fprox=fib(cont+1) Imprimir f Se (f==num) Então x=verdadeiro Fim Se cont = cont + 1 Fim Enquanto Se (x) Então Imprimir "O número " + num + " pertence a série de Fibonacci" Senão Imprimir "O número " + num + " não pertence a série de Fibonacci" Fim Se Fim Inteiro fib(Inteiro n) Início Se (n==1 | n==2) Então Retorne 1 Senão Retorne fib(n-1) + fib(n-2) Fim Se Fim
Compartilhar