Você está na página 1de 6

CET 151 - Processamento de dados II - Prática

Profº: Valber Carneiro

Exercícios de Ponteiros

1. Crie 3 variáveis e associe um valor a cada uma delas. Crie 3 ponteiros, um


para cada variável, e mostre o conteúdo das variáveis através destes ponteiros.

2. Crie 3 variáveis e associe um valor a cada uma delas. Crie 1 ponteiro e


mostre o conteúdo das 3 variáveis através deste único ponteiro.

3. Crie uma string com uma frase qualquer; faça um programa para contar
quantas letras essa string tem, utilizando um ponteiro.

4. Faça um programa em C que receba 4 notas de um aluno, calcule sua


média, e exiba uma mensagem de aprovação (caso a média seja maior ou
igual a 7) ou reprovação (caso contrário). Manipule as variáveis do programa
(para leitura, processamento e exibição) APENAS através de ponteiros, nunca
utilizando as variáveis originais.

5. Escreva um programa que leia um vetor de N posições e mostre-o. Em


seguida, troque o primeiro elemento com o último, o segundo com o penúltimo,
o terceiro com o antepenúltimo, e assim sucessivamente. Mostre o novo vetor
depois da troca. O valor de N deverá ser lido pelo teclado, considere N < 100.
Você deve usar variável ponteiro para manipular os elementos do vetor.

6. Faça um programa que leia um código numérico inteiro e um vetor de 15


posições de números reais. Se o código for zero, termine o programa. Se o
código for 1, mostre o vetor na ordem direta. Se o código for 2, mostre o vetor
na ordem inversa. Você deve usar variável ponteiro para manipular os
elementos do vetor.

7. Escreva um programa que leia um vetor G de 20 elementos caractere que


representa o gabarito de uma prova. A seguir, para cada um dos 50 alunos de
uma turma, leia o vetor de respostas (R) do aluno e conte o número de acertos.
Mostre o no de acertos do aluno e uma mensagem APROVADO, se a nota for
maior ou igual a 6; e mostre uma mensagem de REPROVADO, caso contrário.
Cada questão correta vale 0,5 ponto. Você deve usar ponteiro para manipular
os elementos do vetor. Você deve usar variável ponteiro para manipular os
elementos do vetor.
Com base na lista de exercícios de revisão, resolva as seguintes questões
utilizando manipulação de ponteiros com vetores

8. Numa empresa paga-se R$ 19,50 a hora e recolhe-se para o imposto de


renda 10% dos salários acima de R$ 1500,00. Dado o número de horas
trabalhadas por um funcionário, informar o valor do seu salário líquido.

9. Uma empresa determinou um reajuste salarial de 5% a todos os seus


funcionários. Além disto, concedeu um abono de R$ 100,00 para aqueles que
recebem até R$ 750,00. Dado o valor do salário de um funcionário, informar
para quanto ele será reajustado.

10. Receba do usuário dois números inteiros e um caractere, podendo este ser:

“+”, “-“, “*”, “/” e “%”, verifique o símbolo da operação, realize a operação de
acordo com o operador e imprima o resultado. Caso o operador seja inválido,
mostrar a informação referente.

11. Escreva um programa que leia e armazene 10 números de ponto flutuante e


em seguida, informe:
a) a média dos elementos;
b) o maior e menor elemento;

c) a quantidade de elementos positivos e a quantidade de


elementos negativos.

12. Escreva um programa que leia e mostre um vetor de 10 elementos


inteiros. Em seguida, conte quantos valores pares existem no vetor, exibindo
no vídeo.

13. Construa um programa que leia dois números inteiros a e b, um vetor de


tamanho n e exiba como resposta a contagem de quantos elementos do vetor
estão no intervalo fechado [a; b].

14. Escreva um programa que leia 10 números inteiros e calcule a soma dos
elementos de índice par e a multiplicação dos elementos que se encontram em
posições de índice ímpar. Informe os resultados do processamento:

15. Escreva um programa que leia 10 números inteiros e calcule a


quantidade de números pares armazenados em índices ímpares e a
quantidade de números ímpares armazenados em índices pares. Informe os
resultados do processamento:
Analise os programas abaixo. Identifique passo-a-passo (em cada linha) o
que acontece com o conteúdo das variáveis, anotando no desenho da
memória ao lado (siga o modelo apresentado).

a)

Void main(void)
{

int A, B, C; A B C P1 P2
P3
100
int *P1, *P2, *P3; 1000 1001 1002 1003 1004 5
A = 22; 22

B = 13; 22 13

C = A + B; 22 13 35

P
1 = &B;

P
2 = &C;

P
3 = P1;

A = *P2 - (*P1);

B = A - (*P2);

P
3 = &A;

C = (2*B) + (*P3);

C = (*P2)+1;

}
b)
void main(void)
{

int A, B, C; A B C P1 P2 P3
100
int *P1, *P2, *P3; 1000 1001 1002 1003 1004 5
A = 32; 32

B = 19; 32 19

C = A - B; 32 19 13

P
1 = &C;

P
2 = &A;

P
3 = P1;

A = *P2 + (*P1);

B = A - (*P2);

P
3 = &C;

C = (2*B) + (*P3);

C = (*P2)+1;

c)
void main(void)
{

int A, B, C; A B C P1 P2
P3
100
int *P1, *P2, *P3; 1000 1001 1002 1003 1004 5
A = 2; 2

B = 17; 2 17

C = A + B; 2 17 19

P
1 = &C;

P
2 = &A;

P
3 = P1;

A = *P1 - (*P2);

B = A - (*P2);

P
3 = &B;

C = (2*B) + (*P2);

C = (*P2)+4;

Bons Estudos!

Você também pode gostar