Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Algoritmos e Lógica de Programação
8ª Lista de Exercícios – Comandos de Repetição ( while e do-while )
1. Qual a saída do programa abaixo?
#include <stdio.h>
int main()
{
   int num = 0;
   while (num <= 5) {
      printf("%d\n", num);
      num++;
   }
   printf("Fora do laço\n");
   printf("%d\n", num);
   return 0;
}
2. Qual a saída do programa abaixo?
#include <stdio.h>
int main()
{
   int num = 10;
   do {
      num­­;
      printf("%d\n", num);
   } while (num > 3);
   printf("Fora do laço\n");
   printf("%d\n", num);
   return 0;
}
3. Desenvolva um programa em C que dada uma coleção de números inteiros positivos terminada
por 0 (zero), imprimir seus quadrados.
4. Escreva um programa que dados dois números inteiros positivos, X e Y, determinar o quociente
da divisão inteira entre X e Y sem utilizar o operador de divisão (/).
5. Um determinado material radioativo perde metade de sua massa a cada 50 segundos. Escreva
um programa em C que dada a massa inicial, em gramas, de um material radioativo, determine
o tempo necessário para que essa massa se torne menor do que 0,5 grama. O tempo deve ser
calculado em horas minutos e segundos.
6. Escreva um programa para calcular a raiz quadrada de um número real x, de acordo com o
seguinte algoritmo:
i) Comece com um palpite chamado p (p não é um dado de entrada, deve ser gerado pelo
programa);
ii) Se a diferença entre p*p e x for menor que 0.0001, pare e diga que p é a resposta;
iii) Caso contrário, gere um novo palpite calculando a média de p e x/p;
iv) Usando o novo palpite, repita o processo a partir do passo ii).
1
7. Desenvolva um programa em C que dados dois números inteiros positivos, determinar o
máximo divisor comum entre eles usando o algoritmo de Euclides. Exemplo:
 
8. Escreva um programa em C para calcular o valor de π, com precisão de 0.0001, usando a série:
=4− 4
3
 4
5
− 4
7
 4
9
− 4
11

9. Desenvolva um programa em C que dado um número natural na base binária, transformá-lo
para a base decimal. Exemplo: dado 10010 a saída será 18, pois 1. 2 4 + 0. 2 3 + 0. 2 2 + 1. 2 1 +
0. 2 0 = 18.
10. Desenvolva um programa em C que dado um número natural na base decimal, transformá-lo
para a base binária. Exemplo: Dado 18 a saída deverá ser 10010.
11. Dizemos que um número natural n é palíndromo se:
i) 1º algarismo de n é igual ao seu último algarismo;
ii) 2º algarismo de n é igual ao penúltimo algarismo, e assim sucessivamente.
Exemplos:
• 567765 e 32423 são palíndromos;
• 567675 não é palíndromo.
Desenvolva um programa em C que dado um número natural n > 10 , verificar se n é
palíndromo.
12. Uma pessoa aplicou um capital de x reais a juros mensais de z durante 1 ano. Desenvolva um
programa em C para determinar o montante de cada mês durante este período.
13. Suponha que em um ano A a população americana é maior que a população brasileira.
Sabendo-se que dos Estados Unidos possuem uma taxa de crescimento anual de 2% da sua
população e que o Brasil tem crescimento anual de 4%, escreva um programa em C que dado
um ano A e as populações norte-americana e brasileira, determine o ano em que a população
brasileira se igualou ou ultrapassou a norte-americana.
14. Criar um programa em C que ajude o DETRAN a saber o total de recursos que foram
arrecadados com a aplicação de multas de trânsito. O programa deve ler as seguintes
informações para cada motorista:
i) O número da carteira de motorista;
ii) O número de multas;
iii) O valor de cada uma das multas.
Deve ser impresso o valor da dívida para cada motorista e ao final da leitura o total de recursos
arrecadados (somatório de todas as multas). O programa deverá imprimir também o número da
carteira do motorista que obteve o maior número de multas. O programa termina ao ler a
carteira de motorista de valor 0.
15. A Telefonica deseja calcular as contas telefônicas de seus assinantes através do computador. A
cobrança de seus serviços é feita da seguinte maneira:
2
Quociente 1 1 1 2
24 15 9 6 3 = mdc(24,15)
Resto 9 6 3 0
i) Valor da Assinatura:
• Telefone residencial (código 1): R$ 23,00
• Telefone comercial (código 2): R$ 30,00
ii) Chamada local:
• R$ 0,10 por pulso excedente (acima de 90 pulsos)
iii) Interurbano:
• R$ 0,25 por pulso
iv) Serviço despertador:
• R$ 0,47 por vez
Na entrada de dados teremos:
• Código do assinante;
• Tipo do telefone (comercial ou residencial);
• Número de pulsos registrados para chamadas locais e número de pulsos para
interurbanos;
• Número de serviços de despertador prestados.
Criar um programa em C que leia os dados de um conjunto de assinantes (o código do
assinante igual a zero encerra a entrada de dados), calcule e imprima:
• Para cada assinante, o total de sua conta;
• O valor da maior conta e o código do assinante que a pagou;
• O valor médio arrecadado por assinante no mês.
16. Foi feita uma pesquisa de audiência de canais de TV em várias casas de certa cidade, em um
determinado dia. Para cada casa visitada foram fornecidos o número do canal (4, 5, 7 ou 12) e
o número de pessoas que estavam assistindo a ele naquela casa. Se a televisão estivesse
desligada, nada seria anotado, ou seja, a casa não entraria na pesquisa. Criar um programa em
C que:
• Leia um número indeterminado de dados, isto é, o número do canal e o número de pessoas
que estavam assistindo;
• Calcule e imprima a porcentagem de audiência de cada canal.
Para encerrar a entrada de dados, digite o número do canal igual a zero.
3

Mais conteúdos dessa disciplina