Trabalho Prático: Camada Física

Documentos relacionados
Trabalho Prático: Camada de Enlace de Dados Enquadramento

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA ESTRUTURA COM DECISÃO MÚLTIPLA. Prof. Dr. Daniel Caetano

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA

ESTRUTURA COM DECISÃO COMPOSTA

ANHANGUERA ESTRUTURA DE DADOS AULA 04 MATRIZES, LISTAS E ALOCAÇÃO DINÂMICA. Prof. Thomás da Costa

//conteúdo do arquivo pacote.h

CONTROLE DE FLUXO. Algoritmos e Programação. Prof. Alceu Britto Slides cedidos pelo Prof. Edson J. R. Justino (PUCPR) Aula 9 e 10

Rede de Computadores II

Capítulo6-7 Redes de Computadores Camada 2 Conceitos

Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores. Prof.: Bruno E. G. Gomes IFRN

Computação e Programação Aula prática nº 5. Enunciados dos problemas

Lista de Exercícios. Camada de Enlace de Dados

Linguagem de Programação C++

Aula 4: Introdução à Linguagem C++

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA DE CIÊNCIAS E TECNOLOGIA. ECT1203 Linguagem de Programação Turma Prof.

Linguagem de Programação C++

Aula 28: Arquivos de texto

Algoritmos II Aula 2 Vetores

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS 1º Semestre 2011/2012

Programação de Computadores

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano

Aula 05: Condicionais (Parte 2)

ARQUITETURA FDDI P E D R O M O N T E I R O N º 14 G P S I

Revisão C++ - Parte 1

Arquitetura de Computadores. Tiago Alves de Oliveira

Exemplo 1.1: Algoritmo para encontrar a quantidade de números informados maior que 50, considerando que serão informados 20 números.

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA

Aula 10 Comandos de Repetição

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA

Aula 26: Estruturas heterogêneas

Aula 14: Funções Passagem de Parâmetros por Referência

Aula 23: Ponteiros Introdução a Programação Túlio Toffolo & Puca Huachi

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

Computação 2. Aula 8. Profª. Fabiany Arquivos

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.

Algoritmos. Estrutura de decisão de múltipla escolha. escolha-caso. switch case. Grupos de Slides No 4. Prof. SIMÃO

#include<iostream> using namespace std; main(){ int i=20; int *p; p=&i; cout << "Valor da variável: " << *p << endl; }

Estrutura de Dados Conceitos Iniciais

A linguagem C (visão histórica)

Aula 8 Comandos de Seleção

//conteúdo do arquivo Matriz.h class Matriz { private: int *elementos; int numerodelinhas; int numerodecolunas; void setnumerodelinhas(int); void

Computação 2. Aula 7. Profª. Fabiany Ponteiros

Modelo de Referência OSI. Prof. Alberto Felipe

Estruturas de Repetição

Aula 12: Funções. CI208 - Programação de Computadores. Prof. MSc. Diego Roberto Antunes

PCS Laboratório de Programação Orientada a Objetos 1a. Prova. 02 de Setembro de 2015

Slides trabalhados durante a quinta aula

ANHANGUERA ESTRUTURA DE DADOS AULA 06 LISTAS CIRCULARES E DUPLAMENTE ENCADEADAS. Prof. Thomás da Costa

Roteiro da aula. Resolução de exercícios O operador de indireção Sub-rotinas e tipos. DIM Conceitos e Técnicas de Programação

UNIDADE III Aula 7 Codificação e Transmissão de Sinais em Banda Básica. Fonte: Volnys B. Bernal e Rodrigo Semente

Criando a Classe Pessoa Exemplo: Crie e modele uma classe que receba o nome, idade e peso de uma Pessoa. Ao final mostre os dados na tela.

Variáveis primitivas e Controle de fluxo

Aula 7 Modularização. Processamento da Informação. Universidade Federal do ABC

Computação e Programação Aula prática nº 5. Enunciados dos problemas

Aula 06 Introdução à Programação Matrizes

Programação científica C++

Manipulação de Arquivos Binários

Aula 01 Algoritmos e lógica de programação e introdução ao C++

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS

Capítulo 3. A camada de enlace de dados

INOVAÇÃO TECNOLÓGICA E LÓGICA E ARDUINO EMPREENDEDORISMO. Prof. Dr. Daniel Caetano

RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em:

Computação e Programação Exame Época de recurso

Aula 11: Laços e exercícios

Linguagens de Programação

Objectivos. Observar os tipos fornecidos pelo C++ Explicar as regras sintácticas para nomes de identificadores Estudar variáveis e constantes

3. Linguagem de Programação C

Operações de Controle de Fluxo e Acesso a Memória. Na Aula Anterior... Nesta Aula. Instruções de Controle de Fluxo. if then - else.

Tratamento de Exceções, Multithreads e arquivos (em Java) Programação Orientada a Objetos

Aula 18: Vetores Introdução a Programação Túlio Toffolo & Puca Huachi

Unidade 10: Programas com Estruturas de Decisão Prof. Daniel Caetano

Programação em C++: Introdução

Computação e Programação

Aula 01 Algoritmos e lógica de programação e introdução ao C++

Introdução à linguagem C++

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS CURSO DE ENGENHARIA ELECTROTÉCNICA/INDUSTRIAL

Módulo 5. Instruções if e switch. Algoritmos e Estruturas de Dados I C++ (Rone Ilídio)

Modelo OSI. Fábio Santos, Redes de Comunicação 10º ano

ALGORITMOS, ARQUITETURA E ARDUINO

Analise o código abaixo:

Estruturas de Repetição

Estruturas de Dados Aula 6: Cadeias de 28/03/2010

Estruturas de Dados Aula 6: Cadeias de Caracteres

Aplicação de Árvores: Código de Huffman

Recursividade. Prof. Jesus José de Oliveira Neto

Técnicas de acesso múltiplo Aloha. O Nível de Enlace nas Redes Locais. Aloha. Aloha. Aloha. Multiple. Sense. Access) CSMA (Carrier(

Introdução e Conceitos

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação

Programação científica C++

Aula 08 Estruturas de Condição. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Linguagem de Programação C++

UFSM-CTISM. Comunicação de Dados Aula-02

Aula 6: Comandos Estruturados Estrutura Condicional

Prof. Mizael Cortez Modelo em camadas Arquitetura TCP/IP Modelo ISO/OSI

Plano de Aula. 1 o semestre. Aula número 012 Periféricos Comunicação Serial. Conhecer os princípios de comunicação serial

Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira Anilton Joaquim da Silva

Introdução à Linguagem de Programação Java 1 INTRODUÇÃO À LINGUAGEM DE PROGRAMAÇÃO JAVA

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação

O Nível de Enlace nas Redes Locais. Técnicas de acesso múltiplo Aloha. Aloha

Transcrição:

Descrição Simular o funcionamento do enlace físico através da implementação das seguintes codificações Binária Manchester Manchester Diferencial Detalhes do projeto Conforme explicado em sala de aula Principais características: Utilizar GUI e mostrar o processamento de toda informação Seguir a ESTRUTURA especificada (ver diagrama e codificação nos próximos slides) Manipular BITS (e não bytes) nos níveis mais baixos

Trabalho 01 tem apenas camadas de aplicação e física Cada quadrado representa um protocolo Cada protocolo será implementado através de uma sub-rotina Aplicação Transmissora Aplicação Receptora Camada de Aplicação Transmissora Camada de Aplicação Receptora Camada Física Transmissora Codificação Binária Codificação Manchester Codificação Manchester Diferencial Camada Física Receptora Codificação Binária Codificação Manchester Codificação Manchester Diferencial Meio de Transmissão

Transmissão /************************************************************* * NAO ESQUECER DOS COMENTARIOS! *********************************************************** */ void main (void) { AplicacaoTransmissora(); }//fim do metodo main void AplicacaoTransmissora (void) { string mensagem; cout << "Digite uma mensagem:" << endl; cin >> mensagem; //chama a proxima camada CamadaDeAplicacaoTransmissora(mensagem); //em um exemplo mais realistico, aqui seria dado um SEND do SOCKET }//fim do metodo AplicacaoTransmissora void CamadaDeAplicacaoTransmissora (string mensagem) { //int quadro [] = mensagem //trabalhar com bits!!! //chama a proxima camada CamadaFisicaTransmissora(quadro); }//fim do metodo CamadaDeAplicacaoTransmissora

Transmissão void CamadaFisicaTransmissora (int quadro[]) { int tipodecodificacao = 0; //alterar de acordo o teste int fluxobrutodebits []; //ATENÇÃO: trabalhar com BITS!!! switch (tipodecodificacao) { case 0 : //codificao binaria CamadaFisicaTransmissoraCodificacaoBinaria(quadro); case 1 : //codificacao manchester CamadaFisicaTransmissoraCodificacaoManchester(quadro); case 2 : //codificacao manchester diferencial CamadaFisicaTransmissoraCodificacaoManchesterDiferencial(quadro); }//fim do switch/case MeioDeComunicacao(fluxoBrutoDeBits); }//fim do metodo CamadaFisicaTransmissora

Transmissão int[] CamadaFisicaTransmissoraCodificacaoBinaria (int quadro []) { //implementacao do algoritmo }//fim do metodo CamadaFisicaTransmissoraCodificacaoBinaria int[] CamadaFisicaTransmissoraCodificacaoManchester (int quadro []) { //implementacao do algoritmo }//fim do metodo CamadaFisicaTransmissoraCodificacaoManchester int[] CamadaFisicaTransmissoraCodificacaoManchesterDiferencial(int quadro []){ //implementacao do algoritmo }//fim do CamadaFisicaTransmissoraCodificacaoManchesterDiferencial

Meio de Comunicação /* Este metodo simula a transmissao da informacao no meio de * comunicacao, passando de um pontoa (transmissor) para um * ponto B (receptor) */ void MeioDeComunicacao (int fluxobrutodebits []) { //OBS IMPORTANTE: trabalhar com BITS e nao com BYTES!!! int fluxobrutodebitspontoa[], fluxobrutodebitspontob[]; fluxobrutodebitspontoa = fluxobrutodebits; while (fluxobrutodebitspontob.lenght!= fluxobrutodebitspontoa) { fluxobrutobitspontob += fluxobrutobitspontoa; //BITS! Sendo transferidos }//fim do while //chama proxima camada CamadaFisicaReceptora(fluxoBrutoDeBitsPontoB); }//fim do metodo MeioDeTransmissao

Recepção void CamadaFisicaReceptora (int quadro[]) { int tipodedecodificacao = 0; //alterar de acordo o teste int fluxobrutodebits []; //ATENÇÃO: trabalhar com BITS!!! switch (tipodedecodificacao) { case 0 : //codificao binaria CamadaFisicaReceptoraDecodificacaoBinaria(quadro); case 1 : //codificacao manchester CamadaFisicaReceptoraDecodificacaoManchester(quadro); case 2 : //codificacao manchester diferencial CamadaFisicaReceptoraDecodificacaoManchesterDiferencial(quadro); }//fim do switch/case //chama proxima camada CamadaDeAplicacaoReceptora(fluxoBrutoDeBits); }//fim do metodo CamadaFisicaTransmissora

Recepção int[] CamadaFisicaReceptoraCodificacaoBinaria (int quadro []) { //implementacao do algoritmo para DECODIFICAR }//fim do metodo CamadaFisicaReceptoraDecodificacaoBinaria int[] CamadaFisicaReceptoraCodificacaoManchester (int quadro []) { //implementacao do algoritmo para DECODIFICAR }//fim do metodo CamadaFisicaReceptoraDecodificacaoManchester int[] CamadaFisicaReceptoraCodificacaoManchesterDiferencial(int quadro []){ //implementacao do algoritmo para DECODIFICAR }//fim do CamadaFisicaReceptoraDecodificacaoManchesterDiferencial

Recepção void CamadaDeAplicacaoReceptora (int quadro []) { //string mensagem = quadro []; //estava trabalhando com bits //chama proxima camada AplicacaoReceptora(mensagem); }//fim do metodo CamadaDeAplicacaoReceptora void AplicacaoReceptora (string mensagem) { cout << "A mensagem recebida foi:" << mensagem << endl; }//fim do metodo AplicacaoReceptora