Programação Estruturada II
Por: Verena Santos Silva • 2/10/2015 • Trabalho acadêmico • 1.800 Palavras (8 Páginas) • 257 Visualizações
[pic 1]
ANHANGUERA EDUCACIONAL DE INDAIATUBA
ATPS – ETAPAS 3 E 4
[pic 2]
INDAIATUBA
2014
[pic 3]Capítulo 3 - Ponteiros
O que são ponteiros?
Ponteiros (apontador) é uma variável capaz de armazenar endereços de memória ou endereços de outras variáveis. Na programação, o ponteiro é um tipo de dado cujo valor se refere na verdade a outro valor em outra localização de memória. Os ponteiros são utilizados e suportados em C, C++, Pascal e em muitas outras linguagens de programação.
[pic 4]
Vantagens:
- Proporciona uma grande flexibilidade para o gerenciamento de memória e otimização de algoritmo;
- Flexibilidade;
- Alocar e desalocar a memória durante o tempo de execução permite criar objetos grandes, como matrizes, de forma rápida e imediatamente liberar a memória quando ele não é mais necessário
Desvantagens:
- Aprender a usar ponteiros é uma tarefa árdua para muitos programadores;
- Você pode acidentalmente substituir a memória crítica, modificar o código de um aplicativo em execução, ou fazer com que seu aplicativo ou de outro aplicativo se comportar ou sair inesperadamente;
- Podem ocorrer vazamentos de memória.
[pic 5]Endereço
Todos os comutadores possuem uma memória com uma sequencia de bytes. Cada byte armazena um de 256 possíveis valores. Cada objeto na memória de um computador tem um determinado número de bytes consecutivos.
Um char equivale a 1 byte, int equivale a 4 bytes e Double equivale a 8 bytes. Cada objeto possui um endereço único e na maioria dos computadores o endereço é o endereço do primeiro byte.
Quando e onde usar
Em algumas estruturas de dados os ponteiros são usados como referências para intercalar cada elemento da estrutura com seus vizinhos.
Os apontadores também são utilizados na simulação de passagem de parâmetro por referência em linguagens que não possuem essa construção, como em C, por exemplo. Isso faz com que a função possa retornar com múltiplos valores.
O uso de ponteiros é essencial para a implementação de modelos de re-chamada (utilizado em manipulação de interfaces gráficas).
Podemos utilizar também para comunicar informações sobre a memória através da função “malloc”.
Os ponteiros podem ser usados não somente para que a função passe valores para o programa chamador, mas também para passar valores do programa para a função.
Como utilizar
Um apontador, assim como qualquer variável, precisa ser declarado como um tipo. No caso do ponteiro, a variável deve ser do mesmo tipo para qual ele aponta. Na declaração especificamos o tipo da variável e o nome precedido por asterisco.
[pic 6]
Utilizamos o operador “&” (E comercial) para acessar o endereço de uma determinada variável. O “&” faz com que retorne um endereço na memória do operando. Por exemplo, se uma variável chamada “Var” for alocada no endereço de memória número 2000, a expressão &Var valerá 2000. Para atribuir um valor ao apontador utilizamos apenas seu nome de variável e esse valor é diretamente ligado endereço de memória alocado.
Para cada variável declarada, o compilador reserva dois bytes de memória onde os endereços serão alocados.
[pic 7]
Ponteiros com matrizes
Apontadores e matrizes estão diretamente conectados em algumas linguagens de programação. O uso de ponteiros facilita muito a construção de códigos com matrizes. Eles podem ser organizados como qualquer outro tipo de dado.
Conclusões
- O operador “&” junto ao nome do apontador retorna o endereço do ponteiro;
- O operador “*” junto ao nome do ponteiro retorna o conteúdo da variável apontada;
- O nome do apontador retorna o endereço para qual ele aponta;
- Existem vantagens e desvantagens no uso de ponteiros.
[pic 8]EXERCÍCIOS
Problemas para tratar ponteiros:
- Faça um programa usando ponteiros que libere três variáveis na memória e mostre o caminho da mesma.
Código Fonte:
[pic 9]
Saída:
[pic 10]
[pic 11]
- Faça um programa usando ponteiros que mostre o endereço de memória de um número.
Código Fonte:
[pic 12]
Saída:
[pic 13]
[pic 14]Problemas para tratar ponteiros para matriz:
- Faça um programa que guarde uma string usando ponteiro com matriz e depois mostre na tela o nome do ponteiro e a string armazenada.
Código Fonte:
[pic 15]
Saída:
[pic 16]
[pic 17]
- Faça um programa para tratar ponteiros com matriz que guarde os dias da semana e exibe na tela.
Código Fonte:
[pic 18]
Saída:
[pic 19]
[pic 20]Problemas para tratar ponteiros para matriz usando funções:
- Faça um programa usando ponteiros com matriz utilizando funções que transforme uma frase de letras minúsculas para letras maiúsculas e exiba na tela.
Código Fonte:
[pic 21]
Saída:
[pic 22]
- [pic 23]Faça um programa usando ponteiros com matriz utilizando funções que receba dois números e mostre qual é maior.
Código Fonte:
[pic 24]
Saída:
[pic 25]
[pic 26]Capítulo 4 - Arquivos
O que são arquivos?
O arquivo (ficheiro) é basicamente um recurso utilizado no armazenamento de informações. Um arquivo permanece disponível para utilização após um programa em execução ser encerrado. Ficheiros podem ser comparados aos arquivos tradicionalmente utilizados em escritórios. Um arquivo é uma coleção de bytes referenciados por um único nome.
...