Un modem, una scheda di rete, o comunque una unità di comunicazione tra calcolatori elettronici, trasmettendo uninformazione, a causa di disturbi esterni,

Slides:



Advertisements
Presentazioni simili
Differenza tra comunicazione seriale e parallela
Advertisements

INFORMATICA Altre Istruzioni di I/O
Lequivocazione By Vaccaro Maria A.. Che incidenza ha il disturbo sullinformazione? Si avrà in tal caso che lincertezza media nel messaggio trasmesso.
PROGRAMMARE IN PASCAL (le basi)
Lez. 11 (11/12) - PBElementi di Programmazione1 Lezione 11 Esercizi.
Lez 4 (11/12)Elementi di Programmazione1 Istruzioni per il controllo del Flusso 2.
Lez 4 (10/11)Elementi di Programmazione1 Istruzioni per il controllo del Flusso 2.
Le Informazioni e la loro Rappresentazione nei calcolatori
Biglietti e Ritardi: schema E/R
Fondamenti di Informatica
Moduli 1 In Access è possibile automatizzare diverse operazioni mediante l’utilizzo del linguaggio VBA (Visual Basic for Applications). Le istruzioni.
La trasmissione fisica dei segnali
Programmazione Concorrente
Sistemi e Tecnologie della Comunicazione
Iterazione enumerativa (for)
Esercizio 1 1)      Un collegamento end-to-end è formato da tre tratte, la prima AB con la velocità di 5 Mb/s, la seconda BC di 20 Mb/s e la terza CD di.
Algoritmi Paralleli e Distribuiti a.a. 2008/09
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 10/03/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,
CODICI Si ringrazia il prof. Di Santo per aver gentilmente messo a disposizione il proprio materiale per la preparazione di alcune delle slides presenti.
Introduzione alla programmazione lll
Informatica? Scienza della rappresentazione e dell’elaborazione dell’informazione ovvero Studio degli algoritmi che descrivono e trasformano l’informazione.
Somma = A + B start Stampa Somma Leggi A,B stop Sub SOMMA( ) Dim A, B as Integer A = InputBox("Immetti un numero") B = InputBox(Immetti un secondo numero)
O.O.P. Costruiamo la prima classe in VISUAL BASIC Corso abilitante riservato ad abilitati in altra classe classe di concorso A042 - INFORMATICA.
Procedure e funzioni nei linguaggi di alto livello Lab Programmazione - turno /2006.
Sistema di comunicazione
IL MODEM Che cos’è? A cosa serve? Che problemi risolve? Come comunica?
Limiti al trasferimento di informazione u Il tempo necessario per trasmettere dellinformazione dipende da: –la velocita di segnalazione (cioe quanto velocemente.
Il linguaggio ASP Lezione 4 Manipolare i database con ASP Lutilizzo dei FORM per laggiunta dei dati.
Lezione 2 Programmare in ASP
Rete Sincrona Una rete sequenziale sincrona, è dotata di un ingresso E, di un segnale di Clock e uno di reset. Ad ogni fronte del Clock, deve essere campionato.
LA CRITTOGRAFIA QUANTISTICA
Visual Basic e accesso ai DATABASE
STRUTTURA GENERALE DI UN ELABORATORE
Reti di CalcolatoriAndrea Frosini1 Reti di Calcolatori a.a. 2005/06 Lezione 7.
PROBLEMA ALGORITMO PROGRAMMA LINGUAGGI di PROGRAMMAZIONE
Programmare in Visual Basic
Tutte le grandezze fisiche si dividono in
Di Luca Santucci 5° Programmatori
Efficienza e controllo derrore. Introduzione Come abbiamo visto il controllo derrore, necessario per ottenere un trasporto affidabile, si basa su: somme.
Algoritmo Ordinamento di 3 Numeri
Linguaggi e Programmazione per l’Informatica Musicale
POSTA ELETTRONICA La posta elettronica è un’innovazione utilissima offerta da Internet. E’ possibile infatti al costo di una telefonata urbana (cioè del.
Grazia Caterina Pietropaolo1 La Funzione “SE” in Excel ISTITUTI TECNICI Fondazione Villaggio dei Ragazzi Maddaloni- Ce.
Una popolazione statistica è costituita da 300 diodi con i valori riportati in tabella. Utilizzando Excel estrarre, da questa popolazione, con ripetizione,
Lz. 3 (13/14)Elementi di Programmazione1 Istruzioni (strutture) di controllo 1.
Word: gli strumenti di formattazione
TESINA DI SISTEMI.
a cura di Marco Zucchini
Variabili Numeriche –Interi (byte, short, int, long): complemento a 2 –A virgola mobile (float, double): IEEE 745 Alfanumeriche –Carattere (char): Unicode.

Lez. 9 (13/14)Elementi di Programmazione1 Lezione 9 Valutazione di espressioni File di testo sequenziali.
Lez 4 (13/14)Elementi di Programmazione1 Strutture di controllo 2.
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
13 ottobre Decisioni F. Bombi 13 ottobre 2002.
Interpreti e compilatori
Presenta: Liceo Classico Scientifico “Giosuè Carducci” Nola (Na) Presenta:
Prof. ing. Paolo Bidello AA 2005/2006 Laboratorio Informatico Promemoria degli argomenti: Reti locali (LAN)
Bit singolo e burst u un canale che trasmette voce tollera bene gli errori distribuiti uniformemente –perche’ errori singoli hanno effetti simili al rumore.
Informatica e Informatica di Base
Fondamenti di informatica T-A Esercitazione 2 : Linguaggio Java, basi e controllo del flusso AA 2012/2013 Tutor : Domenico Di Carlo.
Sistemi e Tecnologie della Comunicazione
Cloud informatica V anno. Introduzione a PHP Lo scripting PHP PHP è un linguaggio di scripting lato server. Le caratteristiche di un linguaggio di scripting.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Esercitazione pre 1ma prova in itinere Marco D. Santambrogio – Ver. aggiornata.
La numerazione ottale. Il sistema di numerazione ottale ha ampio utilizzo in informatica E’ un sistema di numerazione posizionale La base è 8 Il sistema.
Psicometria modulo 1 Scienze tecniche e psicologiche Prof. Carlo Fantoni Dipartimento di Scienze della Vita Università di Trieste Campionamento.
La funzione CASUALE. Gli istogrammi.
MBS ITALY (Moresco Business Solutions Italy) 2016.
Transcript della presentazione:

Un modem, una scheda di rete, o comunque una unità di comunicazione tra calcolatori elettronici, trasmettendo uninformazione, a causa di disturbi esterni, potrebbe variare la stessa in modo significativo compromettendo tutti i dati trasmessi. Schematizzando le due unità si riesce meglio a comprendere come avviene il passaggio di informazione. La schematizzazione prevede T come unità trasmettente, R come unità ricevente, d sono i vari disturbi. Lesempio del modem è molto semplice da spiegare, poiché linformazione viaggia sulla linea telefonica. Sarà sicuramente capitato a chiunque di sentire durante una telefonata (con un normale apparecchio telefonico) un fruscio o altre conversazioni di sottofondo, ciò è dovuto alla presenza di disturbi esterni che grazie alla sensibilità degli strumenti di ricezione vengono amplificati compromettendo la comunicazione.

La stessa cosa avviene per la connessioni ad internet, infatti queste possono essere considerate vere e proprie telefonate, che vengono trasmesse dai toni che i modem riescono a codificare in bit e che verranno poi a loro volta trasmessi allunità centrale per i controlli che andremo adesso ad analizzare. Per correggere e minimizzare gli errori le unità di trasmissione modificano la stringa da inviare aggiungendo dei bit davanti a quelli da inviare che verranno chiamati bit di parità. Supponendo che la stringa da trasmettere sia formata da quattro bit, verranno aggiunti altri tre bit in questo modo: La stringa da trasmettere è: DCBA tramite la parità pari (un metodo di correzione che prevede laggiunta del bit 1 se il numero di uno è dispari, 0 se è già pari) si aggiunge il primo bit (P) tra DCB il secondo (S) tra DBA e il terzo (T) tra CBA ottenendo una stringa così strutturata: PSTDCBA. Se lunità che riceve riesce a calcolare gli stessi bit di parità, linformazione è stata ricevuta correttamente, altrimenti calcolando la nuova parità e confrontandola con quella ricevuta attraverso determinate tabelle si riesce a trovare e, quindi, a correggere lerrore. Ovviamente, il prezzo da pagare è nella dimensione della stringa: infatti trasmettere 7 bit è certamente meno conveniente che trasmetterne 4.

Esempio numerico: D C B A Calcolando la parità, riusciamo a capire che la stringa da trasmettere sarà: P S T D C B A Non si può certo chiedere al processore del PC di calcolare la parità pari di una stringa, difatti si utilizza una funzione matematica chiamata XOR (Excusive or). Lopzione xor calcola la parità tra più numeri attraverso la seguente funzione algebrica:

Infatti: XOR Y X

Come si può verificare la funzione espressa restituisce la parità pari delle variabili immesse. Passando alla pratica inizializziamo un programma con due comandi, invia e correggi. Con il comando invia si creano i bits di parità per la stringa inserita e tramite la funzione random si sbaglia un bit e si invia al secondo comando a = Mid(n, 4, 1) p = d Xor c Xor b s = d Xor c Xor a t = c Xor b Xor a fin = p & s & t & d & c & b & a Randomize r = Int(Rnd() * 7) + 1 If Mid(fin, r, 1) = 1 Then Mid(fin, r, 1) = 0 Else Mid(fin, r, 1) = 1 End If Label2.Caption="La stringa arrivata è " & fin sbagl = fin End Sub Dim n As String Dim stringa As String Dim fin As String Dim a, b, c, d, p, s, t, a1, b1, c1, d1, p1, s1, t1 As Integer Dim r, test1, test2, test3 As Integer Dim conta, somma, num, err, bin As Integer Dim errore, sbagl As String Private Sub Command1_Click() n = Text1.Text d = Mid(n, 1, 1) c = Mid(n, 2, 1) b = Mid(n, 3, 1)

Si otterrà così una stringa di nome sbagl, che contiene il numero inviato completo di bit di parità ed errore già inserito. Poiché questo programma simula lerrore e non lo crea veramente, utilizziamo una funzione che generi un numero casuale, questa funzione in ambiente basic assume il nome di Random, tramite questa funzione possiamo dare in uscita un numero generato tra 1 e 7 (in quanto sono 7 le cifre che compongono la stringa) che diventerà la posizione dellerrore. Nella funzione già espressa vediamo che subito dopo la random è inserita una if, questa controllerà se in quella posizione si trova un 1 o uno 0 che convertirà da 0 a 1 o da 1 a 0, simulando così lerrore del disturbo. Adesso si può passare alla conversione. I due pulsanti inseriti, come già detto, servono uno per inviare, laltro per ricevere-correggere; premuto il secondo pulsante si attueranno 3 test e unendo i risultati si ricaverà il bit errato e sarà quindi semplice attuare la correzione.

I test che si effettuano si basano ancora una volta sulla funzione matematica XOR però questa volta si farà un controllo tra il bit di parità arrivati e quelli che lo hanno creato (il bit P è stato creato facendo xor tra DCB, per il test faremo xor tra PDCB) se il risultato del test sarà 0 vorrà dire che quei bit (PDCB) sono arrivati correttamente. Quindi traducendo in basic avremo: Private Sub Command2_Click() d1 = Mid(sbagl, 4, 1) c1 = Mid(sbagl, 5, 1) b1 = Mid(sbagl, 6, 1) a1 = Mid(sbagl, 7, 1) p1 = Mid(sbagl, 1, 1) s1 = Mid(sbagl, 2, 1) t1 = Mid(sbagl, 3, 1) stringa = p1 & s1 & t1 & d1 & c1 & b1 & a1 test1 = p1 Xor d1 Xor c1 Xor b1 * test2 = s1 Xor d1 Xor c1 Xor a1 * test3 = t1 Xor c1 Xor b1 Xor a1 * errore = test1 & test2 & test3 conta = 3 num = 0

Do bin = Mid(errore, conta, 1) somma = somma + (bin * 2 ^ num) conta = conta - 1 num = num + 1 Loop Until conta <= 0 Select Case somma Case 1 err = 3 Case 2 err = 2 Case 3 err = 7 Case 4 err = 1 Case 5 err = 5 Case 6 err = 4 Case 7 err = 6 End Select MsgBox "L'errore sta nel " & err & " bit.", vbOKOnly, "A T T E N Z I O N E" inverti (err) Label1.Caption = "la stringa corretta è " & stringa End Sub Private Sub inverti(err) If Mid(stringa, err, 1) = 1 Then Mid(stringa, err, 1) = 0 Label1.Caption = stringa Else Mid(stringa, err, 1) = 1 End If End Sub

Per tradurre questo pezzo di programma abbiamo utilizzato una sub esterna e un select case. La sub esterna ci consente di eseguire una sorta di sottoprogramma che viene attivato solo quando è il programma principale a chiederlo, il select case invece è una sorta di insieme di if, questo al variare della variabile segnalata fa assumere un valore predefinito ad unaltra variabile; es. Select case Fame Case molta Pasta = 10 Case poca Pasta = 2 End select Questa select case verifica se la fame e molta o poca, se è molta fa assumere alla variabile pasta il valore 10 altrimenti 2 sarebbe come questo blocco if: if fame= molta then pasta = 10 elseif fame = poca then pasta = 2 end if la differenza è la comodità della scrittura. Per stabilire questi valori ci serviamo della seguente tabella

B1117 D0116 C1015 P0014 A1103 S0102 T1001 No err.0000 ErroreTest 3Test2Test1Sempl Nella traduzione in basic, se si osservano per bene i test, ci si renderà conto che ci sono dei termini che non vengono ripetuti e altri che lo sono, osservando i risultati si comprenderà che se ad esempio solo il terzo test ha dato risultato 1 lerrore sarà in T, se il secondo e il terzo hanno dato risultato 1 il bit errato sarà A.

Relazione a cura di Massarelli ArcangeloTommaso Presentazione e layout di Melle Davide Alverio Giovedì 22 aprile 2004

Massarelli Tommaso Melle Davide 3^b liceo scientifico tecnologico I.T.I.S. Oreste Del Prete di Sava (TA) Docenti di informatica e sistemi: Prof. Francesco Picca e Prof. Fabio Mariggiò