Baixe o app para aproveitar ainda mais
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.
Compartilhar