Você está na página 1de 17

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*/
}
1
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);
}

2
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.

3
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.

4
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 seja primo, 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
5
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.

6
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.
7
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 deve informar 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
8
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.

9
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.

10
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.

11
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 o
preç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:
12
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).

13
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;

14
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
A
10,0

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.
15
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.

16
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

17