STRUTTURA E LOGICA DI FUNZIONAMENTO DEL COMPUTER
|
|
- Beata Valle
- 7 anni fa
- Visualizzazioni
Transcript
1 1 STRUTTURA E LOGICA DI FUNZIONAMENTO DEL COMPUTER
2 Un computer e una macchina che riceve in ingresso delle informazioni, le elabora secondo un determinato procedimento e produce dei risultati che vengono portati in uscita. 2 Per esempio, se voglio sommare due numeri, prima devo inserire all interno del computer i due numeri che devono essere sommati, poi eseguo l operazione di somma e quindi porto in uscita, all esterno, il risultato dell operazione. Un computer e composto dalle seguenti unita : INPUT MEMORIA CONTROLLO ARITMETICO LOGICA OUTPUT
3 3 UNITA DI INPUT INPUT L unita di input rappresenta la porta d ingresso del computer. Attraverso questa unita entrano dall esterno le informazioni che verranno successivamente elaborate. UNITA DI OUTPUT OUTPUT Questa unita rappresenta la porta d uscita del computer. Attraverso questa unita vengono portati all esterno i risultati finale delle elaborazioni eseguite sui dati in ingresso.
4 UNITA DI MEMORIA Questa unita viene utilizzata per depositare e conservare tutte le informazioni utilizzate dal computer. La memoria e composta da tante celle ognuna delle quali e contraddistinta da un numero progressivo detto indirizzo. Le informazioni che vi sono depositate vengono reperite attraverso l indirizzo della cella occupata. Quando il computer viene spento tutte le informazioni presenti nella memoria svaniscono.
5 5 UNITA ARITMETICO-LOGICA Sezione Sezione Aritmetica Logica Questa unita e divisa in due sezioni: sezione aritmetica e sezione logica. Nella sezione aritmetica vengono eseguite le quattro operazioni fondamentali (somma, sottrazione, moltiplicazione e divisione) sui valori presenti nei primi due registri. Il risultato viene collocato in un registro detto registro accumulatore. Un registro e una cella che contiene informazioni; questa celle particolari si trovano nell unita aritmetico-logica e nella unita di controllo. Nella sezione logica avvengono i confronti (maggiore, minore, uguale, diverso) tra le informazioni contenute nei primi due registri. Il risultato e un SI o un NO (0, 1) e viene depositato in un apposito registro.
6 6 UNITA DI CONTROLLO L unita di controllo governa il funzionamento del computer, esegue cioe le operazioni che consentono di elaborare i dati in ingresso secondo una sequenza prestabilita per produrre i risultati desiderati. Questa sequenza di operazioni viene detta programma. In altre parole l unita di controllo esegue le istruzioni del programma. L unita di controllo contiene due registri fondamentali: - il Program Counter che contiene l indirizzo della prossima istruzione, - il Registro Istruzione che contiene l istruzione in esecuzione.
7 7 SCHEMA LOGICO DI UN COMPUTER. INPUT OUTPUT
8 Vediamo, ora, alcune delle principali operazioni o istruzioni che un computer e' in grado di eseguire: 8 LETTURA Questa istruzione permette di depositare un dato, proveniente dall esterno attraverso l unita di input, in una determinata cella di memoria. Questa operazione viene eseguita, come sempre, dall unita di controllo che provvede a collegare le unita di input con la memoria. Il dato che viene inserito all interno del computer prende il nome di variabile in quanto potra assumere di volta in volta diversi valori. Il programmatore assegnera ad ogni variabile del programma un nome adatto a facilitarne la sua individuazione. L unita di controllo, invece, individua le diverse variabili in base al numero delle celle di memoria in cui vengono conservate. In altre parole l unita di controllo riconosce le diverse variabili in base al loro indirizzo di memoria. Pertanto, prima di eseguire un qualsiasi programma, occorre associare ad ogni variabile l indirizzo della cella di memoria in cui verra depositata. Per ordinare al computer l esecuzione di questa operazione occorre utilizzare un nome simbolico in grado di identificarla senza equivoci. Supponiamo di utilizzare per l operazione di lettura la parola READ seguita dal nome della variabile.
9 Esempio: READ A (supponiamo di inserire la variabile A nella cella ) 2 9 INPUT READ OUTPUT
10 10 S O M M A Questa istruzione permette di sommare il contenuto di due variabili numeriche. L operazione di somma viene eseguita attraverso le seguenti fasi: - Viene copiato dalla memoria il contenuto della prima variabile e portato nel primo registro della sezione aritmetica dell unita aritmetico logica. - Viene copiato dalla memoria il contenuto della seconda variabile e portato nel secondo registro della sezione aritmetica dell unita aritmetico logica. - Viene eseguita l operazione di somma ed il risultato compare nel registro accumulatore. Supponiamo di utilizzare per l operazione di somma la parola SUM seguita dai nomi delle due variabili contenenti gli addendi. Nell esempio che segue si suppone di sommare il contenuto di due variabili chiamate A e B collocate in memoria rispettivamente all indirizzo e.
11 Esempio: SUM A, B 11 INPUT SUM, OUTPUT
12 12 MUOVI DAL REGISTRO ACCUMULATORE Questa istruzione consente di copiare il contenuto del registro accumulatore e di depositarlo all interno di una determinata cella di memoria. Supponiamo di utilizzare per questa operazione la parola MOV_TO seguita dal nome della variabile associata alla cella di memoria in cui verra copiato il contenuto del registro accumulatore.
13 Esempio: MOV_TO C (supponiamo che la variabile C sia nella cella 1110) 13 INPUT MOV_TO OUTPUT
14 14 SCRITTURA Questa istruzione permette di copiare un dato depositato in una determinata cella di memoria e di portarlo all esterno, attraverso l unita di output. Supponiamo di utilizzare per l operazione di scrittura la parola WRITE seguita dal nome della variabile.
15 Esempio: WRITE C (supponiamo che la variabile C sia nella cella 1110) 15 INPUT WRITE OUTPUT
16 16 ARRESTO DELL ELABORAZIONE Questa istruzione consente di interrompere l esecuzione di un programma. Viene di norma utilizzata alla fine di ogni programma. Supponiamo di utilizzare per l operazione di arresto la parola STOP. Si noti che questa istruzione non e riferita ad alcuna variabile.
17 Esempio: STOP Questa istruzione ordina all unita di controllo di non eseguire altre istruzioni. 17 INPUT STOP 1110 OUTPUT
18 Finora abbiamo visto come vengono eseguite le singole istruzioni, ma come viene eseguita una sequenza di istruzioni? In altre parole come viene eseguito un programma? Vediamo prima come si scrive un programma. Proviamo quindi a scrivere un programma che consente di calcolare la somma di due numeri inseriti da tastiera. Dobbiamo prima individuare i dati di input e di output: i dati di input sono rappresentati dai due addenti che chiamiamo A e B; il dato di output e rappresentato dal risultato della somma che chiamiamo C. Dobbiamo ora descrivere le operazioni che devono essere eseguite per risolvere il nostro problema: - Inserisci da tastiera il primo addendo LEGGI A; - Inserisci da tastiera il secondo addendo LEGGI B; - Somma A e B e metti il risultato in C A + B = C; - Mostra il risultato sullo schermo SCRIVI C; - Fermasti STOP. 18 Abbiamo descritto le operazioni che dovranno essere svolte dal computer in due modi: il primo piu discorsivo, il secondo piu tecnico e sintetico. In tutti e due i casi abbiamo descritto un algoritmo cioe una sequenza ordinata e finita di istruzioni, comprensibili ed eseguibili, in grado di risolvere una determinata classe di problemi.
19 Il procedimento risolutivo cosi descritto non e pero comprensibile dal computer. Per fornire al computer una sequenza di istruzioni comprensibili dobbiamo procedere attraverso una serie di passaggi. Traduciamo l algoritmo in un programma scritto in un linguaggio di programmazione ad alto livello rispettando rigorosamente le regole sintattiche del linguaggio stesso. Nel nostro esempio se utilizziamo il PASCAL avremo il seguente programma: program somma; var a, b, c : integer; begin readln(a); readln(b); c := a + b; writeln(c); end. 19 Osserviamo pero che il computer non e in grado di eseguire direttamente l istruzione C := A + B
20 Questa istruzione complessa deve essere scissa in due operazioni piu elementari direttamente eseguibili dal computer: 20 SUM A, B; MOV_TO C; Il programma originale puo quindi essere riscritto nel seguente modo utilizzando i nomi simbolici che individuano le operazioni elementari svolte dal computer: READ A; READ B; SUM A, B; MOV_TO C; WRITE C; STOP. E facile osservare che le istruzioni che compongono il programma possono essere scomposte in due parti: CODICE OPERATIVO: indica l operazione che deve essere eseguita. NOMI OPERANDI...: indica le variabili selle quali viene eseguita l operazione. Osserviamo inoltre che nel nostro programma sono presenti istruzioni con un solo operando, istruzioni con due operandi ed istruzioni senza operandi.
21 21 Istruzione senza operandi: Codice operativo Istruzione con un solo operando: Codice operativo Operando Istruzione con due operandi: Codice operativo 1 Operando 2 Operando
22 22 Abbiamo detto, precedentemente, che il calcolatore riconosce le variabili dall indirizzo della cella di memoria occupata e non dal loro nome; possiamo quindi ipotizzare che le variabili del programma andranno ad occupare le seguenti posizioni: A B C 1110 Sappiamo inoltre che il calcolatore riconosce soltanto l alfabeto binario. Pertanto anche le istruzioni non possono essere riconosciute nel modo in cui le abbiamo scritte. Dobbiamo quindi associare ad ogni istruzione un codice binario in grado di rappresentarle. Supponiamo ora di rappresentare le istruzioni viste con i seguenti codici binari: READ WRITE SUM MOVE_TO 1000 STOP
23 23 Il nostro programma puo ora essere riscritto nel seguente modo: Codice operativo operando operando Questa forma di rappresentazione del programma puo apparire per noi poco famigliare ma, in realta, e l unica forma direttamente comprensibile dal computer.
24 Vediamo ora, passo per passo, come fa il calcolatore ad eseguire un programma. Il programma, per essere eseguito, deve essere prima di tutto caricato in memoria: Nel registro Program Counter viene posto l indirizzo della prima istruzione. 24 INPUT OUTPUT
25 L istruzione puntata la registro Program Counter viene copiata nel Registro Istruzione dell unita di controllo. Subito dopo viene incrementato di una unita il contenuto del registro Program Counter. 25 INPUT OUTPUT
26 L unita di controllo interpreta il significato del codice operativo presente nel Registro Istruzione ( = LEGGI A) e quindi lo esegue INPUT = LEGGI OUTPUT
27 Si procede quindi all esecuzione dell istruzione successiva: ( = LEGGI B) 3 27 INPUT OUTPUT
28 Si procede quindi all esecuzione dell istruzione successiva: ( = SOMMA A, B) 28 INPUT OUTPUT
29 Si procede quindi all esecuzione dell istruzione successiva: ( = MUOVI IL CONTENUTO DELL ACCUMULATORE IN C) 29 INPUT OUTPUT
30 Si procede quindi all esecuzione dell istruzione successiva: ( 1110 = SCRIVI C) 30 INPUT OUTPUT 5
31 Si procede quindi all esecuzione dell istruzione successiva: ( = STOP) 31 INPUT OUTPUT
32 32 CONFRONTO Questa istruzione permette di confrontare il contenuto di due variabili; il risultato dell operazione e un calore booleano VERO o FALSO (1 o 0). E possibile effettuare uno dei seguenti confronti o combinazioni di essi: - maggiore > - minore < - uguale = - diverso <> - maggiore uguale >= - minore uguale <= Il risultato del confronto (0 se FALSO, 1 se VERO) viene depositato in un apposito registro della sezione logica dell unita aritmetico logica. Supponiamo che l operazione di confronto A > B venga codificata nel seguente modo: COMP_MAX A, B
33 Questa operazione viene eseguita attraverso le seguenti fasi: 33 - Viene copiato dalla memoria il contenuto della prima variabile e portato nel primo registro della sezione logica dell unita aritmetico logica. - Viene copiato dalla memoria il contenuto della seconda variabile e portato nel secondo registro della sezione logica dell unita aritmetico logica. - Viene eseguito il confronto ed il risultato (VERO o FALSO) compare nell apposito registro.
34 Esempio: COMP_MAX A, B 34 INPUT COMP_MAX, OUTPUT
35 35 SALTO INCONDIZIONATO Questa istruzione consente all unita di controllo di eseguire un istruzione che si trova in un determinato indirizzo e non quella immediatamente seguente. Questa istruzione viene eseguita dall unita di controllo semplicemente cambiando il contenuto del registro Program Counter. Pertanto l operatore dell istruzione non rappresenta l istruzione di una variabile bensi l indirizzo dell istruzione che si vuole eseguire. Questo indirizzo prende il nome di etichetta. Supponiamo che l operazione di salto incondizionato venga codificata nel seguente modo: JUMP L unita di controllo mettera nel registro Program Counter il valore. In tal modo l istruzione successiva sara quella posta all indirizzo.
36 Esempio: JUMP Prima che l istruzione venga eseguita il program counter indica che la prossima istruzione si trova all indirizzo. 36 INPUT JUMP 1110 OUTPUT
37 37 Esempio: JUMP L istruzione e stata eseguita e pertanto la prossima istruzione non sara quella posta all indirizzo bensi quella che si trova all indirizzo. INPUT JUMP 1110 OUTPUT
38 38 SALTO CONDIZIONATO Questa istruzione consente all unita di controllo di eseguire un istruzione che si trova in un determinato indirizzo e non quella immediatamente seguente soltanto se si e manifestato un certo risultato nell ultima operazione di confronto effettuata. Supponiamo che l operazione di salto incondizionato venga codificata nel seguente modo: JUMP_FALSE L unita di controllo mettera nel registro Program Counter il valore se l ultima operazione di confronto ha prodotto il risultato FALSE.
39 Esempio: JUMP_FALSE L istruzione e stata eseguita perche l ultima istruzione di confronto ha dato risultato FALSE (0). 39 INPUT JUMP_FALSE OUTPUT
40 Esempio: JUMP_FALSE L istruzione non e stata eseguita perche l ultima istruzione di confronto ha dato risultato TRUE (1). 40 INPUT JUMP_FALSE OUTPUT
41 41 ASSEGNAZIONE Questa istruzione copia il contenuto di una cella di memoria e lo deposita in un'altra cella di memoria. In altre parole trasferisce informazioni all interno della memoria. Questa operazione viene effettuata utilizzando come punto di appoggio il registro accumulatore dell unita aritmetico-logica. Consideriamo le variabili A (indirizzo ) e B (indirizzo ). Supponendo di voler trasferire il contenuto di B in A scriveremo A = B che significa A B cioe muovi B in A. Supponiamo che l operazione di salto incondizionato venga codificata nel seguente modo: MOVE Dove l indirizzo del secondo operando indica la cella di provenienza mentre l indirizzo del primo operando indica la cella di destinazione.
42 Esempio: MOVE 42 INPUT MOVE OUTPUT
43 Possiamo ora riassumere nella tabella seguente tutte le operazioni fondamentali eseguibili da un calcolatore: Nome simbolico operazione Numero di operandi Codice operativo in binario READ 1 Descrizione delle operazioni svolte dai codici operativi LETTURA: Deposita all indirizzo di memoria indicato dall operando un dato proveniente dell unita di input. 43 WRITE 1 MOVE SUM 2 SCRITTURA: Preleva il dato presente all indirizzo di memoria indicato dall operando e lo porta in uscita attraverso l unita di output. ASSEGNAZIONE: Copia il contenuto della cella indicata dal secondo operando e lo deposita nella cella di memoria indicata dal secondo operando. SOMMA: Preleva i dati presenti negli indirizzi di memoria indicati dagli operandi e li deposita nei registri della sezione aritmetica dell unita aritmetico-logica. Esegue la somma e mette il risultato nel registro accumulatore.
44 44 MOV_TO COMP_MAX COMP_MIN COMP_EQ COMP_NEQ COMP_XEQ COMP_MEQ JUMP JUMP_FALSE 2 MUOVI DA ACCUMULATORE: Copia il dato presente nel registro accumulatore e lo deposita nell indirizzo di memoria indicato dall operando. CONFRONTO: Confronta il primo operando con il secondo e pone il risultato (VERO o FALSO) in un apposito registro. E possibile eseguire i seguenti confronti: >, <, =, <>, >=, <=. SALTO INCONDIZIONATO: Pone nel registro Program Counter l indirizzo dell istruzione indicata dall operando. In tal modo, subito dopo, viene eseguita una istruzione diversa da quella successiva. SALTO CONDIZIONATO: Pone nel registro Program Counter l indirizzo dell istruzione indicata dall operando se l ultima istruzione ha dato come risultato FALSE. STOP 0 ARRESTO: Arresta l esecuzione di un programma.
45 In maniera ancora piu stringata possiamo cosi riassumere le operazioni eseguite da un computer: 45 LETTURA READ A SCRITTURA WRITE A ASSEGNAZIONE CALCOLO A = B C = A + B CONFRONTO A > B BEGIN DIRETTIVA END
46 46 OSSERVAZIONI I blocchi di LETTURA, SCRITTURA, ASSEGNAZIONE, CALCOLO hanno un solo punto di entrata ed un solo punto di uscita. A > B Il blocco di CONFRONTO ha un solo punto di entrata ed due punti di uscita, in altre parole, in base al risultato del confronto (VERO o FALSO) verranno eseguite due operazioni diverse: NO SI A > B
47 Utilizzando i diagrammi a blocchi l algoritmo della somma puo essere rappresentato nel seguente modo: BEGIN 47 READ A READ B C = A + B WRITE C END Si osservi quanto segue a proposito delle direttive: 1) Abbiamo la direttiva d inizio che indica l avvio del programma (RUN). 2) Abbiamo la direttiva di fine che indica l arresto del programma. 3) Abbiamo le altre direttive che indicano che la prossima istruzione e quella immediatamente successiva.
48 Si capisce quindi il significato di direttiva: una particolare istruzione che indica al computer qual e la prossima istruzione che deve eseguire. Proviamo ora a risolvere il seguente problema: Inserire due numeri interi da tastiera e stampare il maggiore. BEGIN 48 READ A READ B program max; var a, b : integer; WRITE B NO A > B SI WRITE A begin end. readln(a); readln(b); if a > b then writeln(a) else writeln(b); END
49 49 Numero istruzione Linguaggio assemblativo Linguaggio macchina Indirizzo Codice 1 istruzione operativo operando 2 operando READ A READ B COMP_MAX A, B JUNP_FALSE 7 WRITE A JUMP 8 WRITE B STOP
Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.
Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la
DettagliCome ragiona il computer. Problemi e algoritmi
Come ragiona il computer Problemi e algoritmi Il problema Abbiamo un problema quando ci poniamo un obiettivo da raggiungere e per raggiungerlo dobbiamo mettere a punto una strategia Per risolvere il problema
DettagliInformatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
DettagliIntroduzione alla programmazione
Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste
DettagliIntroduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software
Introduzione alla programmazione Algoritmi e diagrammi di flusso F. Corno, A. Lioy, M. Rebaudengo Sviluppo del software problema idea (soluzione) algoritmo (soluzione formale) programma (traduzione dell
DettagliSistemi a microprocessore
Sistemi a microprocessore Programma: Segnali analogici e digitali Uso di segnali digitali per la rappresentazione dei numeri interi La memoria e la CPU I programmi in linguaggio macchina La connessione
Dettagliin termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico
Click to edit Algoritmo Master title style algoritmo: un insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si arresta in un tempo finito
DettagliElaborazione dell informazione
Elaborazione dell informazione Primo esempio Ricominciamo dai numeri (45 + 25) è definita rigorosamente Un primo calcolatore (a) Figura 1.1 Configurazione del pallottoliere (a) prima e (b) dopo l esecuzione
DettagliProgramma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza
DettagliCorso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a
Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Programmi Un elaboratore riceve dei dati in ingresso, li elabora secondo una sequenza predefinita di operazioni e infine restituisce il risultato sotto forma
DettagliIntroduzione agli Algoritmi
Introduzione agli Algoritmi Informatica Sara Zuppiroli A.A. 2012-2013 Informatica () Introduzione agli Algoritmi A.A. 2012-2013 1 / 25 Risoluzione dei problemi Dalla descrizione del problema all individuazione
DettagliRisoluzione di un problema
Algoritmi Risoluzione di un problema Descrizione di un problema! Individuazione di un ALGORITMO! Metodo risolutivo (progetto) Introduzione 2 Algoritmo Sequenza finita di mosse che risolve in un tempo finito
DettagliRappresentazione con i diagrammi di flusso (Flow - chart)
Rappresentazione con i diagrammi di flusso (Flow - chart) Questo tipo di rappresentazione grafica degli algoritmi, sviluppato negli anni 50, utilizza una serie di simboli grafici dal contenuto evocativo
DettagliCaratteristiche di un calcolatore elettronico
Prof. Emanuele Papotto Caratteristiche di un calcolatore elettronico È una macchina, costituita da circuiti elettronici digitali e da componenti elettromeccaniche, ottiche e magnetiche. È velocissimo,
Dettaglio Introduzione agli algoritmi o Rappresentazione delle Informazioni o Architettura del calcolatore o Reti di Calcolatori
Programma del corso o Introduzione agli algoritmi o Rappresentazione delle Informazioni o Architettura del calcolatore o Reti di Calcolatori o Elementi di Programmazione Algoritmi e programmi o Algoritmo
DettagliUD 3.2b: Programmazione in Pascal (1)
UD 3.2b: Programmazione in Pascal (1) Il Linguaggio di Programmazione Pascal Esistono molti linguaggi di programmazione. Per motivi didattici utilizzeremo una versione ridotta di un linguaggio di programmazione
DettagliSistemi di numerazione
SOMMARIO Sistemi di numerazione...2 Sistema decimale (o a base 10)...2 Sistema binario...2 Operazioni sui numeri binari...3 Espressioni logiche...4 Definizione...4 Prodotto Logico : AND...4 Somma Logica
DettagliINTRODUZIONE AL LINGUAGGIO DI PROGRAMMAZIONE PASCAL. Per iniziare lo studio del linguaggio di programmazione pascal, consideriamo il seguente esempio.
INTRODUZIONE AL LINGUAGGIO DI PROGRAMMAZIONE PASCAL Per iniziare lo studio del linguaggio di programmazione pascal, consideriamo il seguente esempio. ESERCIZIO: realizzare un algoritmo (in linguaggio di
DettagliIstruzioni macchina. Dove sono gli operandi? Ciclo della CPU. Elementi di un istruzione macchina. Rappresentazione delle istruzioni
Istruzioni macchina Linguaggio macchina Insieme delle istruzioni (instruction set) che la CPU puo eseguire Capitolo 10 1 2 Elementi di un istruzione macchina Codice operativo Specifica l operazione da
DettagliArchitettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione
Architettura di un calcolatore e linguaggio macchina Primo modulo Tecniche della programmazione CPU Central Processing Unit, processore Unita logica/aritmetica: elaborazione dati Unita di controllo: coordina
DettagliAlgoritmi, Strutture Dati e Programmi. UD 1.d: Dati e Tipi di Dato
Algoritmi, Strutture Dati e Programmi : Dati e Tipi di Dato Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno Dati: Variabili e Costanti Un algoritmo (e il programma che ne è rappresentazione)
DettagliIstruzioni, algoritmi, linguaggi
Istruzioni, algoritmi, linguaggi 1 Algoritmo per il calcolo delle radici reali di un equazione di 2 o grado Data l equazione ax 2 +bx+c=0, quali sono i valori di x per cui l equazione è soddisfatta? 2
DettagliLinguaggi, Traduttori e le Basi della Programmazione
Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini Sommario Il Linguaggio I Linguaggi di Linguaggi
DettagliDal Problema all Algoritmo. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Dal Problema all Algoritmo Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Cosa Impareremo Informazioni e codici Definizione e soluzione di un problema Individuazione dei dati Definizione
DettagliInformatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi
Informatica Generale Andrea Corradini 12 - Gli algoritmi e la risoluzione di problemi Sommario Che significa risolvere un problema? Algoritmi e programmi Rappresentazione di algoritmi Lo pseudocodice Primitive
DettagliAlgoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal
Algoritmi, Strutture Dati e Programmi : Programmazione in Pascal Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno Il Linguaggio di Programmazione Pascal Esistono molti linguaggi
Dettagliunità didattica 3 Le strutture condizionali e le strutture iterative
unità didattica 3 Le strutture condizionali e le strutture iterative 1. La struttura condizionale Il Pascal prevede la codifica della struttura condizionale (indicata anche con il nome di struttura dell
DettagliModello di von Neumann
Modello di von Neumann Bus di sistema CPU Memoria Centrale Memoria di Massa Interfaccia Periferica 1 Interfaccia Periferica 2 Codifica dei dati e delle istruzioni La più piccola unità di informazione memorizzabile
DettagliSviluppo di programmi
Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla
DettagliPASCAL: I VETTORI TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL. 1, HOEPLI. Informatica
PASCAL: I VETTORI TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL. 1, HOEPLI Informatica I dati strutturati: gli array I vettori (o Array) Fino a ora abbiamo memorizzato le informazioni (valori)
DettagliCAPITOLO 3 - ALGORITMI E CODIFICA
FASI DI SVILUPPO DEL SOFTWARE Problema Idea (soluzione) Algoritmo (soluzione formale) Programma (traduzione dell algoritmo in una forma comprensibile da un elaboratore elettronico) Test (criteri di verifica)
DettagliCorso di Informatica
Corso di Informatica Modulo T1 2-Iterazione 1 Prerequisiti Salto condizionato Salto incondizionato Espressione logica 2 1 Introduzione In alcuni casi si presenta la necessità di eseguire un ciclo, ossia
DettagliUnità di apprendimento 6. Dal problema al programma
Unità di apprendimento 6 Dal problema al programma Unità di apprendimento 6 Lezione 1 Conosciamo gli algoritmi e i linguaggi In questa lezione impareremo: cos è un problema come affrontarlo come descrivere
DettagliSviluppo di programmi
Sviluppo di programmi FASE 1: Dare un nome al problema partendo dall analisi del problema FASE 2: Scrivere la specifica funzionale FASE 3: Scrittura dell algoritmo FASE 3.1: Introduzione delle variabili
DettagliPag. 1. Informatica Facoltà di Medicina Veterinaria a.a. 2012/13 prof. Stefano Cagnoni. Architettura del calcolatore (parte II)
1 Università degli studi di Parma Dipartimento di Ingegneria dell Informazione Informatica a.a. 2012/13 La inserita nella architettura dell elaboratore Informatica Facoltà di Medicina Veterinaria a.a.
DettagliDispense di Informatica Anno Scolastico 2008/2009 Classe 3APS. Dall'Algoritmo al Programma
Istituto Tecnico Statale Commerciale Dante Alighieri Cerignola (FG) Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS Dall'Algoritmo al Programma Pr.: 002 Ver.:1.0 Autore: prof. Michele Salvemini
DettagliL uomo come esecutore di algoritmi
L uomo come esecutore di algoritmi l L algoritmo è l insieme di azioni elementari che consentono di risolvere un problema trasformando i dati iniziali del problema stesso nel risultato. l Un algoritmo
DettagliIl Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)
Il Concetto Intuitivo di Calcolatore Elementi di Informatica e Programmazione Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Variabile di uscita Classe di domande
DettagliLezione 6 Introduzione al C++ Mauro Piccolo
Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,
DettagliCORSO DI INFORMATICA Maria Grazia Celentano
CORSO DI INFORMATICA Maria Grazia Celentano INFORMATICA E PROGRAMMAZIONE L Informatica è definita come la Scienza della Rappresentazione e dell Elaborazione dell informazione o, in altri termini, lo studio
DettagliDall algoritmo al programma
Dall algoritmo al programma Il concetto di algoritmo Un algoritmo è una sequenza di passi necessari per risolvere un problema o eseguire una computazione In alcuni casi, lo stesso problema/computazione
DettagliLaboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Il problema di fondo Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algoritmi e Programmazione Stefano
DettagliIl Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)
Il Concetto Intuitivo di Calcolatore Elementi di Informatica e Programmazione Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Variabile di uscita Classe di domande
DettagliFasi di creazione di un programma
Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo Sviluppo di programmi Per la costruzione di un programma
DettagliNozioni fondamentali su Algoritmi e programmazione
Nozioni fondamentali su Algoritmi e programmazione VARIABILE: La variabile è un contenitore di dati. Questo contenitore può includere dati ti tipo numerico o testuale principalmente. Essa è dotata di un
DettagliInformatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter
Informatica B a.a 2005/06 (Meccanici 4 squadra) Scaglione: da PO a ZZZZ PhD. Ing. Michele Folgheraiter Funzionamento macchina di von Neumann clock Memoria Centrale: Tutta l informazione prima di essere
DettagliPASCAL 1. 27/03/2004 Pascal 1 prof. Bruno Franceschini - ITI Bolzano
PASCAL 1 Vediamo gli elementi di base del linguaggio PASCAL, un linguaggio per comunicare al calcolatore una serie di istruzioni, che rappresentano un algoritmo, che sarà in grado di svolgere dopo averle
DettagliPROBLEMI ALGORITMI E PROGRAMMAZIONE
PROBLEMI ALGORITMI E PROGRAMMAZIONE SCIENZE E TECNOLOGIE APPLICATE CLASSE SECONDA D PROGRAMMARE = SPECIFICARE UN PROCEDIMENTO CAPACE DI FAR SVOLGERE AD UNA MACCHINA UNA SERIE ORDINATA DI OPERAZIONI AL
DettagliLaboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Laurea in Ingegneria Civile e Ambientale Algoritmi e Algebra di Boole Stefano Cagnoni Il problema di fondo Descrizione
DettagliLinguaggi di Programmazione
Linguaggi di Programmazione E una notazione con cui e possibile descrivere gli algoritmi. Programma: e la rappresentazione di un algoritmo in un particolare linguaggio di programmazione. In generale, ogni
DettagliSviluppo di programmi
Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla
DettagliIng. Lorenzo Vismara
Ing. Lorenzo Vismara ! "# #!$#%&# '(!)&!*)&#*$# +!, +$-.(( #!((%&#, #!& %&) /$#01&! 0#( 3452 $ 6#( 1 2 &## #!7 #89): #;##( 1? )#&)< $9): #@82 #)AA)#&#&$( #7)& @B && ##@A&#C 7 $C#&7 @B A&#)@#7&#
DettagliLaboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algoritmi e Programmazione Stefano Cagnoni Il problema
DettagliMODULO 07. La soluzione dei problemi mediante gli algoritmi
MODULO 07 La soluzione dei problemi mediante gli algoritmi MODULO 07 Unità didattica 02 Impariamo a fare i diagrammi a blocchi In questa lezione impareremo: come descrivere l algoritmo risolutivo utilizzando
DettagliElementi di Informatica e Programmazione
Università degli Studi di Brescia Elementi di Informatica e Programmazione Concetto di Algoritmo Docente: Marco Sechi E mail: marco.sechi@unibs.it Vers. 21/08/2016.A050917* Dipartimento di Ingegneria Meccanica
DettagliRAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO
RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO Rappresentazione degli algoritmi Problema Algoritmo Algoritmo descritto con una qualche notazione Programma Defne del procedimento
Dettagli= < < < < < Matematica 1
NUMERI NATURALI N I numeri naturali sono: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,... L insieme dei numeri naturali è indicato con la lettera. Si ha cioè: N= 0,1,2,3,4,5,6,7,.... L insieme dei naturali privato
DettagliInformatica Teorica. Macchine a registri
Informatica Teorica Macchine a registri 1 Macchine a registri RAM (Random Access Machine) astrazione ragionevole di un calcolatore nastro di ingresso nastro di uscita unità centrale in grado di eseguire
DettagliLinguaggio Assembly e linguaggio macchina
Architettura degli Elaboratori e delle Reti Lezione 11 Linguaggio Assembly e linguaggio macchina Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
DettagliELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)
1 LEZIONE 9 ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE) Laboratorio di Informatica per l Educazione A. A. 2014/2015 IN SINTESI (ELABORAZIONE) Con i COMPUTER, le macchine diventano
DettagliLezione 5 e 6. Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza. Valentina Ciriani ( ) Laboratorio di programmazione
Lezione 5 e 6 - Concetto di blocco - Controllo del flusso di un programma - Costrutti per la scelta if e switch - Costrutti while e for - Operatori in C Fabio Scotti (2004-2009) Laboratorio di programmazione
DettagliComponenti e connessioni. Capitolo 3
Componenti e connessioni Capitolo 3 Componenti principali CPU (Unità Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro Architettura di Von Neumann Dati e instruzioni in memoria (lettura
DettagliCorso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi
Codice BCD Prima di passare alla rappresentazione dei numeri relativi in binario vediamo un tipo di codifica che ha una certa rilevanza in alcune applicazioni: il codice BCD (Binary Coded Decimal). È un
Dettagliinformatica di base per le discipline umanistiche
informatica di base per le discipline umanistiche vito pirrelli Istituto di Linguistica Computazionale CNR Pisa Dipartimento di linguistica Università di Pavia (per iniziare ) quinta lezione: la sintassi
DettagliLINGUAGGI DI PROGRAMMAZIONE E CODIFICA PROGRAMMI
LINGUAGGI DI PROGRAMMAZIONE E CODIFICA PROGRAMMI Giacomo Piscitelli pag. 1/10 Dall Algoritmo al Programma Metodo risolutivo problema algoritmo Linguaggio programma Individuazione di un metodo risolutivo
DettagliLaboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007
Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 29/01/07 Nota Questi lucidi sono tratti
DettagliCalcolatore = esecutore di algoritmi FONDAMENTI DI INFORMATICA 1. Una semplice architettura. Istruzioni e programma ARCHITETTURA DEI CALCOLATORI ALU
Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2/2 Calcolatore = esecutore di algoritmi Il calcolatore
DettagliESERCIZIO: PROGETTO DI UNA CPU A PIU REGISTRI
ESERCIZIO: PROGETTO DI UNA CPU A PIU REGISTRI Progettare una unità centrale di elaborazione microprogrammata, dotata di registri ad uso generale di bit, che sia in grado di indirizzare una memoria di 64k
DettagliDEC PDP8, III Generazione, '65-'75
Parte I DEC PDP8, III Generazione, '65-'75 PDP8 Architettura (Livello Registri) 12 bit Program Counter PC 12 bit Memory Address Register MAR Random Access Memory RAM 4096 x 16 1 bit I 3 bit Operation Code
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Ciclo di, classificazione e livelli delle architetture di calcolatore Lezioni del Corso di Laurea Triennale in Informatica Per gentilezza del Prof. Sebastiano Pizzutilo (Dipartimento
DettagliCos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L attività di progettare e realizzare un programma è detta programmazione
DettagliLa formalizzazione dell informazione: Dati e Diagrammi di Flusso
La formalizzazione dell informazione: Dati e Diagrammi di Flusso Codifica degli algoritmi Algoritmo formulato per essere comunicato tra esseri umani chiaro, sintetico e intuitivo codificato in linguaggi
DettagliUn algoritmo ben fatto deve terminare dopo un numero finito
Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica, e Programmi D. Gubiani 29 marzo 2010 D. Gubiani, e Programmi 1 Esempi di dal
DettagliFortran in pillole : prima parte
Fortran in pillole : prima parte Annamaria Mazzia Dipartimento di Metodi e Modelli Matematici per le Scienze Applicate Corso di Metodi Numerici per l Ingegneria Introduzione al Fortran Un libro consigliato
DettagliLinguaggio macchina. 3 tipi di istruzioni macchina. Istruzioni per trasferimento dati. Istruzioni logico/aritmetiche
3 tipi di istruzioni macchina Linguaggio macchina e assembler 1) trasferimento tra RAM e registri di calcolo della CPU 2) operazioni aritmetiche: somma, differenza, moltiplicazione e divisione 3) operazioni
DettagliComponenti principali
Componenti e connessioni Capitolo 3 Componenti principali n CPU (Unità Centrale di Elaborazione) n Memoria n Sistemi di I/O n Connessioni tra loro Architettura di Von Neumann n Dati e instruzioni in memoria
DettagliPag. 1. La formalizzazione dell informazione: Dati e Diagrammi di Flusso. Codifica degli algoritmi
1 Università degli studi di Parma Dipartimento di Ingegneria dell Informazione Informatica a.a. 2012/13 Informatica Facoltà di Medicina Veterinaria a.a. 2012/13 prof. Stefano Cagnoni La formalizzazione
DettagliUn esempio di ciclo macchina
Un esempio di ciclo macchina La CPU deve eseguire le seguenti istruzioni:. Somma dei due valori contenuti agli indirizzi di memoria e ponendo il risultato all indirizzo. Differenza tra i due valori contenuti
DettagliCorso di Informatica di Base
Corso di Informatica di Base A.A. 2011/2012 Algoritmi e diagrammi di flusso Luca Tornatore Cos è l informatica? Calcolatore: esecutore di ordini o automa Programma: insieme di istruzioni che possono essere
DettagliLinguaggio Testuale. E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato»
Linguaggio Testuale E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato» Delle volte viene chiamato metalinguaggio, e l algoritmo scritto tramite
DettagliArchitettura dei computer
Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore la memoria principale (memoria centrale, RAM) la memoria secondaria i dispositivi di input/output La
DettagliProgrammazione A.A Architettura dei Calcolatori. ( Lezione V ) Componenti hardware e loro schema funzionale
Programmazione A.A. 2002-03 I Architettura dei Calcolatori ( Lezione V ) Componenti hardware e loro schema funzionale Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica
DettagliComponenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni
Componenti principali Componenti e connessioni Capitolo 3 CPU (Unita Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro 1 2 Architettura di Von Neumann Dati e instruzioni in memoria
DettagliUniversità di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria. Docente : Ing. Secondulfo Giovanni Anno Accademico
Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria Docente : Ing. Secondulfo Giovanni Anno Accademico 2010-2011 Lezione 3: La Formalizzazione degli Algoritmi Dati e Variabili
Dettagliciclo di vita della soluzione (informatica) d un problema
ciclo di vita della soluzione (informatica) d un problema errori run-time errori sintattici codice editor codice C++ compilatore esegui eseguibile OK risultati scorretti ma prima di arrivare a questo 1.
DettagliL ELABORATORE ELETTRONICO
L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati) per produrre altri oggetti
DettagliSommario Obiettivo della programmazione e ciclo di sviluppo di programmi. Programmi. Ciclo di sviluppo di programmi. Obiettivo
Sommario Obiettivo della programmazione e ciclo di sviluppo di programmi Istruzioni variabili e tipi Sottoprogrammi Strutture di controllo Ricorsione 1 2 Obiettivo Ciclo di sviluppo di programmi Risoluzione
DettagliArchitettura dell elaboratore
Riepilogando Architettura dell elaboratore Riprendiamo il discorso lasciato in sospeso ad iniio corso I programmi e i dati risiedono nella memoria secondaria Per essere eseguiti (i programmi) e usati (i
DettagliLABORATORIO CPU. LDC 10 ;00 Caricare una costante nel Accu STO 31 ;01 Salvare il valore del Accu in cella [31] HLT ;02 STOP.
LABORATORIO CPU LDC 10 ;00 Caricare una costante nel Accu STO 31 ;01 Salvare il valore del Accu in cella [31] HLT ;02 STOP info@stoianov.it 30 Un CPU radicalmente ridotto qui si presenta un processore
DettagliINFORmazione+autoMATICA. Perché saperne di piu? Le fasi della programmazione. Cosa intendiamo per programmazione
INFORmazione+autoMATICA Perché saperne di piu? Calcolatore: un supporto per la rappresentazione di informazione che può: I raccogliere impressionanti quantità di dati I eseguire velocemente e con precisione
DettagliUniversità degli Studi di Brescia INFORMATICA. Dipartimento di Ingegneria Meccanica e Industriale
Università degli Studi di Brescia INFORMATICA Concetto di Algoritmo Docente: Marco Sechi E mail: marco.sechi@unibs.it Vers. 21/08/2016.A050917* Dipartimento di Ingegneria Meccanica e Industriale DIPARTIMENTO
DettagliAgent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Fondamenti di Informatica.
Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Fondamenti di Informatica Algoritmi Michele Tomaiuolo Algoritmo Il termine algoritmo deriva
DettagliTeoria dell Informazione
Corso di Laurea Magistrale in Scienze dell Informazione Editoriale, Pubblica e Sociale Teoria dell Informazione Cosa è l informazione L informazione è qualcosa che si possiede e si può dare ad un altro
DettagliConcetti di base dell ICT
Informatica Linguaggio di programmazione Computer Bit Algoritmo Linguaggio macchina Informatica: Informazione automatica Gli anglosassoni usano il termine Computer Science = Scienza dei Calcolatori Computer:
DettagliDal problema a un programma comprensibile dal calcolatore. Il Progetto degli Algoritmi. Dall analisi del problema all esecuzione
Il Progetto degli Algoritmi Fondamenti di Informatica A Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Dal problema a un programma comprensibile dal calcolatore
Dettagli