Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
ALGORITMOS EXERCÍCIOS LISTA 4 PROFA. GELLARS TAVARES gellarstavares@yahoo.com.br 2012 ALGORITMOS Professora: GELLARS TAVARES ESTRUTURA DE REPETIÇÃO “Eu ouço e esqueço, eu vejo e me lembro, mas fazendo é que eu aprendo.” Confúcio 1) Entrar com 100 números e imprimir a metade de cada número. 2) Entrar com 100 números e imprimir o quadrado de cada número. 3) Entrar com 80 números e, para cada número, imprimir o logaritmo desse número na base 10. 4) Entrar com 150 números e imprimir a raiz quadrada de cada número. 5) Entrar com 200 números e imprimir o cubo e a raiz cúbica de cada número. 6) Entrar com 200 números e imprimir a soma desses números. 7) Entrar com 120 números e imprimir a média desses números. 8) Entrar com nome, nota da PR1 e nota da PR2 de 15 alunos. Imprimir uma listagem, contendo: nome, nota da PR1, nota da PR2 e média de cada aluno. Ao final, a média geral da turma. 9) Entrar com um número e imprimir todos os seus divisores. 10) Entrar com 200 números inteiros e imprimir quantos são pares e quantos são ímpares. 11) Entrar com 150 números e imprimir quantos números maiores que 30 foram digitados. 12) Entrar com 200 números e imprimir a soma dos positivos e o total de números negativos. 13) Entrar com um nome, idade e sexo de 200 pessoas. Imprimir uma listagem contendo um título, nomes de todas as pessoas que sejam do sexo masculino e tenham mais de 21 anos. 14) Entrar com dois números e imprimir todos os números no intervalo fechado, do menor para o maior. 15) Entrar com salário bruto de 100 pessoas. Imprimir o valor da alíquota do imposto de renda: Salário menor que R$ 600,00 - isento Salário >= R$ 600,00 e < R$ 1500,00 - 10% Salário >= R$ 1500,00 - 15% 16) Entrar com 100 números (positivos ou negativos) e imprimir o maior e o menor número de todos. 17) Imprima todos os números de 1 até 100. LISTA 4 PÁGINA:2 ALGORITMOS Professora: GELLARS TAVARES 18) Imprima todos os números de 100 até 1. 19) Imprima os 100 primeiros pares. 20) Imprima os múltiplos de 5, no intervalo de 1 até 500. 21) Imprima o quadrado dos números de 1 até 200. 22) Ler o número de termos da série (N) e imprimir o valor de H, sendo N H 1... 4 1 3 1 2 11 +++++= 23) Ler o número de termos da série (N) e imprimir o valor de H, sendo N H 1... 4 1 3 1 2 11 +−+−= 24) Ler o número de termos da série (N) e imprimir o valor de S, sendo NN NNN S +−++−+−+= 2 1... 2 3 1 21 25) Imprima uma tabela de conversão de polegadas para centímetros. Deseja-se que a tabela conste valores desde uma polegada até 20 polegadas inteiras. 26) Imprima a tabuada de multiplicar do número 3. 27) Faça um algoritmo que deixe escolher qual a tabuada de multiplicar que se deseja imprimir. 28) Imprima todas as tabuadas de multiplicar de 1 até 10. 29) Uma escola tem 5 turmas e cada turma tem n alunos. Faça um algoritmo que imprima, por turma, total de alunos com média superior a 7 e a média geral da escola. LISTA 4 PÁGINA:3 ALGORITMOS Professora: GELLARS TAVARES 30) Após análise do código responda a questão: Ao ser compilado e executado, o programa irá exibir na tela: A Os números ímpares entre 1 e 15 (inclusive) em ordem decrescente. B Os números ímpares entre 1 e 15 em ordem decrescente. C Os números pares entre 1 e 15 (inclusive) em ordem crescente. D Os valores entre 1 e 15 (inclusive) em ordem decrescente. E Os valores entre 1 e 15 (inclusive)em ordem crescente. 31) Um programa de cadastro deve solicitar CPF,nome e telefone de alunos até que o cpf seja igual a 0. Que estrutura em C++ melhor representa esta tarefa? A do{ // [bloco de comandos] } while (cfp !=0); B if (cpf != 0){ // [bloco de comandos] } C while{ // [bloco de comandos] } do (cfp !=0); D for (cpf=0; cpf !=0; cpf++) { // [bloco de comandos] } E do while (cfp !=0){ // [bloco de comandos] } 32) Assinale as alternativas corretas em relação a quantidade de vezes que a frase será impressa, nos trechos de código abaixo. i<-555 enquanto(i>553)faça j<-122 enquanto(j<125)faça A 4 vezes B 5 vezes C 6 vezes D 7 vezes E 8 vezes escreval("Frase") j<-j+1 fimenquanto i<-i-1 fim enquanto LISTA 4 PÁGINA:4 ALGORITMOS Professora: GELLARS TAVARES 33) Assinale as alternativas corretas em relação a quantidade de vezes que a frase será impressa, nos trechos de código abaixo. A 4 vezes B 5 vezes C 6 vezes D 7 vezes E 8 vezes i<-12 j<-3 enquanto(i<20)faça enquanto(j<5)faça escreva("Frase") j<-j+1 fimenquanto j<-4 i<-i+2 fimenquanto 34) De acordo com o trecho de código abaixo, para imprimir uma frase 8 vezes qual deverá ser o teste no comando de repetição. i<-0 A a) i<=8 B i<8 C i<=16 D i<16 E Não há teste satisfatório enquanto (________) faça escreval(“Frase”) i = i*2 fimenquanto 35) De acordo com o trecho de código abaixo, para imprimir uma frase 8 vezes qual deverá ser o teste no comando de repetição. i<-1 A i<8 B i<=8 C i<16 D i<=16 E Não há teste satisfatório enquanto (________) faça escreval(“Frase”) i = i*2 fimenquanto 36) São considerados comandos condicionais de repetição na linguagem Portugol: A Se e escolha B Escreva e Leia C Se, Escolha, Escreva e Leia D Se, Escolha, Enquanto e Para E Enquanto, Repita e Para 37) Para que as soluções dos algoritmos aproximem-se do que é visto na lógica de programação, é importante padronizar alguns procedimentos. Num primeiro momento, não precisam ser rigidamente especificadas, mas é importante o contato com as estruturas básicas, que consistem de: LISTA 4 PÁGINA:5 ALGORITMOS Professora: GELLARS TAVARES I. Estrutura sequencial – indica que uma operação deve ser realizada em sequência à outra, ou seja, determina a ordem com que as operações devam ser realizadas. II. Estrutura de decisão – indica que, em um determinado momento, será necessário tomar uma decisão sobre qual operação realizar de acordo com um determinado critério. III. Estrutura de repetição – indica que algumas operações devem ser repetidas uma determinada quantidade de vezes especificada pelo construtor do algoritmo. A Todas corretas B Somente I e III corretas C Somente I e II corretas D Somente II e III corretas E Somente III correta 38) A REPETIÇÃO é uma das estruturas básicas de programação, determine entre as atividades abaixo a que representa melhor a REPETIÇÃO : A No trânsito, se o sinal estiver vermelho, PARE, se não, PODE PASSAR. B Para encher um copo com água, mantenha a torneira aberta enquanto o copo não estiver cheio. C Para fazer um bolo, prepare os ingredientes, misture-os bem e ponha no forno para assar. D Se um aluno obtiver média abaixo de 6.0 estará REPROVADO, se não estará APROVADO. 39) Considere o trecho de código em C++ a seguir e selecione a opção que indica corretamente o que será exibido ao término da execução. int x=1; A x = 120 B 120 C x= 5 D 5 E x = x int y=5; for (int i = y; i >0 ;i--) x = x * i; cout << "x= " << x; 40) Em alguns programas, existem estruturas de repetição que podem ser utilizadas quando o número de repetições necessárias não é fixo e que os comandos que a compõem serão repetidos até uma condição localizada no início da estrutura assuma um valor falso. Quando for este caso, podemos usar: 1. switch / case A 1 e 2, somente. B 1 e 3, somente. C 1, 2 e 4, somente. D 2, 3 e 4, somente. E 3 e 4, somente. 2. do / while 3. for 4. while Estão corretas as afirmativas: LISTA 4 PÁGINA:6 ALGORITMOS Professora: GELLARS TAVARES 41) O que está sendo executado pelo algoritmo abaixo? CONT Å 0; SOMA Å 0; A Soma os 100 números digitados. B Soma todos os números ímpares de 1 a 100 C Soma todos os números de 1 a 100 D Soma todos os números de 0 a 100 E Soma todos os números pares de 1 a 100 enquanto (CONT < 100) faça SOMA Å SOMA + CONT; CONT Å CONT + 1; fim_enquanto 42) Qual dos comandos abaixo permite que um bloco de comandos seja executado até que um determinado numero seja igual a 0? A while (num != 0) B while (num == 0) C while (num > 0) D for (int i = 0; i == num; i++) E for (int i = num; i > 0; i++) 43) Qual das opções possui um trecho de código que executará exatamente 10 vezes? A for (i = 0; i < 10; i++); B for (i = 1; i < 10; i++); C for (i = 0; i <= 10; i++); D for (i = 0; i == 10; i++); E for (i = 0; i !=10; i++); 44) Em relação à construção de algoritmo, considere: I. Na estrutura de repetição Enquanto / Faça o bloco de repetição pode ser executado várias vezes ou até nenhuma vez. A condição é testada antes de entrar na estrutura de repetição. II. A estrutura de repetição Repita / Até efetua um teste lógico no fim do laço, garantindo que pelo menos uma vez as instruções deste são executadas. III. Toda repetição condicional pode ser representada por uma estrutura do tipo Enquanto / Faça ou Repita / Até, sendo que a primeira repete somente quando a condição é falsa e a segunda somente quando a condição é verdadeira. IV. Para se impedir a situação conhecida como loop infinito é necessário que, nos laços condicionais, a variável que é testada esteja sempre associada a uma instrução que a atualize no interior do laço. As afirmações corretas são: LISTA 4 PÁGINA:7 ALGORITMOS Professora: GELLARS TAVARES A I, II e IV B I, II e III C II, III e IV D I e II E II e III 45) Analise o código abaixo e determine qual o valor final da variável SOMA ? int x = 0, soma = 0 ; A 05 B 10 C 15 D 20 E 25 for (x=1; x<=5; x=x+1) soma = soma + x; cout << "O valor da SOMA é "<< soma; ==================================================================== 30) Entrar com números e imprimir o triplo de cada número. O algoritmo acaba quando entrar o número -999. 31) Entrar com números enquanto forem positivos e imprimir quantos números foram digitados. 32) Entrar com vários números positivos e imprimir a média dos números digitados. 33) Ler vários números e informar quantos números entre 100 e 200 foram digitados. Quando o valor 0 (zero) for lido, o algoritmo deverá cessar sua execução. 34) Entrar com profissão de várias pessoas e imprimir quantos são dentistas.(considerar DENTISTA, dentista e Dentista). 35) Entrar com sexo de várias pessoas e imprimir quantas pessoas são do sexo masculino.(considerar m e M). 36) Entrar com números e imprimir o quadrado de cada número até entrar um número múltiplo de 6 que deverá ter seu quadrado também impresso. 37) Entrar com um número e imprimir seus DIVISORES. 38) Dado um país A, com 5.000.000 de habitantes e uma taxa de natalidade de 3% ao ano, e um país B com 7.000.000 de habitantes e uma taxa de natalidade de 2% ao ano. Calcular e imprimir o tempo necessário para que a população do país A ultrapasse a população do país B. 39) Uma empresa de fornecimento de energia elétrica faz a leitura mensal dos medidores de consumo. Para cada consumidor existem as seguintes informações: • Número (código) do consumidor LISTA 4 PÁGINA:8 ALGORITMOS Professora: GELLARS TAVARES LISTA 4 PÁGINA:9 • Quantidade de kWh consumidos durante o mês • Tipo (código) do consumidor: 1 - residencial, preço por kWh = 5,00. 2 - comercial, preço por kWh = 6,10. 3 - industrial, preço do kWh = 10,70. Os dados devem ser lidos até que seja encontrado um consumidor com código 0 (zero). Calcule e imprima: - o custo total para cada consumidor. - o total de consumo para os 3 tipos de consumidor. - a média de consumo dos tipos 1 e 2. 40) Faça um algoritmo que deixe entrar com 10 números positivos e imprima raiz quadrada de cada número. Para cada entrada de dados deverá ter um trecho de proteção para que um número negativo não seja aceito. 41) Entrar com a idade de várias pessoas e imprimir: - Total de pessoas com menos de 21 anos. - Total de pessoas com mais de 50 anos. 42) Entrar com um número e verificar se ele é um número primo. 43) Entrar com vários números e imprimir o maior número. O algoritmo acaba quando se digita -9999. 44) Entrar com o número da conta e o saldo de várias pessoas. Imprimir uma listagem contendo todas as contas, os respectivos saldos e uma das mensagens: positivo / negativo. Ao final, o percentual de pessoas com saldo negativo. O algoritmo acaba quando se digita um número negativo para a conta. 45) Faça um programa que ler dois números da entrada e imprima o resto da divisão inteira do primeiro pelo segundo usando subtrações sucessivas. 46) Faça um programa que calcule o M.M.C. entre dois números lidos da entrada. 47) Faça um programa que calcule o M.D.C. entre dois números lidos da entrada. 48) Faça um programa que possa ler um conjunto de pedidos de compra e calcule o valor total da compra. Cada pedido é composto pelos seguintes campos: *número de pedido *data do pedido (dia, mês ano) *preço unitário *quantidade O programa deverá processar novo pedido ate que o usuário digite (zero) como número do pedido. 49) Construa um algoritmo que apresente os números existentes no intervalo entre 50 e 100. 50) Construa um algoritmo que imprima no intervalo de 1 até 100, os números que são divisíveis por 2 e por 5. ALGORITMOS Professora: GELLARS TAVARES LISTA 4 PÁGINA:10 51) Construa um algoritmo que leia um conjunto de números até que seja lido o valor 0 (zero) e informe: a) A soma dos valores lidos; b) O maior valor lido; c) O menor valor lido; d) Quantos números foram lidos; e) A média dos números lidos. 52) Construa um algoritmo que apresente os elementos da série de Fibonacci inferiores a um determinado valor lido. A série inicia com os valores 1 e 1 e cada termo subseqüente é formado pela soma dos dois termos anteriores, ou seja: 1-1-2-3-5- 8-13-21... 53) O valor do co-seno pode ser obtido com boa aproximação através dos 30 primeiros termos da série a seguir: Cos X = X - X3 + X5 - X7 + . . . 3! 5! 7! Fazer um algoritmo que, dado X, calcule o valor do co-seno de X. 54) Leia um conjunto de dados, informados pelo usuário. Estes dados correspondem a altura, peso e sexo de uma equipe de atletas. O algoritmo deverá informar: a altura da mulher mais alta e o peso do homem mais pesado. 55) Escrever um algoritmo que lê 5 valores para a, um de cada vez, e conta quantos destes valores são negativos, escrevendo esta informação. 56) Escrever um algoritmo que lê um valor N inteiro e positivo e que calcula e escreve o valor de E: E = 1 + 1 / 1! + 1 / 2! + 1 / 3! + ...+ 1 / N! 57) A prefeitura de uma cidade fez uma pesquisa entre seus habitantes, coletando dados sobre o salário e número de filhos. A prefeitura deseja saber: a) média do salário da população; b) média do número de filhos; c) maior salário; d) percentual de pessoas com salário até R$100,00. O final da leitura de dados se dará com a entrada de um salário negativo. 58) Construir um algoritmo que calcule a média aritmética de vários valores inteiros positivos, lidos externamente. O final da leitura acontecerá quando for lido um valor negativo. 59) Em uma eleição presidencial existem quatro candidatos. Os votos são informados através de códigos. Os dados utilizados para a contagem dos votos obedecem à seguinte codificação: - 1,2,3,4 = voto para os respectivos candidatos; - 5 = voto nulo; - 6 = voto em branco; ALGORITMOS Professora: GELLARS TAVARES LISTA 4 PÁGINA:11 Elabore um algoritmo que leia o código do candidato em um voto. Calcule e escreva: - total de votos para cada candidato; - total de votos nulos; - total de votos em branco; Como finalizador do conjunto de votos, tem-se o valor 0 (zero). 60) Escreva um algoritmo que calcule a média dos números digitados pelo usuário, se eles forem pares. Termine a leitura se o usuário digitar zero (0). 61) Escreva um algoritmo que leia 50 valores e encontre o maior e o menor deles. Mostre o resultado. 62) Escreva um algoritmo que leia um número n (número de termos de uma progressão aritmética), a1 (o primeiro termo da progressão) e r (a razão da progressão) e escreva os n termos desta progressão, bem como a soma dos elementos. 63) Escrever um algoritmo que leia 20 valores para uma variável n e, para cada um deles, calcule a tabuada de 1 até n. Mostre a tabuada na forma: 1 x n = n 2 x n = 2n 3 x n = 3n ....... n x n = n2 64) Escrever um algoritmo que lê um número não determinado de valores para m, todos inteiros e positivos, um de cada vez. Se m for par, verificar quantos divisores possui e escrever esta informação. Se m for impar e menor do que 10 calcular e escrever o fatorial de m. Se m for impar e maior ou igual a 10 calcular e escrever a soma dos inteiros de 1 até m. 65) Faça um algoritmo que leia uma quantidade não determinada de números positivos. Calcule a quantidade de números pares e ímpares, a média de valores pares e a média geral dos números lidos. O número que encerrará a leitura será zero. 66) Faça um algoritmo que leia vários números inteiros e calcule o somatório dos números negativos. O fim da leitura será indicado pelo número 0. 67) Faça um algoritmo que leia vários números inteiros e positivos e calcule o produtório dos números pares. O fim da leitura será indicado pelo número 0. 68) Foi feita uma pesquisa entre os habitantes de uma região. Foram coletados os dados de idade, sexo (M/F) e salário. Faça um algoritmo que informe: a) a média de salário do grupo; b) maior e menor idade do grupo; c) quantidade de mulheres com salário até R$100,00. Encerre a entrada de dados quando for digitada uma idade negativa. ALGORITMOS Professora: GELLARS TAVARES 69) Escrever um algoritmo que leia 10 valores, um de cada vez. Contar quantos deles estão no intervalo [10,20] e quantos deles estão fora do intervalo, escrevendo estas informações. 70) Foi feita uma pesquisa entre os 1000 habitantes de uma região para coletar os seguintes dados: sexo (0-feminino, 1-masculino), idade e altura. Faça um algoritmo que leia as informações coletadas e mostre as seguintes informações: a) média da idade do grupo; b) média da altura das mulheres; c) média da idade dos homens; d) percentual de pessoas com idade entre 18 e 35 anos (inclusive). LISTA 4 PÁGINA:12 71) Menu MÁQUINA ESPERTA 1 Soma vários números 2 Multiplica vários números 3 Sai do programa OPCAO: 72) Menu: MENU A - Imprime o nome que tiver o maior número de caracteres entre 20 nomes B - Brinca com a palavra C - Calcula e imprime a raiz à quarta de um número F - Termina o programa OPCAO: Observações: 1- Na entrada de dados, considerarem as letras maiúsculas e minúsculas 2- No item B, se você entrar com a palavra LINDO, deverá sair: 73) Menu: MENU A - Armazena na variável menor e imprime, o nome que tiver o menor número de caracteres entre 3 nomes. B - Brinca com a palavra. C - Calcula e imprime a tangente de um ângulo em graus. F - Termina o programa. OPCAO: Observações: 1- Na entrada de dados, considerarem as letras maiúsculas e minúsculas. 2- No item B, se você entrar com a palavra AMOR deverá sair: 3- Não se esqueça de testar os ângulos que não tem tangente. L LI LIN LIND LINDO AMOR AMO AM A Considerações: 1 - Ao se escolher a opção 1, deverá ser pedido o número de números que se deseja somar e imprimir a SOMA. 2 - Ao se escolher a opção 2, deverá ser pedido o número de números que se deseja multiplicar e imprimir o PRODUTO. ALGORITMOS Professora: GELLARS TAVARES LISTA 4 PÁGINA:13 74) Menu: MENU A - Entra com uma frase, converte todas as letras para maiúscula, armazena em outra variável a frase invertida e imprime. B - Entra com um número e seu número de dígitos e imprime invertido. C - Calcula e imprime a tangente de um ângulo em graus. F - Termina o programa. OPCAO: Observações: 1- Na entrada de dados, considerarem as letras maiúsculas e minúsculas. 3- No item B, se você entrar com 987654 e 6, deverá sair: 456789 4 - No item C, não se esqueça de testar os ângulos que não tem tangente. 75) Menu: Operação R Raiz Quadrada de um número Q Quadrado de um número L Logaritmo de um número em uma base qualquer F OPCAO: Termina o algoritmo O algoritmo deverá fazer todos os testes necessários para RADICANDO, BASE e LOGARITMANDO. 76) Menu: MENU 1 Imprime o COMPRIMENTO da frase 2 Imprime os DOIS PRIMEIROS e os DOIS ÚLTIMOS caracteres 3 Imprime a frase ESPELHADA 4 Termina o programa OPCAO: Considerações: 1 - Ao se escolher a opção 1, deverá ser impresso o número de caracteres da frase 2 - Ao se escolher a opção 2, deverá ser impresso os dois primeiros e os dois últimos caracteres. 3 - Ao se escolher a opção 3, deverá ser impresso desde o último até o primeiro caractere. 4 - Se for escolhido uma opção inválida, deverá se informado OPERAÇÃO INVÁLIDA. ESTRUTURA DE REPETIÇÃO