Enviar pesquisa
Carregar
TAD Número Complexo com operações básicas
•
Transferir como PPT, PDF
•
0 gostou
•
4 visualizações
Título melhorado com IA
T
TopsAvakinImvu
Seguir
Dados e programação
Leia menos
Leia mais
Tecnologia
Vista de apresentação de diapositivos
Denunciar
Compartilhar
Vista de apresentação de diapositivos
Denunciar
Compartilhar
1 de 21
Baixar agora
Recomendados
Estruturas em C++ (struct)
Estruturas em C++ (struct)
Márcio Rizzatto
Estruturas
Estruturas
Rodrigo Marin
Laboratório de Programação II: Tipo Abstrato de Dados (TAD)
Laboratório de Programação II: Tipo Abstrato de Dados (TAD)
Alex Camargo
Modulo02
Modulo02
Lisandro Michel
Lógica De Programação
Lógica De Programação
Rodrigo Piovesana
Clean Code
Clean Code
Bruno Lui
Extrutua de dados aula 1
Extrutua de dados aula 1
Cravid Ekuikui
Paradigmas de Linguagens de Programação - Tipos Abstratos de Dados
Paradigmas de Linguagens de Programação - Tipos Abstratos de Dados
Adriano Teixeira de Souza
Recomendados
Estruturas em C++ (struct)
Estruturas em C++ (struct)
Márcio Rizzatto
Estruturas
Estruturas
Rodrigo Marin
Laboratório de Programação II: Tipo Abstrato de Dados (TAD)
Laboratório de Programação II: Tipo Abstrato de Dados (TAD)
Alex Camargo
Modulo02
Modulo02
Lisandro Michel
Lógica De Programação
Lógica De Programação
Rodrigo Piovesana
Clean Code
Clean Code
Bruno Lui
Extrutua de dados aula 1
Extrutua de dados aula 1
Cravid Ekuikui
Paradigmas de Linguagens de Programação - Tipos Abstratos de Dados
Paradigmas de Linguagens de Programação - Tipos Abstratos de Dados
Adriano Teixeira de Souza
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Leinylson Fontinele
Estrutura de Dados - Aula de revisão de c na prática
Estrutura de Dados - Aula de revisão de c na prática
Leinylson Fontinele
Módulo 10 auditoria de fórmulas em excel
Módulo 10 auditoria de fórmulas em excel
Gilberto De Oliveira Mendes
Aula1
Aula1
mentrixmax
Como funciona um banco de dados? (Worldwide Online TechDay 2010)
Como funciona um banco de dados? (Worldwide Online TechDay 2010)
Fabrício Catae
Conceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de Sistemas
Clayton de Almeida Souza
Estrutura de Dados - Aula 03 - Ponteiros e Funções
Estrutura de Dados - Aula 03 - Ponteiros e Funções
Leinylson Fontinele
Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02
thomasdacosta
3 vetor.matriz
3 vetor.matriz
profwtelles
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
aronoliveira3
Desvendando os mistérios do Data Science
Desvendando os mistérios do Data Science
MJV Technology & Innovation Brasil
Prova algoritmos
Prova algoritmos
pronatecvja
Introdução a Linguagem C
Introdução a Linguagem C
apolllorj
6_TI2007-Desenv_SI_e_DFD_v2.5.pdf
6_TI2007-Desenv_SI_e_DFD_v2.5.pdf
FChico2
Apostila Access 2000.pdf
Apostila Access 2000.pdf
ssuser382e50
Access
Access
DG Informatica
Integração de Tecnologias
Integração de Tecnologias
elliando dias
Introdução à Estrutura de Dados
Introdução à Estrutura de Dados
Herval Alexandre Dias Hubner
FC-Logic
FC-Logic
guest119e7e
Cap07
Cap07
mvbahamut
Acertando_umos_FUNCEFfinancaspessoais.ppt
Acertando_umos_FUNCEFfinancaspessoais.ppt
TopsAvakinImvu
amanhaeletrizaçaoporatritocontatoinduçao.pdf
amanhaeletrizaçaoporatritocontatoinduçao.pdf
TopsAvakinImvu
Mais conteúdo relacionado
Semelhante a TAD Número Complexo com operações básicas
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Leinylson Fontinele
Estrutura de Dados - Aula de revisão de c na prática
Estrutura de Dados - Aula de revisão de c na prática
Leinylson Fontinele
Módulo 10 auditoria de fórmulas em excel
Módulo 10 auditoria de fórmulas em excel
Gilberto De Oliveira Mendes
Aula1
Aula1
mentrixmax
Como funciona um banco de dados? (Worldwide Online TechDay 2010)
Como funciona um banco de dados? (Worldwide Online TechDay 2010)
Fabrício Catae
Conceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de Sistemas
Clayton de Almeida Souza
Estrutura de Dados - Aula 03 - Ponteiros e Funções
Estrutura de Dados - Aula 03 - Ponteiros e Funções
Leinylson Fontinele
Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02
thomasdacosta
3 vetor.matriz
3 vetor.matriz
profwtelles
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
aronoliveira3
Desvendando os mistérios do Data Science
Desvendando os mistérios do Data Science
MJV Technology & Innovation Brasil
Prova algoritmos
Prova algoritmos
pronatecvja
Introdução a Linguagem C
Introdução a Linguagem C
apolllorj
6_TI2007-Desenv_SI_e_DFD_v2.5.pdf
6_TI2007-Desenv_SI_e_DFD_v2.5.pdf
FChico2
Apostila Access 2000.pdf
Apostila Access 2000.pdf
ssuser382e50
Access
Access
DG Informatica
Integração de Tecnologias
Integração de Tecnologias
elliando dias
Introdução à Estrutura de Dados
Introdução à Estrutura de Dados
Herval Alexandre Dias Hubner
FC-Logic
FC-Logic
guest119e7e
Cap07
Cap07
mvbahamut
Semelhante a TAD Número Complexo com operações básicas
(20)
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Estrutura de Dados - Aula de revisão de c na prática
Estrutura de Dados - Aula de revisão de c na prática
Módulo 10 auditoria de fórmulas em excel
Módulo 10 auditoria de fórmulas em excel
Aula1
Aula1
Como funciona um banco de dados? (Worldwide Online TechDay 2010)
Como funciona um banco de dados? (Worldwide Online TechDay 2010)
Conceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de Sistemas
Estrutura de Dados - Aula 03 - Ponteiros e Funções
Estrutura de Dados - Aula 03 - Ponteiros e Funções
Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02
3 vetor.matriz
3 vetor.matriz
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Desvendando os mistérios do Data Science
Desvendando os mistérios do Data Science
Prova algoritmos
Prova algoritmos
Introdução a Linguagem C
Introdução a Linguagem C
6_TI2007-Desenv_SI_e_DFD_v2.5.pdf
6_TI2007-Desenv_SI_e_DFD_v2.5.pdf
Apostila Access 2000.pdf
Apostila Access 2000.pdf
Access
Access
Integração de Tecnologias
Integração de Tecnologias
Introdução à Estrutura de Dados
Introdução à Estrutura de Dados
FC-Logic
FC-Logic
Cap07
Cap07
Mais de TopsAvakinImvu
Acertando_umos_FUNCEFfinancaspessoais.ppt
Acertando_umos_FUNCEFfinancaspessoais.ppt
TopsAvakinImvu
amanhaeletrizaçaoporatritocontatoinduçao.pdf
amanhaeletrizaçaoporatritocontatoinduçao.pdf
TopsAvakinImvu
Escalas termométricas...CELSIUS,FAHRENHEIT E KELVIN
Escalas termométricas...CELSIUS,FAHRENHEIT E KELVIN
TopsAvakinImvu
Sistemas Lineares.pptx
Sistemas Lineares.pptx
TopsAvakinImvu
Relações métricas no triângulo retângulo.pptx
Relações métricas no triângulo retângulo.pptx
TopsAvakinImvu
nascimento-vida-e-morte-de-estrelas.ppt
nascimento-vida-e-morte-de-estrelas.ppt
TopsAvakinImvu
PROBABILIDADE.pptx
PROBABILIDADE.pptx
TopsAvakinImvu
fluxogramas-no-dia-a-dia4970.pptx
fluxogramas-no-dia-a-dia4970.pptx
TopsAvakinImvu
publicidade
publicidade
TopsAvakinImvu
CINEMÁTICA.pptx
CINEMÁTICA.pptx
TopsAvakinImvu
Implementacao de Algoritmos.ppt
Implementacao de Algoritmos.ppt
TopsAvakinImvu
Logica Matematica1.pdf
Logica Matematica1.pdf
TopsAvakinImvu
retas paralelas transversais
retas paralelas transversais
TopsAvakinImvu
Mais de TopsAvakinImvu
(13)
Acertando_umos_FUNCEFfinancaspessoais.ppt
Acertando_umos_FUNCEFfinancaspessoais.ppt
amanhaeletrizaçaoporatritocontatoinduçao.pdf
amanhaeletrizaçaoporatritocontatoinduçao.pdf
Escalas termométricas...CELSIUS,FAHRENHEIT E KELVIN
Escalas termométricas...CELSIUS,FAHRENHEIT E KELVIN
Sistemas Lineares.pptx
Sistemas Lineares.pptx
Relações métricas no triângulo retângulo.pptx
Relações métricas no triângulo retângulo.pptx
nascimento-vida-e-morte-de-estrelas.ppt
nascimento-vida-e-morte-de-estrelas.ppt
PROBABILIDADE.pptx
PROBABILIDADE.pptx
fluxogramas-no-dia-a-dia4970.pptx
fluxogramas-no-dia-a-dia4970.pptx
publicidade
publicidade
CINEMÁTICA.pptx
CINEMÁTICA.pptx
Implementacao de Algoritmos.ppt
Implementacao de Algoritmos.ppt
Logica Matematica1.pdf
Logica Matematica1.pdf
retas paralelas transversais
retas paralelas transversais
TAD Número Complexo com operações básicas
1.
Aula 1 Tipo Abstrato
de Dados David Menotti Algoritmos e Estruturas de Dados I DECOM – UFOP
2.
© David Menotti
Algoritmos e Estrutura de Dados I Qual a diferença entre um algoritmo e um programa?
3.
© David Menotti
Algoritmos e Estrutura de Dados I Algoritmos e Estruturas de Dados Algoritmo: Sequência de ações executáveis para a solução de um determinado tipo de problema Exemplo: “Receita de Bolo” Em geral, algoritmos trabalham sobre Estruturas de Dados Conjunto de dados que representa uma situação real Abstração da realidade Estruturas de Dados e Algoritmos estão intimamente ligados
4.
© David Menotti
Algoritmos e Estrutura de Dados I Representação dos Dados Os dados podem estar representados (estruturados) de diferentes maneiras Normalmente, a escolha da representação é determinada pelas operações que serão utilizadas sobre eles Exemplo: números inteiros Representação por palitinhos: II + IIII = IIIIII Boa para pequenos números (operação simples) Representação decimal: 1278 + 321 = 1599 Boa para números maiores (operação complexa)
5.
© David Menotti
Algoritmos e Estrutura de Dados I Programas Um programa é uma formulação concreta de um algoritmo abstrato, baseado em representações de dados específicas Os programas são feitos em alguma linguagem que pode ser entendida e seguida pelo computador Linguagem de máquina Linguagem de alto nível (uso de compilador) Aqui vamos utilizar a Linguagem C
6.
© David Menotti
Algoritmos e Estrutura de Dados I Linguagem C Criada no início da década de 70 para a programação do sistema operacional Unix Uma das linguagens mais utilizadas no mundo, e serviu como base para outras como C++, C#, etc.
7.
© David Menotti
Algoritmos e Estrutura de Dados I Exemplo #include<stdio.h> #define MAX 10 int LeInteiro() { int num; printf(“Digite um numero: "); scanf("%d", &num); printf("n"); return num; } int main() { int v[10], cont, aux, i, soma; float media; cont = 0; aux = LeInteiro(); while(aux >= 0) { v[cont] = aux; aux = LeInteiro(); cont++; } soma = 0; for(i=0;i<cont;i++) soma += v[i]; media = soma / (float) cont; printf("resultado: %fn",media); }
8.
© David Menotti
Algoritmos e Estrutura de Dados I Tipos Abstratos de Dados (TADs) Agrupa a estrutura de dados juntamente com as operações que podem ser feitas sobre esses dados O TAD encapsula a estrutura de dados. Os usuários do TAD só tem acesso a algumas operações disponibilizadas sobre esses dados Usuário do TAD x Programador do TAD Usuário só “enxerga” a interface, não a implementação
9.
© David Menotti
Algoritmos e Estrutura de Dados I Tipos Abstratos de Dados (TADs) Dessa forma, o usuário pode abstrair da implementação específica. Qualquer modificação nessa implementação fica restrita ao TAD A escolha de uma representação específica é fortemente influenciada pelas operações a serem executadas
10.
© David Menotti
Algoritmos e Estrutura de Dados I Exemplo: Lista de números inteiros Operações Faz Lista Vazia Insere número no começo da lista Remove de uma posição i 20 13 02 30 Implementação por Vetores: void Insere(int x, Lista L) { for(i=0;...) {...} L[0] = x; } 20 13 02 30 Implementação por Listas Encadeadas void Insere(int x, Lista L) { p = CriaNovaCelula(x); L^.primeiro = p; ... } Programa usuário do TAD: int main() { Lista L; int x; x = 20; FazListaVazia(L); Insere(x,L); ... }
11.
© David Menotti
Algoritmos e Estrutura de Dados I Implementação de TADs Em linguagens orientadas por objeto (C++, Java) a implementação é feita através de classes Em linguagens estruturadas (C, pascal) a implementação é feita pela definição de tipos juntamente com a implementação de funções Como vocês não viram o conceito de orientação por objetos*, vamos utilizar os conceitos de C (Typedef e Structs) Orientação por objetos (classes, etc) vai ser vista em outras disciplinas (POO)
12.
© David Menotti
Algoritmos e Estrutura de Dados I Estruturas (Structs) em C / C++ Uma estrutura é uma coleção de uma ou mais variáveis, possivelmente de tipos diferentes, colocadas juntas sob um único nome para manipulação conveniente Por exemplo, para representar um aluno são necessárias as informações nome, matrícula, conceito Ao invés de criar três variáveis, é possível criar uma única variável contendo três campos. Em C, usa-se a construção struct para representar esse tipo de dado
13.
© David Menotti
Algoritmos e Estrutura de Dados I Estruturas (Structs) em C / C++ #include<iostream> #include<string> using namespace std; struct Aluno { string nome; int matricula; char conceito; }; main() { struct Aluno al, aux; al.nome = “Pedro” al.matricula = 200712; al.conceito = ‘A’; aux = al; cout << aux.nome } Pedro 200712 A al: Pedro 200712 A aux:
14.
© David Menotti
Algoritmos e Estrutura de Dados I Declaração de Tipos Para simplificar, uma estrutura ou mesmo outros tipos de dados podem ser definidos como um novo tipo Uso da construção typedef typedef struct { string nome; int matricula; char conceito; } TipoAluno; typedef int[10] Vetor; int main() { TipoAluno al; Vetor v; ... }
15.
© David Menotti
Algoritmos e Estrutura de Dados I TADs em C Para implementar um Tipo Abstrato de Dados em C, usa-se a definição de tipos juntamente com a implementação de funções que agem sobre aquele tipo Como boa regra de programação, evita-se acessar o dado diretamente, fazendo o acesso só através das funções Mas, diferentemente de C++ e Java, não há uma forma de proibir o acesso.
16.
© David Menotti
Algoritmos e Estrutura de Dados I Uma boa técnica de programação é implementar os TADs em arquivos separados do programa principal Para isso geralmente separa-se a declaração e a implementação do TAD em dois arquivos: NomeDoTAD.h : com a declaração NomeDoTAD.cpp : com a implementação O programa ou outros TADs que utilizam o seu TAD devem dar um #include no arquivo .h TADs em C
17.
© David Menotti
Algoritmos e Estrutura de Dados I Exemplo Implemente um TAD ContaBancaria, com os campos número e saldo onde os clientes podem fazer as seguintes operações: Iniciar uma conta com um número e saldo inicial Depositar um valor Sacar um valor Imprimir o saldo Faça um pequeno programa para testar o seu TAD
18.
© David Menotti
Algoritmos e Estrutura de Dados I ContaBancaria.h // definição do tipo typedef struct { int numero; double saldo; } ContaBancaria; // cabeçalho das funções void Inicializa (ContaBancaria&, int, double); void Deposito (ContaBancaria&, double); void Saque (ContaBancaria&, double); void Imprime (ContaBancaria); // obs: A passagem por referencia (&) só existe em // c++. Em breve vamos ver como fazer em c
19.
© David Menotti
Algoritmos e Estrutura de Dados I ContaBancaria.cpp #include<stdio.h> #include"Contabancaria.h" void Inicializa(ContaBancaria &conta, int numero, double saldo) { conta.numero = numero; conta.saldo = saldo; } void Deposito (ContaBancaria &conta, double valor) { conta.saldo += valor; } void Saque (ContaBancaria &conta, double valor) { conta.saldo -= valor; } void Imprime (ContaBancaria conta) { printf("Numero: %dn", conta.numero); printf("Saldo: %fn", conta.saldo); }
20.
© David Menotti
Algoritmos e Estrutura de Dados I Main.cpp #include<stdio.h> #include<stdlib.h> #include "ContaBancaria.h" int main (void) { ContaBancaria conta1; Inicializa(conta1, 918556, 300.00); printf("nAntes da movimentacao:n "); Imprime(conta1); Deposito(conta1, 50.00); Saque(conta1, 70.00); printf("nDepois da movimentacao:n "); Imprime (conta1); system("PAUSE"); return(0); }
21.
© David Menotti
Algoritmos e Estrutura de Dados I Exercício Implemente um TAD Número Complexo cada número possui os campos real e imaginário Implemente as operações: Atribui: atribui valores para os campos Imprime: imprime o número da forma “R + Ci” Copia: Copia o valor de um número para outro Soma: Soma dois números complexos EhReal: testa se um número é real Faça um pequeno programa para testar o seu TAD
Baixar agora