STRUTTURA E LOGICA DI FUNZIONAMENTO DEL COMPUTER

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "STRUTTURA E LOGICA DI FUNZIONAMENTO DEL COMPUTER"

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. 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

Dettagli

Come ragiona il computer. Problemi e algoritmi

Come 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

Dettagli

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

Informatica 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

Dettagli

Elaborazione dell informazione

Elaborazione 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

Dettagli

Istruzioni macchina. Dove sono gli operandi? Ciclo della CPU. Elementi di un istruzione macchina. Rappresentazione delle istruzioni

Istruzioni 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

Dettagli

Rappresentazione con i diagrammi di flusso (Flow - chart)

Rappresentazione 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

Dettagli

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software

Introduzione 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

Dettagli

Sistemi di numerazione

Sistemi 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

Dettagli

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Corso 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

Dettagli

Architettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione

Architettura 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

Dettagli

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Programma 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

Dettagli

RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO

RAPPRESENTAZIONE 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

PROBLEMI ALGORITMI E PROGRAMMAZIONE

PROBLEMI 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

Dettagli

UD 3.2b: Programmazione in Pascal (1)

UD 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

Dettagli

= < < < < < Matematica 1

= < < < < < 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

Dettagli

Modulo 1 Concetti di base della Tecnologia dell Informazione

Modulo 1 Concetti di base della Tecnologia dell Informazione Modulo 1 Concetti di base della Tecnologia dell Informazione 1.0.1.1 1.0.1.2 1.0.1.3 Algoritmi Definizione di algoritmo e sua rappresentazione grafica Per algoritmo si intende un procedimento, che permette

Dettagli

Dal 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 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

Dettagli

Informatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi

Informatica 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

Dettagli

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico

in 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

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T1 2-Proprietà degli algoritmi 1 Prerequisiti Conoscere il concetto di M.C.D. tra due numeri interi Concetto intuitivo di funzione matematica 2 1 Introduzione Sappiamo scrivere

Dettagli

Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS. Dall'Algoritmo al Programma

Dispense 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

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi

Corso 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

Dettagli

Corso di Informatica di Base

Corso 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

Dettagli

Dall algoritmo al programma

Dall 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

Dettagli

Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)

Il 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

Dettagli

Linguaggio macchina. 3 tipi di istruzioni macchina. Istruzioni per trasferimento dati. Istruzioni logico/aritmetiche

Linguaggio 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

Dettagli

Sviluppo di programmi

Sviluppo 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

Dettagli

Laboratorio di Informatica. Esercitazione su algoritmi e diagrammi di flusso

Laboratorio di Informatica. Esercitazione su algoritmi e diagrammi di flusso Laboratorio di Informatica Esercitazione su algoritmi e diagrammi di flusso Algoritmi, programmi e dati Algoritmo = insieme di istruzioni che indicano come svolgere operazioni complesse su dei dati attraverso

Dettagli

Architettura dei computer

Architettura 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

Dettagli

unità didattica 3 Le strutture condizionali e le strutture iterative

unità 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

Dettagli

LINGUAGGI DI PROGRAMMAZIONE E CODIFICA PROGRAMMI

LINGUAGGI 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

Dettagli

Concetti di base dell ICT

Concetti 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:

Dettagli

Algoritmi e soluzione di problemi

Algoritmi e soluzione di problemi Algoritmi e soluzione di problemi Dato un problema devo trovare una soluzione. Esempi: effettuare una telefonata calcolare l area di un trapezio L algoritmo è la sequenza di operazioni (istruzioni, azioni)

Dettagli

Componenti e connessioni. Capitolo 3

Componenti 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

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica AlgoBuild: Strutture selettive, iterative ed array Prof. Arcangelo Castiglione A.A. 2016/17 AlgoBuild : Strutture iterative e selettive OUTLINE Struttura selettiva Esempi Struttura

Dettagli

Il processore. Istituzionii di Informatica -- Rossano Gaeta

Il processore. Istituzionii di Informatica -- Rossano Gaeta Il processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale

Dettagli

UTILIZZIAMO GLI OPERATORI MATEMATICI E COMMENTIAMO IL CODICE

UTILIZZIAMO GLI OPERATORI MATEMATICI E COMMENTIAMO IL CODICE Utilizziamo gli operatori matematici e commentiamo il codice Unità 4 UNITÀ DIDATTICA 4 UTILIZZIAMO GLI OPERATORI MATEMATICI E COMMENTIAMO IL CODICE IN QUESTA UNITÀ IMPAREREMO... come utilizzare gli operatori

Dettagli

Teoria dell Informazione

Teoria 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

Dettagli

Informatica Teorica. Macchine a registri

Informatica 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

Dettagli

PROGRAMMAZIONE STRUTTURATA

PROGRAMMAZIONE STRUTTURATA PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:

Dettagli

3. Indicare cosa sta a significare la figura geometrica del rombo in un diagramma a blocchi

3. Indicare cosa sta a significare la figura geometrica del rombo in un diagramma a blocchi 0.1.1.1 Definire un algoritmo 1. Con il termine algoritmo si intende: a) il software utilizzato in un calcolatore b) l elenco finito di istruzioni necessario per risolvere un problema c) un elaboratore

Dettagli

La codifica digitale

La codifica digitale La codifica digitale Codifica digitale Il computer e il sistema binario Il computer elabora esclusivamente numeri. Ogni immagine, ogni suono, ogni informazione per essere compresa e rielaborata dal calcolatore

Dettagli

Fortran in pillole : prima parte

Fortran 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

Dettagli

Programmazione strutturata

Programmazione strutturata Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Gestionale (L-Z) 3. (testo di riferimento: Bellini-Guidi) Ing. Michele Ruta 1di 29 Linguaggi di programmazione Un programma è un algoritmo

Dettagli

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia

Cos è 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

Dettagli

Le etichette nei programmi. Istruzioni di branch: beq. Istruzioni di branch: bne. Istruzioni di jump: j

Le etichette nei programmi. Istruzioni di branch: beq. Istruzioni di branch: bne. Istruzioni di jump: j L insieme delle istruzioni (2) Architetture dei Calcolatori (lettere A-I) Istruzioni per operazioni logiche: shift Shift (traslazione) dei bit di una parola a destra o sinistra sll (shift left logical):

Dettagli

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da:

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da: Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da: http://it.wikipedia.org/wiki/al-khwarizmi Un

Dettagli

La "macchina" da calcolo

La macchina da calcolo La "macchina" da calcolo Abbiamo detto che gli algoritmi devono essere scritti in un linguaggio "comprensibile all'esecutore" Se il nostro esecutore è il "calcolatore", questo che linguaggio capisce? che

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Diagrammi a blocchi 1

Diagrammi a blocchi 1 Diagrammi a blocchi 1 Sommario Diagrammi di flusso, o a blocchi." Analisi strutturata." Esercizi. 2 Diagrammi a blocchi È un linguaggio formale di tipo grafico per rappresentare gli algoritmi." Attraverso

Dettagli

Formalismi per la descrizione di algoritmi

Formalismi per la descrizione di algoritmi Formalismi per la descrizione di algoritmi Per descrivere in passi di un algoritmo bisogna essere precisi e non ambigui Il linguaggio naturale degli esseri umani si presta a interpret non univoche Si usano

Dettagli

unità didattica 2 Le prime istruzioni notevoli in Pascal

unità didattica 2 Le prime istruzioni notevoli in Pascal unità didattica 2 Le prime istruzioni notevoli in Pascal 1. L operazione di assegnazione Quando si desidera che una certa variabile contenga un determinato valore costante, o un risultato di operazioni

Dettagli

Il Processore. Informatica di Base -- R.Gaeta 27

Il Processore. Informatica di Base -- R.Gaeta 27 Il Processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale

Dettagli

Linguaggio Assembly e linguaggio macchina

Linguaggio 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

Dettagli

Fondamenti di Algoritmi

Fondamenti di Algoritmi Fondamenti di Algoritmi Corsi di Informatica Grafica Prof. Manuel Roveri Dipartimento di Elettronica e Informazione roveri@elet.polimi.it Indice Algoritmi: Definizione Diagrammi di Flusso Esempi ed esercizi

Dettagli

Algoritmi. Pagina 1 di 5

Algoritmi. Pagina 1 di 5 Algoritmi Il termine algoritmo proviene dalla matematica e deriva dal nome di in algebrista arabo del IX secolo di nome Al-Khuwarizmi e sta ad indicare un procedimento basato su un numero finito operazioni

Dettagli

1 Esercizi in pseudocodice

1 Esercizi in pseudocodice Questa dispensa propone esercizi sulla scrittura di algoritmi in un linguaggio semiformale, utile all acquisizione delle abilità essenziali per implementare algoritmi in qualsiasi linguaggio di programmazione.

Dettagli

DESCRIZIONI RIGOROSE c7

DESCRIZIONI RIGOROSE c7 DESCRIZIONI RIGOROSE c7 Es. cucinare la pasta asciutta per una famiglia La descrizione rigorosa della strategia risolutiva prevede Analisi del problema (con chiara individuazione degli obiettivi e dei

Dettagli

Problema: calcolare il massimo tra K numeri

Problema: calcolare il massimo tra K numeri Problema: calcolare il massimo tra K numeri Scrivere un algoritmo che fornisca in input ad un programma un numero K e K interi positivi. L algoritmo deve restituire il valore massimo tra quelli introdotti

Dettagli

Array in Fortran 90. Ing. Luca De Santis. Anno accademico 2006/2007. DIS - Dipartimento di informatica e sistemistica

Array in Fortran 90. Ing. Luca De Santis. Anno accademico 2006/2007. DIS - Dipartimento di informatica e sistemistica Array in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: array DIS - Dipartimento di informatica e sistemistica 1 / 25 Cosa vedremo

Dettagli

Concetti di Base sulla Programmazione. Prof.Ing.S.Cavalieri

Concetti di Base sulla Programmazione. Prof.Ing.S.Cavalieri Concetti di Base sulla Programmazione Prof.Ing.S.Cavalieri 1 La Programmazione Dato un problema INFORMATICO, programmare significa: Definire i dati in ingresso e il risultato che si vuole raggiungere Definire

Dettagli

Laboratorio di Programmazione

Laboratorio di Programmazione Laboratorio di Programmazione Laurea in Bioinformatica Docente: Carlo Drioli Web: www.scienze.univr.it/fol/main?ent=oi&id=39990 Programmazione: Dati Strutture di controllo Algoritmi Materiale tratto dai

Dettagli

Lezione 15. L elaboratore Elettronico

Lezione 15. L elaboratore Elettronico Lezione 15 Architettura di un calcolatore L elaboratore Elettronico Un elaboratore elettronico è una macchina elettronica in grado di elaborare dati secondo le specifiche fornite da un algoritmo Internamente

Dettagli

LINGUAGGIO MACCHINA e ASSEMBLER. Una CPU MINIMA Il linguaggio macchina di MINIMA Il linguaggio Assembler per MINIMA

LINGUAGGIO MACCHINA e ASSEMBLER. Una CPU MINIMA Il linguaggio macchina di MINIMA Il linguaggio Assembler per MINIMA LINGUAGGIO MACCHINA e ASSEMBLER Una CPU MINIMA Il linguaggio macchina di MINIMA Il linguaggio Assembler per MINIMA Nel computer non vengono memorizzati soltanto i dati da elaborare ma anche il programma

Dettagli

Esercitazione. Excel: le macro. C.1 Registrazione di macro

Esercitazione. Excel: le macro. C.1 Registrazione di macro Esercitazione Excel: le macro C.1 Registrazione di macro Se una serie di operazioni viene eseguita frequentemente, è possibile creare una macro che esegua automaticamente tali operazioni quando viene richiamata.

Dettagli

DAGLI ALGORITMI AI LINGUAGGI. Linguaggi di Programmazione

DAGLI ALGORITMI AI LINGUAGGI. Linguaggi di Programmazione DAGLI ALGORITMI AI LINGUAGGI 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

Dettagli

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?

Dettagli

VARIABILI E COSTANTI

VARIABILI E COSTANTI VARIABILI E COSTANTI - Variabili e costanti - 1 PROBLEMA: Calcolo dell area di un triangolo di base b e altezza h. area = b ------------ h 2 ESEMPIO: b = 2,4 h = 1,5 area = 2,4 -------------------- 1,5

Dettagli

Esempio: quanto mi piace questo corso! qufuafantofo mifi pifiafacefe qufuefestofo coforsofo!

Esempio: quanto mi piace questo corso! qufuafantofo mifi pifiafacefe qufuefestofo coforsofo! Esercizio 1 Scrivere un programma che acquisisca da tastiera una sequenza di caratteri terminata da! e riporti sul monitor una sequenza derivata dalla precedente secondo le regole dell alfabeto farfallino

Dettagli

Istruzioni condizionali di diramazione in Fortran 90

Istruzioni condizionali di diramazione in Fortran 90 Istruzioni condizionali di diramazione in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: Istruzioni di diramazione DIS - Dipartimento

Dettagli

Cap. 2 - Rappresentazione in base 2 dei numeri interi

Cap. 2 - Rappresentazione in base 2 dei numeri interi Cap. 2 - Rappresentazione in base 2 dei numeri interi 2.1 I NUMERI INTERI RELATIVI I numeri relativi sono numeri con il segno: essi possono essere quindi positivi e negativi. Si dividono in due categorie:

Dettagli

Cosa è l Informatica?

Cosa è l Informatica? Cosa è l Informatica? Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Scienza della rappresentazione, memorizzazione, elaborazione e trasmissione dell informazione Elaboratore

Dettagli

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

Lez. 5 La Programmazione. Prof. Salvatore CUOMO Lez. 5 La Programmazione Prof. Salvatore CUOMO 1 2 Programma di utilità: Bootstrap All accensione dell elaboratore (Bootsrap), parte l esecuzione del BIOS (Basic Input Output System), un programma residente

Dettagli

PASCAL standard. Il linguaggio PASCAL nasce come evoluzione del linguaggio ALGOL60 (ALGOrithmic Language) nel 1968 ad opera di N. Wirth.

PASCAL standard. Il linguaggio PASCAL nasce come evoluzione del linguaggio ALGOL60 (ALGOrithmic Language) nel 1968 ad opera di N. Wirth. PASCAL standard Il linguaggio PASCAL nasce come evoluzione del linguaggio ALGOL60 (ALGOrithmic Language) nel 1968 ad opera di N. Wirth. Nb: primi linguaggi furono: Fortran, Algol, Ada, Cobol (cfr testo)

Dettagli

Diagrammi a blocchi 1

Diagrammi a blocchi 1 Diagrammi a blocchi 1 Sommario Diagrammi di flusso, o a blocchi. Analisi strutturata. Esercizi. 2 Diagrammi a blocchi È un linguaggio formale di tipo grafico per rappresentare gli algoritmi. Attraverso

Dettagli

2. Algoritmi e Programmi

2. Algoritmi e Programmi 12 2. Algoritmi e Programmi Dato un problema, per arrivare ad un programma che lo risolva dobbiamo: individuare di cosa dispongo: gli input; definire cosa voglio ottenere: gli output; trovare un metodo

Dettagli

Informatica. Mario Pavone - Dept. Mathematics & Computer Science - University of Catania. Trasferimento. Ambiente esterno.

Informatica. Mario Pavone - Dept. Mathematics & Computer Science - University of Catania. Trasferimento. Ambiente esterno. Trasferimento Ambiente esterno Controllo Informatica Mario Pavone - Dept. Mathematics & Computer Science - University of Catania mpavone@dmi.unict.it Cos è l Informatica La scienza della rappresentazione

Dettagli

LA METAFORA DELL UFFICIO

LA METAFORA DELL UFFICIO LA METAFORA DELL UFFICIO Lavagna di lavoro Lavagna di programma Sportello utenti Impiegato Capo Ufficio LAVAGNA DI LAVORO Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome

Dettagli

Descrizione delle operazioni di calcolo. Espressioni costanti semplici

Descrizione delle operazioni di calcolo. Espressioni costanti semplici Descrizione delle operazioni di calcolo Come abbiamo detto l interprete è in grado di generare nuovi valori a partire da valori precedentemente acquisiti o generati. Il linguaggio di programmazione permette

Dettagli

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A Matematica 13/11/2007 Teoria Compito A Domanda 1 Descrivere, eventualmente utilizzando uno schema, gli elementi funzionali di una CPU. Domanda 2 Java è un linguaggio compilato o interpretato? Motivare

Dettagli

Il Ciclo Fetch-Decode-Execute. C Nyssen/Aberdeen College 2003

Il Ciclo Fetch-Decode-Execute. C Nyssen/Aberdeen College 2003 Il Ciclo Fetch-Decode-Execute C Nyssen/Aberdeen College 2003 Linguaggio Assembler Op code (Mnemonico) Operando #assembly code program 0000 LDA-24 #loads 0001 ADD-25 #adds 0002 HLT #stops #end of program

Dettagli

Appunti di Excel per risolvere alcuni problemi di matematica (I parte) a.a

Appunti di Excel per risolvere alcuni problemi di matematica (I parte) a.a Appunti di Excel per risolvere alcuni problemi di matematica (I parte) a.a. 2001-2002 Daniela Favaretto* favaret@unive.it Stefania Funari* funari@unive.it *Dipartimento di Matematica Applicata Università

Dettagli

PROBLEMI E ALGORITMI VESPIA CATERINA LICEO CLASSICO AGLI ANGELI

PROBLEMI E ALGORITMI VESPIA CATERINA LICEO CLASSICO AGLI ANGELI PROBLEMI E ALGORITMI prof.ssa VESPIA CATERINA LICEO CLASSICO AGLI ANGELI C O N T E N U T I Problemi. Concetto di algoritmo. Caratteristiche di un algoritmo. Descrizione di algoritmi - Diagrammi di flusso.

Dettagli

Introduzione al funzionamento di un calcolatore elettronico

Introduzione al funzionamento di un calcolatore elettronico 1 / 21 Introduzione al funzionamento di un calcolatore elettronico Natascia Piroso 23 settembre 2009 2 / 21 Sommario Che cos è un calcolatore? 1 Che cos è un calcolatore? Definizioni preliminari Il calcolatore

Dettagli

Linguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl

Linguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl Approfondimento 2.1 Non è questo il testo dove trattare esaurientemente queste tecniche semantiche. Ci accontenteremo di dare un semplice esempio delle tecniche basate sui sistemi di transizione per dare

Dettagli

Linguaggio Assembly e linguaggio macchina

Linguaggio 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

Dettagli

IL PRIMO PROGRAMMA IN C

IL PRIMO PROGRAMMA IN C IL PRIMO PROGRAMMA IN C LO SCOPO Si vuole scrivere un programma in linguaggio C che chieda all utente di introdurre da tastiera due numeri interi e visualizzi il valore della loro somma sul video SOLUZIONE

Dettagli

Moltiplicazione. Divisione. Multipli e divisori

Moltiplicazione. Divisione. Multipli e divisori Addizione Sottrazione Potenze Moltiplicazione Divisione Multipli e divisori LE QUATTRO OPERAZIONI Una operazione aritmetica è quel procedimento che fa corrispondere ad una coppia ordinata di numeri (termini

Dettagli

Introduzione alla programmazione Esercizi risolti

Introduzione alla programmazione Esercizi risolti Esercizi risolti 1 Esercizio Si determini se il diagramma di flusso rappresentato in Figura 1 è strutturato. A B C D F E Figura 1: Diagramma di flusso strutturato? Soluzione Per determinare se il diagramma

Dettagli

Algoritmi e Programmi

Algoritmi e Programmi Algoritmi e Programmi Algoritmi e Programmi Le azioni che si compiono ogni giorno sono finalizzate alla risoluzione di problemi. Problema di elaborazione Insieme dati di partenza Risultato ricerca Algoritmi

Dettagli

Rapida Nota sulla Rappresentazione dei Caratteri

Rapida Nota sulla Rappresentazione dei Caratteri TECNOLOGIA DIGITALE TECNOLOGIA DIGITALE (segue) CPU, memoria centrale e dispositivi sono realizzati con tecnologia elettronica digitale Dati ed operazioni vengono codificati tramite sequenze di bit 8 bit

Dettagli

EXCEL software Excel .xlxs, La cella intestazione della colonna intestazione di righe l indirizzo della cella testo numeri formule

EXCEL software Excel .xlxs, La cella intestazione della colonna intestazione di righe l indirizzo della cella testo numeri formule EXCEL Il software Excel appartiene alla categoria dei fogli elettronici. Ogni foglio è composto da 1.048.576 righe per 16.384 colonne suddivise in celle che è possibile collegare tra loro: in tal modo

Dettagli

Cosa si intende con stato

Cosa si intende con stato Il concetto di stato Cosa si intende con stato I una particolare configurazione delle informazioni di una macchina, che in qualche modo memorizza le condizioni in cui si trova, e che cambia nel tempo passando

Dettagli

Altrimenti, il M.C.D. di a e b è anche divisore di r (e.g. a=15,b=6,r=3 che è il M.C.D.)

Altrimenti, il M.C.D. di a e b è anche divisore di r (e.g. a=15,b=6,r=3 che è il M.C.D.) Elaboratore Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni sui dati digitale l informazione è rappresentata in forma numerica

Dettagli

Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly

Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Richiamo sull

Dettagli

Algoritmi e diagrammi di flusso versione biennio

Algoritmi e diagrammi di flusso versione biennio Algoritmi e diagrammi di flusso versione biennio Pablo Genova gallini.genova@gmail.com I. I. S. Angelo Omodeo Mortara Indirizzo Tecnico-Economico A. S. 2015 2016 Cos'è un algoritmo? Algoritmo: procedimento

Dettagli

Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock. Prof. Andrea Sterbini

Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock. Prof. Andrea Sterbini Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock Prof. Andrea Sterbini sterbini@di.uniroma1.it Argomenti Progetto della CPU MIPS a 1 colpo di clock - Istruzioni da implementare - Unità

Dettagli

Programmazione in Java (I modulo)

Programmazione in Java (I modulo) Programmazione in Java (I modulo) Lezione 4 Variabili di tipo primitivo. Dichiarazione di costanti Conversioni di tipo: operatore cast Altri operatori di assegnamento Operazioni aritmetiche e di confronto

Dettagli

Informatica. Come si risolve un problema?

Informatica. Come si risolve un problema? Informatica Elaborazione automatica dell informazione Esempio di elaborazione: rubrica, elenco telefonico. Ogni problema di elaborazione dell informazione è caratterizzato da: un insieme di dati di partenza

Dettagli

Dalla prima lezione. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 7 VARIABILI E COSTANTI 28/02/2016. Concetto di algoritmo

Dalla prima lezione. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 7 VARIABILI E COSTANTI 28/02/2016. Concetto di algoritmo LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 7 VARIABILI E COSTANTI Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna

Dettagli