1. ANHANGUERA – 2016.2
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO
AULA 06 – ESTRUTURAS DE DADOS
Prof. Thomás da Costa
thomascosta@aedu.com
2. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
ESTRUTURAS DE DADOS
ESTRUTURAS DE DADOS
3. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Estruturas
O que é?:
É um conjunto de variáveis que representam características de um
determinado domínio ou de um tipo. A estrutura pode definir uma entidade e
possui grande semelhança com registros de banco de dados. O agrupamento
de variáveis pode ser de qualquer tipo, sendo denominado de membro da
estrutura.
ESTRUTURAS DE DADOS
4. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
ESTRUTURAS DE DADOS
Estruturas
Exemplo:
Quais são as informações de um Aluno para a Faculdade?
• Nome.
• Matrícula.
• Série.
• Turma.
• Curso.
No exemplo acima temos a estrutura Aluno que contém as informações ou as
características de um aluno. Muito semelhante a um registro de banco de
dados.
Podemos dizer que em uma estrutura, estamos armazenando informações
agrupadas logicamente.
5. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
ESTRUTURAS DE DADOS
Estruturas
Mais um exemplo:
Quais as informações de um Funcionário para uma Empresa?
• Nome.
• Dados Pessoais.
• Data de Admissão.
• Cargo.
• Salário.
• Setor/Área de Atuação.
Vamos ver como fazer uma estrutura em
C/C++ !!!
6. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
ESTRUTURAS DE DADOS
Estruturas
Estruturas em C/C++:
struct aluno
{
char nome[255];
int ra;
int serie;
int turma;
char curso[100];
};
Nome da estrutura.
Palavra reservada
que identifica uma
estrutura.
Membros da estrutura.
Chaves definem o início
e o fim da estrutura.
Termina com ponto e
vírgula.
7. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
ESTRUTURAS DE DADOS
Memória:
Estruturas
Uma estrutura armazena vários tipos de dados e ocupa a memória de acordo
com a quantidade de membros declarados na estrutura.
struct aluno
{
char nome[255];
int ra;
int serie;
int turma;
char curso[100];
};
Membro Bytes
char nome[255] 255
int ra 4
int serie 4
int turma 4
char curso[100] 100
TOTAL: 367
8. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
ESTRUTURAS DE DADOS
Declarando uma variável do tipo Estrutura:
Estruturas
Existem 3 formas de declarar uma variável de estrutura:
struct aluno
{
char nome[255];
int ra;
int serie;
int turma;
char curso[100];
} aluno_anhanguera;
struct aluno aluno_tecnologia;
typedef struct aluno aluno_curso;
9. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Acessando membros de uma estrutura:
Estruturas
Para acessar um membro de uma estrutura utilizamos o operador ponto (.)
ESTRUTURAS DE DADOS
Acessando um
membro.
O membro “nome” da estrutura será
impresso na tela
int main()
{
printf("%dn",sizeof(aluno_anhanguera.nome));
}
10. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
#include <stdio.h>
struct aluno
{
char nome[255];
int ra;
int serie;
int turma;
char curso[100];
} aluno_anhanguera;
struct aluno aluno_tecnologia;
typedef struct aluno aluno_curso;
int main()
{
printf("%dn",sizeof(aluno_anhanguera.nome));
printf("%dn",sizeof(aluno_anhanguera.ra));
printf("%dn",sizeof(aluno_anhanguera.serie));
printf("%dn",sizeof(aluno_anhanguera.turma));
printf("%dn",sizeof(aluno_anhanguera.curso));
printf("%dn",sizeof(aluno_anhanguera));
}
11. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
int main()
{
demo.caracter = 'A';
demo.valor1 = 3.2;
demo.valor2 = 6.7;
demo.valor3 = 45;
printf("%cn", demo.caracter);
printf("%.2lfn", demo.valor1);
printf("%.2fn", demo.valor2);
printf("%dn", demo.valor3);
}
Atribuindo valores para membros de uma função:
Estruturas
ESTRUTURAS DE DADOS
Atribuição de valores.
12. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
#include <stdio.h>
struct demonstracao
{
char caracter;
double valor1;
float valor2;
int valor3;
} demo;
int main()
{
demo.caracter = 'A';
demo.valor1 = 3.2;
demo.valor2 = 6.7;
demo.valor3 = 45;
printf("%cn", demo.caracter);
printf("%.2lfn", demo.valor1);
printf("%.2fn", demo.valor2);
printf("%dn", demo.valor3);
}
13. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
#include <stdio.h>
#include <strings.h>
struct demonstracao
{
char string[100];
int vetor_inteiro[10];
double vetor_double[5];
} demo;
int main()
{
strcpy(demo.string, "Valor da String 1");
demo.vetor_inteiro[0] = 1;
demo.vetor_inteiro[2] = 2;
demo.vetor_double[4] = 5.6;
printf("%sn", demo.string);
printf("%dn", demo.vetor_inteiro[0]);
printf("%dn", demo.vetor_inteiro[2]);
printf("%.2lfn", demo.vetor_double[4]);
}
Vetor de char usar strcpy.
14. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
#include <stdio.h>
struct demonstracao
{
char string[100];
char caracter;
int valor_inteiro;
double valor_double;
} demo;
int main()
{
printf("Digite o valor da string:");
fgets(demo.string, sizeof(demo.string), stdin);
printf("Digite os valores:");
scanf(" %c", &demo.caracter);
scanf("%d", &demo.valor_inteiro);
scanf("%lf", &demo.valor_double);
printf("Valores digitados: %s, %c, %d, %.2lf",
demo.string,
demo.caracter,
demo.valor_inteiro,
demo.valor_double);
}
15. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
#include <stdio.h>
struct aluno
{
char nome[100];
int ra;
} aluno_tecnologia;
void imprimir_aluno(char nome[], int ra);
int main()
{
printf("Digite o nome do aluno:");
fgets(aluno_tecnologia.nome, sizeof(aluno_tecnologia.nome), stdin);
printf("Digite o RA do aluno:");
scanf("%d", &aluno_tecnologia.ra);
imprimir_aluno(aluno_tecnologia.nome,
aluno_tecnologia.ra);
}
void imprimir_aluno(char nome[], int ra)
{
printf("%sn", nome);
printf("%dn", ra);
}
16. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Resumo
ESTRUTURAS DE DADOS
• É definida pela palavra struct.
• Possuem um nome.
• Representa algum domínio, tipo ou uma entidade.
• Os tipos de uma estrutura são agrupadas logicamente.
• Composta de membros que são tipos de variáveis (int, double, float, char).
• Seus membros são acessados utilizando o ponto (.)
• Para atribuir valores (int, double, char e etc), utilizamos o operador igual (=), idêntico
a atribuição de uma variável.
• Utilizamos o strcpy para atribuir um valor para um vetor de char.
• O comando scanf funciona da mesma forma para os membros de uma estrutura.
• Vetores também são acessado da mesma forma, através de seus índices.
17. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
ESTRUTURAS DE DADOS
Semestre concluído !!! Parabéns a todos !!!
THANKS FOR STUDYING