Enviar pesquisa
Carregar
Estruturas
•
Transferir como PPT, PDF
•
0 gostou
•
3,218 visualizações
Rodrigo Marin
Seguir
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 21
Baixar agora
Recomendados
Estruturas de dados com C++ e STL
Estruturas de dados com C++ e STL
Marcos Castro
Programando em C++ // Estrutura Básica
Programando em C++ // Estrutura Básica
Yuri Camelo
Linguagem C - Estruturas
Linguagem C - Estruturas
Elaine Cecília Gatto
Linguagem C 07 Registros
Linguagem C 07 Registros
Regis Magalhães
mod3-programação-estruturada
mod3-programação-estruturada
diogoa21
Aula 1 | Introdução a C++
Aula 1 | Introdução a C++
Henry Raúl González Brito
mod2-mecanismos
mod2-mecanismos
diogoa21
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação C
Gercélia Ramos
Recomendados
Estruturas de dados com C++ e STL
Estruturas de dados com C++ e STL
Marcos Castro
Programando em C++ // Estrutura Básica
Programando em C++ // Estrutura Básica
Yuri Camelo
Linguagem C - Estruturas
Linguagem C - Estruturas
Elaine Cecília Gatto
Linguagem C 07 Registros
Linguagem C 07 Registros
Regis Magalhães
mod3-programação-estruturada
mod3-programação-estruturada
diogoa21
Aula 1 | Introdução a C++
Aula 1 | Introdução a C++
Henry Raúl González Brito
mod2-mecanismos
mod2-mecanismos
diogoa21
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação C
Gercélia Ramos
Programação em C
Programação em C
Francisco Thales Rocha Sousa
Aula5 introducao c
Aula5 introducao c
profwtelles
Aula5 introducao c
Aula5 introducao c
Mauricio Wieler
mod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacao
diogoa21
mod5-estruturas-dadosdinamicas
mod5-estruturas-dadosdinamicas
diogoa21
Aula 4 | Funções
Aula 4 | Funções
Henry Raúl González Brito
Aula 12 funcoes - Programação 1
Aula 12 funcoes - Programação 1
Isaac Barros
Modulo02
Modulo02
Lisandro Michel
LAB 01 - Programação Estruturada 2
LAB 01 - Programação Estruturada 2
thomasdacosta
Linguagem C - Controle de Programa
Linguagem C - Controle de Programa
Elaine Cecília Gatto
Maratona de Programação
Maratona de Programação
Marcos Castro
Introdução à Linguagem C
Introdução à Linguagem C
Elaine Cecília Gatto
Introdução a Linguagem C
Introdução a Linguagem C
apolllorj
Exercícios da Aula de LAB 01
Exercícios da Aula de LAB 01
thomasdacosta
599026
599026
Lú Heckert
Action script1 apresentação2
Action script1 apresentação2
Jorge Louro
Programação Estruturada 2 - Aula 03
Programação Estruturada 2 - Aula 03
thomasdacosta
Linguagem R
Linguagem R
Anderson Sanches
Light Talk sobre JavaScript Funcional
Light Talk sobre JavaScript Funcional
Emanuel Gonçalves
Estruturas em C++ (struct)
Estruturas em C++ (struct)
Márcio Rizzatto
Estrutura de Dados - Registros
Estrutura de Dados - Registros
Adriano Teixeira de Souza
Estrutura de dados - Introdução a linguagem C
Estrutura de dados - Introdução a linguagem C
Adriano Teixeira de Souza
Mais conteúdo relacionado
Mais procurados
Programação em C
Programação em C
Francisco Thales Rocha Sousa
Aula5 introducao c
Aula5 introducao c
profwtelles
Aula5 introducao c
Aula5 introducao c
Mauricio Wieler
mod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacao
diogoa21
mod5-estruturas-dadosdinamicas
mod5-estruturas-dadosdinamicas
diogoa21
Aula 4 | Funções
Aula 4 | Funções
Henry Raúl González Brito
Aula 12 funcoes - Programação 1
Aula 12 funcoes - Programação 1
Isaac Barros
Modulo02
Modulo02
Lisandro Michel
LAB 01 - Programação Estruturada 2
LAB 01 - Programação Estruturada 2
thomasdacosta
Linguagem C - Controle de Programa
Linguagem C - Controle de Programa
Elaine Cecília Gatto
Maratona de Programação
Maratona de Programação
Marcos Castro
Introdução à Linguagem C
Introdução à Linguagem C
Elaine Cecília Gatto
Introdução a Linguagem C
Introdução a Linguagem C
apolllorj
Exercícios da Aula de LAB 01
Exercícios da Aula de LAB 01
thomasdacosta
599026
599026
Lú Heckert
Action script1 apresentação2
Action script1 apresentação2
Jorge Louro
Programação Estruturada 2 - Aula 03
Programação Estruturada 2 - Aula 03
thomasdacosta
Linguagem R
Linguagem R
Anderson Sanches
Light Talk sobre JavaScript Funcional
Light Talk sobre JavaScript Funcional
Emanuel Gonçalves
Mais procurados
(19)
Programação em C
Programação em C
Aula5 introducao c
Aula5 introducao c
Aula5 introducao c
Aula5 introducao c
mod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacao
mod5-estruturas-dadosdinamicas
mod5-estruturas-dadosdinamicas
Aula 4 | Funções
Aula 4 | Funções
Aula 12 funcoes - Programação 1
Aula 12 funcoes - Programação 1
Modulo02
Modulo02
LAB 01 - Programação Estruturada 2
LAB 01 - Programação Estruturada 2
Linguagem C - Controle de Programa
Linguagem C - Controle de Programa
Maratona de Programação
Maratona de Programação
Introdução à Linguagem C
Introdução à Linguagem C
Introdução a Linguagem C
Introdução a Linguagem C
Exercícios da Aula de LAB 01
Exercícios da Aula de LAB 01
599026
599026
Action script1 apresentação2
Action script1 apresentação2
Programação Estruturada 2 - Aula 03
Programação Estruturada 2 - Aula 03
Linguagem R
Linguagem R
Light Talk sobre JavaScript Funcional
Light Talk sobre JavaScript Funcional
Destaque
Estruturas em C++ (struct)
Estruturas em C++ (struct)
Márcio Rizzatto
Estrutura de Dados - Registros
Estrutura de Dados - Registros
Adriano Teixeira de Souza
Estrutura de dados - Introdução a linguagem C
Estrutura de dados - Introdução a linguagem C
Adriano Teixeira de Souza
Princípios e Práticas de Programação com C++
Princípios e Práticas de Programação com C++
Grupo A
Estrutura de dados - Variáveis homogêneas e Heterogêneas
Estrutura de dados - Variáveis homogêneas e Heterogêneas
Adriano Teixeira de Souza
C++ apostila c++ nivel basico
C++ apostila c++ nivel basico
robinhoct
Solução dos exercícios do livro Algoritmos e Estruturas de Dados dos autores ...
Solução dos exercícios do livro Algoritmos e Estruturas de Dados dos autores ...
Flávio Freitas
Curso avançado de c++ em portugues
Curso avançado de c++ em portugues
Laura
Princípios da organização de código fonte C++
Princípios da organização de código fonte C++
Ivan Ricarte
Apostila C++
Apostila C++
Fernando Palma
Livro Linguagem C - Completo
Livro Linguagem C - Completo
Marcos Quinho
PROGRAMAS EN DEV C++
PROGRAMAS EN DEV C++
KarenAlmanza
Problemas resueltos de c++
Problemas resueltos de c++
johnny herrera
Fundamentos da programação de computadores 2ª edição
Fundamentos da programação de computadores 2ª edição
Leandro Rocha de Oliveira
Manual c++
Manual c++
slent
Ejemplos Para Dev C++
Ejemplos Para Dev C++
cemayoral
Destaque
(16)
Estruturas em C++ (struct)
Estruturas em C++ (struct)
Estrutura de Dados - Registros
Estrutura de Dados - Registros
Estrutura de dados - Introdução a linguagem C
Estrutura de dados - Introdução a linguagem C
Princípios e Práticas de Programação com C++
Princípios e Práticas de Programação com C++
Estrutura de dados - Variáveis homogêneas e Heterogêneas
Estrutura de dados - Variáveis homogêneas e Heterogêneas
C++ apostila c++ nivel basico
C++ apostila c++ nivel basico
Solução dos exercícios do livro Algoritmos e Estruturas de Dados dos autores ...
Solução dos exercícios do livro Algoritmos e Estruturas de Dados dos autores ...
Curso avançado de c++ em portugues
Curso avançado de c++ em portugues
Princípios da organização de código fonte C++
Princípios da organização de código fonte C++
Apostila C++
Apostila C++
Livro Linguagem C - Completo
Livro Linguagem C - Completo
PROGRAMAS EN DEV C++
PROGRAMAS EN DEV C++
Problemas resueltos de c++
Problemas resueltos de c++
Fundamentos da programação de computadores 2ª edição
Fundamentos da programação de computadores 2ª edição
Manual c++
Manual c++
Ejemplos Para Dev C++
Ejemplos Para Dev C++
Semelhante a Estruturas
aula01-TDA (1).ppt
aula01-TDA (1).ppt
TopsAvakinImvu
Laboratório de Programação II: Tipo Abstrato de Dados (TAD)
Laboratório de Programação II: Tipo Abstrato de Dados (TAD)
Alex Camargo
Linguagem c parte 2
Linguagem c parte 2
Mauro Pereira
C++200
C++200
Peter Jandl Junior
Algoritomos aula 3 rafael
Algoritomos aula 3 rafael
hugodrocha
Estrutura de Dados - Aula 03 - Ponteiros e Funções
Estrutura de Dados - Aula 03 - Ponteiros e Funções
Leinylson Fontinele
Series lab
Series lab
Portal_do_Estudante_Java
Programação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso Completo
thomasdacosta
NHibernate
NHibernate
Humberto Marchezi
Pged 03
Pged 03
samuelthiago
Fundamentos do .NET Framework - Parte 2
Fundamentos do .NET Framework - Parte 2
Julian Correa
Linguagem C clecioamerico
Linguagem C clecioamerico
Clécio Américo de Lima
Introdução à linguagem C#
Introdução à linguagem C#
Antonio Trigo
Estrutura de linguagem de programação - Aula 2.pptx
Estrutura de linguagem de programação - Aula 2.pptx
MarceloRosenbrock1
Introdução à Linguagem de Programação C
Introdução à Linguagem de Programação C
Jose Augusto Cintra
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
Apostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-c
Maicon Rodrigues
Ed1
Ed1
Fernando Araújo
Java orientação a objetos (interfaces)
Java orientação a objetos (interfaces)
Armando Daniel
Semelhante a Estruturas
(20)
aula01-TDA (1).ppt
aula01-TDA (1).ppt
Laboratório de Programação II: Tipo Abstrato de Dados (TAD)
Laboratório de Programação II: Tipo Abstrato de Dados (TAD)
Linguagem c parte 2
Linguagem c parte 2
C++200
C++200
Algoritomos aula 3 rafael
Algoritomos aula 3 rafael
Estrutura de Dados - Aula 03 - Ponteiros e Funções
Estrutura de Dados - Aula 03 - Ponteiros e Funções
Series lab
Series lab
Programação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso Completo
NHibernate
NHibernate
Pged 03
Pged 03
Fundamentos do .NET Framework - Parte 2
Fundamentos do .NET Framework - Parte 2
Linguagem C clecioamerico
Linguagem C clecioamerico
Introdução à linguagem C#
Introdução à linguagem C#
Estrutura de linguagem de programação - Aula 2.pptx
Estrutura de linguagem de programação - Aula 2.pptx
Introdução à Linguagem de Programação C
Introdução à Linguagem de Programação C
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
Apostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-c
Ed1
Ed1
Java orientação a objetos (interfaces)
Java orientação a objetos (interfaces)
Estruturas
1.
Estruturas em C/C++
struct Prof. Márcio Roberto Rizzatto Laboratório de Programação II Ciência da Computação FAI Laboratório de Programação II
2.
Revisão Rápida
Qual a diferença entre um algoritmo e um programa? © Prof. Márcio Roberto Rizzatto Laboratório de Programação II
3.
Revisão Rápida
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 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 © Prof. Márcio Roberto Rizzatto Laboratório de Programação II
4.
Revisão Rápida
Tipos de 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) © Prof. Márcio Roberto Rizzatto Laboratório de Programação II
5.
Revisão Rápida
Programa 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/C++ © Prof. Márcio Roberto Rizzatto Laboratório de Programação II
6.
Revisão Rápida
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++, Java, C#, Perl, Python, etc. © Prof. Márcio Roberto Rizzatto Laboratório de Programação II
7.
Revisão Rápida -
Exemplo #include<stdio.h> int main() { #define MAX 10 int v[10], cont, aux, i, soma; int LeInteiro() { float media; int num; cont = 0; printf(“Digite um numero: "); aux = LeInteiro(); scanf("%d", &num); while(aux >= 0) { printf("n"); v[cont] = aux; return num; aux = LeInteiro(); } cont++; } soma = 0; for(i=0;i<cont;i++) soma += v[i]; media = soma / (float) cont; printf("resultado: %fn",media); } © Prof. Márcio Roberto Rizzatto Laboratório de Programação II
8.
Revisão Rápida
Tipos Abstratos de Dados (TAD) 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 só “enxerga” a interface, não a implementação © Prof. Márcio Roberto Rizzatto Laboratório de Programação II
9.
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 © Prof. Márcio Roberto Rizzatto Laboratório de Programação II
10.
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 Implementação por Vetores: 20 13 02 30 Programa usuário do TAD: void Insere(int x, Lista L) { int main() { for(i=0;...) {...} Lista L; L[0] = x; int x; } x = 20; Implementação por Listas Encadeadas FazListaVazia(L); Insere(x,L); 20 13 02 30 ... } void Insere(int x, Lista L) { p = CriaNovaCelula(x); L^.primeiro = p; ... } © Prof. Márcio Roberto Rizzatto Laboratório de Programação II
11.
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/C++ com typedef e structs Orientação por objetos (classes, etc) vai ser vista mais adiante em Programação Orientada para Objetos (POO ou do inglês OOP) com C++. de Programação II © Prof. Márcio Roberto Rizzatto Laboratório
12.
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/C++, usa-se a construção struct para representar esse tipo de dado © Prof. Márcio Roberto Rizzatto Laboratório de Programação II
13.
Estruturas (Structs) em
C / C++ #include<iostream> #include<string> using namespace std; struct Aluno { string nome; int matricula; Pedro al: char conceito; 200712 A }; int main() { Pedro aux: struct Aluno al, aux; 200712 A al.nome = “Pedro” al.matricula = 200712; al.conceito = ‘A’; aux = al; cout << aux.nome } © Prof. Márcio Roberto Rizzatto Laboratório de Programação II
14.
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 { int main() { string nome; TipoAluno al; int matricula; Vetor v; char conceito; } TipoAluno; ... } typedef int[10] Vetor; © Prof. Márcio Roberto Rizzatto Laboratório de Programação II
15.
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. © Prof. Márcio Roberto Rizzatto Laboratório de Programação II
16.
TADs em C
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 © Prof. Márcio Roberto Rizzatto Laboratório de Programação II
17.
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 © Prof. Márcio Roberto Rizzatto Laboratório de Programação II
18.
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); © Prof. Márcio Roberto Rizzatto Laboratório de Programação II
19.
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); } © Prof. Márcio Roberto Rizzatto Laboratório de Programação II
20.
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); } © Prof. Márcio Roberto Rizzatto Laboratório de Programação II
21.
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 © Prof. Márcio Roberto Rizzatto Laboratório de Programação II
Notas do Editor
O que e como representar Cada representacao tem limitacoes
Baixar agora