Exercícios no Lapro

Exercícios com programas seqüenciais
Exercícios com Comandos de Repetição


Exercícios com programas seqüenciais

1. Crie um programa que calcule a média entre dois números reais. E imprima os valores (os números e o resultado) em real.

2. Crie um programa que calcule a média entre dois números inteiros. E imprima os valores (os números e o resultado) em real.

3. Construa um algoritmo que, tendo como dados de entrada dois pontos quaisquer no plano, P(x1,y1) e P(x2,y2), escreva a distância entre eles. A fórmula que efetua tal cálculo é:

4. Faça um programa que leia a idade de uma pessoa expressa em anos, meses e dias e mostre-a expressa apenas em dias. Assuma, neste programa, que um ano tem 365 dias e que um mes tem 30 dias.

5. Crie um progama que organize os dados em uma tabela conforme o exemplo a seguir. Os dados das células em amarelo deve ser informados através de atribuições dentro do programa.

Procure usar somente os %f para definir o formato e a posição dos dados.
Não tente preencher os espaços com brancos. Por exemplo, use
int QuantidadeDeBananas;
QuantidadeDeBananas = 22;
printf ("%10d, QuantidadeDeBananas);
ao invés de
int QuantidadeDeBananas;
QuantidadeDeBananas = 22;
printf("          %d", QuantidadeDeBananas);
Produto Preço Unitário Quantidade Preço Total
Banana R$   2.50
2
R$     5.00
Uva R$   6.50
6
R$    39.00
Pessego R$  10.22 
10
R$   102.20
    Sub-Total  R$   146.20
  Imposto (5%)  R$     7.31 
    Total  R$   153.51

Exercícios com comandos de decisão

6. Crie um programa que determine se um ponto (X,Y) está dentro de um círculo ou não. Para tanto o programa deverá ler os seguintes dados de teclado:
        - coordenadas do centro do círculo;
        - raio do círculo;
        - ponto a ser testado.
O programa deverá imprimir na tela mensagens perguntado ao usuário os dados necessários e a seguir permitir que este os digite.

7. Crie um programa que leia as notas de um aluno e faça o cálculo de sua média. O programa deve considerar as seguintes regras:

8. Elabore um programa que dada a idade de um nadador classifica-o em uma das seguintes categorias: 9. Crie um programa que exiba um menu na tela e que permita ao usuário a escolha de uma opção.
Imprima uma mensagem dizendo qual foi a opção selecionada.
Exemplo de Menu
1 - Gravar
2 - Carregar
3 - Apagar
4 - Inserir
5 - Fim
10. Escrever um programa que leia o número de identificação, as 3 notas obtidas por um aluno nas 3 verificações e a média dos exercícios que fazem parte da avaliação. Calcular a média de aproveitamento, usando a fórmula: O progama deve escrever o número do aluno, suas notas, a média dos exercícios, a média de aproveitamento, o conceito correspondente e a mensagem: APROVADO se o conceito for A,B ou C e REPROVADO se o conceito for D ou E.
 

Exercícios com Comandos de Repetição

11. Altere o programa número 9 desta lista a fim de que após a seleção de uma das opções o programa continue rodando e solicite novamente uma escolha do usuário, até que este escolha a opção de finalização.

12. Crie um programa que limpe a tela, imprimindo uma seqüência de 25 linhas em branco.

13.Crie um programa que leia um número entre 2 e 20 e gere uma tela com a seguinte configuração:
 

Digite um número:
4
Saida do programa:

1
12
123
1234
123
12
1
 

14. Crie um programa que leia um número entre 2 e 20 e gere uma tela com a seguinte configuração:
 
Digite um número:
7
Saida do programa:

1234567
x123456
xx12345
xxx1235
xxxx123
xxxxx12
xxxxxx1
 

15. Escreva um programa que calcule a média de uma seqüência de números digitados pelo usuário, se eles forem pares. Termine a leitura se o usuário digitar zero (0).

16. Escrever um programa 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!
17. Escrever um programa que leia uma seqüencia de 5 nomes de alunos e suas respectivas idades. Ao final o programa deve imprimir o nome e a idade do mais velho de todos os alunos.

18. Você sempre pode desenhar um polígono regular dentro de um círculo se ele tiver três ou
mais lados, como na figura abaixo:

Supondo que os círculos tem raio um, escreva um programa que recebe um número número N >=  3 e faz as seguintes operações:
(a) Determina o comprimento de um lado do polígono de n lados.
(b) Determina o perímetro do polígono. Qual o valor do perímetro à medida que n cresce?
(c) Determine a área interna do polígono. Pode ser útil saber a área de um triângulo onde são conhecidos os lados a, b e c. Se s = (a + b + c)/2, então a área é dada
por  A = SQRT (s*(s-a)*(s-b)*(s-c))
(d) Determine quantas linhas seriam produzidas se todos os vértices (cantos) do polígono fossem ligados com os outros vértices. Por exemplo, para os polígonos da figura teríamos 0, 2 e 5 retas.

Exercícios com Funções

19. Escreva uma função que recebe um valor inteiro N e diz se este valor é um número primo.

20. Escreva uma função que calcula o valor (aproximado) de cos(x), dado pela aproximação abaixo:

Faça a soma com 10 termos, e escreva um programinha que recebe valores de x e calcula  seu cosseno, calculando também a função disponível na linguagem C e apresentando a diferença entre os resultados obtidos. Se você achar o erro grande demais, recalcule com mais termos e compare outra vez. Você pode achar bastante útil escrever funções  separadas para calcular potências e para calcular fatoriais.

21. Altere o programa anterior e crie uma função chamada termo que receba I (representando o número do termo) e  x (representando o ângulo) e devolva x2 e I! como parâmetros. A partir disto, refaça o exercício 20.
 
 

Vetores

22. Crie uma rotina que impima o conteúdo de um vetor.

23. Crie uma rotina que receba um vetor, seu tamanho e um número. A função deve preencher o vetor com este número.

24. Crie uma rotina que receba um vetor e seu tamanho inverta o conteúdo do vetor, desta forma: 10,2,9,6  se transforma em 6,9,2,10.
 
 

Vetores de Strings

25. Crie um programa que leia 10 palavras, de no máximo 15 caracteres, e depois imprima-as em ordem alfabética (crescente).
 

Arquivos

26. Modifique o program anterior para gravar o resultado em um arquivo texto.