






Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Informatica lezione n.2. Contenuti: Il concetto di algoritmo I diagrammi di flusso (Flow chart) Dall'algoritmo al programma Il computer BIT E BYTE Architettura del computer Come funziona il computer
Tipologia: Appunti
1 / 10
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!







Il sogno era quello di realizzare una macchina automatica cioè una macchina in grado di realizzare le attività da sola. Le prime macchine sono state delle semplici calcolatrici per arrivare a una prima macchina cioè la macchina di Babbage, una macchina con la quale pose le basi della moderna informatica (fa un grandissimo salto di qualità rispetto alle macchine precedenti). Dagli studi di Babbage scaturirono poi gli articoli di Menabrea (primo articolo di informatica) e i primi algoritmi di Ada Byron (prima programmatrice della storia). Fare delle operazioni in maniera automatica significa: realizzare degli algoritmi senza che sia dovuto l’intervento dell’uomo.
“Termine, derivato dall’appellativo al-Khuwārizmī del matematico Muḥammad ibn Mūsa del 9° sec., originario di quello che è l’attuale Uzbekistan, che designa qualunque schema o procedimento sistematico di calcolo. Con un algoritmo si tende a esprimere in termini matematicamente precisi il concetto di procedura generale, di metodo sistematico valido per la soluzione di una certa classe di problemi” - Treccani “un algoritmo è una sequenza finita di operazioni da svolgere per risolvere un dato problema” La definizione non ci dice nulla riguardante le problematiche che si potrebbero riscontrare perciò non può essere considerata una definizione ufficiale. Ancora oggi non esiste una «definizione di algoritmo» che ne definisca pienamente il concetto in termini formali; ci si deve accontentare di definizioni più o meno intuitive. Uno dei tentativi più riusciti è quello proposto da Turing con la sua «macchina» (è formalmente definita) ed è proprio per questo motivo che la Macchina di Turing è ancora oggi lo strumento più potente utilizzato per decidere se un dato procedimento sia o meno calcolabile con una macchina automatica (se sia dunque un algoritmo). Quello di «Algoritmo» è forse il più importante concetto dell’Informatica su cui l’informatica si basa. Quando qualcuno ci sta insegnano una ricetta in realtà ci sta fornendo un algoritmo. Le macchine che seguono l’intero procedimento hanno dei tempi/temperature/quantità ben precise e quindi nel momento in cui inserisco gli ingredienti e applico l’algoritmo al termine di questa attività ottengo il dolce sempre uguale. Per fare appunto la pasta frolla abbiamo bisogno di:
L'algoritmo non è un concetto strettamente informatico, anche questi sono esempi di algoritmi:
In informatica il diagramma di flusso (in inglese flow chart) è un linguaggio di modellazione grafico per rappresentare i diversi step di un processo o il flusso di controllo ed esecuzione di un algoritmo, come nel nostro caso del MCD; esso consente di descrivere in modo schematico attraverso dei simboli grafici:
sono dei programmi automatici che sono in grado di tradurla in programmazione di basso livello che il computer può comprendere.
«Macchina in grado di elaborare dati, automatica e programmabile» Si compone di due parti fondamentali:
I computer hanno bisogno di un proprio linguaggio per poter comunicare tra loro e con gli esseri umani. Così come gli uomini utilizzano dei simboli elementari nel proprio linguaggio (fonemi per linguaggio verbale; caratteri per linguaggio scritto), anche il computer utilizza delle proprie entità elementari che noi codifichiamo in 0 e 1 e BIT (Binary digIT) ; tutta l’informatica è costruita su questi due simboli.
Tutte le società avanzate hanno una velocità di connessione nettamente superiore rispetto ai paesi del sud. I paesi del golfo persico sono i più veloci (Qatar e Emirati Arabi) con il Sud Corea.
Ogni computer del mondo, indipendentemente dalle sue prestazioni o dal suo costo, può essere ricondotto ad un modello unitario: uno schema di «blocchi funzionali» che lo descrive in termini generici che viene chiamato Architettura di Von Newmann. Il modello di von Neumann è di notevole importanza in quanto descrive l'architettura hardware su cui è basata la maggior parte dei moderni computer programmabili. Fu sviluppato negli anni ‘40 dal matematico ungherese John von Neumann nell’ambito del progetto EDVAC.
La CPU (microprocessore) rappresenta il cuore del Computer e per questo è detta Unità di Elaborazione «Centrale». La CPU governa il Computer impartendo «ordini» a tutti gli altri organi e interpretando le istruzioni che noi stessi gli diamo: direttamente mediante comandi del SO (sistema operativo) o indirettamente con dei programmi. La cpu è composta da:
o Somma logica (operazioni di OR) - dati in ingresso dei valori di A o B il risultato è quello che si vede nella tabella. Quando A e B sono entrambi a 0 il risultato vale 0, in tutti gli altri casi in cui almeno uno degli operandi due vale 1 il risultato è 1. o Prodotto logico (operazioni di AND) - solo quando A e B sono uguali a 1 il risultato è 1, in tutti gli altri casi il risultato vale 0. o Negazione – nega il valore dell’operatore di ingresso, se A è 1 vale 0, se A è 0 vale 1. Altri operatori booleani: o NAND (NOT AND) funziona come negazione del prodotto logico, dove il prodotto dell’AND dava 0 in questo caso dà 0. o NOR (NOT OR) funziona come negazione dell’OR o XOR (OR esclusivo) è una somma logica che mi dà risultato 1 solo quando uno dei due operando è 1 vale 1, se entrambi gli operandi vale 1 o 0 il risultato è 0. Queste informazioni sono poi tradotte in circuiti fisici.
o Principale compito della CPU è quello di eseguire le istruzioni di un programma presente in memoria centrale leggendo e scrivendo i dati, che pure risiedono in memoria centrale. Al vertice abbiamo i registri della cpu che sono locazioni di memoria molto veloci. Tra i registri della cpu e la ram abbiamo una memoria intermedia chiamate cache memories che hanno una capacità inferiore a quella della ram ma hanno una tecnologia che li rende più veloci della ram (servono per mantenere dati di probabile utilizzo, cioè i dati più utilizzati). Se non si trova il dato nella cache si può ritrovare nella ram. La cache è una memoria che non ha bisogno di un refresh interno per mantenere i dati mentre la ram normalmente utilizza una tecnologia che ha bisogno di un refresh perché i valori che sono memorizzati rischiano di decadere nel tempo. La Random Access Memory – chiamato così perché è accessibile a qualsiasi locazione della Ram, consente di accedere come unità minima al byte). La ram può essere suddivisa in: o RAM fisica sono i cip di memoria che utilizziamo e abbiamo montati nel nostro computer o Memoria virtuale è una memoria aggiuntiva che può essere realizzata anche con delle memorie esterne e ha lo scopo di garantire porti a termine le attività che sta realizzando. Le memorie che non sono ram sono estremamente più lente. Queste sono aree temporanee di memorizzazione (si spengono con il computer), sotto queste abbiamo aree permanenti di memorizzazione (mantengono i dati memorizzati anche dopo lo spegnimento del computer): o ROM stanno a metà tra la Ram e un altro tipo di dispositivo. Dal punto di vista tecnologico sono memorie totalmente elettroniche e sono costruite come le Ram come tipo di performance ma sono permanenti (permettono che le informazioni si mantengano anche dopo lo spegnimento del computer). È molto complicato. Ha lo scopo di contenere il firmware (programma che mi permette di accendere il computer).