Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Algoritmo" Esecutore
In#ormatica
Corso di Laurea:
Insegnamento:
Programmazione II" modulo di La$oratorio salvatore.cuomo%unina. it
Email Docente:
A.A. 2009-20 0
Introduzione al corso
In <uesta 3rolusione richiamiamo $revemente alcune nozioni 3reliminari che riguardano il concetto di Algoritmo e di Esecutore 3er 3oi accennare $revemente alla architettura di un ela$oratore. SOMM !"O 5 Concetto di Algoritmo 5 Il concetto di esecutore di Algoritmi 5 0revi cenni sulla architettura di un calcolatore :: La memoria :: =nit> logico aritmetica :: =nit> di In3ut&7ut3ut
Programmare
#e attivit$ sperimentali della 3rogrammazione sono rivolte allo svilu33o di concetti $asilari" alla organizzazione logica di metodi risolutivi orientati allo svilu33o di codici automatici che 3i? sinteticamente indicheremo come 3rogrammi 8e 3iu@ in generale so#t4are: 3er la risoluzione di 3ro$lemi del mondo reale. In altre 3arole" siamo interessati allo studio" all@ analisi e lo svilu33o di metodi di calcolo e di tecniche di 3rogrammazione #inalizzate alla risoluzione dei 3ro$lemi della vita reale. %igura&: )isoluzione dei 3ro$lemi della scienza e della tecnica.
Il concetto di Algoritmo
L@organizzazione logica di metodi risolutivi di 3ro$lemi della scienza e della tecnica si $asa sul concetto di Algoritmo di cui diamo la seguente: 'efinizione #(algoritmo ) successione logica di direttive elementari, interpreta*ili in maniera univoca, che svolte in un ordine presta*ilito, consentono la soluzione di un assegnato pro*lema in un numero predeterminato di passi.
La de#inizione si $asa sui seguenti 3unti #ondamentali: 5 5 5 5 la la le le se<uenza di direttive deve essere finitaA se<uenza deve 3ortare ad un risultatoA direttive devono essere Bpossi*ili+ ovvero esegui*ili materialmenteA direttive devono essere es3oste in maniera non am*iguo.
Dall@Algoritmo al linguaggio
Il concetto di Algoritmo si $asa sulla 3ossi$ilit> che le direttive vengano descritte da una serie di #rasi non am$igue che costituiscono il programma. Le #rasi con cui vengono scritte le direttive a33artengono ad un linguaggio com3rensi$ile a chi le deve eseguire" ovvero <uello che chiameremo: il linguaggio di programmazione (eneralmente" l@algoritmo viene descritto secondo uno pseudocodice che C un linguaggio arti#iciale e non #ormalizzato 3er es3rimere le azioni che costituiscono l@algoritmo. I 3rogrammi scritti in 3seudocodice scritti ed im3lementati dai 3rogrammatori. Essi risultano: :: un valido strumento o 3er descrivere gli algoritmi: :: un linguaggio sem3lice di ra3ida traduzione in un BveroD linguaggio di 3rogrammazione 8Linguaggio C&C99" .ava" Ph-ton" ;:
leggi dati in ingresso se fissata condizione: fai_qualcosa() altrimenti: fai_qualcosaltro() stampa messaggio
Dall@Algoritmo all@esecutore
Il concetto di Algoritmo si $asa sulla 3ossi$ilit> che le direttive utilizzate 3er risolvere un #issato 3ro$lema siano 3ossi$ili ovvero esegui$ili materialmente. Euesto #a nascere" naturalmente" la necessit> di un esecutore di tali direttive. =n esecutore di algoritmi deve essere realizzato in $ase alle seguenti s3eci#iche: 5 )egistrare i dati di ingresso" intermedi e di uscita 5 )egistrare le istruzioni 5 Eseguire le o3erazioni logiche e aritmetiche sui dati in ingresso 5 Avere il controllo sulla se<uenza delle suddette o3erazioni
Esecutore di
A$$iamo accennato alle s3eci#iche #ondamentali di un esecutore di Algoritmi. Da <uanto detto" la macchina esecutrice 3uG essere realizzata mediante uno schema di 3rogettazione di calcolatori elettronici che 3rende nome dal matematico .ohn von 6eumann e che #u svilu33ato 3er il sistema IA! machine e dellHInstitute #or Advanced !tud- a Princeton" 6e4 .erse-" =.!.A..
%igura ,: Esecutore !chema =omo.
lgoritmi
In #igura sono ri3ortati due schemi di esecutore: l@uomo e l@im3ortante schema dalle 'acchina di Fon 6eumann
"l calcolatore &.La macchina di Fon 6eumann C lo schema alla $ase dei moderni calcolatori elettronici 8vedi #igura I:.
5 La Memoria: E@ il dis3ositivo #isico in grado di immagazzinare le in#ormazioni sotto #orma di dati ed istruzioni su di essi. %igura /: =n calcolatore elettronico
In #igura J" viene mostrata una ra33resentazione dalla memoria gerarchica di un calcolatore.
"l calcolatore ,.5 L@ 1nit$ di controllo: C il dis3ositivo de3utato al coordinamento delle attivit> della macchina esecutrice. In 3articolare consente di 3relevare dalla memoria le istruzioni" si occu3a di tras#erire i dati dalla memoria" assicura l@esecuzione della successiva istruzione.
5 L@ 1nit$ logico2aritmetica: C il dis3ositivo che consente l@esecuzione delle o3erazioni sui dati" sia aritmetiche" sia <uelle logico-relazionali.
"l calcolatore -.5 L@ 1nit$ di input e output: e@ il dis3ositivo che consente di inter#acciare la macchina esecutrice con il mondo esterno. In 3articolare sono unit> di I&7 tutte <uelle 3eri#eriche che consentono di inserire i dati" di stam3arli" di visualizzarli.
Esso sono generalmente il video" le stam3anti" le tastiere" la scheda di rete" lo scanner e molti altri dis3ositivi. %igura 5: Dis3ositivi di I&7
Materiali di studio
Testi Consigliati Alcuni contenuti della lezione sono tratti da: A. 'urli * Lezioni di La$oratorio di Programmazione * Ed. Liguori Per un a33ro#ondimento teorico sugli argomenti trattati si consiglia di leggere: 8a: A. 'urli" (. (iunta" (. Laccetti" '. )izzardi * La$oratorio di Programmazione I * Ed. Liguori Capitolo & 8$: (. Criscuolo" +. ,ramontano" Introduzione alla 3rogrammazione. Algoritmi iterativi in C99. Ed. 'anna Capitolo &