Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Exercícios de Lógica de Programação, Exercícios de Informática

Lista de exercícios de Lógica de Programação.

Tipologia: Exercícios

Antes de 2010
Em oferta
30 Pontos
Discount

Oferta por tempo limitado


Compartilhado em 01/09/2009

hudson-costa-6
hudson-costa-6 🇧🇷

4.7

(13)

6 documentos

1 / 17

Documentos relacionados


Pré-visualização parcial do texto

Baixe Exercícios de Lógica de Programação e outras Exercícios em PDF para Informática, somente na Docsity! Algoritmos e Lógica de Programação Prof. Francisco Veríssimo Luciano 1/33 Algoritmos e Lógica de Programação Lista de Exercícios Algoritmos e Lógica de Programação Prof. Francisco Veríssimo Luciano 2/33 Operações Aritméticas: 1) Crie um programa que permita fazer a conversão cambial entre Reais e Dólares. Considere como taxa de câmbio US$1,00 = R$2,40. Leia um valor em Reais pelo teclado e mostre o correspondente em Dólares. 2) Crie um programa que permita fazer a conversão cambial entre Dólares e Reais. Considere como taxa de câmbio US$1,00 = R$2,40. Leia um valor em Dólares pelo teclado e mostre o correspondente em Reais. 3) Calcule quantos azulejos são necessários para azulejar uma parede. É necessário conhecer a altura da parede (AP), a sua largura (LP), e a altura do azulejo (AA) e sua largura (LA). Leia os dados através do teclado. 4) Faça um programa que, a partir das medidas dos lados de um retângulo, lidos via teclado, calcule a área e o perímetro deste retângulo. b a A a A = a.b P = 2.a + 2.b b 5) A condição física de uma pessoa pode ser medida com base no cálculo do IMC, Índice de Massa Corporal, o qual é calculado dividindo-se a massa da pessoa (m em kg) pela altura da mesma (h em m) elevada ao quadrado (IMC= m/h²). Escreva um programa que leia a massa e a altura de uma pessoa, calcule e mostre o IMC. 6) Dado o valor do raio (r) de uma circunferência, elaborar um programa para calcular e imprimir sua área (A) e o seu comprimento (C). A fórmula da área do círculo é A=π r2 e do comprimento é C=2π r. 7) Elaborar um programa para calcular e imprimir o volume (V) de uma esfera e a área (A) de sua superfície, dado o valor de seu raio (R). A fórmula do volume da esfera é V=4/3 π R3 e da área é A=4π R2. 8) Faça um programa para calcular a média final de um aluno, supondo-se que há quatro notas bimestrais durante o ano e que esta é calculada através de uma média aritmética simples (todos os bimestres têm o mesmo peso). Algoritmos e Lógica de Programação Prof. Francisco Veríssimo Luciano 3/33 9) O critério de avaliação semestral de determinada escola segue a regra: P1 – primeira avaliação do semestre. P2 – segunda avaliação do semestre. Ativ – nota atribuída pelas atividades realizadas no semestre. Média = P1 x 4 + P2 x 4 + Ativ x 2 10 Escreva um programa que leia as notas das provas (P1 e P2) e da atividade (Ativ), calcule e mostre a média, seguindo o cálculo acima. 10) Elaborar um programa para receber valores, via teclado, nas variáveis "a" e "b". Após isto, o programa, utilizando-se de uma 3a. variável "c", deverá trocar o conteúdo das variáveis "a" e "b". 11) (DESAFIO) Idem o programa anterior, sem utilizar-se de uma 3a. variável. 12) Elaborar um programa que receba, via teclado, os valores do espaço percorrido e do tempo gasto por um veículo em movimento, para calcular e apresentar em tela sua velocidade média. 13) Num laboratório de física, em uma experiência de Movimento Uniformemente Variado, foram encontrados os seguintes valores: s0=2m, v0=3m/s, a=10m/s2. Digitado o valor de t (segundos), apresentar em tela o valor de s (metros). Dada a fórmula: s = s0 + v0 . t + ½ . a . t2 14) Suponha que um simples vírus tenha infectado o sistema de banco de dados da universidade e que, como único estrago, ele tenha alterado os RA´s dos alunos. Após algum tempo, descobriu-se que dado o RA gerado pelo vírus RAV = x1 x2 x3 x4 x5 x6 x7 x8 x9, o RA correto RAC = y1 y2 y3 y4 y5 y6 y7 y8 y9 poderia ser obtido através das seguintes operações: y1 = x1, y2 = x2, y3 = x8, y4 = x7, y5 = x5, y6 = x6, y7 = x3, y8 = x4, y9 = x9 Exemplificando, se RAV=197845602 então RAC=190645782. Elabore um programa em C que leia RAV e gere RAC com 9 dígitos. Algoritmos e Lógica de Programação Prof. Francisco Veríssimo Luciano 4/33 15) Descreva um programa em Linguagem C++ que leia o valor de um RA (número composto por 9 dígitos) e gere um novo RA pela inversão dos 4 dígitos menos significativos do RA inicial. Exemplificando, se RA inicial for 972845236 então o RA novo deve ser 972846325. Se RA inicial for 984475211 então o RA novo deve ser 984471125. O algoritmo deve ler RA inicial e apresentar o RA novo. 16) Descreva um programa em C que leia o valor de um RA (número composto por 9 dígitos) e gere um novo RA pela inversão dos 2 dígitos mais significativos e pela inversão dos 2 dígitos menos significativos do RA inicial. Exemplificando, se RA inicial for 972845236 então o RA novo deve ser 792845263. Se RA inicial for 984475213 então o RA novo deve ser 894475231. O algoritmo deve ler RA inicial e imprimir o RA novo. 17) O preço dos produtos de uma empresa é armazenado de forma codificada e todos eles são lidos por uma máquina semelhante (mas não igual) a um código de barras. O código tem o formato C=c1 c2 c3 c4 c5 (c1, c2, c3, c4, c5 são dígitos entre 0 e 9). Para determinarmos o preço P=p1 p2 p3 p4 de um determinado produto cujo código é C, a máquina deve ler C e calcular o preço fazendo as seguintes contas: p3p4 = C div 1000 p2 = (c1*c2*c3*c4*c5) mod 10 p1 = (c2c3) div 10 (repare que esta operação não é c2*c3 testando o exemplo abaixo) Exemplificando, se C = 47238 então P=7447 pois as contas feitas foram: p3p4 = 47238 div 1000 = 47 p2 = (4*7*2*3*8) mod 10 = 4 p1 = 72 div 10 = 7 Descreva um programa na Linguagem C++ que leia C e imprima P com 4 casas. 18) Faça um programa em Linguagem C++ que leia um número X = d1 d2 d3 onde (sendo d1, d2 e d3 dígitos entre 1 e 9) e o transforme em Y = f1 f2 f3 a partir da seguinte regra: fi = (di mod 2) para I=1, 2, 3. Algoritmos e Lógica de Programação Prof. Francisco Veríssimo Luciano 9/33 Testes Condicionais: 29) Elaborar um programa em Linguagem C++ que informe se o número digitado pelo usuário é par ou impar. 30) Digitado um número inteiro entre 0 e 100, informar o quanto ele está distante de um determinado número chave, carregado no próprio programa. Ex.: Número chave=20, número digitado=15, resposta=5. Número chave=17, número digitado=20, resposta=3 (Obs.: a resposta deverá ser sempre um número positivo). 31) Uma Universidade tem problemas com arredondamento das médias dos alunos, pois cada professor estipula um critério de arredondamento. Devemos elaborar um programa, em Linguagem C++, para a secretaria da Universidade, resolvendo esse problema. O programa deve solicitar uma nota e fazer o devido arredondamento. Regras: Notas que ultrapassem 0,5 de resto serão arredondas para CIMA. Ex: 4,6 –>5,0 Notas que abaixo ou igual a 0,5 de resto serão arredondas para BAIXO. Ex: 4,5 –> 4,0 32) Faça um programa em Linguagem que leia 3 números e imprima: a) O maior número; b) O menor número; c) O número do meio. 33) Um pediatra elaborou uma lista com pesos prováveis para meninos e meninas entre 1 e 3 anos e, freqüentemente, precisa consultar a lista. Escreva um programa em Linguagem C++ que, dada a idade de uma criança de 1 a 3 anos, mostre na tela os pesos prováveis para meninos e meninas da mesma idade, seguindo a tabela: 1 ano –Meninos: 8.5 kg a 12.5kg Meninas: 7.5kg a 11.5kg 2 anos –Meninos: 10.1 kg a 15.2kg Meninas: 9.8kg a 14.5kg 3 anos –Meninos: 11.7 kg a 18 kg Meninas: 11.4kg a 17.950kg Algoritmos e Lógica de Programação Prof. Francisco Veríssimo Luciano 10/33 Exemplo: 34) Determinada instituição de ensino adotou como critério de cálculo de médias a fórmula: Nota do 1o. semestre x 3+Nota do 2o. semestre x 7 10 Se a média for menor que 7.0, o aluno será automaticamente inscrito na prova substitutiva e somente será aprovado se a nota da prova substitutiva for maior ou igual a 7.0. Se a média for maior ou igual a 7.0, o aluno estará aprovado. Escreva um programa em Linguagem C++ que leia as notas necessárias para verificar se o aluno foi aprovado ou reprovado, calcule a média, e mostre a média avisando se o aluno foi reprovado ou aprovado, segundo o critério apresentado acima. Exemplo: Digite a Nota do 1o. semestre: 5.5 Digite a Nota do 2o. semestre: 4.0 Média: 4.6 O aluno foi inscrito na prova substitutiva Nota da Prova: 8.0 O aluno foi APROVADO Escolha uma idade de 1 a 3 anos: 2 Pesos Prováveis Meninos Meninas de 10.1 kg a 15.2kg de 9.8kg a 14.5kg Algoritmos e Lógica de Programação Prof. Francisco Veríssimo Luciano 11/33 35) Criar um algoritmo que calcule e classifique os clientes de uma companhia de seguros a partir de seus dados pessoais e históricos de utilização deste serviço com esta ou com outras companhias. Importante lembrar que os parâmetros aqui utilizados são falsos, exclusivos para o exercício. A classificação seguirá estes intervalos: Idade Gênero Utilização Garagem Classificação Abaixo de 18 anos não há cobertura F -> 2 ptos Passeio -> 1 pto sem garagem -> 6 ptos até 7 pontos -> Baixo / desc 10% 18 - 23 -> 4 ptos Trabalho -> 2 ptos Diurna -> 4 ptos 8 - 10 -> médio / -- 24 - 29 -> 3 ptos Noturna -> 2 ptos 11 - 14 -> Alto / acresc. 10% 30 - 45 -> 2 ptos 46 - -> 1 ptos M -> 3 ptos Ambos -> 3 ptos Ambas -> 1 pto 15 - 16 -> Altíssimo / acresc. 40% O importante deste exercício é testar os valores de entrada, acumular os pontos de risco e classificar a proposta. 36) Uma cooperativa de leite paga, a cada um de seus produtores cooperados, por volume de leite entregue diariamente. Devido à grande quantidade de fraudes (adicionamento de água ao leite, por exemplo) e erros na leitura do volume dos tarros de leite, a cooperativa começará a pagá-los por massa. Para isso comprou uma balança e um densímetro e necessitará de um programa para cálculo. Na balança serão jogados e misturados os conteúdos de todos os tarros de leite de um determinado produtor. A balança informará a massa e o densímetro a densidade. O programa receberá, via teclado, esses dois dados mais o preço por kg de leite vigente naquele dia. Após isto, o programa deverá apresentar em tela: a)Os valores digitados; b)O volume de leite calculado (volume = massa / densidade); c)O valor em Reais a ser pago a aquele cooperado; d)Classificar o leite do cooperado dentro de uma das 3 faixas de densidade existentes: • Categoria I (abaixo de 1,14 kg/l); • Categoria II (entre 1,14 e 1,20 kg/l); • Categoria III (acima de 1,20 kg/l); Elaborar o programa em Linguagem C++. Algoritmos e Lógica de Programação Prof. Francisco Veríssimo Luciano 12/33 37) Faça o programa em Linguagem C++ que calcule o salário líquido dos funcionários de uma empresa. O salário líquido é composto por descontos e adicionais, seguindo as seguintes regras: Descontos: • Salário bruto < 800,00 – não realizar nenhum desconto; • 800,00 <= Salário bruto <=1600,00 – descontar 8% de Imposto de Renda e 5 % de encargos. • >1600,00 – descontar 15% de Imposto de Renda e 7% de encargos. Adicionais: • Caso o funcionário tenha trabalhado mais de 160 horas no mês, divida o seu salário bruto por 160 (representa horas trabalhadas) e calcule 50% de adicional nas horas que excederam a 160. O usuário deverá digitar o salário bruto e o número de horas trabalhadas no mês de cada funcionário, e deverá receber como resultado o salário líquido. O usuário poderá calcular salário para N funcionários, para finalizar o programa o usuário deverá digitar 0 no salário bruto, ao finalizar o programa exibir o total geral dos salários líquidos. Desafio: Exiba mensagens adequadas, quando forem digitados valores sem coerência nos campos Salário Bruto e Número de horas trabalhadas (por exemplo, não digitar números negativos nesses campos). 38) Elaborar um programa em Linguagem C++ para ler somente a parte numérica da placa de um carro e apresentar o dia do rodízio para o mesmo (digitar apenas um número com 4 dígitos). Algoritmos e Lógica de Programação Prof. Francisco Veríssimo Luciano 13/33 Laços - Repetição: 39) Elaborar um programa em Linguagem C++ que escreva em tela os números de 1 a 20, utilizando o comando while( ). 40) Elaborar um programa em Linguagem C++ que escreva em tela todos os números pares existentes entre 20 e 1, utilizando o comando while( ). 41) Elaborar um programa em Linguagem C++ que escreva em tela os números de 1 a 20, informando quando eles são pares e quando são ímpares, utilizando o comando while( ). 42) Elaborar um programa em Linguagem C++ que escreva em tela os números de 20 a 1, utilizando o comando for( ). 43) Elaborar um programa em Linguagem C++ que escreva em tela todos os números impares existentes entre 1 e 20, utilizando o comando for( ). 44) Elaborar um programa em Linguagem C++ que escreva em tela os números de 20 a 1, informando quando eles são pares e quando são ímpares, utilizando o comando for( ). 45) Elaborar um programa em Linguagem C++ que escreva em tela os números de 1 a 20, utilizando o comando do-while( ). 46) Elaborar um programa em Linguagem C++ que escreva em tela todos os números pares existentes entre 1 e 20, utilizando o comando do-while( ). 47) Elaborar um programa em Linguagem C++ que escreva em tela os números de 1 a 20, informando quando eles são pares e quando são ímpares, utilizando o comando do-while( ). 48) Elaborar um programa em Linguagem C++ que seja uma “Calculadora”, onde o usuário deverá digitar uma das seguintes teclas: ‘+’, ‘-‘, ‘*’, ‘/’ ou ‘S’. - Caso escolha ‘S’, para sair, o programa deverá ser encerrado; - Caso escolha ‘+’, ‘-‘, ‘*’ ou ‘/’, como operações aritméticas, o programa deverá solicitar a digitação de dois números quaisquer (número a e número b), um por vez, realizar a respectiva operação aritmética (soma, subtração, multiplicação ou divisão) entre os respectivos números (a e b, nessa ordem) Algoritmos e Lógica de Programação Prof. Francisco Veríssimo Luciano 14/33 e então apresentar o seu resultado. Após isto, deverá voltar à etapa inicial de digitação das teclas ‘+’, ‘-‘, ‘*’, ‘/’ ou ‘S’ e repetir este item até a digitação da tecla ‘S’. 49) Elaborar um programa capaz de calcular z, dados x e y, sendo z = x y. Para x = 2 e y = 4 então z = 16, pois z = x y → z = 2 4 → z = 16 Exemplo: Digite x: 2 <Enter> Digite y: 4 <Enter> O valor de 2 elevado à 4 é z = 16. 50) Elaborar um programa em Linguagem C++ que calcule o resultado da série S, dada abaixo, tendo o usuário que entrar, via teclado, com um número inteiro que representa o valor de n: S = 2 0 + 2 1 + 2 2 + 2 3 + ... + 2 n Para n=0: S = 2 0 = 1 n=1: S = 2 0 + 2 1 = 1 + 2 = 3 n=2: S = 2 0 + 2 1 + 2 2 = 1 + 2 + 4 = 7 n=3: S = 2 0 + 2 1 + 2 2 + 2 3 = 1 + 2 + 4 + 8 = 15 n=4: S = 2 0 + 2 1 + 2 2 + 2 3 + 2 4 = 1 + 2 + 4 + 8 + 16 = 31 ... etc. Exemplo: Digite o valor de n: 3 <Enter> O valor de S é 15 Dica: Em estruturas de repetição poderão ser solicitados programas que leiam, via teclado, uma quantidade muito grande de dados (como 50, 100, 2000 e etc.). Quando um programa precisar ler essa quantidade muito grande, em primeiro lugar, desenvolva e teste um programa que leia uma quantidade menor de dados (como 5 ou 10) e realize as operações pedidas no enunciado. Assim que o programa estiver realizando corretamente essas operações, faça as alterações necessárias para ler a quantidade muito grande pedida pelo enunciado e realizar Algoritmos e Lógica de Programação Prof. Francisco Veríssimo Luciano 19/33 c+1 2 scanf 12 a+n = 26 c+1 = 2 c+1 3 scanf 51 a+n = 77 c+1 = 3 c+1 4 scanf 48 a+n = 125 c+1 = 4 c+1 5 scanf 36 a+n = 161 c+1 = 5 c+1 6 scanf 145 a+n = 306 c+1 = 6 c+1 7 scanf 554 a+n = 860 c+1 = 7 c+1 8 scanf 45 a+n = 905 c+1 = 8 c+1 9 scanf 1485 a+n = 239 0 c+1 = 9 c+1 10 scanf 45 a+n = 243 5 c+1 = 10 printf 243 5 Algoritmos e Lógica de Programação Prof. Francisco Veríssimo Luciano 20/33 prinft 243.5 b) Programa-Fonte em C #include <stdio.h> int main(){ float s=0, c=1; int n; clrscr(); printf("\t\tCalculo de uma Serie"); printf("\n\nDigite a quantidade de termos: "); scanf("%d",&n); printf("\nS= "); while (c<=n){ printf(" 1 / %.0f ",c); if (c==n) printf(" = "); else printf(" + "); s=s+1/c; c=c+1; } printf("%.2f",s); return 0; } Resultado da Simulação Simulação Tela s c n 1/c Calculo de uma Serie Digite a quantidade de termos: 5 S= 1 / 1 + 1 / 2 + 1 / 3 + 1 / 4 + 1 / 5 = 2.28 inicia com 0 1 scanf 5 printf S = printf 1 / 1 Algoritmos e Lógica de Programação Prof. Francisco Veríssimo Luciano 21/33 printf + s+1/c = 1 c+1 = 2 printf 1 / 2 printf + s+1/c = 1.5 c+1 = 3 printf 1 / 3 printf + s+1/c = 1.83 c+1 = 4 printf 1 / 4 printf + s+1/c = 2.08 c+1 = 5 printf 1 / 5 printf = s+1/c = 2.28 c+1 = 6 printf 2.28 60) Escreva programas em Linguagem C++ para calcular e exibir o resultado de cada uma das séries: a) S = 1/2 + 1/4 + 1/8 + 1/16 + 1/32 + ..... + 1/16384 b) S = 1/1 + 1/2 + 1/3 + 1/4 + 1/5 + ..... + 1/200 c) S = 1 /1 + 1/ 2 + 1 / 3 + ..... + 1 / N para os 50 primeiros termos. d) S = x / 1 - x / 2 + x / 3 - x / 4 + x / 5 - ..... + x / 19 - x / 20 e) S = 1 / 13 - 1 / 33 + 1 / 53 - 1 / 73 + 1 / 93 para 20 termos f) S = 37 x 38 / 1 + 36 x 37 / 2 + 35 x 36 / 3 + .... + 1 x 2 / 37 g) S = 1/1 + 3 /2 + 5 /3 + 7 / 4 + .... + 99 / 50 61) Escreva um programa em Linguagem C++ que mostre na tela uma seqüência de 30 números que respeitem a seguinte regra: os dois primeiros números são 1; qualquer outro número corresponde à soma dos dois anteriores ( 1, 1, 2, 3, 5, 8, 13, 21, ... ). Esta seqüência é conhecida como Série de Fibonacci. Algoritmos e Lógica de Programação Prof. Francisco Veríssimo Luciano 22/33 62) Escreva um programa em Linguagem C++ que mostre na tela uma seqüência de N números da Série de Fibonacci, sendo N um número inteiro, positivo e não nulo, digitado via teclado. OBS.: O programa deverá fazer a consistência desse número digitado, ou seja, deverá rejeitar números negativos e o nulo. Exemplo A: Digite N (positivo e não nulo): 7 <Enter> O 7º número da Série de Fibonacci é 13 Exemplo B: Digite N (positivo e não nulo): 1 <Enter> O 1º número da Série de Fibonacci é 1 Exemplo C: Digite N (positivo e não nulo): 0 <Enter> O 0 é um número inválido para a Série de Fibonacci. Digite N (positivo e não nulo): 3 <Enter> O 3º número da Série de Fibonacci é 2 Exemplo D: Digite N (positivo e não nulo): - 4 <Enter> O -4 é um número inválido para a Série de Fibonacci. Digite N (positivo e não nulo): 0 <Enter> O 0 é um número inválido para a Série de Fibonacci. Digite N (positivo e não nulo): 2 <Enter> O 2º número da Série de Fibonacci é 1 63) Escreva um programa em Linguagem C++ para ler a idade de 40 pessoas, exibir a idade da pessoa mais nova, calcular a idade média e calcular a porcentagem de pessoas com idade entre 24 a 30 anos. Dados: Idade Média (40 pessoas) = (Idade 1 + Idade 2 + Idade 3 + ... + Idade 40) / 40 %idade entre 24 a 30 anos = ( Quantidade de pessoas entre 24 e 30 anos / 40 ) * 100 Algoritmos e Lógica de Programação Prof. Francisco Veríssimo Luciano 23/33 64) Escreva um programa em Linguagem C++ que leia a altura e o sexo (1 para masculino ou 2 para feminino) de um conjunto de 50 pessoas, obtenha e mostre na tela: a) A maior e a menor altura do grupo; b) A média de altura das mulheres ( Soma de todas as alturas das mulheres / número de mulheres) ; c) Número total de homens. 65) Um comerciante deseja fazer o levantamento do lucro das mercadorias que ele comercializa. Sabe-se que atualmente ele comercializa 15 mercadorias. Para tanto, precisa de um programa que, para cada mercadoria, leia: preço de compra e preço de venda das mesmas. Este mesmo programa deverá calcular e informar o valor total de compra e de venda de todas as mercadorias, o lucro total e quantas mercadorias proporcionam: a) lucro menor que 10%; b) Lucro entre 10 % e 20%; c) Lucro maior que 20%. Para isto, você deverá desenvolver um programa em Linguagem C++ que atenda as necessidades do comerciante. 66) Determinada empresa realizou uma pesquisa de mercado para saber se as pessoas gostaram ou não de um novo produto lançado no mercado. Para isso, forneceu o sexo (1 para masculino ou 2 para feminino) de cada entrevistado e sua resposta (1 para sim ou 2 para não). Sabendo-se que foram entrevistadas 20 pessoas, escreva um programa em Linguagem C++ que calcule e informe: a) Número de pessoas que responderam sim; b) Número de pessoas que responderam não; c) A porcentagem de pessoas do sexo feminino que responderam sim; d) A porcentagem de pessoas do sexo masculino que responderam não; 67) O algoritmo a seguir usa a dezena final de seu RA para realizar alguns cálculos simples. Imagine que você está executando este algoritmo em seu computador: mostre qual será a sua saída para a tela do computador, usando como entrada para o mesmo os dígitos finais de seu RA (cada aluno obterá uma resposta diferente da dos outros). Justifique organizadamente sua resposta. Uma sugestão para sua justificativa é o preenchimento da tabela que segue o Algoritmos e Lógica de Programação Prof. Francisco Veríssimo Luciano 24/33 algoritmo: cada linha da tabela representa o conteúdo das variáveis indicadas em cada uma das repetições (iterações). int main() { int x, y, z, RA1, RA2; printf (“Digite o penúltimo dígito de seu RA: ”); scanf(“%d”, &RA1); printf(“Digite o último dígito de seu RA: ”); scanf(“%d”, &RA2); z = 0; if (RA1 < RA2) { x = RA1 * 10; y = RA2; } else { x = RA2 * 10; y = RA1; } while (x >= y) { x = x - y; z = z + 1; } printf(“%d %d”,z, x); return 0; } O meu RA é: 2 0 0 1 1 2 3 8 7 x y z 70 8 0 62 8 1 54 8 2 46 8 3 38 8 4 Algoritmos e Lógica de Programação Prof. Francisco Veríssimo Luciano 29/33 então, será calculado através da mesma fórmula, o novo valor de XNOVO . Estes valores de XNOVO convergirão para a raiz quadrada de N. Sugerimos que adote como XANTERIOR inicial o valor N/2 e que interrompa os cálculos quando o módulo de (XNOVO - XANTERIOR ) / XANTERIOR for menor que 0.001 (isto é uma medida de precisão). Ex.: raiz quadrada de 9. XNOVO XANTERIOR 3,25 4,5 3,01 3,25 3 3,01 ..... ..... 78) Uma empresa distribuidora de energia elétrica adotou normas de economia de energia. Para cada imóvel, a meta de economia deve ser uma redução de 20% da média de consumo dos meses maio, junho e julho do ano de 2006. Escreva um programa em Linguagem C++, que leia o consumo dos meses (maio, junho e julho) de 2006, e o consumo do mês atual para várias residências. O programa deve calcular a meta de economia, e informar se o consumidor está dentro da meta ou ultrapassou. No final do cálculo da meta de economia de cada imóvel, o programa exibirá uma mensagem perguntando se o usuário deseja calcular mais uma meta; caso a resposta seja negativa, será informada ao usuário a porcentagem de imóveis que atingiram a meta e a porcentagem que não atingiram. 79) Escreva um programa em Linguagem C++ que leia dígito a dígito de um número inteiro com a finalidade de formatar a entrada. O número inteiro possuirá até 7 dígitos. Observações: • Caso o usuário, antes de pressionar ENTER para finalizar a entrada dos dígitos, tente digitar algum caractere, o programa vai ignorar este caractere sem acarretar erro para o número. • O objetivo deste exercício é desenvolver a lógica de programação para uma espécie de máscara de leitura para a digitação de números inteiros. • Sugestão: para a leitura use uma função – na linguagem C existe o getch( ) – e verifique se cada caractere lido é um dígito de 0 a 9. Sendo um dígito válido, mostre na tela. Algoritmos e Lógica de Programação Prof. Francisco Veríssimo Luciano 30/33 80) Escreva um programa em Linguagem C++ que leia digito a dígito de um número real com a finalidade de formatar a entrada. O número real possuirá até 7 dígitos, incluindo a o ponto, o qual será visualizado como vírgula. Exemplo: 1) Quando o usuário digitar o número: 5678,98 Aparecerá na tela: 2) Quando o usuário digitar o número: 847238 Aparecerá na tela: 3) Quando o usuário digitar o número: 573,65 Aparecerá na tela: Observações: • Caso o usuário, antes de pressionar ENTER para finalizar a entrada, tente digitar algum caractere diferente de vírgula ou ponto, o programa vai ignorar este caractere sem acarretar erro para o número. Caso seja digitada mais de uma vírgula ou ponto, a segunda ocorrência em diante será ignorada; • Caso o quinto elemento digitado seja um número, o mesmo será posicionado após a vírgula; • O objetivo deste exercício é desenvolver a lógica de programação para uma espécie de máscara de leitura para a digitação de números reais; 8 9 , 8 7 6 5 3 8 , 2 7 4 8 5 6 , 3 7 5 Algoritmos e Lógica de Programação Prof. Francisco Veríssimo Luciano 31/33 • Sugestão: para a leitura use a função getch e verifique se cada caractere lido é um dígito de 0 a 9. Para exibir cada elemento, use uma função para posicionar os valores na tela - como as funções gotoxy e cprintf da linguagem C – procure equivalentes em C++. Algoritmos e Lógica de Programação Prof. Francisco Veríssimo Luciano 32/33 Funções: 81) Elaborar um programa em Linguagem C++ que se utilize de funções com passagem de parâmetros. O programa deverá receber um número inteiro, via teclado, e passar esse número, como parâmetro, para uma função. Essa função deverá ser capaz de analisar esse número e retornar, a quem a chamou, uma informação de 0 (zero) para o caso do número passado como parâmetro ser PAR e de 1 (um) para o caso de o número passado como parâmetro ser ÍMPAR. De posse dessa informação, o programa que chamou essa função deverá apresentar em tela o valor do número digitado e se ele é PAR ou ÍMPAR. 82) Elaborar um programa em Linguagem C++ que se utilize de funções com passagem de parâmetros. O programa deverá receber um número inteiro, via teclado, e passar esse número, como parâmetro, para uma função. Essa função deverá ser capaz de analisar esse número e retornar, a quem a chamou, uma informação de 0 (zero) para o caso do número passado como parâmetro ser PRIMO e de 1 (um) para o caso de o número passado como parâmetro NÃO ser PRIMO. De posse dessa informação, o programa que chamou essa função deverá apresentar em tela o valor do número digitado e se ele é PAR ou ÍMPAR. 84) Elaborar um programa em Linguagem C++ que se utilize de funções com passagem de parâmetros. O programa deverá receber dois números quaisquer, via teclado, e passar esses números, como parâmetros, para uma função. Essa função deverá ser capaz de calcular a MÉDIA ARITMÉTICA entre esses dois números e retornar, a quem a chamou, o resultado dessa operação. De posse dessa informação, o programa que chamou essa função deverá apresentar em tela o valor dos dois números digitados e o cálculo da MÉDIA ARITMÉTICA entre eles. 85) Elaborar um programa em Linguagem C++ que se utilize de funções com passagem de parâmetros. O programa deverá receber dois números inteiros, via teclado, e passar esses números, como parâmetros, para uma função. Essa função deverá ser capaz de calcular o valor do primeiro número ELEVADO ao segundo número e retornar, a quem a chamou, o resultado dessa operação. De posse dessa informação, o programa que chamou essa função deverá apresentar em tela o valor dos dois números digitados e o cálculo da POTÊNCIA entre eles. OBS.: Não será permitido o uso da função pow( ) ou qualquer outra equivalente da Linguagem C++ que calcule a potência entre dois números. Algoritmos e Lógica de Programação Prof. Francisco Veríssimo Luciano 33/33 DICA: O aluno deverá desenvolver sua própria função, se utilizando de laços. 86) Elaborar um programa em Linguagem C++ que se utilize de funções com passagem de parâmetros. O programa deverá receber dois números inteiros (dividendo e divisor respectivamente), via teclado, e passar esses números, como parâmetros, para uma função. Essa função deverá ser capaz de calcular o valor da o primeiro número ELEVADO ao segundo número e retornar, a quem a chamou, o resultado dessa operação. De posse dessa informação, o programa que chamou essa função deverá apresentar em tela o valor dos dois números digitados e o cálculo da POTÊNCIA entre eles. OBS.: Não será permitido o uso da função pow( ) ou qualquer outra equivalente da Linguagem C++ que calcule a potência entre dois números. DICA: O aluno deverá desenvolver sua própria função, se utilizando de laços. Agradecimentos especiais ao Prof. Robson Calvetti Julho/2007
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved