UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO DE CIÊNCIA DA COMPUTAÇÃO PROGRAMAÇÃO DE COMPUTADORES LABORATÓRIO 8 PONTEIROS E ALOCAÇÃO DINÂMICA DE MEMÓRIA EXERCÍCIOS DE REVISÃO VOCÊ DEVE FAZER OS EXERCÍCIOS DE REVISÃO EM CASA 1. Suponha que ted é uma variável tipo double. Declare um ponteiro que aponte para ted e use o ponteiro para mostrar o valor de ted. 2. Suponha que moto é um vetor de 10 floats. Declare um ponteiro que aponte para o primeiro elemento de moto e use o ponteiro para mostrar o primeiro e o último elemento do vetor. 3. Escreva um programa que peça ao usuário para digitar um número inteiro positivo e então crie um vetor dinâmico com essa quantidade de inteiros. 4. A instrução abaixo é um código válido? Se sim, o que ela imprime? cout << (int *) "Tudo se resume a bits e bytes"; 5. Defina um registro que descreva um peixe. O registro deve incluir o tipo, o peso e o comprimento do peixe. Em seguida mostre como alocar dinamicamente um registro do tipo peixe. Mostre também como ler um valor para cada membro do registro e como imprimir o conteúdo do registro. 6. Escreva o código para criar um vetor dinâmico de peixes. O tamanho do vetor pode ser definido livremente. Mostre como ler e como imprimir o peso do segundo peixe. UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO DE CIÊNCIA DA COMPUTAÇÃO PROGRAMAÇÃO DE COMPUTADORES EXERCÍCIOS DE PROGRAMAÇÃO VOCÊ DEVE ESCREVER P ROGRAMAS PARA REALME NTE APRENDER A LINGU AGEM C++ 1. Crie um programa que peça ao usuário para digitar o número de alunos em uma turma (informe-o que o tamanho mínimo é 5 para que ele não digite um valor inferior). O programa deve usar essa informação para criar um vetor dinâmico que armazene as notas finais desses alunos. Peça ao usuário para entrar com a nota de dois alunos e em seguida mostre essas notas usando cout. 2. Defina o registro balao como mostrado abaixo. Construa um programa para alocar dinamicamente um registro do tipo balao. Peça ao usuário para entrar com valores para cada um dos membros e em seguida imprima o conteúdo do registro. struct balao { char marca[20]; int modelo; float diametro; }; // nome da marca // número do modelo // diâmetro em metros 3. Construa um registro para guardar informações sobre um carro. Um carro deve ter nome do modelo, ano de fabricação e preço. Em seguida construa um vetor estático de 10 carros inicializando os dois primeiros carros respectivamente para "Vectra", 2009, R$58.000,00 e "Polo", 2008, R$45.000,00. Use um ponteiro para apontar para o segundo carro e imprimir seus dados. 4. Repita o exercício anterior criando um vetor dinâmico de carros. Peça ao usuário para digitar os dados de dois carros e em seguida imprima o valor total dos carros. 5. Construa um vetor dinâmico de alunos. O registro aluno deve ser composto por nome (ou matrícula), código da disciplina, e situação da disciplina. A situação da disciplina deve ser uma enumeração com os valores: Aprovado, Trancado, Reprovado. Peça ao usuário para digitar o número de alunos do vetor e em seguida leia os dados do primeiro aluno. Para finalizar mostre os dados do primeiro aluno na tela. 6. Construa um programa para testar o que acontece quando se tenta acessar uma posição de memória inválida. Para isso, declare um ponteiro e atribua-o um endereço aleatório. Execute o programa de dentro da Visual Studio e em seguida execute diretamente o arquivo executável (.exe) gerado pelo Visual Studio.