Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
© EPD/UFJF – Sistemas de Informação Aulas 11 e 12 – Exercícios Algoritmos Variáveis Multidimensionais (Lista 04) © EPD/UFJF – Sistemas de Informação Aulas 11 e 12 – Exercícios Exercícios Considerando como dados, as notas de uma determinada turma em uma prova, escreva um algoritmo que imprima aquelas notas que estão acima da média das outras. (Resposta) 2) Para um aluno ser considerado aprovado em uma disciplina, é preciso que possua nota igual ou superior a média das notas da turma. Sabendo que a turma é composta de 45 alunos, e que tem-se como entradas o nome e a nota de cada aluno, faça um algoritmo para informar o nome dos alunos aprovados, a quantidade de reprovados, bem como a percentagem de aprovados e reprovados. (Resposta) Determinada empresa vende N artigos diferentes. A empresa identifica cada artigo por um código alfanumérico de 5 letras. Escreva um algoritmo para imprimir o código e o preço dos três artigos mais caros. (Resposta) © EPD/UFJF – Sistemas de Informação Aulas 11 e 12 – Exercícios Exercícios 4) Faça um algoritmo que leia um conjunto X com N elementos reais e calcule a diferença entre o maior e o menor elemento existente, bem como as posições que os mesmos ocupam no conjunto. (Resposta) 5) Faça um algoritmo que para um vetor X de N elementos inteiros, transforme para zero todos os elementos negativos. (Resposta) Dada uma coleção de N números, imprimir a localização do primeiro número negativo, se houver. (Resposta) © EPD/UFJF – Sistemas de Informação Aulas 11 e 12 – Exercícios Exercícios 7) Faça um algoritmo que leia uma coleção X[1..20] e após, troque o 1º elemento com o 20º; o 2º com o 19º; e assim por diante. Ao final, imprima X. (Resposta) 8) Faça um algoritmo que gere as seguintes matrizes (de ordem N): Matriz Identidade; Matriz com todos os elementos iguais a 1. (Resposta) 9) Faça um algoritmo que, para uma matriz 20x10, efetue a soma de cada uma das linhas e escreva as somas obtidas. O algoritmo deve mostrar também, o número da linha que apresentou a maior soma. (Resposta) © EPD/UFJF – Sistemas de Informação Aulas 11 e 12 – Exercícios Exercícios 10) Faça um algoritmo que, para uma matriz quadrada de ordem N, de elementos inteiros, imprima esta matriz, identificando o número da linha e da coluna cujo elemento está sendo impresso. O algoritmo deve também calcular e imprimir a soma dos elementos situados abaixo da diagonal principal da matriz, incluindo os elementos da própria diagonal. (Resposta) 11) Faça um algoritmo para gerar a seguinte matriz: (Resposta) © EPD/UFJF – Sistemas de Informação Aulas 11 e 12 – Exercícios Exercícios 12) Crie um algoritmo que ordene um vetor (Resposta) 13) Faça um Algoritmo que, para uma coleção X de N elementos, determine o número de vezes que cada valor apareceu na coleção. Exemplo: 3 apareceu 2 vezes 7 apareceu 3 vezes 6 apareceu 2 vezes 0 apareceu 1 vez 4 apareceu 1 vez (Resposta) Faça um algoritmo que, para um vetor X de N elementos, faça a sua compactação. Compactar significa excluir do vetor todos valores repetidos. (Resposta) © EPD/UFJF – Sistemas de Informação Aulas 11 e 12 – Exercícios Exercícios Dado o algoritmo abaixo, qual será a matriz resultante após sua execução (teste de mesa): Algoritmo Exemplo Tipo Mat = Coleção [1..5, 1..4] de inteiro Variáveis I, J: Inteira A: Mat Inicio Para I de 1 até 5 faça Para J de 1 até 4 faça A [I,J] ← I * (J Div 2) FimPara FimPara Fim (Resposta) Faça um algoritmo que, para uma matriz de ordem NxN, determine: a) Soma dos elementos da diagonal principal. b) Produto dos elementos da diagonal secundária. (Resposta) © EPD/UFJF – Sistemas de Informação Aulas 11 e 12 – Exercícios 17) Crie um algoritmo que resolva o determinante de uma matriz 3 x 3. (Resposta) © EPD/UFJF – Sistemas de Informação Aulas 11 e 12 – Exercícios Exercício 1 Algoritmo Notas Tipo Colecao_notas: vetor [1: 1000] de Real Variaveis Nota: Colecao_notas Media, Soma: Real K, N: Inteiro Inicio Leia N Soma ← 0 Para K variando de 1 até N Faça Leia Nota [K] Soma ← Soma + Nota [K] FimPara Media ← Soma / N Para K variando de 1 até N Faça Se (Nota [K] > Media) Então Escreva Nota [K] FimSe FimPara Fim © EPD/UFJF – Sistemas de Informação Aulas 11 e 12 – Exercícios Exercício 2 Algoritmo Alunos Tipo Colecao_notas: vetor [1 : 45] de Real Colecao_nomes: vetor [1 : 45] de String(50) Variaveis Nota: Colecao_notas Nome: Colecao_nomes Soma, Media: Real PercReprovado, PercAprovado: Real K, NR, NA: Inteiro Inicio Soma ← 0 Para K de 1 até 45 Faça Leia Nome [K] Leia Nota [K] Soma ← Soma + Nota [K] FimPara Media ← Soma / 45 NA ← 0 NR ← 0 Para K de 1 até 45 Faça Se (Nota [K] >= Media) Então Escreva Nome [K] NA ← NA + 1 Senão NR ← NR + 1 FimSe FimPara PercReprovado ← 100 * NR / 45 PercAprovado ← 100 * NA / 45 Escreva NR Escreva PercReprovado Escreva PercAprovado Fim © EPD/UFJF – Sistemas de Informação Aulas 11 e 12 – Exercícios Exercício 3 Algoritmo Artigos Tipo Colecao_codigos: Coleção de [1:10000] de String(5) Colecao_precos: Coleção de [1:10000] de Real Variaveis Codigo: Colecao_codigos Preco: Colecao_precos Maior: Real K, J, N, Ultimo, PosMaior: Inteiro Aux: string(5) Inicio Leia N Para K variando de 1 até N Faça Leia Código[K] Leia Preco[K] FimPara Para J variando de 1 até (N-1) Faça Ultimo = N – (J – 1) Maior = Preco[1] PosMaior = 1 Para K variando de 2 até Ultimo Faça Se (Preço[K] > Maior) Então Maior = Preço[K] PosMaior = K FimSe FimPara Preço[ PosMaior ] = Preço[Ultimo] Preço[Ultimo] = Maior Aux = Código[PosMaior] Código[ PosMaior ] = Código[Ultimo] Código[Ultimo] = Aux FimPara Escreva Código[N], Preco[N] Escreva Código[N-1], Preco[N-1] Escreva Código[N-2], Preco[N-2] Fim © EPD/UFJF – Sistemas de Informação Aulas 11 e 12 – Exercícios Exercício 4 Algoritmo Conjunto Tipo Colecao: vetor [1 : 10000] de Real Variaveis X: Colecao Maior, Menor, Diferenca: Real K, N, PosMaior, PosMenor: Inteiro Inicio Leia N Para K variando de 1 até N Faça Leia X[K] FimPara Maior ← X [1] PosMaior ← 1 Para K variando de 2 até N Faça Se (X [K] > Maior) Então Maior ← X [K] PosMaior ← K FimSe FimPara Menor ← X [1] PosMenor ← 1 Para K variando de 2 até N Faça Se (X [K] < Menor) Então Menor ← X [K] PosMenor ← K FimSe FimPara Diferença ← Maior – Menor Escreva Diferença Escreva PosMaior Escreva PosMenor Fim © EPD/UFJF – Sistemas de Informação Aulas 11 e 12 – Exercícios Exercício 5 Algoritmo Zero Tipo Colecao_inteiros: vetor [1 : 10000] de Inteiro Variaveis X: Colecao_inteiros K, N: Inteiro Inicio Leia N Para K variando de 1 até N Faça Leia X[ K ] Se (X[ K ] < 0) Então X [ K ] ← 0 FimSe FimPara Fim © EPD/UFJF – Sistemas de Informação Aulas 11 e 12 – Exercícios Exercício 6 Algoritmo Negativo Tipo Colecao_reais: vetor [1 : 10000] de Real Variaveis X: Colecao_reais K, N, Pos: Inteiro Inicio Leia N Para K variando de 1 até N Faça Leia X [ K ] FimPara K ← 0 Repita K ← K + 1 Até (X [ K ] < 0) OU (K = N) Se (K=N) Então Pos ← 0 Senão Pos ← K FimSe Escreva Pos Fim © EPD/UFJF – Sistemas de Informação Aulas 11 e 12 – Exercícios Exercício 7 Algoritmo Inversao Tipo Colecao_elementos: coleção de [ 1..20 ] de Real Variaveis X: Colecao_elementos K: Inteiro Aux: Real Inicio Para K de 1 até 20 Faça Leia X [ K ] FimPara Para K de 1 até 10 Faça Aux ← X [ K ] X [ K ] ← X [ 21 – K ] X [ 21 – K ] ← Aux FimPara Para K de 1 até 20 Faça Escreva X [ K ] FimPara Fim © EPD/UFJF – Sistemas de Informação Aulas 11 e 12 – Exercícios Exercício 8 Algoritmo Identidade Tipo Matriz: coleção de [ 1..10000,1..10000 ] de inteiro Variaveis X, Y : Matriz J, I, N: Inteiro Inicio Leia N Para J variando de 1 até N Faça Para I variando de 1 até N Faça Se I = J Então X [I,J] ← 1 Senão X [I,J] ← 0 FimSe Y[I,J] ← 1 FimPara FimPara Fim © EPD/UFJF – Sistemas de Informação Aulas 11 e 12 – Exercícios Exercício 9 Algoritmo Matriz Tipo Matriz: coleção de [ 1..20, 1..10 ] de Real ColecaoSoma : coleção de [ 1..20 ] de Real Variaveis M: Matriz I, J, LinhaMaior: Inteiro SomaMaior, Soma: Real Somatorio: ColecaoSoma Inicio Para I de 1até 20 Faça Soma ← 0 Para J de 1 até 10 Faça Leia M [ I,J ] Soma ← Soma + M [ I, J ] FimPara Somatorio [ I ] ← Soma FimPara SomaMaior ← Somatorio [ 1 ] LinhaMaior ← 1 Para I de 2 até 20 Faça Se (Somatorio [ I ] > SomaMaior) Então SomaMaior ← Somatorio [ I ] LinhaMaior ← I FimSe FimPara Para I de 1 até 20 Faça Escreva Somatorio [ I ] FimPara Escreva LinhaMaior Fim © EPD/UFJF – Sistemas de Informação Aulas 11 e 12 – Exercícios Exercício 10 Algoritmo Matriz Quadrada Tipo Matriz: coleção de [ 1..10000, 1..10000 ] de Inteiro Variaveis N, I, J: inteiro M: Matriz Soma: Inteiro Inicio Leia N Soma ← 0 Para I variando de 1 até N Faça Para J variando de 1 até N Faça Leia M [ I, J ] Escreva “Elemento[“, I , “,’” , J , ”] = “ , M [ I, J ] Se (J <= I) Então Soma ← Soma + M [ I, J ] FimSe FimPara FimPara Escreva Soma Fim © EPD/UFJF – Sistemas de Informação Aulas 11 e 12 – Exercícios Exercício 11 Algoritmo Multiplos Tipo Matriz: coleção de [1..4, 1.. 4] de Inteiro Variaveis I, J : Inteiro M: Matriz Inicio Para J variando de 1 até 4 Para I variando de 1 até 4 M [I,J] ← I * J Escreva M [I,J] FimPara FimPara Fim © EPD/UFJF – Sistemas de Informação Aulas 11 e 12 – Exercícios Exercício 12 Algoritmo Ordenação Tipo matriz:coleção de [1..100] de inteiro Variáveis valores:matriz x,i,ultimo,maior,k: inteiro Inicio Leia n Para i variando de 1 até n Faça Leia valores[ i ] FimPara Para i variando de 1 até n Faça ultimo ← n – ( j - 1); maior ←valores[1]; posmaior ← 1 Para k variando de 2 até ultimo Faça Se valores[k] >= maior Então maior ← valores [k] posmaior ← k FimSe FimPara FimPara Valores[ posmaior ] ← valores[ultimo] Valores[ultimo] ←maior Fim © EPD/UFJF – Sistemas de Informação Aulas 11 e 12 – Exercícios Exercício 13 Algoritmo Contador Tipo vetor: coleção de [1..10000] de Inteiro Variaveis K, J, N, Ultimo, Maior, PosMaior: Inteiro Contador, Anterior: Inteiro X: vetor Inicio Leia N Para J variando de 1 até N Faça Leia X[J] FimPara Para J variando de 1 até (N-1) Faça Ultimo ← N – (J – 1) Maior ← X[1] PosMaior ← 1 Para K variando de 2 até Ultimo Faça Se (X[K] > Maior) Então Maior ← X[K] PosMaior ← K FimSe FimPara X[PosMaior] ← X[Ultimo] X[Ultimo] ← Maior FimPara Contador ← 1 Anterior ← X[1] Para J variando de 2 até N Faça Se (X[J] = Anterior) Então Contador ← Contador + 1 Senão Escreva Anterior, Contador Contador ← 1 Anterior ← X[J] FimSe FimPara Escreva Anterior, Contador Fim © EPD/UFJF – Sistemas de Informação Aulas 11 e 12 – Exercícios Exercício 14 Algoritmo Compactador Tipo vetor: coleção de [1..10000] de Inteiro Variaveis K, J, N, Contador, Total: inteiro X, Y: vetor Inicio Leia N Para J variando de 1 até N Faça Leia X[J] FimPara Y[1] ← X[1] Total ← 1 Para J variando de 2 até N Faça Contador ← 0 Para K variando de 1 até Total Faça Se (X[J] = Y[K]) Então Contador ← Contador + 1 FimSe FimPara Se (Contador = 0) Então Total ← Total + 1 Y[Total] ← X[J] FimSe FimPara Para J variando de 1 até Total Faça Escreva Y[J] FimPara Fim © EPD/UFJF – Sistemas de Informação Aulas 11 e 12 – Exercícios Exercício 15 Algoritmo Exemplo Tipo Mat = Coleção [1..5, 1..4] de inteiro Variáveis I, J: Inteira A: Mat Inicio Para I de 1 até 5 Faça Para J de 1 até 4 Faça A [I,J] ← I * (J Div 2) FimPara FimPara Fim © EPD/UFJF – Sistemas de Informação Aulas 11 e 12 – Exercícios © EPD/UFJF – Sistemas de Informação Aulas 11 e 12 – Exercícios Exercício 16 Algoritmo Matriz Tipo Matriz: coleção de [ 1..10000, 1..10000 ] de Real Variaveis N, I, J, D: Inteiro M: Matriz Soma, Produto: Real Inicio Leia N Soma ← 0 Produto ← 1 Para I variando de 1 até N Faça Para J variando de 1 até N Faça Leia M [ I, J ] Se (J = I) Então Soma ← Soma + M [ I, J ] FimSe D ← N – I + 1 Se (J = D) Então Produto ← Produto * M [ I, J ] FimSe FimPara FimPara Escreva Soma Fim © EPD/UFJF – Sistemas de Informação Aulas 11 e 12 – Exercícios Exercício 17 Algoritmo Determinante Tipo Matriz: coleção de [1..3,1..3] de inteiro Variáveis M:matriz Det ,Dx, Dy, Dz, x, y, z, i, j: inteiro Inicio Para j variando de 1 até 3 Faça Para i variando de 1 até 3 Faça Leia [ i , j ] FimPara FimPara Det ← (M[1,1]*M[2,2]*M[3,3] + M[1,2]*M[2,3]*M[3,1] + M[1,3]*M[2,1]*M[3,2]) – (M[1,3]*M[2,2]*M[3,1] + M[1,1]*M[2,3]*M[3,2] + M[1,2]*M[2,1]*M[3,3]) Escreva Det Fim
Compartilhar