informa(ca e cultura dell’informazione – capitolo 0...
TRANSCRIPT
Informa(caeculturadell’informazione–capitolo0–IntroduzioneaSTIC
Cosa è l’Informatica?
• Un insieme di servizi e computer • Un insieme di tecnologie per realizzare strumenti e
servizi per manipolare l’informazione. • La scienza che si occupa dell’elaborazione,
immagazzinamento, e trasferimento dell’informazione
• A noi interessano tutti e tre gli aspetti
• Un concetto centrale: informazione
Informa(caeculturadell’informazione–capitolo0–IntroduzioneaSTIC
• Significato1:[informazione=da(+istruzioni]insiemedeida(sucuioperareedelleistruzioniconcuielaboraretalida(▶ peresempio,nell’operazione1+2sonoen(tàdiinformazioneinumeri1e2el’operatore‘+’
enfasisulladis(nzionetrastruGuraedescrizionedell’operazione▶ chesiscriva“unopiùdue”o“1+2”l’informazioneèlastessa
• Significato2:[informazione=da(consignificato]ciòchesioOenedaida(acuièstatoaGribuitounsignificato▶ peresempio,inumeri1e2sonosemplicida(;diventanoen(tàdiinformazionesoloquandosistabiliscechesiriferiscono,peresempio,ameleoaportaerei
enfasisulladis(nzionetraformaecontenuto
08/11/16 Informa(caeculturadell’informazione–capitolo0–IntroduzioneaSTIC 3
AdoOamoquiilsignificato1
ObieOvo:diventare‘uten&consapevoli’ecapirecomevieneelaboratal’informazione
Letecnologiedisuccessosocialeproduconostrumen(u(lizzabilianchedachinonneconosceideGaglidifunzionamento,grazieallapresenzadiun’appropriatainterfacciautente(userinterface,UI)
08/11/16 Informa(caeculturadell’informazione–capitolo0–IntroduzioneaSTIC 4
Approccio“dall’altoversoilbasso”(top-down):• aprendoilcoperchiodellascatolasitrovanoaltrescatole• sicon6nuanoadaprirecoperchifinoagiungereallivellodide:agliorichiesto• Informa(onHiding
Approccio“ascatolachiusa”(blackbox):interazioneconlascatola(laUIdellostrumento)enonconilsuocontenuto• lostrumentoèpiùfacilmenteusabile• marischiadiessereso:o(eincer6casianchemal)u6lizzato
equindi,incer(casi…
• Mol(strumen(sonosta(progeGa(erealizza(pertraGareinformazione:▶ lema(teservonoperscrivere(nonpertrasferiregrafitesucarta)▶ ivioliniservonopersuonare(nonperprodurreondeacus(che)
• Chedifferenzaconuncalcolatore(computer)?
08/11/16 Informa(caeculturadell’informazione–capitolo0–IntroduzioneaSTIC 5
• Icalcolatorisonodisposi6viprogrammabili
• Macosasignificaprogrammabile?
Un sistema programmabile
• ProgeAs6eprogrammatorimodificanoilcomportamentodelcalcolatoreintervenendosolosullivellosocwareelasciandoinalteratol’hardware
• Conlostessocomputerfacciamomolte(mol6ssime)aAvitàdiverse• Comeèpossibile?
• Diversiprogrammichecodificano,manipolanoedecodificanol’informazioneinmododiverso
Hardware e software
• Daunpuntodivistamoltogenerale:disposi(vohardwarecontrolla(tramitesocware▶ Hardware:ÈtuGoquantohaconsistenzafisicatangibile.Solitamentecon(enecircuiteriaeleGronica.! Interminipi:oreschi:“tu:oquellochesipuòrompereamartellate”.
▶ Socware:Insiemedida(eistruzionichesonomemorizzatedell’hardwareeneregolanoilfunzionamento.! SoLwareèunneologismonatoincontrapposizioneahardware.
Cosa è un calcolatore (computer)?
• Unvelocissimoesecutorediprogrammiperelaborareda(
• Miliardidioperazionialsecondo,manonhaintelligenzapropria
• Tu:oquantoelaboratodauncomputerèfru:odell’esecuzionediunprogramma▶ Glistessirisulta6sarebberoo:enu6daunapersonacheeseguissequelprogramma,anchesequestaimpiegherebbesicuramentemoltopiùtempo(edèovviamenteimproponibileinpra6ca)
• Ilcomputerèl’ogge:opiùstupidomaicostruitodall’uomo!
• Eresia?
08/11/16 Informa(caeculturadell’informazione–capitolo0–IntroduzioneaSTIC 9
le mele nel cesto
le mele nel cesto
Mal’informazionepuòesserepiùcheindicale…
• Perrisolverequestoproblema,sipuò:▶ provareeriprovaredireGamentesuglioggeOfisici
▶ usareen(tàdiinformazionecherappresentanol’oggeGofisico,
trovareunasoluzione‘atavolino’eapplicarla! Regolegeneralieindipenden6dallanaturadeglioggeA
08/11/16 Informa(caeculturadell’informazione–capitolo0–IntroduzioneaSTIC 10
?
• Laprogrammabilitàdiundisposi(voaOeneallemodalitàconcuiessoges(sceinformazione
• Nelcasoprecedentesipuò:▶ fareicon(amente
(=operaresenzaunsupportofisico)
▶ fareicon(concartaepenna(=operareconsuppor(passivi)
▶ fareicon(conunacalcolatrice(=operareconsuppor(“rigidi”)
▶ fareicon(conuncalcolatore(=operareconsuppor(“programmabili”)
Chedifferenza?
08/11/16 Informa(caeculturadell’informazione–capitolo0–IntroduzioneaSTIC 11
?
Perges(reinformazione,sioperasuda(medianteistruzioni:
08/11/16 Informa(caeculturadell’informazione–capitolo0–IntroduzioneaSTIC 12
amente supportomateriale
mente
da( X
istruzioni X
calcolatore supportomateriale
mente
da( Xistruzioni:esecuzione
X
istruzioni:controllo
X
cartaepenna supportomateriale
mente
da( X
istruzioni X
calcolatrice supportomateriale
mente
da( Xistruzioni:esecuzione
X
istruzioni:controllo
X
• Ogniessereumanoelaboraquo(dianamenteinformazioneingrandequan(tàsenzausarestrumen(par(colarmentesofis(ca(
• DuesituazionipossonorenderedifficilequestaaOvità:▶ quandoilproblemasuperauncertogradodicomplessità▶ quandoènecessarioelaborareinformazioneconpar(colarerapidità
• Nelcorsodellastoria,l’uomohacreatomol(strumen(ingradodisupportarlonell’elaborazionedell’informazione:▶ strumen(formali(peres.ilsillogismo)checonsentonoditraGareen(tàdiinformazionedotatediunacertastruGura,ricavandonedelleconclusioniperviapuramenteelabora(va▶ strumen(materiali(modelliinscala,galleriadelvento,…),che“materializzando”leen(tàdiinformazionesucuisioperanefacilitanol’elaborazione
08/11/16 Informa(caeculturadell’informazione–capitolo0–IntroduzioneaSTIC 13
08/11/16 Informa(caeculturadell’informazione–capitolo0–IntroduzioneaSTIC 14
• BlaisePascal(1623-1662)disposi(vomeccanico(ingranaggiaziona(daunamanovella)perl’esecuzionedisommeesoGrazioni
• CharlesBabbage(1792-1871)macchinaprogrammabile:“analy(calengine”▶ Conistruzionidicontrollopercambiareilflussodiesecuzione▶ Troppoavanzataperlatecnologiadeltempo:troppierrorihardware(ruotedentatediprecisione)▶ Nasceilruolodelprogrammatore:AdaAugustaLovelace
• Strumen(disupportoallamemorizzazioneIprimistrumen(perilcalcoloeranoplausibilmente,dopoleditadellemani,strumen(facilidatrasportare,segui(poidaoggeOcomeabaco,palloGoliere,etc.
Calcolatoreeprogrammi
• Ilcalcolatoreèundisposi(voingradodimemorizzareda(eistruzioniedieseguireautonomamentequesteistruzionisuida(adisposizione
• DiversetecnologiemalastruGurarimanelastessa:▶ calcolatorieleGromagne(ci▶ calcolatorieleGronici▶ schedeperforate
• Com’èstru:uratoundisposi6vogeneral-purposeingradodielaborarel’informazionesullabasediunprogrammadefinitodall’utente?
08/11/16 Informa(caeculturadell’informazione–capitolo0–IntroduzioneaSTIC 16
• Uncalcolatoredeveessereingradodi:▶ eseguireistruzionisuda(▶ controllareilflussodell’esecuzione▶ memorizzareida(sucuioperare▶ memorizzaresuccessionidiistruzioni▶ interagirecongliuten(econeventualialtrisistemi
SoGosistemadiinterfaccia
SoGosistemadimemorizzazione
SoGosistemadielaborazione
SoGosistemadiinterconnessione
Haduefunzioni:1. eseguireleistruzioni2. controllareilflusso
dell’esecuzione
Comunicaconuten6oconaltridisposi6vi
Memorizzada6eistruzioni
• Cicloa-f▶ interazionetraunutenteeuncalcolatore▶ esecuzionelocalediunprogrammaoaccessoadocumentazionelocale
• Cicloa-b-e-f▶ interazionetraunutenteeuncalcolatoreremoto,mediatadaunsecondocalcolatoreinreteconilprimo
▶ esecuzioneremotaodistribuitadiunprogrammaoaccessoadocumentazioneremota• Cicloa-b-c-d-e-f▶ interazionetrauten(mediatadacalcolatori▶ esecuzionedistribuitaecoopera(vadiunprogrammaoscambiodidocumentazione
08/11/16 Informa(caeculturadell’informazione–capitolo0–IntroduzioneaSTIC 17
a b c
d e f
08/11/16 Informa(caeculturadell’informazione–capitolo0–IntroduzioneaSTIC 18
1.Input:da(eistruzioni
3.Output:da((risulta(
dell’elaborazione)
2.Elaborazione
equindi,ilcalcolatoresipuòintenderecomeunablackbox:
calcolatoreInput Output
08/11/16 Informa(caeculturadell’informazione–capitolo0–IntroduzioneaSTIC 19
Ricevendounarichiestadall’utente,ilcalcolatoresvolgeinsuccessionedueaOvità:
• controlladiessereingradodiinterpretareilcomando,cioèdiriconoscereilcomandocomecorreGoecorrispondenteaun’azionecheèingradodieseguire
• seilcontrollohadatoesitoposi(vo,eseguel’azioneassociataalcomandoe,quandorichiesto,presentailrisultatoall’utente
Invecediinviarealcalcolatoreuncomandopervolta,l’utentepuòsceglieredicreareunasuccessionedicomandi(=programma)einviarlaalcalcolatore,cheautonomamenteèingradodiinterpretareedeseguireilprogrammastesso,un’istruzionepervoltaMacomescrivereunprogramma?Comecomunicareconilcalcolatore?
08/11/16 Informa(caeculturadell’informazione–capitolo0–IntroduzioneaSTIC 20
L’utente-programmatoreeilcalcolatoredevonoparlareunostessolinguaggio
Un’opzionepotrebbeesseredi“insegnarealcalcolatore”acomprendere(=interpretareedeseguirecomandiespressiin)unalinguastorico-naturalecomel’italianool’inglese
Vantaggiesvantaggi?
Vantaggi:lingueseman(camentericche,equindisicuramenteingradodiesprimereicomandilinguegiànoteall’utente
Svantaggi:
lingueseman(camentericche,equindiarischiodiambiguitàlinguecomplessedainsegnare/imparare
08/11/16 Informa(caeculturadell’informazione–capitolo0–IntroduzioneaSTIC 21
“Eglividechelabenzinapotevaesplodere”oppure“Eglividequellatanicadibenzinaesplodere”?
Questaquestafraseèambigua? “Hesawthatgasolinecanexplode”
08/11/16 Informa(caeculturadell’informazione–capitolo0–IntroduzioneaSTIC 22
Comando:“nellafrase
l'informatica, che in inglese è detta 'computer-science', è interessante anche se difficile
meOingrasseGolaparolaX”• X:“è”
!ambiguo:“computer-science”contacomeunaodueparole?
!ambiguo:qualedelledue“è”?
X:“indecimaposizione”
08/11/16 Informa(caeculturadell’informazione–capitolo0–IntroduzioneaSTIC 23
ProviamoastruGuraremeglioiltesto: “se la condizione A è vera esegui l’istruzione B e poi esegui l’istruzione C”
• !ambiguo:CdeveessereeseguitocomunqueosoloseAèvera?
08/11/16 Informa(caeculturadell’informazione–capitolo0–IntroduzioneaSTIC 24
Comando:“selacondizioneAèveraeseguil’istruzioneBepoieseguil’istruzioneC”• !ambiguo:CdeveessereeseguitocomunqueosoloseAèvera?
LostessocomandovieneriscriGoinunlinguaggiodiprogrammazionesidisambigua:
if(A) { B; } C;
if(A) { B; C; }
seAèveroeseguiB;inognicasoquindieseguil’istruzioneC
seAèveroeseguisiaBsiaC
08/11/16 Informa(caeculturadell’informazione–capitolo0–IntroduzioneaSTIC 25
Un’opzionealterna(va:• creareunlinguaggio“diprogrammazione”,dedicatoallacomunicazioneconilcalcolatore
• Vantaggi:▶ linguaggioprogeGatospecificamente,equindiefficiente▶ linguaggiononambiguo
• Svantaggi:▶ linguaggioformalizzato,equindistruGuralmentediversodallelinguestorico-naturali▶ linguaggiononnotoall’utente
▶ L’obieOvoquindièscrivereprogrammichepossonoessereinterpreta(dalcalcolatoreedessereusa(perelaborareda(
08/11/16 Informa(caeculturadell’informazione–capitolo0–IntroduzioneaSTIC 26
SebbenesiconsideriabitualmentecheoggeGodelcalcolosononumeri,icalcolatorioperanoanchesuda(nonnumerici,cometes(,immagini,musica…Unproblemadielaborazionedida(nonnumericièriconducibileacalcolonumericoseperprimacosaida(vengonocodifica&nellaformadinumeri
Peresempio,untestopuòessereconver(toinunasuccessionedinumerigraziealCodiceASCII:spazio!32;‘A’!65;‘B’ ! 66; …; ‘a’ ! 97; ‘b’ ! 98; …
equindi:“ciaomondo”!991059711132109111110100111Dataquestacodifica,unproblemacome:trasformareunafrasescrivendoconl’inizialemaiuscolatuGeleparolechelacompongono(percui“ciaomondo”dovrebbediventare“CiaoMondo”)èeffeOvamenteunproblemadicalcolo
08/11/16 Informa(caeculturadell’informazione–capitolo0–IntroduzioneaSTIC 27
SeillinguaggiodiprogrammazioneadoGatocon(eneun’istruzionewords_uppercase(),ilproblemasirisolvesemplicemente:words_uppercase(“ciao mondo”) Altrimen(,èilprogrammatoreadover“scomporre”ilproblemainsoGoproblemipiùsemplici,peresempio:1.iden(ficaleparoledacuilafraseècos(tuita2.perogniparola,meOilsuoprimocaraGereinmaiuscoloDatalasuccessione:99 105 97 111 32 109 111 110 100 111 • laprimaistruzionecorrispondeaindividuarenellasuccessionelesoGo-successionidinumeriseparatedalnumero32• lasecondaistruzionecorrispondesoGrarre32alprimoelementodiognisoGo-successione,Unavoltacodifica(numericamenteida(iningresso,ilproblemavienedunquerisoltomediantesempliciistruzionicome“se…èugualea…allora…”,“somma…a…”,ecosìvia
08/11/16 Informa(caeculturadell’informazione–capitolo1–Ilsistemadielaborazione 28
• Algoritmo▶ descrizionedellasoluzionediproblemascriGainmododapoteressereeseguitadaunesecutore(eventualmentediversodall’autoredell’algoritmo)▶ sequenzadiistruzionicheoperanosuda(.
• Programma▶ algoritmoscriGoinmododapoteressereeseguitodauncalcolatore(esecutoreautoma(co)
• Perscrivereunprogrammaènecessariorappresentareistruzionieda(inunformatotalechel’esecutoreautoma(cosiacapacedimemorizzareemanipolare.
• ScriviamounprogrammacomesequenzadiistruzioniinunlinguaggioadaltolivellochesonotradoGeinistruzioniinlinguaggiomacchina,cheilcalcolatoreèingradodiinterpretareedeseguire
• Operiamoadiversilivellidiastrazione• ConceGocomuneamol(ambi(dell’informa(ca:▶ Sistemiopera(vi▶ Re(
• Mafinoadovesipuòarrivare?▶ Esistonofunzioninoncalcolabili?▶ Qualisonoilimi(diuncalcolatore?▶ Cherelazionetralecapacitàdicalcolodeidiversicalcolatori?
08/11/16 Informa(caeculturadell’informazione–capitolo0–IntroduzioneaSTIC 30
Unsistemadicalcolomoltosemplice:• unnastroorganizzatoincelleinognunadellequalièscriGaunabarraonullaeconcodifica“unaria”(1!“/”;2!“//”;3!“///”;…
• unsistemadileGuraescriGuracheoperainbasearegoledellaforma: seseinellostato...enellacellahaileGo...,
alloranellacellascrivi...,passanellostato... esposta(nellacella...
/ / / / / ……Peresempio,ilnastro:
codificainumeri2e3,eilcalcolodellafunzionex+ysipuòrealizzareinquestomodo:
/ / / / / …… / / / / / ……
08/11/16 Informa(caeculturadell’informazione–capitolo0–IntroduzioneaSTIC 31
Intornoal1930l’ingleseAlanTuringelostatunitenseAlonsoChurchproposerolaseguentetesi:
ognifunzione“naturalmenteconsideratacalcolabile”
ècalcolabiledaunamacchinadiTuringLaconseguenzaèsorprendente:l’insiemedellefunzionicalcolabilièlostessopertuOicalcolatori;ledifferenzedicapacitàtracalcolatorisono:• quan(ta(ve(=tempodicalcolo)• enonqualita(ve(=(podifunzionicalcolabili)
ConclusioniDalpuntodivistadelletecnologieeleGroniche,l'informa(caèincon(nuaerapidissimaevoluzione.▶ Aumentalavelocitàdielaborazione▶ Aumentalacapacitàdimemorizzazione▶ Diminuiscelospaziofisicooccupatodaidevice▶ Aumental'interaOvitàcongliesseriumani
DalpuntodivistadellaprogeGazionesocware,l'informa(caèincon(nuaerapidissimaevoluzione▶ Aumentanoiservizielasofis(cazioneconceGualedelleapplicazioni▶ Aumentalafacilitàd'usoel'amichevolezzagraficanell'uso▶ Aumental'interaOvitàcongliesseriumani
Madalpuntodivistateorico,l'informa(caèunascienzastabile▶ IconfiniconceGualiraggiungibilielateoriadell'informazionisonostabili(inmanieraindipendentedallatecnologia▶ LatesidiChurch-TuringfornisceilcriteriofondamentalediequivalenzatramacchineedefinisceilconceGostessodicalcolabilitàdiunproblema