• Nenhum resultado encontrado

Tema 01_Slides

N/A
N/A
Protected

Academic year: 2021

Share "Tema 01_Slides"

Copied!
14
0
0

Texto

(1)

Estrutura de Dados Tema 1: Introdução às Estruturas de Dados.

Informações

A Ciência da Computação trata das estratégias para organizar, manipular e utilizar informações. As informações são

gravadas na memória, usando a unidade básica chamada bit (binary digit)

Informações

Um bit é a menor porção de informação, assumindo dois possíveis valores: 0 ou 1. Os bits são utilizados

para representar na memória qualquer tipo de informação: inteiros, reais, negativos, caracteres, etc.

(2)

Representação interna das informações

Para inteiros não negativos: Sistema de numeração binária.

Exemplo: O número 18 da base decimal para a

binária é 000010010 18 | 2___ 0 9 | 2___ 1 4 | 2___ 0 2 | 2___ 0 1 | 2___ 1 0

Representação interna das informações

Para inteiros em geral (não negativos e negativos):

• notação de complemento de 1; • notação de

complemento de 2.

Representação interna das informações

Notação de complemento de 1: após a conversão do valor (sem sinal) para binário, determina-se o complemento de cada dígito para 1.

Ex: Conversão do número -18 (base decimal): 000010010

(3)

Representação interna das informações

Notação de complemento de 2: após a aplicação do método complemento de 1, soma-se 1 ao número resultante.

Ex: Conversão do número -18 (base decimal): 11101101

+ 1 11101110

Representação interna das informações

Para números reais: Notação de ponto flutuante. O número é decomposto em mantissa, base e expoente.

Ex: número 8,91 é: 891 / 100 = 891 * 10-2

mantissa base expoente

Representação interna das informações

Usando complemento de 2, temos: Mantissa (891) :0000000010000101 Expoente (-2):11111110

Assim: 8,91 =

(4)

Representação interna das informações

Para caracteres: sequência de bits para representar um caractere.

Atribui-se um valor para cada caractere. Exemplo : A tabela ASCII

atribui 65 (decimal) para o caractere A. Logo, sua representação binária é: 01000001

Representação interna das informações

A representação de uma cadeia de caracteres (String) é a sequencia da cadeia binária de cada caractere.

Exemplo: a codificação da cadeia ABC é: A = 01000001 B =01000010 C =01000011 Logo, ABC = 010000010100001001000011 Continuando Tema 1: Introdução às Estruturas de Dados.

(5)

Interpretação dos bits

Um conjunto de bits pode representar diferentes tipos de informação (inteiro não negativo, caractere, real, string, etc).

Para interpretar o significado de um conjunto de bits são utilizados os tipos de dados.

Tipos de dados

Os computadores possuem implementados alguns tipos de dados “nativos” para garantir a realização de ações básicas de armazenamento e processamento. Eles:

• definem quantidade necessária de bytes; • realizam operações

básicas sobre os dados; • armazenam valores na

memória.

Tipos de dados

• Representam método de interpretação do

conteúdo armazenado na memória do

computador. • São dependentes das

funções incorporadas no

hardware.

• Só são úteis se

fornecerem recursos para atender necessidades do usuário.

(6)

Tipos de Dados Abstratos - TDA Permite a definição de um número ilimitado de tipos dados. Pode ser implementado via hardware ou software.

Um TDA define as características de um dados, bem como as operações que poderão ser realizadas sobre os dados.

Exemplo de Tipo de Dados Abstratos TDA: Nota

Características:

valor máximo 10, valor mínimo 0, uma casa decimal.

Operações:

Gravar, mostrar, alterar, excluir, arredondar, e truncar.

Estruturas de Dados

Recursos de software que permitem a

implementação de Tipos de dados

abstratos. Em C, temos: •Vetores (uni e multidimensionais); •Estruturas (struct); •Uniões (union).

(7)

Vetores em C int x[10]; float y[3][5];

Permitem acessar uma posição diretamente para obter ou alterar o seu conteúdo (desde que se tenha os índices da posição desejada).

Estruturas de dados estáticas.

Estruturas em C (struct)

Conjunto de características que descrevem um mesmo elemento.

Uma struct define um novo tipo de dados, utilizando tipos nativos da linguagem ou outras structs.

Estruturas em C (struct)

Exemplo: struct que represente um tipo produto. struct produto { int codigo; char descricao[40]; float qtdade; float pvenda; float pcompra; };

(8)

União em C (union)

Permite definir dentro de uma struct diferentes elementos. Exemplo: struct livro { char autor[50]; char editora[40]; int anoPublicacao; int tipo; union { struct { int serie; char disciplina[20]; } didatico; struct { char estilo[30]; } literatura; } } cadastro;

Agora é sua Vez Tema 1: Introdução às Estruturas de Dados.

(9)

Convertendo um número inteiro não negativo

Converter o número 14 (base decimal) para um número binário sem sinal de 8 bits.

0 0 0 0 1 1 1 0

Convertendo um número inteiro negativo (complemento de 1)

Converter o número -14 (base decimal) para um número binário de 8 bits

0 0 0 0 1 1 1 0 1 1 1 1 0 0 0 1

Convertendo um número real em notação de ponto flutuante

Converter o número -2,3 (base decimal) para um número binário de 24 bits. (2,3 = 23 * 10-1) Base = 10

Mantissa = 23 Expoente = -1

(10)

Mantissa = 23 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 11 1 1 1 1 1 1 1 1 0 1 0 1 0 0 11 1 1 1 1 1 1 1 1 0 1 0 1 0 1 Expoente: -1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 0 1 0 1 0 111 1 1 1 1 1 1

Criar um TDA que represente um Aluno

• Características: nome, endereço, telefone, série

• Operações: Matricular; Transferir;

Emitir documentos;…

Crie uma função que receba um vetor de 30 posições de inteiros, determine e retorne o maior dos seus números. int maiorNumero(int num[]) {

int maior, i; maior = num[0];

for (i=1; i<30; i++) { if (num[i] > maior)

maior = num[i]; }

(11)

Criar uma função que receba um vetor de 10 posições de struct produto. Determine e mostre o lucro gerado por cada produto.

... struct produto { int codigo; char descricao[40]; float qtdade; float pvenda; float pcompra; }; ...

void calculaLucro(struct produto prod[]) { int i;

float l;

for (i=0; i<10; i++) {

l = prod[i].pvenda – prod[i].pcompra; printf(“\n\nProduto:%s”, prod[i].descricao); printf (“\nLucro gerado: %f“ + l); } }

Crie uma função que receba uma matriz quadrada (bidimensional), determine e retorne a soma dos elementos da diagonal principal. int somaDiagonal(float mat[][4]) {

float soma = 0, i; for (i=0; i<4; i++) {

soma += mat[i][i]; }

return soma; }

(12)

Finalizando

Tema 1: Introdução às Estruturas de Dados

Informações

• Referem-se às necessidades do usuário; • São armazenadas na memória do computador; • São gravadas em

binário, usando diferentes métodos de conversão;

• Precisam ser tratadas e recuperadas sempre que necessário.

Tipos de dados

• Determinam a quantidade de bits necessários para representar uma informação.

• Determinam

procedimentos corretos para tratar e recuperar informações;

• Os computadores possuem vários tipos de dados “nativos”.

(13)

Tipos de dados abstratos

• Permitem representar ilimitados tipos de dados;

• Definem as características da informação e as formas de tratá-la e recuperá-la;

• Representam um conceito, independente de

implementação;

• Podem ser implementados através de hardware e de

software.

Tipos de Dados em C • Número real → float y;

• Número real de dupla precisão → double z; • Número inteiro → int w;

• Caractere→ char letra; • Numero inteiro sem

sinal → unsigned int a; ...

Estrutura de Dados

• Permitem a implementação de TDA através de software;

• Determina a utilização de memória (alocação, liberação e acesso);

• Determina o tratamento dado à informação (operações).

(14)

Estruturas de Dados em C

• Vetor unidimensional → char nome[30]; • Vetor multidimensional → char [5][30];

int x[4][8][3]; • Estrutura → struct

• União → union

Conclusões

• Tipo de dados é imprescindível para manipulação da informação;

• TDA é uma definição teórica;

• TDA podem ser implementados em hardware ou software;

• Estrutura de dados trata da implementação por

software de diferentes TDAs;

•Estrutura de Dados é o foco desta disciplina.

Referências

Documentos relacionados

Passatempo de selfies (photoboot) + 20% e desconto a todos os clientes em artigos da nova coleção..

Diversidade sexual na escola: currículo e prática pedagógica / Alexandre Bortolini ; orientadora: Vera Maria Candau.. Candau,

debêntures realizadas no período, bem como aquisições e vendas de debêntures efetuadas pela Emissora: (Artigo 12, alínea e, inciso XVII da Instrução CVM 28/83). •

Atente-se aos exercícios explicativos de cada conteúdo desenvolvido nas aulas on-line, bem como as atividades semanais e/ou quinzenais do caderno!!..

 Iguatemi São Paulo: As Receitas de Aluguéis cresceram 8,5% principalmente por um Aluguel Mínimo maior, devido a.. reajuste

• O aluno que não for aprovado na prova final, deverá fazer a recuperação final com conteúdo relacionado à matéria do 2º semestre, onde todas as

Os valores de energia de ativação se apresentaram superiores para as amostras com incorporação da fibra de sisal, enquanto que a incorporação da fibra de vidro demonstrou

Quando o falante utiliza padrões de sua língua materna para as produções na língua-alvo, com vistas a produzir, por exemplo, sons que não fazem parte do repertório