Buscar

lista-5-pca-ponteiros

Prévia do material em texto

Prof. Dr. Márcio Alexandre Marques 
 
 
Disciplina: PCA - Programação para Controle e Automação 
Docente: Prof. Dr. Márcio Alexandre Marques 
5ª Lista de Exercícios - Ponteiros 
 
 NÃO UTILIZAR VARIÁVEIS GLOBAIS. 
 
Obs.: antes de resolver os exemplos e os exercícios, estudar a teoria sobre ponteiros. 
Leia, pesquise, estude... Procure entender os conceitos que envolvem a teoria dos 
ponteiros. Faça os “testes de mesa” de todos os exemplos e exercícios para 
entender como o gerenciamento de memória é realizado. Mostre os endereços de 
memória das variáveis e seus conteúdos para entender. 
 
1) Utilizando ponteiros, faça um programa para verificar, através dos 
endereços de memória, qual o tamanho, em bytes, ocupado por cada uma das 
variáveis: int, float e double. DICA: mostre os endereços das variáveis e depois 
observe/conte o número de bytes ocupado por cada tipo de variável. 
 
2) Escreva uma função para multiplicar um vetor por um escalar (utilizando 
ponteiro): 
 void mult (float *v1, int n1, int d1); 
 
onde: v1 é um ponteiro para um vetor; n1 é um escalar e d1 é a dimensão do vetor. 
Ou seja, declare o vetor no programa principal e “passe” para a função. Faça o 
programa completo para testar a função. 
 
3) Escreva uma função para trocar dois valores, ou seja, x = y e y = x 
(utilizando ponteiro): 
 
 void troca (float *px, float *py); 
 
 Faça o programa completo para testar a função. 
 
 
Prof. Dr. Márcio Alexandre Marques 
 
4) Qual a saída produzida pelo trecho de programa a seguir? Dê a sua 
resposta antes de rodar o programa. 
 
 
 #include <iostream.h> 
 int main( ) 
 { 
 char nome[20] = “Eduardo Bayer”; 
 cout << nome + 3; 
 ...... 
 } 
 
5) Construa uma função para copiar uma string str1 para uma outra string 
str2: 
 void copiastr (char *str2, char *str1); 
 
str1 e str2 são ponteiros para vetores de caracteres. 
 
Faça o programa completo e o mais claro possível (principalmente para o 
usuário!) para testar a função criada. Declare os vetores de caracteres no programa 
principal e “passe” para a função. Lembre-se: uma string em C/C++ é finalizada com 
o caractere ‘\0’ (que ocupa uma posição (espaço) de memória do vetor). 
 
6) Escreva uma função para retornar o tamanho de uma string, ou seja, 
quantos caracteres ela possui sem contar o ‘\0’: 
 
 int numcaracteres (char *str); 
 
str é um ponteiro para um vetor de caracteres. 
Elabore o programa completo e o mais claro possível (principalmente para o 
usuário!) para testar a função criada. Declare e leia o vetor de caracteres no 
programa principal e “passe” para a função. 
 
 7) Construa uma função para comparar duas string’s. Se as string’s forem 
iguais, a função retorna 0 (zero), caso contrário, retorna -1: 
 
 int compara (char *str1, char *str2); 
 
str1 e str2 são ponteiros para vetores de caracteres. 
 
Prof. Dr. Márcio Alexandre Marques 
 
Faça o programa completo e o mais claro possível (principalmente para o 
usuário!) para testar a função criada. Declare e leia os vetores de caracteres no 
programa principal e “passe” para a função. 
 
8) Utilizando ponteiro, escreva uma função para retornar o número de vogais 
de uma palavra (string), ou seja, quantas vogais ela possui. Faça o programa 
completo para testar a função criada. Declare e leia o vetor de caracteres no 
programa principal e “passe” para a função.

Continue navegando

Outros materiais