Buscar

380407625-02-Comandos-de-Repeticao

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1
Pontifícia Universidade Católica do Rio Grande do Sul 
Faculdade de Engenharia 
Curso de Engenharia Elétrica 
Processos Numéricos - Apostila de Linguagem C 
 
Prof. Juliano Benfica 
 
 
ESTRUTURA DE REPETIÇÃO 
 
As estruturas de repetição são utilizadas para que um conjunto de 
instruções seja executado até que ocorra certa condição. O laço for 
diferencia dos restantes (while e do-while) por ter condições pré-definidas, 
ou seja, o numero de vezes a ser executada já é conhecido. 
 
LAÇO FOR: 
 
SINTAXE: 
 
for(inicialização; condição ; incremento) comando; 
 
Na inicialização é atribuído um valor para variável que controla o laço, 
a condição determina quando o laço deve ser encerrado e por último temos o 
quanto a variável controladora é incrementada. Exemplo simples: 
 
#include<stdio.h 
 
void main() 
{ 
 int n; 
 for(n=1; n<=10; n++) 
 printf("n=%d\n",n); 
} 
 
LAÇO WHILE: 
 
SINTAXE: 
 
 
while (condição) Instrução; 
 
Este laço executa a instrução até que a condição se torne falsa 
(qualquer valor diferente de zero). 
 
#include<stdio.h> 
 
void main() 
{ 
 int cont=0,resposta; 
 resposta=1; 
 while(resposta==1){ 
 cont++; 
 if(cont==5) 
 resposta=0; 
 
 }/*fim_while*/ 
} 
 2
 
LAÇO DO-WHILE 
 
A grande diferença entre o laço do-while e os vistos anteriormente é que 
ele analisa a condição no final do laço. Dessa forma todas as instruções 
localizadas dentro do do-while será executada pelo menos uma vez. O laço 
termina quando a condição se torna falsa. Sintaxe: 
 
SINTAXE: 
 
do{ 
Instrução; 
}while(condição); 
 
O programa anterior também pode ser escrito da seguinte forma: 
 
#include<stdio.h> 
void main() 
{ 
int resposta=0; 
do{ 
 printf("Digite valor de n1(inteiro):\n"); 
 
}while(resposta==1); 
} 
 
 
 
 
 
COMANDOS DE DESVIO 
 
COMANDO BREAK: 
 
O comando break pode ser tanto usado para terminar um teste case dentro 
de um comando switch quanto interromper a execução de um laço. 
Quando o comando é utilizado dentro de um comando for o laço é 
imediatamente interrompido e o programa continua a execução no comando 
seguinte ao comando for. 
No trecho de programa abaixo o comando for deve ler 100 números inteiros 
positivos. No entanto, se for digitado um número negativo o comando for é 
interrompido imediatamente sem que o número seja impresso. 
for (i = 0; i <100; i++) 
{ 
 scanf("%d", &um); 
 if (num < 0) break; 
 printf("%d\n", num); 
} 
 
 
 3
FUNÇÃO EXIT(): 
 
A função exit provoca a terminação de um programa, retornando o controle 
ao sistema operacional. O protótipo da função é a seguinte: 
 
void exit(); 
 
Observar que esta função interrompe o programa como um todo. 
 
COMANDO RETURN: 
 
O comando return é usado para interromper a execução de uma função e 
retornar um valor ao programa que chamou esta função. Caso haja algum valor 
associado ao comando return este é devolvido para a função, caso contrário 
um valor qualquer é retornado. 
A forma geral do comando é: 
return expressão; 
 
Notar que a expressão é opcional. A chave que termina uma função é 
equivalente a um comando return sem a expressão correspondente. É possível 
haver mais de um comando return dentro de uma função. O primeiro que for 
encontrado durante a execução causará o fim da execução. Uma função 
declarada como do tipo void não pode ter um comando return que retorne um 
valor. Isto não faz sentido, já que funções deste tipo não podem retornar 
valores. 
Ex: Utilizando um laço "while" e o comando "break", escreva um 
programa que exiba a mensagem "HA-HA-HA!! Você está preso." até 
que a senha "FUI!!" seja digitada. 
Ex: Escreva um programa que imprima todos os numeros pares entre 0 
e 50 e em seguida imprima todos os impares. Deixar um espaco entre 
os numeros. 
 
Ex: Utilizando um laço "for" dentro de outro, escreva um programa 
que exiba as tabuadas de multiplicação dos números de 1 à 9. 
 
 4
 
Estrutura de Repetição 
1. Faça um programa que peça uma nota, entre zero e dez. Mostre uma 
mensagem caso o valor seja inválido e continue pedindo até que o 
usuário informe um valor válido. 
2. Faça um programa que leia um nome de usuário e a sua senha e não aceite 
a senha igual ao nome do usuário, mostrando uma mensagem de erro e 
voltando a pedir as informações. 
3. Faça um programa que leia e valide as seguintes informações: 
a. Nome: maior que 3 caracteres; 
b. Idade: entre 0 e 150; 
c. Salário: maior que zero; 
d. Sexo: 'f' ou 'm'; 
e. Estado Civil: 's', 'c', 'v', 'd'; 
4. Supondo que a população de um país A seja da ordem de 80000 habitantes 
com uma taxa anual de crescimento de 3% e que a população de B seja 
200000 habitantes com uma taxa de crescimento de 1.5%. Faça um programa 
que calcule e escreva o número de anos necessários para que a população 
do país A ultrapasse ou iguale a população do país B, mantidas as taxas 
de crescimento. 
5. Altere o programa anterior permitindo ao usuário informar as populações 
e as taxas de crescimento iniciais. Valide a entrada e permita repetir 
a operação. 
6. Faça um programa que imprima na tela os números de 1 a 20, um abaixo 
do outro. Depois modifique o programa para que ele mostre os números 
um ao lado do outro. Dica: use print com uma vírgula no final. 
7. Faça um programa que imprima na tela apenas os números ímpares entre 1 
e 50. 
8. Faça um programa que receba dois números inteiros e gere os números 
inteiros que estão no intervalo compreendido por eles. 
9. Altere o programa anterior para mostrar no final a soma dos números. 
10. Desenvolva um gerador de tabuada, capaz de gerar a tabuada de 
qualquer número inteiro entre 1 a 10. O usuário deve informar de qual 
numero ele deseja ver a tabuada. A saída deve ser conforme o exemplo 
abaixo: 
o Tabuada de 5: 
o 5 X 1 = 5 
o 5 X 2 = 10 
o ... 
o 5 X 10 = 50 
 Faça um programa que peça dois números, base e expoente, calcule e 
mostre o primeiro número elevado ao segundo número. Não utilize a função de 
potência da linguagem. 
 Faça um programa que peça 10 números inteiros, calcule e mostre a 
quantidade de números pares e a quantidade de números impares. 
 A série de Fibonacci é formada pela seqüência 
1,1,2,3,5,8,13,21,34,55,... Faça um programa capaz de gerar a série até o 
n−ésimo termo. 
 A série de Fibonacci é formada pela seqüência 
0,1,1,2,3,5,8,13,21,34,55,... Faça um programa que gere a série até que o 
valor seja maior que 500. 
 5
 Faça um programa que calcule o fatorial de um número inteiro fornecido 
pelo usuário. Ex.: 5!=5.4.3.2.1=120 
 Faça um programa que mostre os n termos da Série a seguir: 
o S = 1/1 + 2/3 + 3/5 + 4/7 + 5/9 + ... + n/m. 
Imprima no final a soma da série. 
 Sendo H= 1 + 1/2 + 1/3 + 1/4 + ... + 1/N, Faça um programa que calcule 
o valor de H com N termos. 
 Não fazer: Faça um programa que calcule a seguinte serie: S = 1/N 
+ 2/(N−1) + 3/(N−2) + ... + (N−1)/2 + N/ 1. 
 Mostre e calcule a série S = 1/1 + 3/2 + 5/3 + 7/4 + ... + 99/50. 
 Não fazer: Mostre e calcule a série S = 2(1)/50 + 2(2)/49 + 
2(3)/48 + ... + 2(50)/1. 
 Não fazer: Mostre e calcule a série S = (37*38)/1 + (36*37)/2 + 
(35*36)/3 + ... + (1*2)/37. 
 Não fazer: Mostre e calcule a série S = 1/1 − 2/4 + 3/9 + 4/16 + 
... − 10/100. 
 Não fazer: Mostre e calcule a série S=1/3−3/5+5/7−7/9+9/11 ... 
Sendo N o número de termos da série informado pelo usuário. 
 Faça um programa que, dado um conjunto de N números, determine o menor 
valor, o maior valor e a soma dos valores. 
 Altere o programa anterior para que ele aceite apenas números entre 0 e 
65536. 
 Altere o programa de cálculo do fatorial, permitindo ao usuário 
calcular o fatorial várias vezes e limitando o fatorial a números inteiros 
positivos e menores que 16. 
 Faça um programa que peça um número inteiro e determine se ele é ou não 
um número primo. Um número primo é aquele que é divisível somente por ele 
mesmo e por 1. 
 Altere o programa de cálculo dos números primos, informando, caso o 
número não sejaprimo, por quais número ele é divisível. 
 Faça um programa que mostre todos os primos entre 1 e N sendo N um 
número inteiro fornecido pelo usuário. O programa deverá mostrar também o 
número de divisões que ele executou para encontrar os números primos. Serão 
avaliados o funcionamento, o estilo e o número de testes (divisões) 
executados. 
 Faça um programa que calcule o mostre a média aritmética de N notas. 
 Faça um programa que peça para n pessoas a sua idade, ao final o 
programa devera verificar se a média de idade da turma varia entre 0 e 25,26 
e 60 e maior que 60; e então, dizer se a turma é jovem, adulta ou idosa, 
conforme a média calculada. 
 Numa eleição existem três candidatos. Faça um programa que peça o 
número total de votantes. Peça para cada votante votar e ao final mostrar o 
número de votos de cada candidato. 
 Faça um programa que calcule o número médio de alunos por turma. Para 
isto, peça a quantidade de turmas e a quantidade de alunos para cada turma. 
As turmas não podem ter mais de 40 alunos. 
 Faça um programa que calcule o valor total investido por um 
colecionador em sua coleção de CDs e o valor médio gasto em cada um deles. O 
usuário deverá informar a quantidade de CDs e o valor para em cada um. 
 O Sr. Manoel Joaquim possui uma grande loja de artigos de R$ 1,99, com 
cerca de 10 caixas. Para agilizar o cálculo de quanto cada cliente deve 
 6
pagar ele desenvolveu um tabela que contém o número de itens que o cliente 
comprou e ao lado o valor da conta. Desta forma a atendente do caixa precisa 
apenas contar quantos itens o cliente está levando e olhar na tabela de 
preços. Você foi contratado para desenvolver o programa que monta esta 
tabela de preços, que conterá os preços de 1 até 50 produtos, conforme o 
exemplo abaixo: 
o Lojas Quase Dois - Tabela de preços 
o 1 - R$ 1.99 
o 2 - R$ 3.98 
o ... 
o 50 - R$ 99.50 
 O Sr. Manoel Joaquim acaba de adquirir uma panificadora e pretende 
implantar a metodologia da tabelinha, que já é um sucesso na sua loja de 
1,99. Você foi contratado para desenvolver o programa que monta a tabela de 
preços de pães, de 1 até 50 pães, a partir do preço do pão informado pelo 
usuário, conforme o exemplo abaixo: 
o Preço do pão: R$ 0.18 
o Panificadora Pão de Ontem - Tabela de preços 
o 1 - R$ 0.18 
o 2 - R$ 0.36 
o ... 
o 50 - R$ 9.00 
 O Sr. Manoel Joaquim expandiu seus negócios para além dos negócios de 
1,99 e agora possui uma loja de conveniências. Faça um programa que 
implemente uma caixa registradora rudimentar. O programa deverá receber um 
número desconhecido de valores referentes aos preços das mercadorias. Um 
valor zero deve ser informado pelo operador para indicar o final da compra. 
O programa deve então mostrar o total da compra e perguntar o valor em 
dinheiro que o cliente forneceu, para então calcular e mostrar o valor do 
troco. Após esta operação, o programa deverá voltar ao ponto inicial, para 
registrar a próxima compra. A saída deve ser conforme o exemplo abaixo: 
o Lojas Tabajara 
o Produto 1: R$ 2.20 
o Produto 2: R$ 5.80 
o Produto 3: R$ 0 
o Total: R$ 9.00 
o Dinheiro: R$ 20.00 
o Troco: R$ 11.00 
o ... 
 Faça um programa que calcule o fatorial de um número inteiro fornecido 
pelo usuário. Ex.: 5!=5.4.3.2.1=120. A saída deve ser conforme o exemplo 
abaixo: 
o Fatorial de: 5 
o 5! = 5 . 4 . 3 . 2 . 1 = 120 
 Faça um programa que leia 5 números e informe o maior número. 
 Faça um programa que leia 5 números e informe a soma e a média dos 
números. 
 O Departamento Estadual de Meteorologia lhe contratou para desenvolver 
um programa que leia as um conjunto indeterminado de temperaturas, e informe 
ao final a menor e a maior temperaturas informadas, bem como a média das 
temperaturas. 
 Os números primos possuem várias aplicações dentro da Computação, por 
exemplo na Criptografia. Um número primo é aquele que é divisível apenas por 
um e por ele mesmo. Faça um programa que peça um número inteiro e determine 
se ele é ou não um número primo. 
 7
 Encontrar números primos é uma tarefa difícil. Faça um programa que 
gera uma lista dos números primos existentes entre 1 e um número inteiro 
informado pelo usuário. 
 Desenvolva um programa que faça a tabuada de um número qualquer inteiro 
que será digitado pelo usuário, mas a tabuada não deve necessariamente 
iniciar em 1 e terminar em 10, o valor inicial e final devem ser informados 
também pelo usuário, conforme exemplo abaixo: 
o Montar a tabuada de: 5 
o Começar por: 4 
o Terminar em: 7 
o 
o Vou montar a tabuada de 5 começando em 4 e terminando em 7: 
o 5 X 4 = 20 
o 5 X 5 = 25 
o 5 X 6 = 30 
o 5 X 7 = 35 
Obs: Você deve verificar se o usuário não digitou o final menor 
que o inicial. 
 Uma academia deseja fazer um senso entre seus clientes para descobrir o 
mais alto, o mais baixo, a mais gordo e o mais magro, para isto você deve 
fazer um programa que pergunte a cada um dos clientes da academia seu 
código, sua altura e seu peso. O final da digitação de dados deve ser dada 
quando o usuário digitar 0 (zero) no campo código. Ao encerrar o programa 
também deve ser informados os códigos e valores do clente mais alto, do mais 
baixo, do mais gordo e do mais magro, além da média das alturas e dos pesos 
dos clientes 
 Um funcionário de uma empresa recebe aumento salarial anualmente: Sabe-
se que: 
 . Esse funcionário foi contratado em 1995, com salário inicial de R$ 
1.000,00; 
a. Em 1996 recebeu aumento de 1,5% sobre seu salário inicial; 
b. A partir de 1997 (inclusive), os aumentos salariais sempre 
correspondem ao dobro do percentual do ano anterior. Faça um 
programa que determine o salário atual desse funcionário. Após 
concluir isto, altere o programa permitindo que o usuário digite o 
salário inicial do funcionário. 
 Faça um programa que leia dez conjuntos de dois valores, o primeiro 
representando o número do aluno e o segundo representando a sua altura em 
centímetros. Encontre o aluno mais alto e o mais baixo. Mostre o número do 
aluno mais alto e o número do aluno mais baixo, junto com suas alturas. 
 Foi feita uma estatística em cinco cidades brasileiras para coletar 
dados sobre acidentes de trânsito. Foram obtidos os seguintes dados: 
 . Código da cidade; 
a. Número de veículos de passeio (em 1999); 
b. Número de acidentes de trânsito com vítimas (em 1999). Deseja-se 
saber: 
c. Qual o maior e menor índice de acidentes de transito e a que 
cidade pertence; 
d. Qual a média de veículos nas cinco cidades juntas; 
e. Qual a média de acidentes de trânsito nas cidades com menos de 
2.000 veículos de passeio. 
 Faça um programa que receba o valor de uma dívida e mostre uma tabela 
com os seguintes dados: valor da dívida, valor dos juros, quantidade de 
parcelas e valor da parcela. 
 8
o Os juros e a quantidade de parcelas seguem a tabela abaixo: 
o Quantidade de Parcelas % de Juros sobre o valor inicial da dívida 
o 1 0 
o 3 10 
o 6 15 
o 9 20 
12 25 
Exemplo de saída do programa: 
Valor da Dívida Valor dos Juros Quantidade de Parcelas Valor da 
Parcela 
R$ 1.000,00 0 1 R$ 
1.000,00 
R$ 1.100,00 100 3 R$ 
366,00 
R$ 1.150,00 150 6 R$ 
191,67 
 Faça um programa que leia uma quantidade indeterminada de números 
positivos e conte quantos deles estão nos seguintes intervalos: [0-25], [26-
50], [51-75] e [76-100]. A entrada de dados deverá terminar quando for lido 
um número negativo. 
 O cardápio de uma lanchonete é o seguinte: 
o Especificação Código Preço 
o Cachorro Quente 100 R$ 1,20 
o Bauru Simples 101 R$ 1,30 
o Bauru com ovo 102 R$ 1,50 
o Hambúrguer 103 R$ 1,20 
o Cheeseburguer 104 R$ 1,30 
o Refrigerante 105 R$ 1,00 
Faça um programa que leia o código dos itens pedidos e as 
quantidades desejadas. Calcule e mostre o valor a ser pago por 
item (preço * quantidade) e o total geral do pedido. Considere que 
o cliente deveinformar quando o pedido deve ser encerrado. 
 Em uma eleição presidencial existem quatro candidatos. Os votos são 
informados por meio de código. Os códigos utilizados são: 
o 1 , 2, 3, 4 - Votos para os respectivos candidatos 
o (você deve montar a tabela ex: 1 - Jose/ 2- João/etc) 
o 5 - Voto Nulo 
o 6 - Voto em Branco 
Faça um programa que calcule e mostre: 
o O total de votos para cada candidato; 
o O total de votos nulos; 
o O total de votos em branco; 
o A percentagem de votos nulos sobre o total de votos; 
o A percentagem de votos em branco sobre o total de votos. Para 
finalizar o conjunto de votos tem-se o valor zero. 
 Desenvolver um programa para verificar a nota do aluno em uma prova com 
10 questões, o programa deve perguntar ao aluno a resposta de cada questão e 
ao final comparar com o gabarito da prova e assim calcular o total de 
acertos e a nota (atribuir 1 ponto por resposta certa). Após cada aluno 
 9
utilizar o sistema deve ser feita uma pergunta se outro aluno vai utilizar o 
sistema. Após todos os alunos terem respondido informar: 
 . Maior e Menor Acerto; 
a. Total de Alunos que utilizaram o sistema; 
b. A Média das Notas da Turma. 
c. Gabarito da Prova: 
d. 
e. 01 - A 
f. 02 - B 
g. 03 - C 
h. 04 - D 
i. 05 - E 
j. 06 - E 
k. 07 - D 
l. 08 - C 
m. 09 - B 
10 - A 
Após concluir isto você poderia incrementar o programa permitindo 
que o professor digite o gabarito da prova antes dos alunos usarem 
o programa. 
 Faça um programa que peça um numero inteiro positivo e em seguida 
mostre este numero invertido. 
o Exemplo: 
o 12376489 
 => 98467321 
 
 
Exercícios com comandos de Repetição 
Compilado pelos Professores Sílvia Moraes e Egídio Terra 
1. 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. 
2. 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! 
3. 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. 
 10 
O final da leitura de dados se dará com a entrada de um salário negativo. 
(Use o comando ENQUANTO-FAÇA) 
4. Chico tem 1,50 metro e cresce 2 centímetros por ano, enquanto Zé tem 1,10 
metro e cresce 3 centímetros por ano. Construa um algoritmo que calcule e 
imprima quantos anos serão necessários para que Zé seja maior que Chico. 
5. 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. 
6. 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; 
Elabore um algoritmo que leia o código do candidado 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. 
7. Escreva um algoritmo que calcule a média aritmética das 3 notas dos 
alunos de uma classe. O algoritmo deverá ler, além das notas, o código do 
aluno e deverá ser encerrado quando o código for igual a zero. 
8. 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). 
9. Escreva um algoritmo que leia 50 valores e encontre o maior e o menor 
deles. Mostre o resultado. 
10. Escreva um algoritmo que leia o código de um aluno e suas três notas. 
Calcule a média ponderada do aluno, considerando que o peso para a maior 
nota seja 4 e para as duas restantes, 3. Mostre o código do aluno, suas três 
notas, a média calculada e uma mensagem "APROVADO" se a média for maior ou 
igual a 5 e "REPROVADO" se a média for menor que 5. Repita a operação até 
que o código lido seja negativo. 
11. 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 ntermos desta progressão, bem como a soma dos 
elementos. 
 11 
12. 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 
13. Escrever um algoritmo que leia um número n que indica quantos valores 
devem ser lidos a seguir. Para cada número lido, mostre uma tabela contendo 
o valor lido e o fatorial deste valor. 
14. Escrever um algoritmo que leia um número não determinado de valores e 
calcule a média aritmética dos valores lidos, a quantidade de valores 
positivos, a quantidade de valores negativos e o percentual de valores 
negativos e positivos. Mostre os resultados. 
15. Escrever um algoritmo que leia uma quantidade desconhecida de números e 
conte quantos deles estão nos seguintes intervalos: [0.25], [26,50], [51,75] 
e [76,100]. A entrada de dados deve terminar quando for lido um número 
negativo. 
16. Escrever um algoritmo que lê um conjunto não determinado de valores, um 
de cada vez, e escreve uma tabela com cabeçalho, que deve ser repetido a 
cada 20 linhas. A tabela conterá o valor lido, seu quadrado, seu cubo e sua 
raiz quadrada. 
17. Escrever um algoritmo que lê um número não determinado de pares de 
valores m,n, todos inteiros e positivos, um par de cada vez, e calcula e 
escreve a soma dos n inteiros consecutivos a partir de m inclusive. 
18. 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 ímpar e menor 
do que 10 calcular e escrever o fatorial de m. Se m for ímpar e maior ou 
igual a 10 calcular e escrever a soma dos inteiros de 1 até m. 
19. 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. 
20. 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. 
21. 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. 
 12 
22. 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. (Use o 
comando enquanto-faça e não use vetores ou matrizes) 
23. Foi realizada uma pesquisa de algumas características físicas da 
população de uma certa região, a qual coletou os seguintes dados referentes 
a cada habitante para serem analisados: 
- sexo (masculino e feminino) 
- cor dos olhos (azuis, verdes ou castanhos) 
- cor dos cabelos ( louros, castanhos, pretos) 
- idade 
24. Faça um algoritmo que determine e escreva: 
- a maior idade dos habitantes 
- a quantidade de indivíduos do sexo feminino cuja idade está entre 18 
e 35 anos inclusive e que tenham olhos verdes e cabelos louros. 
O final do conjunto de habitantes é reconhecido pelo valor -1 entrada como 
idade. 
25. Uma empresa deseja aumentar seus preços em 20%. Faça um algoritmo que 
leia o código e o preço de custo de cada produto e calcule o preço novo. 
Calcule também, a média dos preços com e sem aumento. Mostre o código e opreço novo de cada produto e, no final, as médias. A entrada de dados deve 
terminar quando for lido um código de produto negativo. (Use o comando 
enquanto-faça) 
26. Escreva um algoritmo que gere o números de 1000 a 1999 e escreva aqueles 
que dividido por 11 dão resto igual a 5. 
27. Escreva um algoritmo que leia 500 valores inteiros e positivos e: 
a) encontre o maior valor; 
b) encontre o menor valor; 
c) calcule a média dos números lidos. 
28. Escreva um algoritmo que lê um valor n inteiro e positivo e que calcula 
a seguinte soma: 
 13 
S := 1 + 1/2 + 1/3 + 1/4 + ... + 1/n 
O algoritmo deve escrever cada termo gerado e o valor final de S. 
29. Escrever um algoritmo que calcule e mostre a média aritmética dos 
números lidos entre 13 e 73. 
30. Escrever um algoritmo que gera e escreve os números ímpares entre 100 e 
200. 
31. Escrever um algoritmo que lê 10 valores, um de cada vez, e conta quantos 
deles estão no intervalo [10,20] e quantos deles estão fora do intervalo, 
escrevendo estas informações. 
32. Escrever um algoritmo que lê 5 pares de valores a, b, todos inteiros e 
positivos, um par de cada vez, e com a < b, escreve os inteiros pares de a 
até b, incluindo o a e o b se forem pares. 
33. 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 34. Escrever um algoritmo que 
leia 5 conjuntos de 2 valores, o primeiro representando o número de um 
aluno, e o segundo representando a sua altura em centímetros. Encontre o 
aluno mais alto e o mais baixo. Mostre o número do aluno mais alto e do mais 
baixo, junto com suas alturas. 
35. Escrever um algoritmo que leia um conjunto de 50 informações contendo, 
cada uma delas, a altura e o sexo de uma pessoa (código=1, masculino 
código=2, feminino), calcule e mostre o seguinte: 
a) a maior e a menor altura da turma 
b) a média da altura das mulheres 
c) a média da altura da turma. 
36. Escrever um algoritmo que leia um número N que indica quantos valores 
devem ser lidos a seguir. Para cada número lido, mostre uma tabela contendo 
o valor lido e o fatorial deste valor. 
37. Escrever um algoritmo que leia um valor X e calcule e mostre os 20 
primeiros termos da série: 
1 1 1 1 ..... 
X X2 X3 X4 
38. Escrever um algoritmo que calcula e escreve o produto dos números primos 
entre 92 e 1478. 
39. Escrever um algoritmo que gera e escreve os 5 primeiros números 
perfeitos. Um número perfeito é aquele que é igual a soma dos seus 
divisores. (Ex.: 6 = 1+2+3; 28= 1+2+4+7+14 etc). 
 14 
40. Escrever um algoritmo que lê um valor n que indica quantos valores devem 
ser lidos para m, valores inteiros e positivos, com leitura de um valor de 
cada vez. Escreva uma tabela contendo o valor lido, o somatório dos inteiros 
de 1 até m e o fatorial de m. 
41. Faça um algoritmo que leia as três notas de 50 alunos de uma turma. Para 
cada aluno, calcule a média ponderada, como segue: MP = ( n1*2 + n2*4 + n3*3 
) / 10 
Além disso, calcule a média geral da turma. Mostre a média de cada aluno e 
uma mensagem "Aprovado", caso a média seja maior ou igual a sete, e uma 
mensagem "Reprovado", caso contrário. Ao final, mostre a média geral. 
42. Faça um algoritmo que calcule a seguinte soma: H = 10 + 10 + 10 + ... + 
10 
O algoritmo deve ler um número n (inteiro e positivo) e mostrar o resultado 
final de H. A soma deve ser calculada apenas uma vez. 
43. Fazer um algoritmo que leia 5 grupos de 4 valores (A,B,C,D) e mostre-os 
na ordem lida. Em seguida, ordene-os em ordem decrescente e mostre-os 
novamente, já ordenados. 
44. Foi feita uma estatística nas 200 principais cidades brasileiras para 
coletar dados sobre acidentes de trânsito. Foram obtidos os seguintes 
dados: 
- código da cidade 
- estado (RS, SC, PR, SP, RJ, ...) 
- número de veículos de passeio (em 1992) 
- número de acidentes de trânsito com vítimas (em 1992) 
Deseja-se saber: 
a) qual o maior e o menor índice de acidentes de trânsito e a que 
cidades pertencem 
b) qual a média de veículos nas cidades brasileiras 
c) qual a média de acidentes com vítimas entre as cidades do Rio Grande 
do Sul. 
45. 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: (use o comando repita-até) 
a) média da idade do grupo; 
b) média da altura das mulheres; 
c) média da idade dos homens; 
 15 
d) percentual de pessoas com idade entre 18 e 35 anos (inclusive). 
46. Foi realizada uma pesquisa de algumas características físicas da 
população de um certa região. Foram entrevistadas 500 pessoas e coletados os 
seguintes dados: 
a- sexo: M (masculino) e F (feminino) 
b- cor dos olhos: A (azuis), V (verdes) e C (castanhos) 
c- cor dos cabelos: L (louros), C (castanhos) e P (pretos) 
d- idade 
Deseja-se saber: 
o a maior idade do grupo 
o a quantidade de indivíduos do sexo feminino, cuja idade está entre 
18 e 35 anos e que tenham olhos verdes e cabelos louros. 
47. Uma loja tem 150 clientes cadastrados e deseja mandar uma 
correspondência a cada um deles anunciando um bônus especial. Escreva um 
algoritmo que leia o nome do cliente e o valor das suas compras no ano 
passado e calcule um bônus de 10% se o valor das compras for menor que 
500.000 e de15 %, caso contrário. 
48. Faça um algoritmo que mostre os conceitos finais dos alunos de uma 
classe de 75 alunos, considerando (use o comando CASO): 
a) os dados de cada aluno (número de matrícula e nota numérica final) 
serão fornecidos pelo usuário 
b) a tabela de conceitos segue abaixo: 
Nota Conceito
de 0,0 a 4,9 D 
de 5,0 a 6,9 C 
de 7,0 a 8,9 B 
de 9,0 a 
10,0 
A 
49.Faça um algoritmo que lê um valor N inteiro e positivo e que calcula e 
escreve o fatorial de N (N!). 
50. Faça um algoritmo que leia 2 valores inteiros e positivos: X e Y. O 
algoritmo deve calcular e escrever a função potência X Y 
51. Faça um algoritmo que calcule o fatorial de um número. 
52. Faça um algoritmo que calcule a combinação e arranjo de um conjunto de 
tamanho N em subconjuntos de p elementos. 
53. Faça um algoritmo que calcule os 20 primeiros números primos, dados os 
tres primeiros 1,2 e 3. 
 16 
54. Faça uma algoritmo que receba 2 numeros e divida o intervalo entre eles 
em 3 partes iguais. Obs. Faça a consistência para que os extremos não sejam 
iguais. 
55. Faça uma algoritmo que receba duas datas e retorne a diferença entre 
elas em dias. 
 
 
 
 17 
BIBLIOGRAFIA: 
 
LIVROS: 
C COMPLETO E TOTAL => HERBERT SCHILDT 
 
C: A LINGUAGEM DE PROGRAMAÇÃO PADRÃO ANSI => BRIAN W. KERNIGHAN 
 
SITES: 
 
http://www.cplusplus.com 
 
http://www.python.org.br/wiki/ListaDeExercicios 
 
http://www.python.org.br/ 
 
http://www.mtm.ufsc.br/~azeredo/cursoC/c.html 
 
http://www.juliobattisti.com.br/tutoriais/ 
 
http://www.ime.usp.br/~macmulti/exercicios/ 
 
http://www.inf.pucrs.br/~pinho/LaproI/Exercicios/Repeticao/Lista1.htm 
 
http://equipe.nce.ufrj.br/adriano/c/apostila/contro.htm#lacos

Outros materiais