quarta-feira, 16 de fevereiro de 2011

Estrutura de Dados I e PROGRAMAÇÃO I

Introdução às Estruturas de Dados  


Estruturas de dados é uma disciplina do curso de Sistemas de Informação voltada ao estudo de técnicas para manipulação de dados e soluções de problemas envolvendo uso computacional de dados.
Trata-se da evolução da disciplina de Algoritmos, onde iremos utilizar os conceitos aprendidos até
hoje e adicionar termos, técnicas e modelos a fim de aprimorar os nossos conhecimentos em relação
ao desenvolvimento de software.
Sabemos que para uma mesma tarefa, diferentes algoritmos podem ser desenvolvidos, todos
retornando o mesmo resultado esperado. O que diferencia um algoritmo de outro será a quantidade
de linhas de código necessárias, custo computacional exigido, entre outros fatores.

Tipos de Dados


Como já sabemos, o bit (binary digit) é a unidade
básica de memória do computador e representa
um valor entre 0 e 1.
Como é muito difícil representar informações por
meio de um único bit, o computador faz um
agrupamento de bits a fim de possibilitar a
representação mais adequada de cada dado.
Em um programa de computador, as áreas de
memória utilizadas para armazenamento de dados
são chamadas de variáveis.
A forma com que os dados poderão ser
representados e manipulados pelo computador é
definida pelo tipo de dado utilizado. Exemplo:
números quebrados (float), letras (char), dinheiro
(float), contagem (integer).
A maioria das linguagens de programação de alto nível possuem tipos de dados primitivos (inteiro,
real, caractere e lógico), além de mecanismos para criação de novos tipos de dados para solução de
problemas mais específicos.


Tipos de Dados Abstratos (TDA)


Como os tipos de dados já são conhecidos por nós, vamos agora iniciar um estudo sobre os tipos de dados abstratos, que são modelos matemáticos definidos por um conjunto de valores e operações.
Exemplos de TDAs são: Pilhas, Listas, Filas e Árvores.
Já que um TDA é um modelo matemático, nossa função como programador é desenvolver uma
solução (implementar) utilizando tipos de dados já existentes e técnicas de desenvolvimento de
software já conhecidas a fim de que a TDA resulte em um tipo de dado primitivo.

Variável e Constante
No contexto de desenvolvimento de software, as variáveis são formas de alocação de dados na
memória a fim de serem utilizados pelo programa.
Uma variável, como o nome já diz, pode ter seu conteúdo modificado em tempo de execução. Além
disso, cada variável armazena um tipo específico de dado, ou seja, variáveis do tipo INT somente
armazenam números inteiros, já as variáveis do tipo CHAR armazenam além de números inteiros,
também letras e outros caracteres.
Constantes tem a mesma função das variáveis dentro do programa, a diferença básica é que não
podemos modificar o seu valor inicialmente atribuído. Elas são úteis quando precisamos armazenar
algum dado que, se modificado, dificulta ou impede o prosseguimento correto da tarefa.
Exemplo:
// Definindo duas constantes por meio do pré processador da aplicação
#define PI 3.13
#define NUM 10
// Definindo duas constantes utilizando a palavra-chave 'const'
const int ANO = 2011;
const float VALOR = 29.90;
Registro
Cada vez que criamos uma variável em um software, estamos
também criando um ou mais registros de memória que são
formados por conjuntos de bits.
Como a memória RAM é volátil, um registro fica disponível
pelo programa até o momento que o computador é desligado
ou que o programa solicite explicitamente que esse dado seja
inutilizado. A volatilidade diz respeito à capacidade do
componente de memória manter determinado dado
armazenado enquanto existe energia fluindo pelos seus
barramentos. Quando, por algum motivo, a energia deixa de
fluir pelos barramentos da memória (computador desligou, reiniciou), os dados armazenados são perdidos.
Cada posição de memória (bit) possui um endereço formado por um número hexadecimal:



Vetores


Quando queremos armazenar mais de um dado em uma única variável, podemos utilizar um vetor.
Também conhecidos como arrays ou arranjos, os vetores armazenam a quantidade especificada de
valores do tipo de dados declarado.
A quantidade de elementos de um vetor não pode ser alterada depois que o vetor for declarado. Da
mesma forma, o vetor não poderá armazenar mais valores do que a quantidade máxima declarada.
Quando um vetor é declarado, a porção de memória RAM necessária para seu armazenamento é
alocada e permanece desta forma até que o programa seja fechado.
Exemplos:
// declarando um vetor de inteiros de 5 posições
int vetor[5];
// declarando um vetor de caracteres de 3 posições
char letras[3] = {'a','b','c'};
// declarando e inicializando um vetor de inteiros de 7 posições
int idades[] = {15, 18, 23, 25, 30, 32, 38};

Matrizes


Quando precisamos armazenar um conjunto de dados que tem relação com um outro conjunto de
dados com formato de tabela, podemos criar uma matriz.
A fim de exemplificar, vamos imaginar a seguinte tabela de dados:



A tabela acima nada mais é do que uma matriz de dados, ignorando-se o cabeçalho de cada coluna.
Para declarar uma matriz utilizamos a seguinte sintaxe:
// declarando a matriz 4x3 (4 linhas e 3 colunas)
int clientes[4][3];
// declarando e inicializando a matriz acima
int clientes[4][3] = {{1,0,2},{2,1,1},{3,0,4},{4,2,5}}
// outra forma de declarar e inicializar a matriz acima
int clientes[][] = {{1,0,2},{2,1,1},{3,0,4},{4,2,5}}

Funções


Sempre que em seu código fonte aparecer um mesmo trecho de código repetido, quer dizer que
você deveria substituí-lo por uma função.
Fazendo o reaproveitamento do código, você tem a vantagem de simplificação do código fonte além
da facilidade de manutenção do mesmo.
Formato geral de uma função em C:

retorno_da_funcao nome_da_funcao (lista_de_parametros) {
// conteúdo da função
{
Exemplos de funções:
void escrever(){
printf(“Olá mundo”);
{
void soma(int a, int b){
int resultado = a+b;
printf(“O resultado da soma é: %d”, resultado);
void soma(int a, int b){
printf(“O resultado da soma de %d com %d é: %d”, a,b,a+b);
{
int soma(int a, int b){
return a+b;
{






PROGRAMAÇÃO I.


 Por: Ronaldo Paranhos .


Como percebi, muitos estão com dificuldades em compreender a definição da matéria classes e objetos, então, fiz uma breve explicação com base no que compreendi ate agora e inclui exemplos do mesmo.

Estou disponibilizando para vocês. Espero que gostem e por favor, sigam o blog. Pois postarei mais artigos relacionados.

Façam o Download clicando aqui, ou na imagem em baixo. 
Obrigado.






1 comentários:

Legal cara também faço SI, muito bom suas materias. t+

Postar um comentário

Redes Sociais SI Frutal

Twitter Delicious Facebook Digg Stumbleupon Favorites More