Modulo 1 concetti di base dell'ict

Embed Size (px)

Citation preview

  • 1. ECDLModulo1ConcettibasedellITC Syllabus5.0RobertoAlbiero

2. Modulo 1 Concetti di base dellICTQuesto modulo permetter al discente di comprendere i concetti fondamentali delleTecnologiedellInformazioneedellaComunicazione(ICT)adunlivellogeneraleeconoscerelevariepartidiuncomputer,quindi,saringradodi: Comprenderecosalhardware,conoscereifattoricheinfluisconosulleprestazioni diuncomputeresaperecosasonoleperiferiche. Comprenderecosailsoftwareefornireesempidiapplicazionidiusocomuneedi sistemioperativi. Comprendere come vengono utilizzate le reti informatiche e conoscere le diverse modalitdicollegamentoaInternet. ComprenderecosasonoleTecnologiedellInformazioneedellaComunicazione(ICT) efornireesempidellaloroapplicazionepraticanellavitaquotidiana. Comprendere le problematiche di igiene e sicurezza associate allimpiego dei computer. Riconoscere importantiproblematiche di sicurezza informatica associate allimpiego deicomputer. Riconoscere importanti problematiche legali relative al diritto di riproduzione (copyright)eallaprotezionedeidatiassociateallimpiegodeicomputer. ECDL - Modulo 1 Concetti base dellITC1 3. 1.0 Fondamenti In questa sezione sono accennati i concetti fondamentali per capire come questo insieme di circuiti elettrici, che il computer, possa comprendere ed eseguire una determinataprocedurarestituendociilrisultatoatteso. Ovviamente,questoaggregatodidispositivielettrici,elettroniciemeccanici,nonpu farealtrocheeseguire,rigorosamente,cichenoigliordiniamodifare,quindinostra laresponsabilitdellaqualitedellesattezzadelrisultatoottenuto. Da questa piccola introduzione si pu intuire la necessit di rappresentare in forma procedurale tutte le operazioni che, in successione, il computer dovr eseguire ma, perchquestosiafatto,anchenecessariocheessosiaingradodiidentificareidati che dovr elaborare e comprendere il linguaggio con cui gli vengono impartiti i comandidaeffettuare.1.0.1 AlgoritmiCome gi accennato, un computer non in grado dieseguire nulla se non gli si comunica esattamente,passo dopo passo, ci che deve fare. , quindi, unnostro compito quello di tradurre lattivit in terminiformali,dovetuttosiastatoindividuatodatinotiodadeterminare(incognite)valutatoeprevisto;altresnecessario schematizzare tutti i passaggi, indicandotuttelealternativeedilpercorsodaseguire,inmodocheilcomputerpossagenerarelasoluzione. equesto,interminisemplici,comepuoiaumentare la tua presenza sul motore di1.0.1.1 Definizionedialgoritmo. ricercaTerminederivatodalnomedelmatematicoarabodelsec.IXMuhammadibnMs,dettoalKhuwrizm,latinizzatoinAlgoritmus.In informatica identifica una sequenza ordinata e definita di azioni elementari(diversamenteilcomputerlavorerebbeallinfinitosenzamaiprodurreunrisultato),non dubbie (interpretabili in un unico modo) che, riferite ad un determinatoinsieme di dati iniziali, possano trasformarli in un risultato finale (eseguibilitdellazione).Lalgoritmo deve avere un punto dINIZIO dove si avvia lesecuzione delle azionidefiniteeunpuntodiFINEdovesinterrompelesecuzione.Essodeveessere:Completo: prevedereefornirelasoluzionepertuttelepossibilievenienze.Riproducibile: ottenereunaidenticasoluzioneperogniesecuzionecheutilizziglistessidatiiniziali.Deterministico medesimasoluzioneindipendentementedallesecutore.Le azioni che compongono un algoritmo, per essere eseguite devono essererappresentateinunlinguaggioche,comprensibilealloperatoreumano,vengaresointerpretabile e quindi eseguito dal computer. Questo il linguaggio diprogrammazione (negli anni ne sono stati sviluppati molteplici con variecaratteristiche),compostodaistruzionielementari,nonulteriormentescomponibili,cheutilizzateperrispondereallazionedescritta,realizzinoilprogrammasoftwareimpiegatodalcomputerpereseguirelalgoritmo. ECDL - Modulo 1 Concetti base dellITC2 4. 1.0.1.2 Descrivere in forma algoritmica la procedura risolutiva di semplici problemi. Lavitaquotidiana,generalmente,unsusseguirsidialgoritmichenoiabitualmente eseguiamo senza rendercene conto e definendoli con altri termini; ad esempio, quandosivuolepreparareunaparticolarepietanza,leggiamolaricettadallibrodi cucina (anche se la ricetta la conoscessimo a memoria non cambierebbe la fase procedurale)pereseguire,passopasso,lefasi(daldosaggiodellematerieprimee loro manipolazione fino allimpiattamento), che porteranno alla produzione del manicaretto. Nellaffrontareunattivitqualsiasipreferibileiniziareconunafasepreparatoriain cui analizzare tutti gli aspetti del problema per valutare le possibili variazioni e, conseguentemente,decidereleazioninecessarieperarrivareallasoluzionefinale. Vediamo come possibile realizzare un algoritmo per la soluzione dellarcinoto problemadeltraghettatorechedeveportaresullaltraspondadelfiumeuncavolo, unapecoraedunlupo,maputrasportareunsolosoggettoallavoltaenondeve perderenessunadelletreentit: 1)TraghettaresullaspondaBlapecora,lasciandoassiemeillupoedilcavolo. 2)RitornaresullaspondaA. 3)TraghettaresullaspondaBilcavolo. 4)RitornaresullaspondaAconlapecora(inmodochenonmangiilcavolo). 5)TraghettaresullaspondaBillupo,lasciandolapecoradasolasullaspondaA. 6)RitornaresullaspondaA. 7)TraghettaresullaspondaBlapecora,nelfrattempoillupononhacertamente divoratoilcavolo. 8)Finedellavorodeltraghettatore. Unaltroesempiobanaledialgoritmopuesserequellodellapreparazionediuna tazzadith: 1)Scegliereiltipodith. 2)Scaldarelacquainquantitsufficientealnumerodegliospiti. 3)Preparareilfiltroconuncucchiainodifogliedithperognitazzapiuno. 4)Ainizioebollizionespengereilfuocoemettereininfusioneilfiltroconilth. 5)Dopocinqueminutitogliereilfiltro. 6)Sethverdeversarlonelletazzeeservirlo. 7)Se th alla menta inserire foglie di menta nella teiera, aspettare cinque minuti,versarenelletazzeeservire. 8)Sealtrotipodith,versarenelletazzeeservire;perogniospite: 8.1)aromatizzareconlatteolimone 8.2)zuccherare 9)Iniziareagustarelabevanda. Unultimoesempio,incuitrattaregruppidiazionipivolteripetuteperarrivarealla finedellalgoritmo,puesserequelladelrilevamentodeinumeriprimicompresitra 2eundatonumerointeropositivo(n).ECDL - Modulo 1 Concetti base dellITC3 5. Siricordacheconladefinizionedinumeroprimo,sintendeunnumerointeronon negativo(onumeronaturale)maggiorediunoedivisibilesolamenteper1epers stesso. Luniconumeroprimopari2. Ipotizziamo che ci che segue saranno i passi procedurali che un computer dovr eseguire per ottenere creare una tabella contenente lelenco dei numeri primi compresitra2en: A) CrealatabellaNumeriprimi(intesacomeareaincuiinserireirisultati). B) Imposta a 2 il valore di R1 (R1 unarea di appoggio in cui inserire valoriincrementaliinqualitdidividendinecessariadeterminareinumeriprimi). C) Imposta a 2 il valore di R2 (R2 unarea di appoggio in cui inserire valoriincrementalidausarecomedivisoreperdeterminareinumeriprimi). D) R1/R2(dividiilcontenutodiR1perilcontenutodiR2)emettiilrisultatoinR3. E) R3 (risultato della divisione) uguale a 1? Se SI inserisci il valore di R1 nellatabellaevaialpuntoI(sipassaalnumerosuccessivodaverificare). F) Aumentadi1ilvalorediR2(incrementaildivisore). G) R2>n(verificaseildivisoremaggioredelvaloremassimodaverificare). H) IncasonegativovaialpuntoD(ritornaallesecuzionedelladivisione). I) Aumentadi1ilvalorediR1(incrementaildividendo). J) R1>n(verificaseildividendomaggioredelvaloremassimodaverificare). K) IncasonegativovaialpuntoC(reimpostaa2ilvaloreinizialedeldivisore). L) Illavorofinito(latabellacontieneinumeriprimicompresitra2edn). Questialgoritmiomeglioleelencazionidiattivitdaeseguire,soprariportate,sono inostriprocessilogicichenonsempre,cosrappresentati,rendonoinmodochiaro edimmediatolelororelazionielatempisticadiesecuzione. Per ovviare a questo esiste un modo grafico, utile per rappresentare in maniera ordinatainostriprocessilogici,chesonoidiagrammidiflusso. 1.0.1.3 Rappresentarealgoritmimediantediagrammi. I diagrammi di flusso sono disegni creati utilizzando particolari simboli (ognuno dei quali identifica una particolare azione), che rappresentano graficamente un determinato ragionamento rendendo immediata la comprensione del percorso logicoepermettendolaverificadellafunzionalitdelragionamentoapplicato. Per procedere con un esempio pratico occorre conoscere i "simboli" utilizzati allinterno dei diagrammi di flusso per identificare i vari tipi di azione. Di seguito sonoriportatilagraficaedilrelativosignificatodiquestisimboli. Simbolideldiagrammadiflussodenominazione graficasignificato Rappresenta unazione che avvia, o conclude, il Puntodipartenzaodi processo.fine Normalmente contiene la parolaINIZIO,oFINE. ECDL - Modulo 1 Concetti base dellITC4 6. Rappresentaunafunzione Leggi/Scrividiinserimentoodemissionedeidati.RappresentailcomandoElaborazione(istruzione)daeseguire. VERORappresentalasceltatra? duepossibilipercorsiin TestbasealavverarsidiunaFALSO condizione.Rappresentailpunto dinserimentonelgraficoConnessione (generalmentecontiene unaletteraounnumero)Indicaladirezionedel Lineadiflussopercorsodelflusso.Applichiamo i simboli appena descritti per realizzare lo schema di flusso di alcunideglialgoritmielencatinelprecedenteparagrafo.IlTraghettatore: INIZIOAB Sbarcailcavolo Imbarcala Imbarcalaedimbarcala pecora pecora pecora Traghettalapecora allaTraghettalapecoraallaTornaallaspondaAspondaBspondaBSbarcalaSbarcalaSbarca la pecora pecorapecoraedimbarcaillupoTornaallaspondaA FINE Traghettaillupo allaspondaBMetteilcavolo nellabarca Sbarca il lupo TraghettailcavoloallaTornaallaspondaA spondaB A B ECDL - Modulo 1 Concetti base dellITC5 7. Numeriprimi:INIZIO CreatabellaNumeriPrimi Inserisci2 inR1Inserisci2 inR2 R1/R2emettiil risultatoin R3 InserisciilSI contenutodiR1 R3=1?nellatabella NumeriPrimiNO Somma1al contenutodi R2NO R2>n? SI Somma1al contenutodi R1NOR1>n? SI FINE ECDL - Modulo 1 Concetti base dellITC6 8. 1.0.2 Rappresentazionedeidati Nel linguaggio scritto linformazione rappresentata da un insieme di simboli, o caratteri, ognuno dei quali definisce una lettera, un numero, unoperazione matematica, un carattere speciale o simboli dinterpunzione che, comelo spazio, ci permettonodicomprenderealmegliouninformazione. Se, quindi, il carattere rappresenta il fondamento dellinformazione, questa costituitadaunasequenzavariabiledicaratteri. Nel mondo informatico, lelaboratore, pu interpretare solo informazioni rappresentatesottoformadilivelliditensione(alto/basso)cheequivalgonoaivalori 0e1costituentilinformazionedibasediognielaboratore,indicataconilterminebit (binarydigit);tuttiidatisonorappresentatidasequenzedibit. 1.0.2.1 Effettuare correlazioni fra i sistemi di numerazione decimale e binario, convertirenumeridallunoallaltrosistema. Ilsistemadecimaleconsideradiecicifrechesono:0,1,2,3,4,5,6,7,8,9. Ilsistemabinarioneconsideradue:0,1. IlsistemanumericobinariofuinventatodalmatematicotedescoGottfriedWilhelm Leibniz (Lipsia, 21 giugno 1646 Hannover, 14 novembre 1716), ben presto dimenticato, venne riscoperto nel 1847 dal matematico inglese G. Boole che, fondatore della logica matematica, aprir la strada alla nascita del calcolatore elettronico,lacuicircuiteriabasatasullacosiddettalogicabooleanacheconsidera iduestativeroefalso. Siailsistemanumericobinariochequellodecimalesonosistemiposizionali,cioil valoredellecifredipendedallaposizionecheoccupanonelnumero. Spostandosi a sinistra di una posizione il valore della cifra viene moltiplicato per dieci(nelcasodiunsistemadecimale)operdue(nelcasodiunsistemabinario),in cui, la cifra in posizione n (da destra) si considera moltiplicata per 2n, anzich per 10n come avverrebbe nella numerazione decimale. Laformulaperconvertireunnumerodabinarioadecimale:d(n1)2(n1)+d020=N dovedindicalacifradiposizionenallinternodelnumero,partendoda0. Adesempio 10012=1x23+0x21+0x21+1x20=910 (ValoreBINARIO) (ValoreDECIMALE)1.0.2.2 Rappresentare i caratteri in forma binaria. Definire le nozioni di bit e di byte. Ilvaloredelsingolobit(quandoilsuostatoattivo,ovveroquandononvalezero), dipendedallasuaposizioneallinternodelbyteeddoppiorispettoalvaloredelbit aluiprecedente.ECDL - Modulo 1 Concetti base dellITC7 9. Percomprenderemeglioquestultimoconcettofareriferimentoaiseguentischemi: 8 bit formano un byte7 6 5 4321 0 Bit pi significativoBit meno significativo Nellesempiosottostanteallinternodiognicasella,inbaseallaposizione,sonostati inseriti i valori decimali che rappresentano i bit, quando il loro stato diverso da zero. 128 64 321684 21 Sommandoisingolivalori(1+2+4+8+16+32+64+128)siottiene255acui, aggiungendoanchelozero,abbiamo256possibilivaloriottenibili. Come abbiamo appena visto un bit pu avere solo due stati, 1 o 0, ma un intero byte,secondolostatodeisuoibit,puformareben256combinazionidiverse(28) con le quali si possono esprimere tutte le lettere dellalfabeto, i numeri e molti simboliquali/(,:!?^*ecc. Datochelacomprensionedivaloribinarialquantodifficile,edessendoilbyte(8 bit)lunitminimaperrappresentareunvalorealfa/numericoanoicomprensibile, conlevoluzionedeisistemiinformatici(hardwareesoftware),nacquelanecessit di creare un sistema che permettesse di realizzare una sorta di linguaggio comprensibile sia alluomo (che ha la necessit di dire alla macchina cosa deve fare e come, oltre quella di comprendere i risultati ottenuti), che allhardware ovveroaisuoicircuitilogiciiquali,basandosisulsistemabinario,utilizzano,perla propriafunzionalit,lalgebrabooleana 1.Perquestomotivofurealizzatoilsistema dirappresentazioneabase16,ovveroilsistemaesadecimalecheutilizza16simboli invecedei10delsistemanumericodecimaletradizionale. 0000 01000 8 0001 11001 9 0010 21010 A ( 10 ) 0011 31011 B ( 11 ) 0100 41100 C ( 12 ) 0101 51101 D ( 13 ) 0110 61110 E ( 14 ) 0111 71111 F ( 15 ) Inquestatabella,inumeridecimalida10a 15sonostatisostituiticonleprime6 lettere dellalfabeto. Queste costituiscono le cifre aggiuntive (rispetto al sistema decimale)delsistemaesadecimale.1George Boole (1815 1864) matematico irlandese il fondatore della teoria della logica matematica. Ha ideato una forma dialgebra per rappresentare quantit logiche ed ha studiato le operazioni che possono essere effettuate su queste quantit.ECDL - Modulo 1 Concetti base dellITC8 10. Il sistema esadecimale offre un modo alternativo di rappresentare numeri binariimpacchettati in byte. Per esempio, prendiamo il numero binario 0010 1011 econvertiamolo in esadecimale: i primi 4 bit corrispondono alla cifra 2 e gli altri 4corrispondonoallaletteraB.Quindiilnumerobinario00101011equivalealvalore2B.Nella tabella sottostante sono riportati i simboli grafici di alcuni caratteri,normalmenteutilizzati,lalorovalenzabinariaedilcorrispondentevaloreespressosiaindecimalecheinesadecimale:BinarioDec Hex Glifo Binario Dec Hex Glifo Binario Dec Hex Glifo0100000 3220 10000006440 @ 11000009660`0100001 3321! 10000016541A 11000019761a0100010 3422" 10000106642B 11000109862b0100011 3523# 10000116743C 11000119963c0100100 3624$ 10001006844D 1100100 10064d0100101 3725% 10001016945E 1100101 10165e0100110 3826& 10001107046F 1100110 10266f0100111 3927 10001117147G 1100111 10367g0101000 4028 ( 10010007248H 1101000 10468h0101001 4129 ) 10010017349I 1101001 10569i0101010 422A* 1001010744AJ 1101010 1066Aj0101011 432B+ 1001011754BK 1101011 1076Bk0101100 442C , 1001100764CL 1101100 1086Cl0101101 452D 1001101774DM 1101101 1096Dm0101110 462E . 1001110784EN 1101110 1106En0101111 472F/ 1001111794FO 1101111 1116Fo0110000 48300 10100008050P 1110000 11270p0110001 49311 10100018151Q 1110001 11371q0110010 50322 10100108252R 1110010 11472r0110011 51333 10100118353S 1110011 11573s0110100 52344 10101008454T 1110100 11674t0110101 53355 10101018555U 1110101 11775u0110110 54366 10101108656V 1110110 11876v0110111 55377 10101118757 W 1110111 11977w0111000 56388 10110008858X 1111000 12078x0111001 57399 10110018959Y 1111001 12179y0111010 583A : 1011010905AZ 1111010 1227Az0111011 593B ; 1011011915B[ 1111011 1237B{0111100 603C< 1011100925C 1111100 1247C|0111101 613D= 1011101935D] 1111101 1257D}0111110 623E> 1011110945E^ 1111110 1267E~0111111 633F? 1011111955F_ ECDL - Modulo 1 Concetti base dellITC9 11. 1.0.2.3 Descriverelecaratteristichediunaimmaginedigitale.Limmagine digitale unimmagine bidimensionale rappresentata da valorinumerici.Fondamentalmenteleimmaginidigitalisonodiduetipi(inbasealtipodirappresentazione):RASTER(obitmap) (matrice di punti elementari, chiamati pixel da pictureelement).VETTORIALE (insieme di nodi formanti linee e poligoni a loro volta uniti instrutturepicomplesse).ImmagineBitmapoRaster.Limmaginebitmapcaratterizzatadaduepropriet:laRisoluzioneelaProfonditdicolore.Il pixel di unimmagine a colori ha la sua luminosit e colore mentre, quello diunimmaginemonocromaticahasolounvalorediluminosit.LarisoluzionedatadalnumerodipixelpercentimetroquadratomentreIlnumero(profondit) di colori o di livelli di grigio possibili dipende dalla quantit di bitutilizzata(equindidallepossibilicombinazioni)perlalorodefinizione:unimmaginecon1bitperpixelavralmassimoduecombinazionipossibili(0e1)equindipotrrappresentaresoloduecoloriobiancoonero;nelleimmaginia4bitper pixel, si possono rappresentare al massimo 16 colori o 16 livelli di grigio;unimmagine a 8 bit per pixel rappresenta 256 colori o 256 livelli di grigio;unimmagine a 16 bit per pixel pu rappresentare 65.536 variazioni, una definitacon24bitpermettefinoa16.777.216dicolori,ecc..Le immagini di questo tipo (.RAW e .BMP) occupano molto spazio (in termini dimemoria e/o supporto di memorizzazione) se ingrandite perdono di risoluzione,secondoiltipodicompressioneo,purmantenendolecaratteristichediqualit,nonriduconolelorodimensioni(.PNG,.TGA,.TIFFe.GIFfinoa256colori),osubisconounaperditadiinformazione,senzapossibilitdirecupero,equindidiqualit(.JPGe.GIFoltre256colori).ImmagineVettoriale.Iprincipalivantaggidellagraficavettorialerispettoallagraficarastersonolaqualit,lamaggiorecompressionedeidatielapifacilegestionedelleeventualimodifiche.La grafica vettoriale, essendo definita attraverso equazioni matematiche, indipendentedallarisoluzione.Per spiegarsi meglio, prendendo unimmagine vettoriale grande 2x2 pixel eaumentandolarisoluzionefinoa1024x768siotterrunaimmaginechehalastessadefinizionediquandoera2x2.Tale sistema di descrizione delle informazioni grafiche presenta inoltre lindubbiovantaggio di una maggiore compressione dei dati: in pratica una immaginevettoriale occuper molto meno spazio (in termini di memoria e/o supporto dimemorizzazione),maladefinizionedelcoloreinferiore(coloripiatti).Inconclusione: perlafotodiunpaesaggioodiuntramontopreferibileunformatoraw perunutilizzoditipocartograficopreferibileunformatovettorialeECDL - Modulo 1 Concetti base dellITC10 12. ImmagineBPMa32bit(14,40Mbyte)ImmagineBMPa16bit(4,80Mbyte)ECDL - Modulo 1 Concetti base dellITC 11 13. ImmaginePNG(6,91Mbyte) ImmagineGIF(1,22Mbyte) ECDL - Modulo 1 Concetti base dellITC12 14. Esempiodiimmaginevettoriale: Immagineoriginale http://it.wikipedia.org/wiki/Grafica_vettoriale Immaginevettorialeingrandita8volte http://it.wikipedia.org/wiki/Grafica_vettoriale Immaginerasteringrandita8volte http://it.wikipedia.org/wiki/Grafica_vettoriale 1.0.3 Linguaggi Il linguaggio un sistema di comunicazione esclusivo delluomo e costituisce una componenteessenzialedellavitaquotidiana,rappresentandoilpicomunemezzodi interazionetralepersone. Grazie ad esso possibile trasmettere informazioni 2, comunicate mediante un sistema di simboli. La sua localizzazione aerale e levoluzione nel tempo ha portato allosviluppodidiverselinguechesonodefinitecomelinguaggio naturale. Ilcomputereseguesoloicomandiimpartitiincodicebinario(costituitidaunaseriedi 0edi1),cheimpegnanodirettamentelacircuiteria(basatasullalogicabooleana)con cuirealizzato.Questocodicedettolinguaggiomacchina. Illinguaggiomacchinanonaccessibilealluomo,perquestosonostatimessiapunto dei linguaggi intermedi, comprensibili alluomo, il cui codice trasformato in linguaggiomacchinaperessereutilizzabiledalcomputer.2 Le informazioni trasmesse sono solo una parte del prodotto terminale di un processo che elabora lapercezionesensoriale,iconcetti,isentimentieleemozioni,leideeeipensieri,inuncontenutocheimplicalasuccessionetemporale.ECDL - Modulo 1 Concetti base dellITC 13 15. 1.0.3.1 Definire la differenza tra linguaggio naturale e linguaggi di programmazione. Il linguaggio naturale al pregio dellespressivit, contrappone ambiguit interpretativeeridondanzeneisignificati. Il linguaggio macchina lunico linguaggio capito dal computer, strettamente correlato alla struttura dei circuiti, risulta veloce nellesecuzione e potente nelle funzioni ma ha lo svantaggio di una difficile e lunga scrittura della sequenza di algoritmi(programma)edellaloromessaapunto. Nonessendopossibilerealizzaredeitraduttoridallinguaggionaturaleallinguaggio macchina, sono stati creati i linguaggi di programmazione che sono comprensibili sia alluomo che alla macchina (tramite specifico traduttore). Essi descrivono gli algoritmi in modo rigoroso usando unespressivit paragonabile a quella dei linguagginaturali. 1.0.3.2 Distinguereilruolodeiconnettivilogici(NOT,AND,OR)nellinformatica. Un connettivo, o operatore, logico, quelloperazione che instaura fra due enunciati A e B una qualche relazione che dia origine ad un terzo enunciato C. il valore di C, espresso nei valori vero o falso, dipende dai valori di A e di B ed alla tipologiadelloperatore. TipologiedioperatorilogiciovverolalogicadiBOOLE. Il collegamento concettuale tra i circuiti digitali (binari) e la logica matematica rappresentato dallalgebra di Boole 3. La logica booleana la base teorica per la progettazione dei circuiti per gli elaboratori digitali, essa include un insieme di operazionipermanipolarelevariabililogichebooleane. Lavariabilebooleanaeletreoperazionifondamentali. La variabile booleana unentit che pu assumere solo due valori distinti ed arbitrari (vero/falso, alto/basso, 1/0). Con le operazioni della logica di Boole si trasformano una o pi variabili booleane producendo altre variabili, il cui valore dipendedaivaloridellevariabilioriginali. Ciascuna operazione caratterizzata da una tabella, detta tabella di verit, che indicaivaloririsultantidatuttelecombinazionidellevariabilidiinput. Operazionedinegazione:NOT LoperazioneNOThaunavariabilediinputedunavariabiledioutput. Ilvaloredellavariabiledioutputloppostodiquelladiinput: 1 0 0 13GeorgeBoole(Lincoln,2novembre1815Ballintemple,8dicembre1864)statounmatematicoelogico britannico,edconsideratoilfondatoredellalogicamatematica.Lasuaoperainfluenzanchesettoridella filosofia.ECDL - Modulo 1 Concetti base dellITC14 16. Operazionedicongiunzione:AND LoperazioneANDhadueopivariabiliininputedunasolavariabileinoutput. Il valore della variabile di output 1 se tutte le variabili di input sono ad 1, altrimenti0. Chiariamoilconcettoconunesempio:hofame,vorreiandarealristorante(purch abbiaisoldiperpagareilconto);inquestocasolevariabilidiinputsonolafameedi soldi,quelladioutputilristorante. Fame Soldi Ristorante 0(no)0(no)0(no) 10(no) 1(si) 0(no) 1 1(si) 0(no)0(no)1 1(si)1(si)1(si) Operazionedidisgiunzione:OR LoperazioneOrhadueopivariabiliininputedunasolavariabileinoutput. Ilvaloredellavariabiledioutput1sealmenounadellevariabilidiinputad1, altrimenti0. Esempio: per mettermi limpermeabile necessario che piova, sia freddo od entrambelecose. pioggia freddo impermeabile0(no) 0(no)0(no) 1 1(si)0(no) 1(si) 10(no)1(si) 1(si)0 1(si) 1(si) 1(si) 1.0.3.3 Distinguerefralinguaggiomacchinaelinguaggiprocedurali. Ognimicroprocessoreprogettatoerealizzatopereseguirespecificheoperazioniin relazione a particolari sequenze binarie che, sequenzialmente, saranno inserite in una determinata area di memoria; dette sequenze rappresentano le istruzioni (ad esempio11100101)dellinguaggiomacchina. Ogniistruzioneunasequenzabinariadilivellielettriciingradodiattivareinmodi differentiicircuitiinterni. Linsiemedellefunzionilogicherealizzabilicircuitalmentedeterminanoleistruzioni elementariutilizzabili. Con il termine linguaggi procedurali sintendono quei linguaggi di programmazione in cui le istruzioni vengono scritte indicando la sequenza delle operazionichedevonoesseresvoltepassodopo passo. Ilinguaggidiprogrammazionesonodiduetipi: basso livello, linguaggi assemblativi orientati alla macchina (comunicano direttamenteconilcomputerutilizzandoil"linguaggiomacchina"); alto livello, orientati alluomo (fanno uso di uno pseudolinguaggio umano, utilizzando allo scopo codici operativi quasi esclusivamente espressi in lingua inglese).ECDL - Modulo 1 Concetti base dellITC15 17. Indipendentementedaltipodilinguaggioutilizzatoricordiamociquantosegue: Illinguaggiomacchinalunicolinguaggiocompresodalcomputer. Qualsiasi altro tipo di linguaggio di programmazione ha bisogno di un traduttore. I linguaggi di programmazione sono comprensibili alluomo e, tramite un traduttore,alcomputer. ITraduttori(programmiscrittiinlinguaggiomacchina)trasformanounprogramma sorgente(espressoinunlinguaggiodiprogrammazione),inunprogrammaoggetto (tradotto in codice binario). Essi sono correlati al linguaggio di programmazione e allarchitetturadelcomputer. linguaggiad linguaggia altolivello.bassolivello. (orientati(orientatialla alluomo) macchina) Compilatori TraduttoriAssemblatorioInterpreti Linguaggiomacchina (codicebinario) I Compilatori trasformano un programma sorgente (scritto in linguaggio di programmazione)inunfiledefinitooggetto(tradottoinlinguaggiomacchinama nonancorautilizzabile).Perrendereeseguibileilrisultatoottenutonecessario chesiaulteriormentetrattatodaunprogrammadefinitolinker(olinkeditor),che collega,traloro,ivarimodulitradottiediriferimentiesterni(adesempiolibrerie 4di sistema),creandounasingolauniteseguibile. CompilatoreLinker Programma Programma Programma sorgenteoggettoeseguibile .ASM.BAS ecc..OBJ.EXE IlinguaggiInterprete,leggeunafraseallavoltadellinguaggiosorgente,latraduce in una sequenza in codice macchina e la esegue, di conseguenza la traduzione e lesecuzionesonocontemporanei.4Unalibreriauninsiemediroutines,oprocedure,diusocomuneinmododaevitarealprogrammatoredi scrivereognivoltalestessefunzionicomelelevamentoapotenzaolagestionedegliinputoutput(I/O).ECDL - Modulo 1 Concetti base dellITC16 18. LinguaggiAssemblativiedassemblatori. I linguaggi assemblativi sono linguaggi di tipo simbolico in quanto utilizzano dei nomi (simboli) per designare il codice operativo e le variabili che compongono il programma. GliAssemblatorisonoitraduttorideilinguaggiassemblativi. LAssembler (assemblatore) il primo linguaggio informatico utilizzato, comprensibileagliutilizzatoriumani,talmentesimileallinguaggiomacchinache rimanelegatoalprocessoresucuivienesviluppatoilprogrammailqualenonpotr essereeseguitosucomputersviluppatisuprocessoridiversi.1.0.3.4 Scrivereunsempliceprogrammaconlusodipseudolinguaggi. Per pseudo linguaggio sintende un linguaggio di programmazione fittizio, non traducibile in codice binario, usato per rappresentare algoritmi. Esso dovrebbe essere indipendente dal linguaggio di programmazione scelto per risolvere un problema,purrimanendorispondenteallesuecaratteristiche. Normalmente un programmatore scrive lalgoritmo utilizzando direttamente un linguaggiospecificoma,percapirecosunpseudolinguaggio,ovveroilsuoutilizzo nellarappresentazionediunalgoritmo,sipropongonoisottostantiesempi: Problema:ScrivereunsempliceprogrammaperlaconversionedaLireinEuro. VARIABILI (Parte introduttiva del programma dove sono definite le variabili 5utilizzatedallaproceduranellospecifico,perinserireilvaloreinizialeinlireequellotradottoineuro) LIRE,EURO (Attribuzionedelnomeconlaveracodifica,sidefinisceancheiltipodidatochevisarcontenutoallevariabiliingioco) INIZIO(definisceliniziooperativodellaprocedura) STAMPAINSERIREILVALOREINLIRE (Visualizza la richiesta del dato daconvertire) LEGGILIRE (ControllailvaloreinseritonellavariabileLIRE) SELIRE>0 (SeilcontenutodellavariabileLIREmaggioredi0eseguiloperazioneseguente) EUROLIRE/1936,27 (Dividi il contenuto della variabile LIRE per 1936,27 edinserisciilrisultatonellavariabileEURO) STAMPALIRE.LIRE=.EURO.EURO (Visualizza la scritta LIRE=, seguita dalcontenutodellavariabileEUROedallascrittaEURO,alfinediottenereLIRE=XX,XXEURO) ALTRIMENTI(Incasocontrario,ovveroilcontenutodellavariabileLIREugualeominoredi0,eseguiloperazionesottostante) STAMPAERROREINSERIREUNVALOREPOSITIVO (Visualizza la scrittaERROREINSERIREUNVALOREPOSITIVO) FINESE (Finedellaroutine 6dicontrollodelcontenutodellavariabileLIRE) FINE (Finedelprogramma)5 Una variabile una porzione di memoria deputata a contenere, temporaneamente, dei dati suscettibili dimodificanelcorsodellesecuzionedelprogramma.6Unaroutineunespressionecheraggruppaunasequenzadiistruzionicostituentiunprogrammaopartedi esso. ECDL - Modulo 1 Concetti base dellITC 17 19. Nelprecedenteesempiosiusatounopseudolinguaggioutilizzandolitalianoper esprimere i comandi che il programma deve eseguire. Per rendere lesempio pi simile ad un linguaggio di programmazione, nel prossimo esempio utilizzeremo termini,edabbreviazioni,illinguainglese. Problema:Calcolareilvaloremedianodiunacertaquantitdinumeri. VAR(Parte introduttiva del programma dove sono definite le variabili utilizzatedallaprocedura) NUMERI[N],N,I,MEDIA (sonodefinitiinomidellevariabiliutilizzate;NUMERI[N] rappresentaunavariabileindicizzata 7contenenteinumeridavalutare) BEGIN (Iniziooperativodelprogramma) PRINTINSERIREN(stampa,omegliovisualizza,lascrittaINSERIREN) READN (LeggicontrollailvaloreinseritonellavariabileN) IFN>0 (SeilcontenutodellavariabileN>di0eseguiloperazionechesegue) I:=0 (AzzerailcontenutodellavariabileI) WHILEIdelcontenutodiN) I:=0 (AzzerailcontenutodellavariabileI) MEDIA:=0 (AzzerailcontenutodellavariabileMEDIA) WHILEIdelcontenutodiN) MEDIA:=MEDIA/N(Si sostituisce il valore della variabile MEDIA con il risultato della divisione tra il suo contenuto con il contenuto della variabileN) PRINTLAMEDIAE.MEDIA(Stampa,omegliovisualizza,lascrittaLAMEDIA EedicontenutodellavariabileN) ELSE (Altrimentieseguiilseguentecomando) PRINTERRORE.N.