Prévia do material em texto
Pontifícia Universidade Católica do Paraná - PUCPR Escola Politécnica Disciplina: Algoritmos e Programação B Professora: Claudia Moro Barra e-mail: c.moro@pucpr.br Exercícios Arrays (vetores e matrizes), String e Registro (Struct) 1. Elabore um algoritmo que leia números inteiros até que seja digitado o valor -1. Ao final o programa deve ser apresentado o maior valor. var N, maior: inteiro inicio escreva("Entre com o numero: ") leia(N) maior <- N repita se (maior < N) entao maior <- N fimse escreva("Entre com o numero: ") leia(N) ate ( N = -1) escreval ("O maior valor e ", maior) fimalgoritmo mailto:c.moro@pucpr.br Pontifícia Universidade Católica do Paraná - PUCPR Escola Politécnica 2. Os dados Nome, CPF, idade e endereço de uma pessoa são armazenados em uma estrutura. Escreva um trecho do algoritmo que permita o usuário escolher entre 2 opções, a e b: a) Digitando o nome de uma pessoa é impresso o seu o endereço. b) A partir da entrada do CPF é lida e armazenada a sua idade. Pessoa: registro { Nome: caracter CPF: inteiro Idade: inteiro End: caracter }; Cidadao: pessoa leia (opcao); escolha (opcao) caso 'a': leia (Cidadao.nome); escreva (" O pessoa “,Cidadao.nome, “ tem o endereco", Cidadao.end) break; caso 'b': leia (Cidadao.CPF); leia (Cidado.idade); break; fimcaso. 3. Complemente o algoritmo a seguir de maneira que ele execute o cálculo da média de cada linha da matriz Notas e armazene no vetor Media. Obs: suponha que ao valores já estão armazenados na matriz, não é preciso fazer a leitura. inicio lin, col: inteiro Notas: vetor [1..10,1..4] de real Media: vetor [1..4] de real soma: real para lin de 1 ate 10 passo 1 faca escreva ( “ A média dos números da linha ", lin, " da matriz é: ”, media[cont]) fimalgoritmo Pontifícia Universidade Católica do Paraná - PUCPR Escola Politécnica RESPOSTA inicio lin, col: inteiro Notas: vetor [1..10,1..4] de real Media: vetor [1..4] de real soma: real para lin de 1 ate 10 passo 1 faca soma <- 0 para col de 0 ate 4 col passo 1 faca soma <- soma + Notas [lin][col] fimpara Media [lin] <- soma/4 fimpara para lin de 1 ate 10 passo 1 faca escreva ( “ A média dos números da linha ", lin, " da matriz é: ”, media[cont]) fimalgoritmo 4. Elabore uma função que recebe um número x e um vetor v[0 : : n - 1] com n >= 0 e retorna k no intervalo 0 : : n - 1 tal que v[k] = x. Se tal k não existe, retorna -1. Assuma que o número de posições será no máximo 20 Funcao ProcuraValor (x: integer, v: vetor [1..20] de integer, n: integer): integer var k: integer inicio para k de 1 ate n passo 1 faca se v[k] = x returne k fimpara retorne -1 //Se o x for achado a função retorna e não passa neste comando fimfuncao