Você está na página 1de 6

Lista de Exercícios de C++: 21 a 30

Lista de Exercícios de C++: 21 a 30


 Receba a altura do degraude uma escada e a altura que o usuário deseja alcançar
subindo a escada. Calcule e mostre quantos degraus o usuário devera subir para atingir seu
objetivo, sem se preocupar com a altura do usuário.
As vezes o programador passa mais tempo para entender e planejar a solução do programa do que fazendo o
programa. A questão acima, pelo menos dois colegas não souberam o que é que estava sendo pedido. Então fiz a
seguinte imagem para entenderem a questão.

 Pronto! Com a imagem se pode saber o que é que a questão quer. Utilizando os degraus da escada, quantos degraus
serão necessários para se atingir tal altura? Assim fica fácil de deduzir que é só dividir a altura total pela altura do dos
degraus. Se, o usuário digitar que a altura a ser atingida é de 1000 cm, e que cada degrau tem 20cm, é só dividir por
1000cm por 20cm.

 A expressão: qtdDegraus = ((queroSubir*100)/alturaDegraus); que atribuirá à variável qtdDegraus o resultado da


multiplicação da quantidade de metros a subir (variável queroSubir) pela divisão do valor da altura de cada degrau. A
multiplicação por 100 é para transformar o valor do metro em centímetros e então dividir pela altura de cada degrau
que é dado em centímetros.

Faça um programa para converter uma letra maiúscula em letra minúscula. Use a tabela
ASCII.
 -
 O que é a tabela ASCII?  Na década de 60, a necessidade de padronização levou ao ASCII (código padrão
americano para troca de informações). A tabela ASCII contém 128 números atribuídos aos caracteres
correspondentes. O ASCII permite que os computadores armazenem e troquem dados com outros computadores e
programas. O texto com formato ASCII não contém informações de formatação, como negrito, itálico ou fontes.
 

Olhe a tabela ASCII acima. Eu marquei a letra A em MAIÚSCULO e a letra "a" em minúsculo.   A letra em maiúscula
tem o valor de 65, enquanto a letra em minúsculo tem o valor 97. Se é para converter a letra em minúsculo para
maiúsculo, a operação é de subtração; se é para converter de maiúsculo para minúsculo a operação é de soma.

Veja assim: a letra A=65, se somado mais 32 será igual a 97. E, o número 97 na tabela equivale à letra a em
minúsculo. Já a letra B, será 66+32=98. E, se olhar a tabela acima, 98=b. A operação contrário também funciona: 97-
32=65. E 65 equivale a letra A em maiúsculo. Veja o código abaixo:

Como é que este código funciona? O compilador vai interpretar a variável como um número somado com 32. E como a
variável é do tipo "char" vai retornar o valor do bit e seu equivalente na tabela ASCII. Para fazer a operação inversa,
converter de minúsculo para maiúsculo é só trocar o sinal de mais (+) para o sinal de menos (-)  .
Faça um programa para ler um numero inteiro, positivo de três dígitos, e gerar outro
numero formado pelos dígitos invertidos do numero lido. Exemplo:

Numero Lido = 123


Numero Gerado = 321.
 

A lógica acima é simples, porém, para o programador iniciante, complicado de se chegar a esta solução.

O código acima faz o seguinte:


1- divide o número por 100, e guarda na variável centena;
2- A variável número muda de valor, e passa a conter o número digitado e depois de dividido por 100, o resto vai para a
variável. Exemplo: se for digitado 854, divide por 100, o que dá 8x100=800, o resto é 54. Assim, a variável NUMERO
passa a valer este número;
3- A variável dezena, recebe o conteúdo da variável e divide por 10;
4- A variável unidade pega o último número, e divide por 10, e guarda o resto na variável número;

Pronto. Isto foi suficiente para separar os número. A exibição final é só mero arranjo.

 Leia um numero inteiro de 4 dígitos e imprima 1 dígito por linha.

Esta questão é semelhante à anterior, porém, com outra solução, nesta solução, a divisão é feita sempre por 10, e o
resto é armazenado nas variáveis. A solução segue o seguinte padrão:

1- A variável "quinto" recebe o valor do que o usuário digitou em valorUsuario dividido por 10, e o resto é que vai para a
variável. Neste caso, quinto recebe o valor da unidade;
2- A variável valorUsuário muda de conteúdo. Ela passa a conter o número digitado dividido por 10;
3- isto se repete até pegar todos os números e lista-os em ordem inversa do que foi feita a operação de divisão e
pegando o resto.
 Leia um valor inteiro em segundos, e imprima-o em horas, minutos e segundos.

A questão é bem esta mesmo. Está numa formação estranha. Eu penso que deveria ser "leia um valor inteiro, e
imprima-o em horas, minutos e segundos. E foi isto que fiz. no código acima. É simples o código, mas para o iniciante
serve para fixar o conhecimento de variáveis, tipos de variáveis, bem como é útil para desenvolver o raciocínio lógico.

Por outra, tem estudante que sequer sabe quantos segundos tem uma hora. Nestes momentos é que se aprende e vê
vários e muitos eventos diferentes da matemática e do cotidiano.

Faça um programa que leia o horário (hora, minuto e segundo) de inicio e


a duração, em segundos, de uma experiência biológica. O programa deve resultar com
o novo horário (hora, minuto e segundo) do termino da mesma.

Implemente um programa em C que calcule o ano de nascimento de uma pessoa a partir 

de sua idade e do ano atual.


Faça um algoritmo que calcule a media ponderada das notas de 3 provas. A primeira e a
segunda prova tem peso 1 e a terceira tem peso 2. Antes de o usuário entrar com as notas
do aluno ele deve entrar com o numero de matricula do aluno. Ao final, mostrar a matricula
do aluno juntamente com a sua media e indicar se o aluno foi aprovado ou reprovado. A
nota para aprovação deve ser igual ou superior a 60 pontos.

Escreva um programa que leia as coordenadas x e y de pontos no R2 e calcule sua distancia


da origem (0; 0). 
Três amigos jogaram na loteria. Caso eles ganhem, o premio deve ser repartido
proporcionalmente ao valor que cada deu para a realização da aposta. Faca um
programa que lê quanto cada apostador investiu, lê o valor do premio, e escreve quanto
cada um ganharia. 

Para o código ficar em uma imagem pequena eu utilizei nas linhas 7,9,11 e 14 DOIS comandos na mesma linha.
Observe que há o comando cout, e depois do ponto-virgula, existe outro comando o cin >>.

Você também pode gostar