Buscar

02ListaII ExerciciosPonteiros

Prévia do material em texto

Bons Estudos! 
 
 
CET 151 - Processamento de dados II - Prática 
Profº: Julio Oliveira da Silva 
 
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. 
 
 
 
 
 
 
 
 
 
 
Bons Estudos! 
 
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: 
 
 
 
 
 
Bons Estudos! 
 
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 
int *P1, *P2, *P3; 1000 1001 1002 1003 1004 1005 
A = 22; 22 
B = 13; 22 13 
C = A + B; 22 13 35 
P1 = &B; 
P2 = &C; 
P3 = P1; 
A = *P2 - (*P1); 
B = A - (*P2); 
P3 = &A; 
C = (2*B) + (*P3); 
C = (*P2)+1; 
 
} 
 
b) 
void main(void) 
{ 
int A, B, C; A B C P1 P2 P3 
int *P1, *P2, *P3; 1000 1001 1002 1003 1004 1005 
A = 32; 32 
B = 19; 32 19 
C = A - B; 32 19 13 
P1 = &C; 
P2 = &A; 
P3 = P1; 
A = *P2 + (*P1); 
B = A - (*P2); 
P3 = &C; 
C = (2*B) + (*P3); 
C = (*P2)+1; 
} 
 
 
 
Bons Estudos! 
 
c) 
void main(void) 
{ 
int A, B, C; A B C P1 P2 P3 
int *P1, *P2, *P3; 1000 1001 1002 1003 1004 1005 
A = 2; 2 
B = 17; 2 17 
C = A + B; 2 17 19 
P1 = &C; 
P2 = &A; 
P3 = P1; 
A = *P1 - (*P2); 
B = A - (*P2); 
P3 = &B; 
C = (2*B) + (*P2); 
C = (*P2)+4; 
}

Continue navegando