Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aplicações de Vetores DESAFIO! Um funcionário precisa organizar o seu trabalho. Ele recebe um conjunto de pastas de clientes, revisa essas pastas e anota a referência de cada cliente (seu código). Ao realizar este processo, ele inverte as pastas e, por isso, precisa organizá-las na ordem correta de atendimento depois. Sendo assim, construa um algoritmo que: - Leia os códigos dos clientes, armazenando-os em um vetor de inteiros, conforme o trabalho do funcionário. - Em seguida, inverta o vetor. Para que os dados fiquem organizados da maneira que o funcionário precisa para trabalhar, utilize um procedimento para fazer a inversão do vetor. - Escreva o vetor. algoritmo "pastas" var clientes : vetor[1..20] de inteiro procedimento ler var indice : inteiro inicio para indice de 1 ate 20 passo 1 faca escreva("Cliente: ") leia(clientes[indice]) fimpara fimprocedimento procedimento escrever var indice : inteiro inicio para indice de 1 ate 20 passo 1 faca escreval("Atender - cliente[",indice,"]: ",clientes[indice]) fimpara fimprocedimento procedimento troca(var A, B: inteiro) var aux : inteiro inicio aux <- A A <- B B <- aux fimprocedimento procedimento inverte var indice1, indice2: inteiro inicio indice2 <- 20 para indice1 de 1 ate 10 passo 1 faca troca(clientes[indice1],clientes[indice2]) indice2 <- indice2 - 1 fimpara fimprocedimento inicio ler() escrever() inverte() escrever() fimalgoritmo EXERCICIOS! 1. Considere o seguinte objetivo: construir um algoritmo que leia um vetor G[13] que é o Gabarito de um teste da loteria esportiva, contendo os valores 1 (coluna , 2 (coluna , e 3 (coluna do meio). Ler, a seguir, para cada apostador, o número de seu cartão e um vetor Resposta R[13]. Verificar, para cada apostador, o número de acertos e escrever o número do apostador e seu número de acertos. Se tiver 13 acertos, acrescentar a mensagem "Ganhador, parabéns!". Analise a implementação a seguir, feita para atender a essa necessidade: algoritmo "loteria" var G: vetor[1..13] de real R: vetor[1..13] de real indice, cartao, acertos: inteiro procedimento lerG inicio para indice de 1 ate 13 passo 1 faca escreva("Jogo(",indice,"): ") leia(G[indice]) fimpara fimprocedimento procedimento lerR inicio para indice de 1 ate 13 passo 1 faca escreva("Jogo(",indice,"): ") leia(R[indice]) se (R[indice] = G[indice]) entao acertos <- acertos + 1 fimse fimpara fimprocedimento inicio lerG() repita escreva("Digite cartao do apostador: ") leia(cartao) se (cartao <> 0) entao acertos <- 0 lerR() escreval("Acertos: ",acertos) se (acertos = 13) entao escreval("GANHADOR, PARABÉNS!") fimse fimse ate (cartao = 0) fimalgoritmo Assinale a alternativa INCORRETA: C. O algoritmo será repetido infinitamente. O algoritmo irá terminar quando o valor digitado para o cartão for 0. 2. Considere o seguinte algoritmo em pseudocódigo: algoritmo "faz" var V: vetor[1..10] de real procedimento T(var a,b : real) var aux : real inicio aux <- a a <- b b <- aux fimprocedimento procedimento X var indice : inteiro inicio para indice de 1 ate 10 passo 1 faca escreva("Elemento(",indice,"): ") leia(V[indice]) fimpara fimprocedimento procedimento Y var i,j : inteiro inicio para i de 1 ate 10 passo 1 faca para j de 1 ate 9 passo 1 faca se (V[j] > V[j+1]) entao T(V[j],V[j+1]) fimse fimpara fimpara fimprocedimento procedimento Z var indice : inteiro inicio para indice de 1 ate 10 passo 1 faca escreval("V(",indice,"): ",V[indice]) fimpara fimprocedimento inicio X() Y() Z() fimalgoritmo Analise as seguintes alternativas e selecione a CORRETA: E. O procedimento Y ordena o vetor em ordem crescente. Executando o algoritmo, verifica-se que a função Y altera o vetor V, ordenando-o em ordem crescente pelo método buble-sort. 3. Uma professora deseja um programa para lhe auxiliar a calcular a média das notas de seus alunos. Ela possui 25 alunos e três notas para cada aluno, sendo que a média é calculada pela média aritmética simples das três notas. A partir das notas, ela precisa saber o maior valor e a média de cada uma delas. Além disso, precisa saber a maior média e a média das médias. Analise as alternativas a seguir e selecione aquela que tem a declaração de variáveis mais completa e adequada para atender a necessidade da professora. C. var Nota1, Nota2, Nota3, Media: vetor[1..25] de real SomaN1, SomaN2, SomaN3, SomaMedia, MediaN1, MediaN2, MediaN3, MediaMedia : real MaiorN1, MaiorN2, MaiorN3, MaiorMedia : real indice : inteiro 4. Considere as seguintes declarações de variáveis: DECLARAÇÃO 1 var x1,x2,x3 : vetor[1..4] de real DECLARAÇÃO 2 var x1,x2,x3,x4: vetor[1..3] de real Analise as alternativas a seguir e selecione aquela que apresenta a CORRETA explicação das variáveis declaradas respectivamente nas declarações 1 e 2. B. (1) 3 variáveis do tipo vetor de 4 posições reais cada. (2) 4 variávies do tipo vetor de 3 posições reais cada. DECLARAÇÃO 1 - define 3 variáveis do tipo vetor de 4 posições var x1,x2,x3 : vetor[1..4] de real DECLARAÇÃO 2 - define 4 variáveis do tipo vetor de 3 posições var x1,x2,x3,x4: vetor[1..3] de real 5. Em um programa de seleção de candidatos, no início do dia, é liberada a lista de códigos de inscrição dos 10 candidatos que serão entrevistados naquele dia. Em seguida, as pessoas informam seu código de inscrição e verifica-se se está ou não na lista. Para atender a esse necessidade, foi construído o algoritmo a seguir, que lê o vetor de códigos de inscrição dos candidatos selecionados, na sequência lê um código de inscrição e verifica-se se está ou não na lista, escrevendo essa conclusão. algoritmo "procura" var candidatos: vetor[1..10] de inteiro codigo : inteiro procedimento ler var indice : inteiro inicio para indice de 1 ate 10 passo 1 faca escreva("Elemento(",indice,"): ") leia(candidatos[indice]) fimpara fimprocedimento procedimento escrever var indice : inteiro inicio para indice de 1 ate 10 passo 1 faca escreval("V(",indice,"): ",candidatos[indice]) fimpara fimprocedimento funcao busca(c : inteiro): inteiro var indice, achou : inteiro inicio indice <- 1 achou <- 0 enquanto (indice <= 10) faca se (candidatos[indice] = c) entao achou <- 1 fimse indice <- indice + 1 fimenquanto retorne achou fimfuncao inicio ler() escrever() repita escreva("Digite código do candidato: ") leia(codigo) se (busca(codigo) = 0) entao escreval()"Candidato nao encontrado!") senao escreval"Candidato selecionado!" fimse ate codigo = 0 fimalgoritmo Analise as alternativas a seguir a selecione a INCORRETA. C. A função busca retorna um valor inteiro, 0 quando achou e 1 quando não achou. A função busca retorna um valor inteiro, 1 quando achou e 0 quando não achou.
Compartilhar