Post on 13-Apr-2017
ANHANGUERA – 2016.2
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃOAULA 06 – ESTRUTURAS DE DADOS
Prof. Thomás da Costathomascosta@aedu.com
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
ESTRUTURAS DE DADOS
ESTRUTURAS DE DADOS
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
EstruturasO 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
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
ESTRUTURAS DE DADOS
EstruturasExemplo: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.
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
ESTRUTURAS DE DADOS
EstruturasMais 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++ !!!
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
ESTRUTURAS DE DADOS
EstruturasEstruturas 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.
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
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;
12
3
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("%d\n",sizeof(aluno_anhanguera.nome));}
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("%d\n",sizeof(aluno_anhanguera.nome));printf("%d\n",sizeof(aluno_anhanguera.ra));printf("%d\n",sizeof(aluno_anhanguera.serie));printf("%d\n",sizeof(aluno_anhanguera.turma));printf("%d\n",sizeof(aluno_anhanguera.curso));printf("%d\n",sizeof(aluno_anhanguera));
}
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("%c\n", demo.caracter);
printf("%.2lf\n", demo.valor1);
printf("%.2f\n", demo.valor2);
printf("%d\n", demo.valor3);}
Atribuindo valores para membros de uma função:
Estruturas
ESTRUTURAS DE DADOS
Atribuição de valores.
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("%c\n", demo.caracter);printf("%.2lf\n", demo.valor1);printf("%.2f\n", demo.valor2);printf("%d\n", demo.valor3);
}
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("%s\n", demo.string);printf("%d\n", demo.vetor_inteiro[0]);printf("%d\n", demo.vetor_inteiro[2]);printf("%.2lf\n", demo.vetor_double[4]);
}
Vetor de char usar strcpy.
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);
}
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("%s\n", nome);printf("%d\n", ra);
}
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.
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
Obrigado !!!
ANHANGUERA – 2016.2