laboratorio di informatica - unibas.it...sistema operativo un programma è una sequenza di...
TRANSCRIPT
![Page 1: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/1.jpg)
LABORATORIO DI INFORMATICA Lezione 4/11/2016
Lezione 11/11/2016
![Page 2: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/2.jpg)
DefinizionediS.O.Sipotrebbeado2arequellapercuiilS.O.èquelprogrammasempreinesecuzione,ilkernel(nucleo)cioèilcuoredelsistemaso?waredellamacchina
●ilprogrammacheagiscecomeintermediariotral'hardwaredellamacchinael'utentedelcomputerIlSOsifrapponetraidisposiFvifisicieiprogrammiapplicaFviuFlizzaFdagliutenFrealizzandol’astrazionenecessariaperchéiprogrammipossanoprescinderedall’hardwareso2ostanteesipossafornirelorounlivellodiservizicomune
GliobieJvidelS.O.sono:●eseguireiprogrammiutenteesemplificarelasoluzionedei“problemi”dell'utente●rendereil“sistemacomputer”agevoledauFlizzare●sfru2arel'hardwaredelcomputernellamanierapiùefficientepossibile●controllareecoordinarel'usodell'hardwaredapartedeidiversiapplicaFvideidiversiutenF
SISTEMA OPERATIVO
![Page 3: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/3.jpg)
UnodegliscopifondamentalidelSOèlages(oneefficientedellerisorsediunsistemadicalcolo,intendendoperrisorseiltempodiCPU,lamemoria,idisposiFvidiI/Oecc.NellagesFonedellerisorseilSOdevedirimerequesFonirelaFveallaconfli2ualitàdellerichiestesiadapartedeiprogrammichedegliutenFmantenendosemprealtal’efficienzadelsistema
IprimiSOeranomoltosemplicielalorofunzionesiriducevaadeseguireinsequenzaloJ(batch)dilavoro(job=insiemedilavori)LaconsiderazionecheunsingoloutentenonriesceatenerecostantementeimpegnatalaCPUportòallacreazionediSObatchmulFprogrammaFincuilacoesistenzadipiùlavoriinmemoriaoJmizzal’uFlizzodellaCPUdatochedurantel’a2esadiI/O(lento)dapartediunlavorolaCPUneportaavanFunaltroina2esacheilprimosiaprontoperlesuccessiveelaborazioni
SISTEMA OPERATIVO
![Page 4: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/4.jpg)
SISTEMA OPERATIVO
Unprogrammaèunasequenzadiistruzionielementarichepossonoessereeseguitedalsistemadielaborazione;ogniprogrammalavorasudiunaseriediinformazionichecosFtuisconol’inputeforniscedeirisulta0chevengonode4output.Unprogrammainesecuzionevienede2oprocesso.Sidefiniscecomeso7warel’insiemedeiprogrammichepossonooperaresulcalcolatore,cioèlacomponentelogicadiunelaboratore,incontrapposizioneallapartefisicade<ahardware.
Ilso?warediunsistemainformaFcovienenormalmentesuddivisoinduecategorie:-So?waredibase:dedicatoallagesFonedellefunzionielementaridell’elaboratore;taleso?warelavoradire2amentesullivellofisico(hardware)dellamacchina;-So?wareApplica0vo:dedicatoallarealizzazionediparFcolariesigenzedell’utenteecheriesceadagiresull’elaboratoresoloconiltramitedelso?waredibase.
![Page 5: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/5.jpg)
software
applicativo sistema
prog. utilità sist. Operativo
shell kernel
So7wareapplica(vo:Programmiperl’esecuzionedicompiFparFcolari:excel,word,etc;
So7waresistema:Ambienteincuirisiedeilso?wareapplicaFvo
Programmidiu(lità:eseguonoaJvitàfondamentaliperlagesFonedelcomputer,ovveroswcheaumentanolefunzionalitàdelS.O.es:forma2azione,copiadiunfile,etc
SISTEMA OPERATIVO
Lasuccessivaevoluzioneèquelladel Fme sharing (parFzione ditempo) o mul0tasking chea g g i u n g e v a a i s i s t e m imulFprogrammaF a loJ lapossibilità di interazione conl’utente durante la lavorazionedeijob.Nei sistemi Fme sharing la CPUviene dedicata ciclicamente adogni processo inmodo che ogniutente abbia l’impressione didisporre completamente delcomputer.
![Page 6: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/6.jpg)
6
UFlizzodellaCPUneiprocessi
UFlizzodellaRAM
![Page 7: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/7.jpg)
Shell:(guscio)èriservatalacomunicazionecongliutenFdelcomputer,PromtdelDOS
OggisonofornitetramiteleGUI(GraphicalUserInterface),icone,dialog,comboboxetc.
Lashellèsemplicementeunainterfacciatral’utenteedilkerneldelSitemaOperaFvo.
Kernel:conFenecomponenFso?warecheeseguonolefunzionidibasedelcomputer,coordinamentodellamemoriadimassa,collocazionedeifiletramitecartelleinstru2urede2eadalbero,comeilfilemanager
Ilkernelècompostodaunaraccoltadidriverdiperiferica,unitàso?warechecomunicanoconicontrollerdelleperiferiche.
Unulteriorecomponenteèilmemorymanager,chehailcompitodicoordinarel’uFlizzodellamemoriaprincipaledelcomputer.
SISTEMA OPERATIVO
![Page 8: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/8.jpg)
Lamemoriacentrale,similmenteall’unitàdielaborazione,èunarisorsadisistemageneralmentescarsa,dasuddivideretraivariprocessiincompeFzione.IlsistemaoperaFvodevequindioccuparsidelmodoincuiisingoliprogrammioccupanolamemoria,inmodocheogniprocessoabbial’illusionediunarisorsamemoriavirtualmenteinfinita.Inrealtà,lamemoriacentraleèpiu2ostodeficitariarispe2oalleesigenzedelprocessoodeiprocessichevoglionoandareinesecuzione;diconseguenzavienecaricatainmemoriacentralesolounapartediprogramma,mentreilrestopermanenellamemoriasecondaria.
Quandoilprocessorerichiedeulterioriistruzionivienecaricataun’altrapartedelprogrammaecosìviafinoadesaurireilprogrammastesso.InquestomodogliutenFlavoranocomeseavesseroinmemoriacentraletuJiprogrammidalororichiesFvedendounamemoriamoltopiùgrandediquellarealede2a,appunto,memoriavirtuale.Ladimensionedellapartediprogrammadatenereinmemoriacentraleèunparametrocri(co:unapiccolaquan(tàrichiederebbemol(trasferimen(dallamemoriasecondariaperterminarel’esecuzione,mentreunagrandequanFtàdiminuirebbeilnumerodeipossibiliprocessipresenFinmemoria.
![Page 9: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/9.jpg)
• Perpoterorganizzarecorre2amentel’enormemoledidaFchepuòesserecontenutanellamemoriadimassasiricorreadunaunitàastra2adimemorizzazionede2afile;unfileèunasequenzadicaraJericheraggruppaunaseriedida(omogenei,comeleistruzionidiunprogrammaoiltestodiunarelazione.L’insiemediprogrammidelsistemaoperaFvochesioccupanodellagesFonedellamemoriasecondaria,siadalpuntodivistalogicochefisico,vienequindide2ofilesystem.• Scopoprincipalediunfilesystem,dalpuntodivistadell’utente,èquellodiconsen0reunaorganizzazionelogicadeivarifileraggruppandolisecondocriteristabiliFdall’utentestesso.Unfilesystemdeve,inoltre,dareanchelapossibilitàdiassociareadognifileunnome,devegesFrelacorrispondenza fra talenomee laposizionefisica realmenteoccupata (indefiniFva trasformare leoperazionilogichesufileinoperazionifisichesublocchidimemoriadimassa),fornendogliopportunimetodiperaccedereaidaFinmododaoJmizzareitempidireperimentodelleinformazioni;deve,infine,gesFredeimeccanismidiprotezionedellariservatezzadeidaFelospazioliberoderivantedafilecancellaF.• Ilmodoincuiunfilesystemorganizzaivaridocumen0contenu0all’internodellamemoriadimassapuòesserespiegatoricorrendoalparagonedeicontenitori.Immaginiamoche lamemoriasecondariasiaungrandecontenitoredoveriporre inmodoordinatoalcunioggeJpresenFinunacamera(ifile);all’internodiquestocontenitorepossonotrovarepostoaltricontenitoripiùspecifici:adesempio,unoperigiochi,unoperglioggeJdicancelleria
![Page 10: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/10.jpg)
Ilcontenitoreprincipaleprendeilnomediradice(root),mentreglialtricontenitorivengonodeJdirectoryelalorodipendenzagerarchicapuòessereevidenziatadaquellachesichiamastru<uraadalbero.
![Page 11: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/11.jpg)
Normalmente,perspecificareilFpodifile,sifausodiquellachevienede2aestensione;l’estensioneèungruppodicara2eri(usualmente3)chesegueilnomedelfileedèseparatodaquestodaunpunto.Talicara2erispecificano,tramiteuncodice,ilcontenutodeldocumento;fileconestensione.COMo.EXEconterrannodeiprogrammi,altriconestensione.DOCdeidocumen0genera0dalprogrammaWordecosìvia(lasuccessivatabellariportaalcunedelleestensionipiùcomuni).
/docx
![Page 12: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/12.jpg)
Programma di bootstrap
Sistema Operativo
ROM
RAM
Il programma di bootstrap dirige il trasferimento del sistema operativo nella memoria principale e poi trasferisce a questa il controllo
Il programma di bootstrap viene eseguito quando accendiamo il computer
L’avvio del sistema operativo si attua per mezzo di una procedura detta bootstrap che il computer esegue ogni volta che viene accesso. Questa procedura trasferisce il sistema operativo dalla memoria di massa (HD) in quella principale (RAM).
SISTEMA OPERATIVO
![Page 13: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/13.jpg)
13
IlTermineBasicInput-OutputSystemoBIOSèuninsiemedirouFneso?ware,generalmentescri2esuROM,FLASHoaltramemoriaRAMnonvolaFle,chefornisceunaseriedifunzionidibaseperl'accessoall'hardwareealleperifericheintegratenellaschedamadredapartedelsistemaoperaFvoedeiprogrammi.NeiprimiPCIBMilBIOSsupportavatu2eleperifericheeilDOSfacevacompletoaffidamentosudiessoperleoperazioniabassolivello,maconl'evoluzionetecnologicasuccessivalecapacitàoffertedallerouFnedigesFonedelBIOS(all'epocanonaggiornabili,perchéscri2einROM)divennerorapidamenteinsufficienF.A2ualmenteimodernisistemioperaFvi(AdesempioWindowsoLinux)nonusanopiùilBIOSperlelorooperazionidiI/Omaaccedonodire2amenteall'hardware.IlBIOSèscri2odisolitonellinguaggioassemblynaFvodellafamigliadiCPUuFlizzata.A2ualmenteilBIOSdeiPCèscri2osumemorieEEPROMriscrivibili,quindipuòesseremodificatoeaggiornato:generalmenteicostru2orime2onoadisposizionenuoveversionidiBIOSpercorreggeredifeJoaggiungeresupportoaperiferichehardwarenonprevisteinizialmente.L'operazionediaggiornamentovaeseguitaconcautela,perché,senonvaabuonfine,peresempioacausadiunblackout,puòrenderelaschedamadreinuFlizzabile.BIOS:richiamoallaparolagrecaβιος(bios)vita.
![Page 14: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/14.jpg)
Programma:insiemestaFcodiistruzioni.
Processo:AJvitàdinamicalecuiproprietàcambianoconilpassaredeltempo.IlprocessoFenetracciadellostatocorrentedell’aJvità,ovveroèunafotografiaistantaneadelcomputerinquelmomento.
LeaJvitàassociatealcoordinamentodeiprocessisonogesFtedalloscheduleredaldispatcher,chefannopartedelkerneldelSO.
LoschedulerFenetracciadeiprocessiinternidelsistema,neaggiungenuovierimuovequelligiàterminaF.(tabelladeiprocessi).
Dispatcher:verificacheiprocessisianorealmenteeseguiFassegnandoundatotempoperciascunodiessi(50msecperogniquantoditempo),allafinediognitempovieneinviatounsegnalediinterrupt.L’effe2oèquellodiinterromperemomentaneamenteilprocesso(comequantosileggeunlibro)inmododaeseguiresempreilprocessoconlaprioritàpiùalta!
Uninterruptèunsegnaleinviatodauncontrollerperrichiederel'a2enzionedapartedellaCPUmentreèinesecuzioneunaltroprocesso
SISTEMA OPERATIVO
![Page 15: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/15.jpg)
UncompitoimportantedelsistemaoperaFvoèl’assegnazionedellerisorsedelcomputeraiprocessi.
1) Ilfilemanager:assegnal’accessoaifileelospaziodeldiscoperlacreazionedinuovifile
2) Ilmemorymanager:assegnalospazioinmemoria
3) Loscheduler:assegnalospazionellatabelladeiprocessi.4) Ildispatcher:assegnaleporzioniditempoperciascunprocesso
Esistonomol(problemiinsistemiprogeJa(inmodosoddisfacente.Ricordatesempreche“almomento”uncomputernonpensamaeseguesolamentedelleistruzioni;pertantopercrearesistemiopera(viaffidabilidobbiamosvilupparealgoritmiaffidabilichetraJanoqualunqueproblema,apar(redalquellopiùelementare
SISTEMA OPERATIVO
![Page 16: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/16.jpg)
16
ImmaginiamodiuFlizzareunamacchinacuiècollegataunasolostampante:QuandounprocessodevestamparechiedealS.O.l’uFlizzodeidriversdellastampante:
Printer free?
SI No
MeJina2esafinoaquandolastampantenonèpronta
Stampa
SipossonouFlizzaredeiflag(bandieruole)1(impegnata)e0(libera)PeruFlizzarequestoprocessosonoindipensabilinumeroseistruzionimacchinacheperlaloroesecuzionerichiedonouncertotempodiesecuzione>interrupt
![Page 17: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/17.jpg)
17
IlrisultatoèchedueprocessiuFlizzanocontemporaneamentelastampante.UnasoluzionepotrebbeesserequelladiuFlizzaredeisemaforicheaJvanoodisaJvanogliinterruptmentrevieèqualcosainesecuzione,unsistemadiquestoFpoèmoltoanalogoaisistemiuFlizzaFinferrovia.Unaltroproblemanell’assegnazionedellerisorseèlostallo:Ovveronessunodeidueprocessivainesecuzioneperchéa2endel’assegnazionedellerisorsedesFnateall’altro.EssisipossonoverificaresolosesonosoddisfaJetrecondizioni:
1)CompeFzionetrarisorse2)Lerisorsesonorichiestesubaseparziale(ovveronepuòchiederealtreinunsecondomomento)3)Unavoltacheèstataassegnata,nonpuòessererimossaforzatamente
![Page 18: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/18.jpg)
18
Laragioneperevidenziarequestetrecondizionièchelostallopuòessererisoltorimuovendounadelletre.
Amministratoreeliminaunodeiprocessi(kill)
![Page 19: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/19.jpg)
IL PROMPT DEI COMANDI • MS-DOS è l'acronimo di "Microsoft - Disk Operating
System“ • Il primo di una lunga serie di sistemi operativi della
Microsoft • E’ un sistema operativo commercializzato dal giugno
1982 al 2001 • Fino alla commercializzazione di Microsoft Windows
95, MS-DOS è stato il sistema operativo per personal computer più diffuso al mondo.
![Page 20: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/20.jpg)
20
MSDOS(Microso?DiskOpera0ngSystem)ènatopericomputerdellaserieIBM(ecompaFbili).QuesFcomputersonobasaFsuiimicro-processoriprodoJdaIntel.
L'IBMPCfùprodo2onel1981,aveva640KdiRAM,uninterfacciaacasse2eedillinguaggioBASICinROM,ilmicroprocessoreeraun8088dell'Intel,elamemoriaeralimitataa1Mbyte,dicui640KdiRAM,eglialtririservaFperleperiferichehardwarecomeschedegraficheedespansioni.Ilprocessore8088eraad8bitprocessor,ilsuoclockeraa4.77Mhz.Insiemeconl'IBMPCfuintrodo2ol'MSDOS(prodo2odallaMicroso?,edispiratoalCP/MdellaDigital),cheancoranonsupportavalastru2uragerarchicadelledirectory.Nel1984IBMiniziaacommercializzarel'IBMAT(AdvancedTechnology),basatosulIntel80286a16bit,ad8MHz.Nel1987esconoiprimiPCbasaFsull'Intel80386(prodoJdaCompaq)a32bit.MSDOS,seppurnotevolmenteaggiornato,presentaisuoilimiF,inparFcolareperlagesFonedellamemoriaelamancanzadiuninterfacciagrafica.Sumacchinebasatesul80386(esuisuccessivi80486eprocessoridellafamigliaPenFum)possonogirarealtrisistemioperaFvi:Windows3.1(semprebasatosuMS-DOS),OS-2edUnix.Afine1994esceunUnixfreepericomputerconprocessoriIntel(LINUX),nel1995Microso?rilasciaunnuovosistemaoperaFvoa32bitcompletamenteindipendentedalDOS:Windows95.Ilsuo"fratellomaggiore",piùorientatoallereF(edinparteispiratoadUnix)WindowsNTèdisponibiledal1994.
![Page 21: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/21.jpg)
21
LaparteprincipaledelsistemaMSDOSècontenutaintrefile:MSDOS.SYSIO.SYSCOMMAND.COMIO.SYSsioccupadelrapportoconl'hardwareeconFeneidriverperleseguenFperifericheconsoledisplayetasFerastampantecomunicazioneserialeclockbootdiskdriveMSDOS.SYSsioccupadelrapportotraMSDOSeleapplicazioni.GesFscequindi:organizzazionedifileerecordorganizzazionedellamemoriainputandoutputdeicara2eriesecuzionedeiprogrammiCOMMAND.COMèilprogrammadelloshell,interpretaicomandiinviaFdall'utente,presentailprompt,econFeneicomandiinterni.Undische2odoveèpresenteilsistemaMSDOSdevecontenerequesFtrefile.IlrestodelsistemaoperaFvoconsisteinunaseriediuFlityocomandiesterni.
![Page 22: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/22.jpg)
• Come praticamente tutti i sistemi operativi per personal computer del periodo, l'MS-DOS era un sistema operativo monoutente e monotask • La digitazione dei comandi consente di eseguire
attività nel computer senza utilizzare l'interfaccia grafica di Windows • Viene generalmente utilizzato solo dagli utenti
più esperti. • Nonostante oramai sembri vecchio e superato dai
nuovi e potenti sistemi operativi, Dos ancora oggi può risultare utile
![Page 23: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/23.jpg)
• Il termine prompt dei comandi è riferito alla parentesi angolare chiusa ‘>’ che indica che l'interfaccia della riga di comando è pronta per accettare comandi
• Tutto ciò che c’è scritto prima del segno ‘>’ indica la
directory corrente di lavoro • Esempio: Se all'apertura della finestra del prompt
dei comandi viene visualizzato il prompt: C:\documenti> significa che i comandi che immetteremo verranno eseguiti nella cartella documenti dell’unità C del computer.
![Page 24: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/24.jpg)
• PeraccedereallalineadicomandodelDosomeglioallafinestradiWindowscheconFeneilprompt,occorre:• cliccaresu“Start->Esegui”edigitarecmd• oppurecliccaresu“Start>Programmi>Accessori>Promptdeicomandi”
• Pervisualizzareunelencodicomandicomuni,dalpromptdeicomandidigitarehelpepremereINVIO• Primadiimparareicomandi,èimportateconoscerelasintassi
![Page 25: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/25.jpg)
• OgnicomandoDossiavvalediopzioni(switch)• Leopzionisonounaseriedicodiciche,aggiunFallafinediciascuncomando,perme2onodiestendernelefunzioni• esempio:del/P(chiedeconfermaprimadieliminareognifile)
• Perconoscerel'elencodelleopzioni,e'statapredispostaun’opzionegenericachepuo'essereuFlizzatapertuJicomandi:• occorredigitarenelpromptilnomedelcomandoseguitoda/?
• Esempio:del/?
![Page 26: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/26.jpg)
ALCUNICOMANDIUTILI:• cdnome_cartella• Ilcomandocdperme2edicambiarecartella.• ATTENZIONE:cd..ecd.
• chdirnome_cartella• Ilcomandochdircambialadirectorycorrenteenevisualizzailnome
• chkdsk• Ilcomandochkdskverificaildiscoevisualizzaunarelazionesulsuostato.
![Page 27: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/27.jpg)
• copy • Il comando copy permette la copia di file o
gruppi di file. • del nome_file • Il comando del elimina uno o piu' file.
• rd nome_cartella • Il comando rd elimina uno o piu' directory.
• dir • Il comando dir visualizza l'elenco dei file e delle
sotto directory di una directory.
![Page 28: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/28.jpg)
• mkdir• ipconfig• Ilcomandoipconfigperme2ediconoscereilproprioindirizzoIP,quellodelSUBNETMASKedelGATEWAY.• Ilcomandomkdircreaunanuovadirectory
• edit• IlcomandoeditavviaMS-DOSEditorpercreareomodificareifileASCII
• move• Ilcomandomovespostafileocartellesuunnuovopercorso.
![Page 29: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/29.jpg)
• type• Ilcomandotypevisualizzailcontenutodiunfileditesto.
• cls• Ilcomandoclscancellailcontenutodellaschermata.
Cara2eriJolly• Perme2onodiriferirsiapiùfilecontemporaneamente.• CosFtuisconounostrumentoperspecificareparzialmenteunnomedifileinmodotalechepiùfilecorrispondanoallespecificheenunciate.• Esistonoduediversicara2erispeciali:‘*’e‘?’• “*”sosFtuisceintereparoleogruppidicara2eri• Ades.*.BAT;LET*.DOC;PIPPO.*;*.*
![Page 30: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/30.jpg)
• Ilcara2ere‘?’sosFtuisceunsingolocara2erenellaposizioneincuivieneinserito• E’possibileinserirepiùcara2eri“?”:• ades.???.*(visualizzatuJifileconunnomedi3cara2eriequalunqueestensione);• LETT?RA.TXT(visualizzaades.ifileLETTERA.TXTeLETTURA.TXT).
• Terminareunaesecuzione:• Sesivuolebloccarel’esecuzionediuncomando,ènecessariopremereitasF
“CTRL”+“C”contemporaneamente.• Ilcomandononpuòriprenderel’esecuzione
![Page 31: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/31.jpg)
31
• Alcuni tasti utili: • tasto F3: scrive sul prompt l'ultimo comando
eseguito, senza però eseguirlo. • tasto F7: visualizza la cronologia dei comandi
scritti precedentemente nel prompt. I comandi si possono riutilizzarli senza doverli scrivere. • tasto F8: scorre i comandi eseguiti a ritroso,
partendo dal più recente. Se prima di premere F8 si digitano alcuni caratteri vengono mostrati solo i comandi che così iniziano. • tasto tabulazione: completamento automatico
del comando
![Page 32: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/32.jpg)
32
FILE BATCH • Un file di testo contenente una sequenza di
comandi interpretabili dal prompt dei comandi si chiama file batch • Il prompt dei comandi esegue ad uno ad uno i
comandi elencati nel file. • Nei sistemi Unix, i file batch si chiamano shell
script • I comandi batch di MS-DOS devono avere
estensione .bat • Percreareunfilebatch:• avviareuneditorditesto(adesempioBloccoNote)• inserireicomandinell’ordineincuivogliamosianoeseguiF• salvareilfileconnomeconestensione.bat• lanciareloscriptdalpromptdeicomando
![Page 33: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/33.jpg)
• Percreareunfilebatch:• avviareuneditorditesto(adesempioBloccoNote)• inserireicomandinell’ordineincuivogliamosianoeseguiF• salvareilfileconnomeconestensione.bat• lanciareloscriptdalpromptdeicomando
• Comandiprincipali:LINUX• man:manualecomandi• ls:perelencareilcontenutodiunadirectory• cd:perspostarsiall'internodelledirectorydelfilesystem• mkdir:percrearedirectoryall'internodelfilesystem• cp:percopiarefileodirectory• rmermdir:percancellarefileodirectorydalfilesystem.
![Page 34: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/34.jpg)
cd\ (porta in C: ) cd nome_cartella “cambia directory” cd.. “Riporta alla percorso precedente” dir “esegue il listato dei file contenuto nella cartella” mkdir nome_cartella “crea una cartella nuova” del nome_file “cancella un file” help “listato delle istruzioni”
La shell di DOS istruzioni fondamentali:
34
![Page 35: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/35.jpg)
35
ComandiprincipaliUncomandohaunasuasintassiossiahadelleregoleprecisecheperme<onoalDOSl’esa<ainterpretazionediquantovogliamofare.Lasintassivieneindicataintalmodo:<nomecomando>[parametri][opzioni]sinoFchesièusato<>e[];leprimeindicanol’obbligatorietàdiquellochecontengono,lesecondeinvececiinformanocheilcampoèopzionale.SinoFanchecheicampisonoseparaFdaspazi.TuJicomandihannoun’opzionesempredisponibile“/?”.Essafornisceunaiutoinlineadelcomandostesso.
![Page 36: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/36.jpg)
36
DIRVisualizzal'elencodeifileedelleso2odirectoryinunadirectory.SintassiDIR[unità:][percorso][nomefile][/P][/W][/O[[:]ordinamento]][/S]
[/B][/L][/V]Parametriunità:Specifical’unitàdicuisidesideravisualizzarel’elenco.percorsoSpecificaladirectorydicuisidesideravisualizzarel’elenco.nomefileSpecificailfileoilgruppodifiledicuisidesideravisualizzarel’elenco.Opzioni/PVisualizzal’elencounaschermatapervolta.Perpassareallaschermatasuccessiva,èsufficientepremereuntasto./WVisualizzal’elencoinformatoampio,elencandofinoacinquefileodirectoryperriga./OElencaifilesecondounordinamentospecificato.ordinamentoNPernome(alfabeFco).SPerdimensione(dalpiùpiccolo).EPerestensione(alfabeFco).DPerdataeora(dalpiùrecente).GDirectoryprimadeifile.Prefisso“-“perinverFrel’ordine./SVisualizzaifilenelladirectoryspecificataeintu2eleso2odirectory./BUsailformatosemplice(solonomi,senzaintestazioni)./LUsalele2ereminuscole./VVisualizzazionecompleta.
![Page 37: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/37.jpg)
37
MDCreaunadirectory.SintassiMKDIR[unità:]percorsoMD[unità:]percorsoParametripercorsoSpecificaladirectorychesidesideracreare.unità:Indical’unitàsucuicreareladirectory.RDRimuove(elimina)unadirectory.SintassiRMDIR[unità:]percorsoRD[unità:]percorsoParametripercorsoSpecificaladirectorychesidesideraeliminare.unità:Indical’unitàsucuieliminareladirectoryspecificata.IlcomandohaesitoposiFvosoloseladirectoryspecificatanonconFenealcunfile.COPYCopiaunoopiùfileinun’altraposizione.SevengonocopiaFpiùfile,MS-DOSvisualizzailnomediciascunfilemanmanochevienecopiato.SintassiCOPYorigine[des0nazione][/V]
![Page 38: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/38.jpg)
38
FORMATForma2aildisconell’unitàspecificataperacce2areifilediMS-DOS.IlcomandoFORMATcreaunanuovadirectoryprincipaleeunatabelladiassegnazionedeifileperildisco.E’anchepossibilecontrollareleareedanneggiatesuldiscoedeliminaretuJidaFsuldisco.PerconsenFreaMS-DOSdiuFlizzareundisconuovo,uFlizzareinnanzitu2oquestocomandoperforma2areildisco.SintassiFORMATunità:[/V[:e@cheBa]][/Q][/F:dimensione][/S]Parametriunità:Specifical’unitàcheconFeneildiscochesidesideraforma2are.Opzioni/V:eFche2aSpecifical’eFche2adelvolume.Un’eFche2adelvolumeidenFficaildiscoepuòcontenereunmassimodi11cara2eri.Sesiome2el’opzione/VolasiuFlizzasenzaspecificarel’eFche2adelvolume,MS-DOSrichiedel’eFche2adelvolumedopochehaterminatolaforma2azione.Sesiforma2apiùdiundiscouFlizzandoilcomandoFORMAT,verràassegnatalastessaeFche2adivolumeatuJidischi./QSpecificaunaforma2azionevelocediundisco.Tramitequestaopzione,FORMATeliminalatabelladiassegnazionedeifile(FAT)eladirectoryprincipalediundiscoforma2atoinprecedenza,manonesaminaildiscoperverificarelapresenzadiareedanneggiate.SidovrebbeuFlizzarel’opzione/Qperforma2aresolodischigiàforma2aFinprecedenzachenonsonosicuramentedanneggiaF./F:Specificaladimensionedeldiscofloppydaforma2are.UFlizzareunodeiseguenFvaloriper“dimensione”:720indicadischida3,5pollicidicapacità720Kb,adoppiafacciaedoppiadensità;1440indicadischida3,5pollicidicapacità1,44Mb,adoppiafacciaequadrupladensità(ormaiipiùdiffusi).Avvertenza:NonformaJareundiscofloppyinmisuramaggioreaquellastabilita./SCopiaifiledisistemainusoIO.SYS,MSDOS.SYSeCOMMAND.COMdall’unitàdiscodiavviodelsistemasuundiscoforma2atochepuòessereuFlizzatocomediscodiavviodelsistema.
![Page 39: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/39.jpg)
39
CHKDSKControllaildiscoeneriassumeidaFriguardanFlostato.SintassiCHKDSK[unità:][[percorso]nomefile][/F][/V]Parametriunità:Specifical’unitàdacontrollare.percorsoSpecificaladirectorydacontrollare.nomefileIl/ifiledicuicontrollarelaframmentazione.Opzioni/FCorreggeglierroritrovaFneldisco./VVisualizzailnomeeilpercorsocompletodiognifilecontrollato.NoteDigitareCHKDSKsenzaparametripercontrollareildiscocorrente.CLSCancellaloschermoSintassiCLS
![Page 40: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/40.jpg)
40
Filebatch·Unprogrammabatchèunfileditesto,ASCII,checonFeneunasequenzadicomandiDOS·Ifilebatchhannoestensione.BAT·IcomandiDOS,all’internodeiprogrammibatch,sonoeseguiFsequenzialmenteQuindiunprogrammabatchèunfileASCIIconunacorrispondenza1a1frarigaecomando.CiòvuoldirecheognicomandodevestareinunarigaecheicomandiverrannoeseguiFnell’ordineincuisonostaFinseriF.IlDOSriconoscecomeprogrammabatchifileconestensione.BAT.Pereseguireunprogrammabatchbastadigitareilnomedelfile(anchesenzaestensione).Unavoltaeseguitoilprogrammabatchilcontrolloritornaall’utente.Percreareilfilebatchsipuòusarel’EDITdelDOS.Nelnostrocasoadesempiopotremodigitare.C:\>EDITSALVA.BATAquestopuntobasteràscriverelelinee:COPYA:*.*C:\LAVORO\OLDCOPYC:\LAVORO\*.*A:\esalvareilfile.
![Page 41: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/41.jpg)
41
L’harddiskdelcomputerècomeunagrandebiblioteca:setuJilibrifosseromessiallarinfusasenzauncriterio,trovarlisarebbeimpossibile.Aimmagazzinarecorre2amenteidaFsulcomputercipensailFileSystem(diseguitochiamato“FS”percomoditàdiscri2ura).InquestaguidaspiegheremocomescegliereilFSdauFlizzare.QUALISONOIFILESYSTEMEsistonovariFpidiFS:ilprimoepiùuFlizzatonellastoria(cometempodiuFlizzo)èilFAT(FileAllocaFonTable),FAT32aparFredaWindows98.QuestoFSèstatoproge2atoinizialmenteperpia2aformeDOSecelotrasciniamodietrotu2’oggi.QuandoMicroso?halanciatosulmercatoisistemiNT,hasviluppatounnuovoFS,chiamatoNTFS(NTFileSystem)cheimplementavanuovefunzionalitàrispe2oalprecedenteedèpiùindicatopersistemiorientaFallereF.FILESYSTEMESISTEMIOPERATIVIIlFAT32èunFScheètu2’oggiinuso,sebbenelatendenzasiaquellaaprediligerel’NTFS.QuandoinstalliamounsistemaoperaFvoWindows95/98/MElasceltaèobbligata:FAT32.QuandoinveceinstalliamounsistemaoperaFvoWindowsNT/2000/XPèpossibilescegliereilFSdauFlizzare:inquestocasoabbiamosiaFAT32cheNTFS.
![Page 42: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/42.jpg)
42
FAT32:rappresentaunaversioneavanzatadellaFATchepuòessereuFlizzatacondischirigidida512MBa32GB,edoffrelacompaFbilitàcontuJisistemioperaFvi.NelcasolaparFzionesiapiùgrandedi2GBuFlizzareFAT32;SelaparFzionesuperai32GBbisognanecessariamenteuFlizzarel'NTFS.NTFS:sicuramenteraccomandatoperuFlizzareWindowsXP,presentatu2elepotenzialitàdibasedellaFATconinpiùiseguenFvantaggi:-maggiorsicurezza,-migliorecompressionedisco,-supportopergrandiharddisk,finoa2TB(TeraBytes).
![Page 43: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/43.jpg)
SVILUPPO DI UN SOFTWARE LE FASI analisi
progettazione
implementazione
test
documentazione
![Page 44: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/44.jpg)
Analisi: L’obiettivo principale è identificare quali servizi il sistema proposto dovrebbe eseguire ed identificare eventuali condizioni di funzionamento. Una volta identificato il probabile utente, si passa a formare l’insieme dei requisiti che il nuovo sistema dovrà soddisfare (es: accesso dei dati ad un numero limitato di utenti) Progettazione: Mentre l’analisi si concentra su ciò che il sistema deve fare, la progettazione si focalizza sul modo in cui il software raggiungerà questi obiettivi. E’ in questa fase che viene decisa la struttura del sistema software Implementazione: effettiva scrittura del programma, processo di tipo top-down, in cui vengono sviluppati i singoli moduli e poi combinati. Test: Il processo di testing avviene in due forme 1) la prima, chiamata test di validazione, serve a confermare che il sistema implementato sia conforme ai requisiti e alle specifiche identificati nella fase di analisi. 2) test degli errori, individuazione e correzione degli errori. Attualmente viene immessa nel mercato una versione chiamata beta testing: i vantaggi sono duplici: verificare il funzionamento corretto del sistema e strategie di mercato tramite il giudizio dei clienti.
![Page 45: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/45.jpg)
I primi approcci all’ingegneria del software insistevano sull’esecuzione strettamente sequenziali delle fasi di analisi, progettazione, implementazione e test. Ovvero si attendeva il completamento della fase precedente, prima di passare a quella successiva il modello era di tipo a cascata. In anni recenti in contrapposizione al modello a cascata si è sviluppato il modello incrementale, in tale modello vengono di volta in volta aggiunti nuovi componenti, ovvero la versione iniziale è una versione semplificata del modello finale. I sistemi operativi open source (sorgente aperta) sono di tipo incrementale es LINUX XP (extreme programming) sono l’evoluzione del modello a cascata, secondo il quale tale modello viene sviluppato da un team di max 10 persone
![Page 46: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/46.jpg)
Ciclo di vita del software Il ciclo di vita illustrato in basso mostra come il software, una volta sviluppato, entri in un ciclo di uso e modifica continua per il resto della sua esistenza. Il software al contrario di altri prodotti industriali non si consuma, ma passa ripetutamente dalla fase di modifica, poiché tramite il suo utilizzo si scoprono errori non previsti o si modifica in base alle esigenze
sviluppo uso
modifica
![Page 47: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/47.jpg)
Paradigma di programmazione: Con il termine paradigma si intende un insieme di regole, procedure utili al processo di programmazione: I due paradigmi fondamentali sono il paradigma procedurale: secondo il quale la programmazione consiste in una sequenza di comandi che, una volta eseguiti dalla macchina elaborano i dati per produrre il risultato desiderato. E’ compito del programmatore trovare un algoritmo per risolvere un dato problema ed esprimerlo poi come sequenza di comandi Paradigma ad oggetti: E’ il paradigma secondo il quale oggi si sviluppano programmi OOP (Object-oriented programming). Secondo quest’approccio un sistema software è considerato come una collezione di unità chiamate oggetti ognuna delle quali può eseguire di immediato interesse per sé ma anche inviare richieste di azioni agli altri oggetti. Tutti insieme collaborano interagendo per svolgere l’elaborazioni richieste. Le icone che compaiono nel programma saranno implementate come oggetti, ognuno dei quali comprende le procedure chiamate metodi. L’intero programma ha la forma di un insieme di oggetti in grado di rispondere agli eventi causati dall’utente.
![Page 48: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/48.jpg)
In linea generale senza entrare nel dettaglio un oggetto può essere costituito da dati e da un insieme di metodi per l’esecuzione di determinate attività (es. elenco di nomi, inserimento di nuovi nomi). La descrizione dei dati e dei metodi di un programma sono raccolte in un’unità di programma detta classe. (immaginiamola come una estensione di un struttura, solo che al suo interno sono presenti anche procedure). Dopo che una classe è stata costruita, essa può essere riutilizzata ogni volta che occorre un oggetto con quelle caratteristiche. I fautori di questo paradigma sostengono che esso fornisca un ambiente naturale per un approccio allo sviluppo del sw fondato sull’aggregazione di componenti. Poiché le procedure all’interno di un oggetto sono delle piccole unità di programma procedurale, la maggior parte dei linguaggi orientati ad oggetti sono una estensione dei linguaggi procedurali conosciuti, ad esempio C++ è stato sviluppato aggiungendo funzioni orientate ad oggetti al linguaggio procedurale C.
![Page 49: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/49.jpg)
IlprogrammaècosFtuitodanclassiInciascunaclassevengonorealizzateleprocedure
L’eseguibileècosFtuitodanbo2oni,ciascunodeiqualirichiamaunadeterminataclasse.LaclassemaininqualchemodososFtuisceilmainnelC
I percorsi della programmazione sono percorsi che tendono ad emulare il pensiero umano…..concludiamo questo corso lasciandoci con qualche domanda:
![Page 50: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/50.jpg)
Strutture dati: Array (vettore) Gli array, sono tipi di dati omogenei, che utilizzano variabili indicizzate e permettono la rappresentazione di un gran numero di dati. I programmi spesso usano dati omogenei: per esempio, volendo elaborare alcuni voti (esempio la media dei voti) è possibile dichiarare quanto segue: int voto0, voto1, voto2; e servirsi di queste variabili per calcolarne il valore medio Se il numero di voti è grande, l’utilizzo di identificatori unici diventa pesante e poco funzionale. Un array può essere pensato come una variabile indicizzata. Lo stesso risultato della dichiarazione precedente viene rappresentato tramite array come: int voto[3]; // viene riservato dal compilatore uno spazio di tre variabili
voto[0] ; voto[1]; voto[2];
![Page 51: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/51.jpg)
N.B. Onde evitare che il programma inserisca dei valori a caso all’interno dei vettori, è buona norma inizializzare sempre il vettore nella seguente maniera: Int voto[3]={0, 5, 10} N.B: l’indice iniziale dell’array è sempre 0 Il richiamo non può che essere ad una riga di excel: In questo caso l’indice della casella è una lettera
0 5 10
i=0
i=1
i=2
0 5 10
![Page 52: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/52.jpg)
52
Sichiamamatricemxn(de2aanchematricereJangolare).GlielemenFsonoElemenFcomenumeriperi=1,2,3,…,mej=1,2,3,…,n.LamatriceApuòessereancheindicatasinteFcamentecon.
MatriciedeterminanF
![Page 53: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/53.jpg)
53
DuematricimxnA=eB=sonougualisehannoglistessielemenFnelleposizionidirigaecolonnacorrispondenF,ovvero:FralematricimxnA=eB=sidefiniscelasommanelseguentemodo:
ovverofacendolasommadeglielemenFdelleduematricinelleposizionidirigaecolonnacorrispondenF.Esempio:Esistelamatricenulla0cosFtuitadatuJ0:
![Page 54: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/54.jpg)
54
FralamatricemxnA=elamatricenxpB=sidefiniscelamol(plicazionenelseguentemodo:Esempio:Sichiamadeterminante(detA)diunamatricequelnumeroassociatoallamatricestessa.Percalcolareildeterminantediunamatriceènecessariochelastessasiaquadrata,ovverocheilnumerodirighesiaugualealnumerodicolonne
![Page 55: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/55.jpg)
55
-1- determinantediunamatrice2x2
-2- determinantediunamatrice3x3
PerilcalcolodeideterminaF3x3ritornauFleilseguenteschemagrafico:
partendodall’altoasinistrasioJene1*5*9+2*6*7+3*4*8-7*5*3-8*6*1-9*4*2chedàappuntoildeterminatedellamatrice3x3.
![Page 56: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/56.jpg)
56
SiaAunamatricenxn.Essaèinver(bile,ovveroesistelamatriceinversa,seesolosedetA≠0.Inquestocasosiha:Ilrichiamodiunamatriceèadexceldovelecolonnesonolele2ereelerighesonoindicatedanumeri.(Ilvideoèunamatrice1280x800)
MATR.determinanteMATR.prodoJoMATR.inversaSonolefunzioniinexcel
![Page 57: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/57.jpg)
GRAFI Le strutture dati esaminate fino ad ora sono strutture di tipo lineare, ovvero ogni elemento della sequenza ha un successore ed un predecessore, eccetto per il primo ed ultimo. E’ possibile però pensare a qualcosa di più generale, in cui la relazione tra gli elementi della struttura non sia lineare. Utilizzeremo il termine nodo con il significato di elemento, ed il termine arco per indicare la connessione tra due nodi.
nodo arco
Algoritmi
![Page 58: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/58.jpg)
Grafi: definizioni principali Un grafo G è un oggetto matematico definito come una coppia ordinata G = (V,A), dove V= {v1, …, vn } è l’insieme dei vertici (o nodi, o punti) ed A è l’insieme degli spigoli (o archi, o lati). Un grafo si dice orientato se l’arco presenta un verso. Un cammino C in un grafo G è una sequenza di archi (v0,v1)…(vn-1,vn) Con v0 vertice iniziale,vn vertice finale. Un grafo si dice connesso se per ogni coppia di nodi, esiste sempre un cammino che li connette.
Algoritmi
![Page 59: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/59.jpg)
GRAFI 1 2
4 3
Grafo Connesso
Un ciclo è un cammino chiuso, cioè un cammino in cui il vertice iniziale e quello finale coincidono.
4 3
5 6
1 2 Gli archi (1,3),(3,4),(4,5), (5,6) formano un cammino
Gli archi (1,2),(2,3),(3,1) formano un ciclo
Algoritmi
![Page 60: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/60.jpg)
GRAFI
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
1010000000010110
Forme matriciali per la rappresentazione di grafi nei calcolatori. Dato un grafo G(V,A) con |V|=n, si definisce la matrice di adiacenza di G, la matrice (n x n) così ottenuta:
2 4
1 3
1 se (i,j) appartiene a G
0 altrimenti
Algoritmi
![Page 61: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/61.jpg)
ALBERI
Gli alberi sono estremamente importanti per quel che concerne le applicazioni, soprattutto nel campo informatico, in molti casi il fatto che la struttura dei dati sia rappresentata da un albero garantisce una soluzione efficiente che altrimenti sarebbe impossibile. Definizione: Un Albero è un grafo connesso senza cicli.
1
2
5 6
3 4
7
Algoritmi
![Page 62: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/62.jpg)
TEOREMA: CONDIZIONE DI EQUIVALENZA DI UN ALBERO 1) G è un albero. 2) G non presenta cicli, ma se un qualsiasi nuovo arco viene
aggiunto, allora si forma un ciclo. 3) Dati due qualsiasi nodi di G esiste un unico cammino che
connette i due nodi. 4) G è connesso, ma se un qualsiasi arco viene eliminato , allora il
grafo risulta non connesso.
Un albero si dice binario se ogni nodo ha al più due sottoalberi, anch’essi binari
Algoritmi
![Page 63: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/63.jpg)
ALGORITMI SUI GRAFI INTENDIAMO AFFRONTARE IL PROBLEMA DELLA VISITA DI UN GRAFO, PARTENDO CIOÈ DA UN QUALUNQUE NODO, VOGLIAMO PASSARE PER TUTTI GLI ALTRI NODI DEL GRAFO. SE CHIARAMENTE SAPPIAMO RISOLVERE IL PROBLEMA DELLA VISITA, SAPPIAMO ANCHE RISOLVERE IL PROBLEMA DELLA CONNESSIONE DI UN GRAFO. INFATTI SE L’ALGORITMO HA VISITATO TUTTI I NODI DI DEL GRAFO, ALLORA POSSIAMO CONCLUDERE CHE IL GRAFO RISULTA CONNESSO. VENGONO PROPOSTI DUE METODI: VISITA IN PROFONDITÀ E VISITA IN AMPIEZZA.
Algoritmi
![Page 64: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/64.jpg)
VISITA IN PROFONDITÀ
Questa strategia studiata agli inizi degli anno 70 era gia stata introdotta nel diciannovesimo secolo come un algoritmo efficiente per l’attraversamento dei labirinti. (Matematica ricreazionale consultare Lucas [1882], Tarry[1895]). Consideriamo il seguente grafo:
La visita in profondità esplora il grafo in modo che il nuovo vertice da visitare è sempre scelto adiacente all’ultimo possibile dei vecchi vertici:
1
2 3
4
5 1
2 3
4
5
Algoritmi
![Page 65: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/65.jpg)
VISITA IN AMPIEZZA La visita in ampiezza esplora il grafo in modo da testare tutti i vertici adiacenti a quello preso in esame:
1
2 3
4
5
Teorema: E’ sempre possibile visitare un grafo di m archi in profondità con una complessità O(m)
Teorema: E’ sempre possibile visitare un grafo di m archi in ampiezza con una complessità O(m)
Teorema: L’algoritmo visita passa attraverso tutti i nodi del grafo se e soltanto se il grafo è connesso.
Algoritmi
![Page 66: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/66.jpg)
PROBLEMA DEL CAMMINO MINIMO Il problema che si cerca di affrontare riguarda una parte importante della teoria dei grafi e più in generale riguarda l’ottimizzazione combinatoria: Consideriamo due città A e B e immaginiamo che esitano diversi itinerari per raggiungere B partendo da A. Modelliamo questa situazione usando un grafo pesato, ovvero un grafo ai cui archi associamo un valore reale compreso tra (0, +∞). Ci chiediamo qual è il cammino di distanza minima tra A e B? Dato un grafo pesato G=(V,A,P). Definiamo costo da un nodo w ad un nodo z la somma dei pesi degli archi per andare da w a z. Si assegni il valore di infinito ad ogni coppia di nodi che non forma un arco. Chiamiamo il nodo iniziale con s
Algoritmi
![Page 67: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/67.jpg)
Algoritmi
Algoritmo: Partendo dal nodo sorgente cominciamo a determinare un cammino minimo a partire dal nodo più vicino a quello sorgente. Al generico passo immaginiamo di aver già determinato i cammini minimi per un insieme di nodi chiamato I. Con D indichiamo il vettore per memorizzare il costo D[v]. Alla fine prenderemo il Min di D[v].
Start: I={s}; D{s}=0; for “ogni v V-{s}” do D[v]=P(s,v); while(I≠V) { w V-I tale che D[w] è minimo; aggiungi w I for ”ogni v V-I” do D[v]= Min(D[v], D[w]+P(w,v)); }
![Page 68: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/68.jpg)
L’algoritmo appena illustrato prende il nome di algoritmo di Dijkstra [1959] Teorema: L’algoritmi di Dijkstra determina il cammino minimo da un nodo sorgente a tutti gli altri nodi del grafo con una complessità O(n2).
s v1
v2
v4
v3
8
32
12
912
0 s - - 8 3 ∞ ∞
1 s,v2 v2 3 8 3 5 15
2 s,v2,v3 v3 5 6 3 5 14
3 s,v2,v3,v1
v1 6 6 3 5 10
4 s,v2,v3,v1,v4
v4 10 6 3 5 10
Iter I w D[w] D[v1] D[v2] D[v3] D[v4]
Algoritmi
![Page 69: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/69.jpg)
PROBLEMI DI RIDUZIONE Un’ applicazione assai frequente, che vede l’utilizzo delle strutture ad albero è quello della risoluzione dei problemi attraverso il metodo di riduzione. Tale metodo consiste nel ridurre il problema sotto esame in sottoproblemi dove questi al loro volta verranno ridotti in ulteriori sottoproblemi, finché il problema originale è ridotto in sotto problemi di tipo primitivi. Tali strategie vengono applicate nel campo dell’ Intelligenza Artificiale in modo particolare si possono trovare una varietà di problemi nel campo della teoria dei giochi.
A
B C
D E
A Problema da risolvere
C Problema primitivo B, D, E sottoproblemi
![Page 70: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/70.jpg)
TORRE DI HANOI Il problema delle Torri di Hanoi deriva da una antica leggenda indiana che recita così: «nel grande tempio di Brahma a Benares, su di un piatto di ottone, sotto la cupola che segna il centro del mondo, si trovano 64 dischi d'oro puro che i monaci spostano uno alla volta infilandoli in un ago di diamanti, seguendo l'immutabile legge di Brahma: nessun disco può essere posato su un altro più piccolo. All'inizio del mondo tutti i 64 dischi erano infilati in un ago e formavano la Torre di Brahma. Il processo di spostamento dei dischi da un ago all'altro è tuttora in corso. Quando l'ultimo disco sarà finalmente piazzato a formare di nuovo la Torre di Brahma in un ago diverso, allora arriverà la fine del mondo e tutto si trasformerà in polvere».
1 2 3 1 2 3
Configurazione Iniziale Configurazione Finale
![Page 71: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/71.jpg)
Problema di riduzione per la torre di Hanoi: 1. Per spostare tutti i dischi sull’asta 3, è necessario muovere il disco C (sez.
maggiore) , ciò impone che l’asta 3 sia vuota. 2. Il disco C non può essere rimosso fintanto che non vengono rimossi A e B, che
dovranno essere rimossi sull’asta 2. 3. Portiamo il disco sull’asta 3. Il problema principale è stato scomposto in tre sottoproblemi. 1. Portare i dischi A e B sull’asta 2 2. Portare il disco C sull’asta 3 (problema primitivo) 3. Portare i dischi A e B dall’asta 2 all’asta 3
![Page 72: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/72.jpg)
72
Si voglia calcolare il valore della seguente formula: con X e Y due variabili reali (per esempio, X=2,7 e Y=0,4), ln(…) è la funzione logaritmo naturale e cos(…) è la funzione coseno (con argomento espresso in radianti):
)1ln(1.3)2.2cos(5.02.0
23
−
++−=
xyxxyR
Approfondimenti di Excel
![Page 73: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/73.jpg)
73
Risoluzione dell’equazione di II grado Supponiamo di voler creare un foglio di calcolo che ci consenta di risolvere l’equazione ax2+bx+c=0 con a, b e c costanti date. Come noto, perché l’equazione abbia soluzioni reali, il discriminante Δ=b2−4ac deve essere maggiore o uguale a zero. Conviene quindi calcolare il discriminante:
![Page 74: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/74.jpg)
74
A questo punto possiamo usare la funzione SE per calcolare le soluzioni: se il discriminante è maggiore o uguale a zero vengono calcolate le due soluzioni (-b±√Δ)/(2a), altrimenti viene scritto il messaggio “non vi sono soluzioni reali”:
![Page 75: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/75.jpg)
75
I GRAFICI I grafici da usare in Excel, dipendono dai dati che si hanno a disposizione: Tra quelli fondamentali ricordiamo il grafico a dispersione XY, utile per visualizzare i dati su assi cartesiani, come le funzioni etc.
Attraverso il tasto destro del mouse è possibile selezionare i dati e modificarli, di notevole importanza riveste il tasto AGGIUNGI, in modo da inserire nello stesso grafico più funzioni!
![Page 76: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/76.jpg)
76
Gli Istogrammi Tramite EXCEL® è possibile anche costruire degli istogrammi. Cominciamo con un semplice esempio. Supponiamo di creare una tabella con le spese sostenute da una famiglia in un mese:
Come si vede, a ciascuna voce è stata associata una barra la cui altezza è proporzionale al valore della tabella corrispondente. E’ possibile a questo punto anche cambiare il tipo di grafico, selezionando il grafico e premendo con il tasto destro del mouse. Apparirà un menù a tendina in cui sceglieremo “tipo di grafico”
![Page 77: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/77.jpg)
77
Avremo una “torta” in cui ogni fetta rappresenta l’incidenza della singola spesa.
Vi è un numero di opzioni molto grande per cambiare sia lo stile del grafico che le sue impostazioni. Non si vogliono qui elencare tutte le possibili opzioni. Lo studente è invitato a consultare i manuali ed ad esercitarsi e a provare personalmente le potenzialità del programma.
![Page 78: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/78.jpg)
78
Somma tra due matrici e di prodotto righe per colonne. Per esempio si supponga di voler fare la somma A+B. Per fare ciò, poiché il risultato della somma di due matrici 3×3 è ancora una matrice 3×3 occorre, per prima cosa, selezionare un’area 3×3:
Inserire la formula e fare un copia della formula in modo matriciale: occorre premere contemporaneamente ctrl+shift+invio (ctrl+〉+↵). Con questa operazione tutta l’area selezionata sarà interessata dal risultato della formula.
![Page 79: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/79.jpg)
79
In particolare si possono verificare alcune proprietà generali, per esempio det(A⋅B) = det(B⋅A) = det(A) ⋅ det(B) det(A-1) = 1/det(A) A⋅B ≠ B⋅A A-1⋅B-1 = (B⋅A) -1 Si invita lo studente a verificare anche che A-1⋅A = A⋅A-1=I, dove I è la matrice unitaria.
![Page 80: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/80.jpg)
80
Una applicazione delle matrici è quella della soluzione di sistemi lineari. Si supponga di avere il sistema di equazioni:
dove A è la matrice dei coefficienti, x è il vettore delle incognite e b è il vettore dei termini noti. Evidentemente questa equazione in forma matriciale ha una semplice soluzione:
![Page 81: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/81.jpg)
81
![Page 82: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/82.jpg)
I valori medi Quando lavoriamo con i dati abbiamo bisogno di indici descrittivi che ci diano informazioni sui dati stessi. L’indice sintetico più conosciuto è sicuramente la media che in forma generale assume la forma:
dove mi rappresentano i pesi Notiamo che per mi=1 otteniamo la media aritmetica. La media aritmetica, semplice o ponderata è detta media ferma ( in quanto per calcolarla si usano tutti i valori).
∑
∑
=
== n
ii
n
iii
m
mxx
1
1
![Page 83: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/83.jpg)
Esistono tuttavia in statistica delle medie, dette lasche, in quanto per calcolarle si usano solo una parte dei dati: fra di esse ricordiamo, la moda e la mediana. Moda: dato statistico che si presenta con maggior frequenza. Mediana: valore centrale di una distribuzioni di dati ordinata in modo crescente o decrescente. Gli indici visti hanno il pregio di sintetizzare una variabile statistica con un unico valore, tuttavia non forniscono alcuna informazione sulla loro distribuzione attorno al valore medio. Per questo motivo solitamente le medie sono accompagnate da altri indici che misurano la dispersione dei dati, tra questi ricordiamo lo scarto quadratico medio (σ).
![Page 84: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/84.jpg)
minore è questo indice, maggiore la rappresentatività del valor medio:
∑
∑
∑
=
=
=
−=
+
−=
n
ii
n
iii
n
ii
m
mMx
n
Mx
0
0
2
0
2
)(
1
)(
σ
σ
2
21
21)(
⎟⎠
⎞⎜⎝
⎛ −−
= σ
πσ
mx
exf
NelcasodellamediaaritmeFca
Nel caso della media ponderata
Curva Gaussiana
M - Valore medio
LadistribuzionelimiteperunamisuracheèsoggeJaamol(piccolierroricasuali.Ladistribuzionehalaformadiunacampanaedècentratasulvaloreverodellagrandezzamisuratax
σ σM - M +
La probabilità che una misura cada entro una deviazione standard è del 68%
68%
M
![Page 85: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/85.jpg)
85
Campione Alt(m)1 10,2 Media 11,833332 12,2 Moda 12,23 11,5 Mediana 11,954 13,7 DevStd 1,6442875 13,1 Massimo 15,16 10,8 Minimo 8,77 12,58 12,29 11,710 13,511 14,212 9,813 15,114 13,715 12,216 14,217 13,118 10,819 8,720 9,821 10,122 10,623 12,424 13,225 13,126 9,227 10,328 11,329 10,730 11,1
0
2
4
6
8
10
12
1 2 3 4 5 6
Curva di Gauss ottenuta riscrivendo i dati in frequenza di intervalli
![Page 86: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/86.jpg)
86
Vogliamo qui esaminare un’altra funzione statistica utile per stabilire se vi sia una correlazione tra due serie di dati. Si supponga di avere due serie di dati {xi}i=1…n e {yi}i=1…n. Ci si chiede se tra questa serie di dati intercorra una relazione. Per esempio, si supponga che {xi}i=1…n rappresenti la concentrazione di monossido di carbonio misurata in certi giorni in una certa via e {yi}i=1…n il numero di automobili che ha percorso quella via negli stessi giorni. Ci si chiede se in qualche modo la concentrazione di inquinante è in correlazione con il numero di automobili, o se per esempio sia dovuto ad altre cause.
![Page 87: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/87.jpg)
87
Per verificare se tra le due serie di dati c’è correlazione si utilizza il cosiddetto indice di correlazione. Per prima cosa si definisce la covarianza tra le due serie di dati:
L’indice di correlazione è definito come
dove σx e σy sono del deviazioni standard dei due set di dati. L’indice di correlazione è per costruzione, un numero sempre compreso tra -1 e 1. Tanto più l’indice di correlazione è vicino all’unità, tanto più vi è correlazione tra i dati (in particolare se corr(X,Y)=±1 si ha che i dati sono in relazione lineare tra di loro). Se corr(X,Y) è vicino ad 1 si dice che le due serie di dati sono in correlazione diretta (ovvero vi è una buona probabilità che all’aumentare dell’uno aumenta anche l’altro), se è vicino a -1 si dice che sono in correlazione inversa (o in anticorrelazione). Se invece cov(X,Y) è zero o molto vicino a zero si dice che i due set di dati sono scorrelati tra di loro. Dal calcolo dell’indice di correlazione troviamo cov(X,Y)=0,98 che è molto vicino a 1. Questo ci farà sospettare che l’inquinante è dovuto in larga parte al passaggio delle auto.
![Page 88: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/88.jpg)
88
Ci chiediamo ora quali sono i valori di a e b per cui la curva teorica meglio approssima i dati sperimentali. Per fare questo utilizziamo il cosiddetto metodo dei minimi quadrati. Y=ax+b con a pendenza e b intercetta
Metodo dei minimi quadrati
![Page 89: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/89.jpg)
89
Con questa opzione è possibile visualizzare l’equazione della retta
Come si vede la curva approssima molto meglio i dati di origine. La curva teorica assume anche i nomi di linea di tendenza o di regressione o di best fit.
E’ possibile scegliere il tipo di curva teorica
![Page 90: LABORATORIO DI INFORMATICA - unibas.it...SISTEMA OPERATIVO Un programma è una sequenza di istruzioni elementari che possono essere eseguite dal sistema di elaborazione; ogni programma](https://reader034.vdocuments.net/reader034/viewer/2022043000/5f74f5f00f8d52694e6d4c39/html5/thumbnails/90.jpg)
90
Si possono provare ad usare la diverse funzioni interpolanti. Per verificare quale di queste si adattano meglio ai dati si può ricorrere al coefficiente R2, il quale esprime la dispersione dei valori intorno alla curva di regressione. (corrispondere circa ad 1)