Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ak47

Algoritmo transmissão de dados

Recommended Posts

galera a dois dias to tentando e nda até agora. um amigo meu mandou pra mim. Vê aew se vcs conseguem ! beleza ok. no visualg

 

Ao ser recebido por uma placa de rede, no cabeçalho de um pacote de um determinado protocolo de rede constam:

 

 

- O tempo decorrido entre a emissão e a recepção do pacote;

 

- Um sinalizador de erro, sendo:

 

- 0: O pacote chegou integro;

 

- 1: O pacote chegou com erro.

 

- Um sinalizador indicando o tipo de dado transmitido pelo pacote, sendo:

 

 

- 0: Texto;

 

- 1: Imagem ou som.

 

- Um sinalizador para indicar o último pacote, sendo:

 

- 0: Não é o último pacote

 

- 1: É o último pacote

 

Escreva um algoritmo para receber os dados de cabeçalho dos pacotes de uma transmissão e mostrar:

 

1. Tempo médio de transmissão

2. Maior tempo de transmissão

3. Menor tempo de transmissão

4. Quantidade total de pacotes transmitidos

5. Quantidade de pacotes de imagem ou som

6. Percentual de pacotes recebidos sem erro

 

Observação:

1. O processamento deverá encerrar com a entrada do último pacote;

2. Cada sinalizador dever ser criticado para só aceitar 0 ou 1;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ai pessoal conseguir resolver finalmente, desculpa aew alguma coisa, é pq tva cm algumas duvidas , mais qq coisa estamos aew !!beleza vlw

 

varERRO,ID_DADO,FIM_TRANS,QTD_PAC,QTD_PAC_OK,QTD_AV:INTEIROTMP_TRANS,ACUM_TMP_TRANS,MAIOR_TMP,MENOR_TMP:REALinicio // Laço de Fim de Recebimento de Pacotes.ENQUANTO FIM_TRANS <> 1 FACA// Contador de PacotesQTD_PAC:=QTD_PAC+1// Recebimento do Tempo de Envio e Recepção do Pacote.ESCREVAL ("TEMPO DE VIAGEM DO PACOTE:")LEIA (TMP_TRANS)// Acumulador do tempo de transmissão.ACUM_TMP_TRANS:=(ACUM_TMP_TRANS+TMP_TRANS)// Rotina que inicializa o registrador de Maior e Menor tempo de transmissão.SE (QTD_PAC=1) ENTAO   MAIOR_TMP:=TMP_TRANS   MENOR_TMP:=TMP_TRANSFIMSE// Rotina que registra o Maior e Menor tempo de transmissão.SE (TMP_TRANS<MENOR_TMP) ENTAO   MENOR_TMP:=TMP_TRANSSENAO   SE (TMP_TRANS>MAIOR_TMP) ENTAO	  MAIOR_TMP:=TMP_TRANS   FIMSEFIMSE// Laço que evita a digitação diferente de 0 ou 1ERRO:=2ENQUANTO (ERRO<>0) E (ERRO<>1)  FACA   ESCREVAL ("ERRO:")   LEIA (ERRO)FIMENQUANTO// Cotador de Pacotes sem erro.SE (ERRO<>1) ENTAO   QTD_PAC_OK:=QTD_PAC_OK+1FIMSE// Laço que evita a digitação diferente de 0 ou 1ID_DADO:=2ENQUANTO (ID_DADO<>0) E (ID_DADO<>1) FACA   ESCREVAL ("ID do DADO:")   LEIA (ID_DADO)FIMENQUANTO// Contador de pacotes de Imagem e SomSE (ID_DADO=1) ENTAO   QTD_AV:=QTD_AV+1FIMSE// Laço que evita a digitação diferente de 0 ou 1FIM_TRANS:=2ENQUANTO (FIM_TRANS<>0) E (FIM_TRANS<>1) FACA   ESCREVAL ("FIM DE TRANSMISSÃO?")   LEIA (FIM_TRANS)FIMENQUANTO// Fim do Laço de Recebimento de Pacotes.FIMENQUANTOESCREVAL ("TEMPO MÉDIO DE TRANSMISSÃO=",ACUM_TMP_TRANS/QTD_PAC)ESCREVAL ("MAIOR TEMPO DE TRANSMISSÃO=",MAIOR_TMP)ESCREVAL ("MENOR TEMPO DE TRANSMISSÃO=",MENOR_TMP)ESCREVAL ("QUANTIDADE DE PACOTES TRANSMITIDOS=",QTD_PAC)ESCREVAL ("QUANTIDADE DE PACOTES DE IMAGENS OU SOM=",QTD_AV)ESCREVAL ("PERCENTUAL DE PACOTES SEM ERRO=",QTD_PAC_OK*100/QTD_PAC,"%")fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.