Fondamenti di programmazione!! Parte 2!

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Fondamenti di programmazione!! Parte 2!"

Transcript

1 Fondamenti di programmazione!! Parte 2! 1!

2 Definizione intuitiva di algoritmo! n Elenco finito di istruzioni che specificano una serie di operazioni, eseguendo le quali e possibile risolvere ogni istanza di un problema di un dato tipo! 2!

3 Proprietà degli algoritmi! n FINITI! n NON AMBIGUI! n GENERALI! 3!

4 Soluzione di ax 2 +bx+c=0 1. inizio dell algoritmo; 2. acquisire dall esterno i valori dei coefficienti a, b e c; 3. calcolare il valore Δ=b 2-4ac; 4. se Δ<0, allora non esistono radici reali: eseguire 8; 5. se Δ=0, allora x 1 =x 2 =-b/2a: eseguire 7; 6. se Δ>0, allora x 1 =(-b+ Δ)/2a e x 2 =(-b- Δ)/2a; 7. comunicare all esterno i valori di x 1 ed x 2 ; 8. fine dell algoritmo. 4!

5 Descrizione degli algoritmi Diagramma a blocchi (flow chart): rappresentazione grafica di un algoritmo che indica il flusso delle trasformazioni descritte dall algoritmo che devono essere eseguite a partire dai dati iniziali per ottenere i risultati finali. 5!

6 Blocchi elementari begin input azione end output falso C vero 6!

7 Esempio su ax 2 +bx+c=0 begin a, b, c Δ=b 2-4ac V Δ<0 F x 1 =-b/2a V Δ=0 F x 1 =(-b+ Δ)/2a x 2 =-b/2a x 2 =(-b- Δ)/2a radici c.c. x 1, x 2 end 7!

8 Il gioco dei quindici Quindici oggetti, ad esempio fiammiferi, sono su una tavola. Il primo giocatore ne raccoglie 1, 2 o 3. Il secondo giocatore ne raccoglie a sua volta 1, 2 o 3. Quindi è ancora il primo giocatore a raccogliere 1, 2 o 3 fiammiferi. I giocatori alternano le loro mosse finchè sul tavolo non esistono più fiammiferi. Il giocatore che è costretto a raccogliere l ultimo fiammifero è il perdente. Descrivere una strategia vincente per il primo giocatore 8!

9 Problema delle dodici monete Tra 12 monete di identico aspetto potrebbe nascondersene una falsa e pertanto di peso diverso. Disponendo di una bilancia a 2 piatti per confrontare gruppi di monete, si vuole individuare la moneta falsa e stabilire se essa pesi più o meno delle altre, mediante non più di 3 pesate. 9!

10 Soluzione del gioco dei quindici Siano A il primo giocatore e B il secondo 1. Prima mossa: A raccoglie 2 fiammiferi 2. Mosse successive: se B raccoglie k fiammiferi (k<=3), allora A raccoglie 4-k fiammiferi 10!

11 Soluzione del gioco delle monete 1L 2L 3L 4L 5P 6P 7P 8P 1, 2, 3, 4 : 5, 6, 7, 8 1P 2P 3P 4P 5L 6L 7L 8L 9L 10L 11L 12L 1, 2, 5 : 3, 4, 6 1, 2, 5 : 3, 4, 6 9P 10P 11P 12P 1L 2L 6P 7P 8P 5P 3L 4L 0 5L 3P 4P 7L 8L 1P 2P 6L 1:2 7:8 3:4 3:4 7:8 1:2 1L 6P 2L 8P imp 7P 3L 5P 4L 9, 10 : 11, 1 4P 5L 3P 7L imp 8L 2P 6L 1P 9L 10L 11P 9:10 12L 12P 0 9P 10P 11l 12:1 9:10 9L 11P 10L 12L 0 12P 10P 11L 9P 11!

12 Breve storia dei calcolatori Primi strumenti di calcolo meccanici Abaco 1600 Pascal (somma e sottrazione) Leibniz (moltiplicazione e divisione) 1800 Babbage (quadrato e stampa) Babbage (macchina analitica) Ada Augusta Lovelace (prima programmatrice) Schede perforate utilizzate nel 1890 (inizio di IBM) 12!

13 1944 Mark I (primo calcolatore elettromeccanico) 1946 ENIAC 1949 EDSAC (macchina di tipo Von Neumann) Anni successivi Stessa architettura ma tecnologia più avanzata 1960 Internet (fine anni sessanta per esigenze militari, si chiamava Arpanet) 1989 www (word wide web: enorme enciclopedia) 13!

14 Hardware Pezzi fisici tangibili che supportano l elaborazione (chip di silicio, fili elettrici, tastiera, dischi, stampanti.) Software I componenti hardware sono inutili se non ricevono precise istruzioni. Un programma è una serie di istruzioni che l hardware esegue in sequenza. 14!

15 Componenti hardware principali Dispositivi di input Organizzazione hardware standard Memoria Processore (CPU) Dispositivi di output Dispositivi di input Ad es.: mouse, tastiera Dispositivi di output Ad es.: monitor, stampante Insieme in uno stesso contenitore Processore (CPU) Central Processing Unit Interpreta e esegue le istruzioni Memoria 15!

16 Due Tipi di Memoria Principale area di lavoro mantiene temporaneamente programmi e dati (mentre il programma è in esecuzione) Ausiliaria permanente salva programmi e risultati Esempi: floppy & hard disk, CD, nastri 16!

17 Organizzazione della Memoria Principale Bit = una cifra binaria valori: 0 o 1 Byte = 8 bit La memoria principale è una lista di locazioni numerate ciascuna di un byte Il numero di byte utilizzato per memorizzare un dato varia con il tipo di dato Indirizzo Dato Dato 1: 2 byte Dato 2: 1 byte Dato 3: 3 byte Dato 4: 2 byte 3029 Etc. 17!

18 Organizzazione della Memoria Ausiliaria Radice File Directory Directory File Directory Directory Directory File File File Directory File 18!

19 Programma Insieme di istruzioni che il calcolatore deve eseguire Programma Input Calcolatore Output 19!

20 Tipi di Programmi Sistema Operativo Programma supervisore DOS, Windows, MacOS, UNIX, Linux Applicazioni esistenti word-processor/editor web browser compilatori o assembler Applicazioni create dall utente 20!

21 Informazione! Esistono due formati per memorizzare l informazione: ANALOGICO DIGITALE L informazione analogica è continua e cresce proporzionalmente alla sorgente di informazione Es: termometro di mercurio, segnali La tecnologia digitale spezza l informazione in tanti pezzi che rappresenta come numeri Es: compact disc elettrici 21!

22 I computer moderni sono digitali: Ogni tipo di informazione è spezzato in blocchi. Ogni blocco è rappresentato da un numero e l informazione è memorizzata sotto forma di sequenza di numeri. Il computer digitale memorizza l informazione sotto forma di numeri binari (base 2). La singola cifra binaria si chiama bit (binary digit). La base del sistema indica quante cifre si hanno a disposizione e il valore posizionale di ogni cifra in un numero. 22!

23 Sistemi posizionali! Il sistema di numerazione decimale è basato sull alfabeto decimale {0,1,2,3,4,5,6,7,8,9} ed ogni numero è rappresentato come sequenza di simboli di tale alfabeto. Ad ogni simbolo è associato un peso a seconda della posizione. Es: 2863=2x x x x !

24 In generale i sistemi numerici posizionali in base b 2 rappresentano ogni numero con m cifre in base b: N=c m-1.c 0 Dove i c i denotano elementi di un insieme di b simboli che corrispondono ai primi b numeri naturali 0..b-1. Vale N= c i b i Es: =1x2 3 +1x2 2 +0x2 1 +0x2 0 24!

25 Come comunicare Linguaggio macchina: sequenze di 0 ed 1 rigoroso essenziale Linguaggio assembler: simbolico semplice traduzione aggiuntiva Linguaggio naturale: linguaggio preferito dall essere umano ambiguo, ridondante, non preciso Linguaggio di programmazione ad alto livello 25!

26 Storia Moderna PASCAL (1970) Programming in Logic (1971) C (1974) ADA(1980) 26!

27 Storia Contemporanea C++ (1985) Java (1994) 27!

28 Tipi di programmazione Funzionale Logica Procedurale Orientata agli oggetti 28!

29 Traduttori macchina traduttore programma Codice in l. macchina macchina dati Codice in l. macchina risultati 29!

30 Compilatori ed interpreti Compilatore programma che traduce un programma in linguaggio ad alto livello in un programma in linguaggio più semplice che il calcolatore può eseguire (più o meno) direttamente. Interprete programma che traduce ed esegue una dopo l altra le istruzioni che compongono il programma sorgente 30!

31 L approccio di Java Sia compilato che interpretato Codice intermedio: Byte Code codice a basso livello portabile simile al codice assembler ma indipendente dall hardware invisibile ai programmatori Java L interprete traduce dal byte code in un programma nel linguaggio macchina della macchina specifica 31!

32 L ambiente Java Programma Java Programmi precedentemente compilati Dati in input Compilatore Java Programma in Byte-Code Interprete Esecuzione Output del Programma Java 32!

Fondamenti di Programmazione -Presentazione del Corso-

Fondamenti di Programmazione -Presentazione del Corso- Fondamenti di Programmazione -Presentazione del Corso- CdL Ingegneria Informatica e dell'informazione Sara Brunetti sara.brunetti@unisi.it 0577 234850 1168 Ufficio 236 Fondamenti di Programmazione Orario

Dettagli

Concetti Introduttivi

Concetti Introduttivi Concetti Introduttivi Architettura del Computer http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Introduzione In questo corso ci occuperemo

Dettagli

LEZIONE 4. Hardware (periferiche) Software (algoritmi)

LEZIONE 4. Hardware (periferiche) Software (algoritmi) LEZIONE 4 Hardware (periferiche) Software (algoritmi) Prof. Valle Prof. Folgieri Lez4 Hardware e Software 1 PERIFERICHE DI INPUT E DI OUTPUT Periferiche di INPUT: Tastiera Mouse Trackball, touch pad, joystick

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

INFORMATICA. L informatica comprende:

INFORMATICA. L informatica comprende: Varie definizioni: INFORMATICA Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Definizione proposta: Scienza della rappresentazione e dell elaborazione dell informazione

Dettagli

Parte II. Introduzione ai sistemi operativi e WindowsX. Parte II 1

Parte II. Introduzione ai sistemi operativi e WindowsX. Parte II 1 Parte II Introduzione ai sistemi operativi e WindowsX Parte II 1 tutto è un programma Insieme di istruzioni che il calcolatore deve eseguire Programma Input Calcolatore Output Parte II 2 Come comunicare

Dettagli

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

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

Modulo 1. Concetti base della Tecnologia dell informazione. Prof. Nicolello Cristiano. Modulo 1

Modulo 1. Concetti base della Tecnologia dell informazione. Prof. Nicolello Cristiano. Modulo 1 Concetti base della Tecnologia dell informazione Algoritmi Come interpreta un computer un problema? Algoritmi Algoritmo: sequenza ordinata di istruzioni per risolvere un problema (tradotto: sequenza di

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

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

Introduzione alla programmazione

Introduzione 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

Dettagli

Il calcolatore. Architettura di un calcolatore (Hardware)

Il calcolatore. Architettura di un calcolatore (Hardware) Il calcolatore Prima parlare della programmazione, e' bene fare una brevissima introduzione su come sono strutturati i calcolatori elettronici. I calcolatori elettronici sono stati progettati e costruiti

Dettagli

Lez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1

Lez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1 Lez. 8 La Programmazione Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1 Dott. Pasquale De Michele Dott. Raffaele Farina Dipartimento di Matematica e Applicazioni Università di Napoli

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

Programma svolto di INFORMATICA. Classe 3M - indirizzo MERCURIO A.S. 2010/2011

Programma svolto di INFORMATICA. Classe 3M - indirizzo MERCURIO A.S. 2010/2011 ISTITUTO TECNICO COMMERCIALE N. DELL ANDRO - Santeramo in Colle (BA) Programma svolto di INFORMATICA Classe 3M - indirizzo MERCURIO A.S. 2010/2011 Proff. Rosalia Barbara Schiavarelli, Antonio Antonicelli

Dettagli

CONCETTI FONDAMENTALI

CONCETTI FONDAMENTALI CONCETTI FONDAMENTALI Algoritmo Procedura di trasformazione di un insieme di dati iniziali in un insieme di risultati finali mediante una sequenza di istruzioni. Linguaggio di programmazione Programma

Dettagli

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2016/2017 1 Programma del corso Informatica di

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

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

Memoria Secondaria o di Massa

Memoria Secondaria o di Massa Memoria Secondaria o di Massa dischi fissi (hard disk), floppy disk, nastri magnetici, CD, DVD, USB memory, etc deve essere permanente (mentre la RAM e`volatile) accesso sequenziale, cioe il tempo di accesso

Dettagli

Introduzione al software. Maurizio Gabbrielli Università di Bologna

Introduzione al software. Maurizio Gabbrielli Università di Bologna Introduzione al software Maurizio Gabbrielli Università di Bologna 1 Il calcolatore elettronico Calcolatore = hardware + software Hardware: i componenti fisici Software: le istruzioni che ``dicono all

Dettagli

Architettura dei calcolatori e Software di sistema

Architettura dei calcolatori e Software di sistema Università degli Studi di Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica, Meccanica Lezioni di Informatica di Base per la Facoltà di Lettere e Filosofia Anno Accademico 2012/20103

Dettagli

Cos è la programmazione?

Cos è la programmazione? La programmazione Cos è la programmazione? Termine usato per indicare le attività che trasformano l esigenza di risolvere un Problema in un Programma, inteso come sistema informatico capace di risolvere

Dettagli

MODULO 1. Prof. Onofrio Greco. Prof. Greco Onofrio

MODULO 1. Prof. Onofrio Greco. Prof. Greco Onofrio ECDL MODULO 1 Prof. Onofrio Greco Modulo 1 Concetti di base dell ICT Modulo 2 Uso del Computer e Gestione dei File Modulo 3 - Elaborazione testi Modulo 4 Foglio Elettronico Modulo 5 Uso delle Basi di Dati

Dettagli

Programma svolto di INFORMATICA. Classe 3 - indirizzo MERCURIO A.S. 2009/2010

Programma svolto di INFORMATICA. Classe 3 - indirizzo MERCURIO A.S. 2009/2010 ISTITUTO TECNICO COMMERCIALE N. DELL ANDRO - Santeramo in Colle (BA) Programma svolto di INFORMATICA Classe 3 - indirizzo MERCURIO A.S. 2009/2010 Proff. Rosalia Barbara Schiavarelli, Antonio Antonicelli

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

Algoritmi, Strutture Dati e Programmi. UD 1.d: Dati e Tipi di Dato

Algoritmi, 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)

Dettagli

Algoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema

Algoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema Algoritmo 2 Procedimento di risoluzione di un problema La programmazione Ver. 2.4 Permette di ottenere un risultato eseguendo una sequenza finita di operazioni elementari Esempi: Una ricetta di cucina

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

Lezione2: Circuiti Logici

Lezione2: Circuiti Logici Lezione2: Circuiti Logici traduce per noi in linguaggio macchina utente macchina software macchina hardware Agli albori dell'informatica, l utente programmava in binario (Ling.Mac.) scrivendo i programmi

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Programmazione L attività con cui si predispone l elaboratore ad eseguire un particolare insieme di azioni su particolari dati, allo scopo di risolvere un problema Dati Input

Dettagli

Architettura generale del calcolatore Hardware (tutto ciò che e tangibile) Software (tutto ciò che non e tangibile)

Architettura generale del calcolatore Hardware (tutto ciò che e tangibile) Software (tutto ciò che non e tangibile) Architettura generale del calcolatore Hardware (tutto ciò che e tangibile) La macchina di Von Neumann Le periferiche Software (tutto ciò che non e tangibile) Il sistema operativo I programmi applicativi

Dettagli

Informatica. 80 ore divise in 4 UFC. Docente: Michela Bacchin. Contatti: Tramite Ermes Studenti

Informatica. 80 ore divise in 4 UFC. Docente: Michela Bacchin. Contatti: Tramite Ermes Studenti Informatica 80 ore divise in 4 UFC Docente: Michela Bacchin Contatti: michela.bacchin.corsi@gmail.com Tramite Ermes Studenti Programma UFC 12: Strumenti per il trattamento dei documenti testuali UFC 13:

Dettagli

Introduzione ai Calcolatori Elettronici

Introduzione ai Calcolatori Elettronici Introduzione ai Calcolatori Elettronici Elementi di Base dell ICT Information and Communication Technology Concetti Introduttivi A.A. 2013/2014 Domenica Sileo Università degli Studi della Basilicata Elementi

Dettagli

Fondamenti di Programmazione -Presentazione del Corso-

Fondamenti di Programmazione -Presentazione del Corso- Fondamenti di Programmazione -Presentazione del Corso- CdL Ingegneria Informatica e dell'informazione Sara Brunetti sara.brunetti@unisi.it 0577 234850 1168 Ufficio 236 Fondamenti di Programmazione Orario

Dettagli

Come funzionano i computer

Come funzionano i computer Fluency Come funzionano i computer Capitolo 6 Cosa sanno fare Esecuzione deterministica istruzioni per elaborare dati Devono ricevere una serie di istruzioni da seguire Cosa non sanno fare Non hanno immaginazione

Dettagli

C Modula-2. Linguaggi di alto livello LINGUAGGI DI ALTO LIVELLO. Evoluzione dei linguaggi COS È UN LINGUAGGIO? Barriera di astrazione

C Modula-2. Linguaggi di alto livello LINGUAGGI DI ALTO LIVELLO. Evoluzione dei linguaggi COS È UN LINGUAGGIO? Barriera di astrazione LINGUAGGI DI ALTO LIVELLO Linguaggi di alto livello Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 Smalltalk Java A OGGETTI Barriera di astrazione IMPERATIVI

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

Il computer P R O F. L O R E N Z O P A R I S I

Il computer P R O F. L O R E N Z O P A R I S I Il computer P R O F. L O R E N Z O P A R I S I Un po di storia Le prime macchine per il calcolo automatico risalgono al 1940. Il calcolatore più potente di quel periodo era l ENIAC, in grado di svolgere

Dettagli

Cosa è un programma. Informatica di Base -- R.Gaeta 18

Cosa è un programma. Informatica di Base -- R.Gaeta 18 Cosa è un programma Il programma è la scatola nera che risolve il problema computazionale; Il programma è una sequenza di istruzioni che devono essere eseguite; Il programma è la traduzione per il computer

Dettagli

Fondamenti di Informatica T. Il Software

Fondamenti di Informatica T. Il Software Il Software TECNOLOGIA DIGITALE CPU, memoria centrale e dispositivi sono realizzati con tecnologia elettronica digitale. Dati ed operazioni vengono codificati a partire da due valori distinti di grandezze

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Parte 2 Linguaggi di programmazione Livello di Astrazione per la Codifica di un Algoritmo Si può risolvere un problema senza prima fissare un insieme di azioni, di mosse elementari possibili per l elaboratore?

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche del Linguaggio

Dettagli

ALGORITMI: PROPRIETÀ FONDAMENTALI

ALGORITMI: PROPRIETÀ FONDAMENTALI ALGORITMI: PROPRIETÀ FONDAMENTALI Non si può risolvere un problema senza prima fissare un insieme di azioni, i di mosse elementari possibili per l'esecutore. Bisogna conoscerne le caratteristiche, le mosse

Dettagli

Linguaggi, Traduttori e le Basi della Programmazione

Linguaggi, 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

Dettagli

LINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware

LINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 LINGUAGGI DI ALTO LIVELLO Barriera di astrazione Fortran Cobol Basic Pascal Python C

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

Francia dalla contrazione delle parole INFORmazione e automatica. Elaborazione e trattamento automatico delle informazioni INFORMATICA

Francia dalla contrazione delle parole INFORmazione e automatica. Elaborazione e trattamento automatico delle informazioni INFORMATICA INFORMATICA La parola INFORMATICA indica l insieme delle discipline e delle tecniche che permettono la trattazione automatica delle informazioni che sono alla base delle nostre conoscenze e delle loro

Dettagli

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 30/06/2016/ Foglio delle domande / VERSIONE 1

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 30/06/2016/ Foglio delle domande / VERSIONE 1 Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 30/06/2016/ Foglio delle domande/ VERSIONE 1 1) In Python, se scrivo v = [ ] in un programma, vuol dire che a) v è un quadrato b) v è un insieme vuoto

Dettagli

Piccoli Ingegneri Informatici

Piccoli Ingegneri Informatici Piccoli Ingegneri Informatici 1 Varie definizioni: INFORMATICA Scienza degli elaboratori elettronici (Computer p Science) ) Scienza dell informazione Definizione i i proposta: Scienza della rappresentazione

Dettagli

Introduzione alla programmazione. Walter Didimo

Introduzione alla programmazione. Walter Didimo Introduzione alla programmazione Walter Didimo Programmi Un programma è una frase (anche molto lunga) che descrive delle azioni che devono essere svolte da un calcolatore La frase deve essere dettagliata

Dettagli

Architettura di un elaboratore. Il modello di von Neumann

Architettura di un elaboratore. Il modello di von Neumann Architettura di un elaboratore Il modello di von Neumann 4(5) componenti fondamentali unita di elaborazione: CPU memoria centrale: RAM periferiche (memoria di massa) bus di sistema bus di sistema CPU RAM

Dettagli

INFORMATICA. Scienza degli elaboratori elettronici (Computer. informazione

INFORMATICA. Scienza degli elaboratori elettronici (Computer. informazione Varie definizioni: INFORMATICA Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione informazione Definizione proposta: Scienza della rappresentazione e dell elaborazione elaborazione

Dettagli

LINGUAGGI DI ALTO LIVELLO

LINGUAGGI DI ALTO LIVELLO LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware Linguaggi di alto livello Barriera di astrazione C Fortran Modula-2 Cobol Algol Basic Ada

Dettagli

Fondamenti: Informatica, Computer, Hardware e Software

Fondamenti: Informatica, Computer, Hardware e Software Consulente del Lavoro A.A 2002/2003 I Semestre Fondamenti: Informatica, Computer, Hardware e Software prof. Monica Palmirani Finalità del corso fornire elementi di informatica di base teorici che consentano

Dettagli

Analogico vs. Digitale. LEZIONE II La codifica binaria. Analogico vs digitale. Analogico. Digitale

Analogico vs. Digitale. LEZIONE II La codifica binaria. Analogico vs digitale. Analogico. Digitale Analogico vs. Digitale LEZIONE II La codifica binaria Analogico Segnale che può assumere infiniti valori con continuità Digitale Segnale che può assumere solo valori discreti Analogico vs digitale Il computer

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

Pag. 1. La Rappresentazione e la Codifica delle informazioni (parte 2) Tipi di dati. Informatica Facoltà di Medicina Veterinaria

Pag. 1. La Rappresentazione e la Codifica delle informazioni (parte 2) Tipi di dati. Informatica Facoltà di Medicina Veterinaria 1 Università degli studi di Parma Dipartimento di Ingegneria dell Informazione Informatica a.a. 2012/13 Tipi di dati Informatica Facoltà di Medicina Veterinaria La Rappresentazione e la Codifica delle

Dettagli

Architettura di un calcolatore

Architettura di un calcolatore Architettura di un calcolatore Processore: CPU Componente elettronico costituito da minuscole componenti di silicio, chiamate CHIP. Esegue le istruzioni implementate nel SW, tramite una serie di operazioni

Dettagli

Che cos e l Informatica. Informatica generale. Caratteristiche fondamentali degli algoritmi. Esempi di algoritmi. Introduzione

Che cos e l Informatica. Informatica generale. Caratteristiche fondamentali degli algoritmi. Esempi di algoritmi. Introduzione Che cos e l Informatica Scienza dell elaborazione dell informazione Informatica generale non si riduce all utilizzo di strumenti (e.g. linguaggi di programmazione e basi di dati); si occupa del trattamento

Dettagli

Gocce di Java (seconda edizione) Glossario

Gocce di Java (seconda edizione) Glossario Gocce di Java (seconda edizione) Glossario Pierluigi Crescenzi 1 1 Dipartimento di Ingegneria dell Informazione, Università degli Studi di Firenze (pierluigi.crescenzi@unifi.it) abaco Antico strumento

Dettagli

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori AXO - Architettura dei Calcolatori e Sistema Operativo organizzazione strutturata dei calcolatori I livelli I calcolatori sono progettati come una serie di livelli ognuno dei quali si basa sui livelli

Dettagli

Organizzazione strutturata

Organizzazione strutturata Organizzazione strutturata Evoluzione storica a.a. 2002-03 L. Borrelli 1 Complessità dei Sistemi di Elaborazione Caratteristica dei Sistemi di Elaborazione: Complessità Per trattare sistemi complessi è

Dettagli

Il computer P R O F. L O R E N Z O P A R I S I

Il computer P R O F. L O R E N Z O P A R I S I Il computer U T I L I Z Z O D E L P C E D O F F I C E A U T O M A T I O N P R O F. L O R E N Z O P A R I S I Un po di storia Le prime macchine per il calcolo automatico risalgono al 1940. Il calcolatore

Dettagli

Il linguaggio di programmazione Python

Il linguaggio di programmazione Python Università Roma Tre Dipartimento di Matematica e Fisica Percorso Abilitante Speciale Classe A048 Matematica Applicata Corso di Informatica Il linguaggio di programmazione Python Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

I Linguaggi di Programmazione

I Linguaggi di Programmazione I Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche del Linguaggio

Dettagli

Piccoli Ingegneri Informatici

Piccoli Ingegneri Informatici Piccoli Ingegneri Informatici 1 INFORMATICA Varie definizioni: Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Definizione proposta: Scienza della rappresentazione e

Dettagli

L elaboratore. Fondamenti di Informatica S.Badaloni Ing. Aerospaziale A.A. 2003/04

L elaboratore. Fondamenti di Informatica S.Badaloni Ing. Aerospaziale A.A. 2003/04 L elaboratore Fondamenti di Informatica S.Badaloni Ing. Aerospaziale A.A. 2003/04 un po di storia L idea di utilizzare dispositivi meccanici per effettuare in modo automatico computazioni risale al 600

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori Architettura degli Elaboratori Rappresentazione dell Informazione Barbara Masucci Cosa studiamo oggi Ø Un moderno elaboratore è un sistema elettronico digitale programmabile Ø Il suo comportamento è flessibile

Dettagli

L informatica comprende:

L informatica comprende: Varie definizioni: INFORMATICA Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Definizione proposta: Scienza della rappresentazione e dell elaborazione dell informazione

Dettagli

RETI E SISTEMI INFORMATIVI

RETI E SISTEMI INFORMATIVI RETI E SISTEMI INFORMATIVI Prof. Andrea Borghesan venus.unive.it/borg borg@unive.it Ricevimento martedì, 12.00-13.00. Aula?? Modalità esame: scritto + tesina facoltativa 1 TIPI DI ELABORATORI I computer

Dettagli

Problemi, algoritmi, calcolatore

Problemi, algoritmi, calcolatore Problemi, algoritmi, calcolatore Informatica e Programmazione Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Problemi, algoritmi, calcolatori Introduzione

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

Linguaggi di Programmazione

Linguaggi 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

Dettagli

PROGRAMMAZIONE DISCIPLINARE LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE INFORMATICA CLASSE PRIMA

PROGRAMMAZIONE DISCIPLINARE LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE INFORMATICA CLASSE PRIMA PROGRAMMAZIONE DISCIPLINARE PROGRAMMAZIONE DISCIPLINARE LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE INFORMATICA CLASSE PRIMA 1. Competenze: le specifiche competenze di base disciplinari previste dalla

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

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

C++ Barriera di astrazione. Barriera di astrazione. Basic. Basic. Lisp. Lisp. Pascal. Prolog. Pascal. Prolog. Cobol. Fortran IMPERATIVI FUNZIONALI

C++ Barriera di astrazione. Barriera di astrazione. Basic. Basic. Lisp. Lisp. Pascal. Prolog. Pascal. Prolog. Cobol. Fortran IMPERATIVI FUNZIONALI Linguaggi di alto livello Barriera di astrazione C Fortran Cobol Modula-2 Basic Pascal Algol Ada Lisp Smalltalk Simula67 Scheme C++ Prolog ML AN - 1995 Linguaggi di alto livello IMPERATIVI C Fortran Modula-2

Dettagli

TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE

TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE Riccardo Dondi Dipartimento di Scienze dei linguaggi, della comunicazione e degli studi culturali Università degli Studi di Bergamo Informazione sul corso

Dettagli

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori Programma del corso Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori Cos è un Calcolatore? Un computer (calcolatore) è una macchina

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

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

Architettura di Von Neumann

Architettura di Von Neumann Architettura di Von Neumann L architettura è ancora quella classica sviluppata da Von Neumann nel 1947. L architettura di Von Neumann riflette le funzionalità richieste da un elaboratore: memorizzare i

Dettagli

Aritmetica dei Calcolatori Elettronici

Aritmetica dei Calcolatori Elettronici Aritmetica dei Calcolatori Elettronici Prof. Orazio Mirabella L informazione Analogica Segnale analogico: variabile continua assume un numero infinito di valori entro l intervallo di variazione intervallo

Dettagli

Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 13/09/2013/ Foglio delle domande/versione 1

Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 13/09/2013/ Foglio delle domande/versione 1 Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 13/09/2013/ Foglio delle domande/versione 1 1) Dato un diagramma di flusso quali sono le condizioni necessarie perché si possa costruire un programma corrispondente?

Dettagli

I Sistemi Informativi

I Sistemi Informativi I Sistemi Informativi Prof. Vincenzo Auletta 1 Il computer Computer - Elaboratore Elettronico Digitale Elaboratore: macchina in grado di manipolare automaticamente dati in base ad una serie di istruzioni

Dettagli

Capitolo 1. Introduzione. Cay S. Horstmann Concetti di informatica e fondamenti di Java

Capitolo 1. Introduzione. Cay S. Horstmann Concetti di informatica e fondamenti di Java Capitolo 1 Introduzione Cay S. Horstmann Concetti di informatica e fondamenti di Java Obiettivi del capitolo Capire il significato dell attività di programmazione Imparare a riconoscere le componenti più

Dettagli

Il Software programmabili programma algoritmo

Il Software programmabili programma algoritmo Il Software La proprietà fondamentale dei calcolatori e` quella di essere programmabili cioè in grado di svolgere compiti diversi a seconda delle istruzioni fornite dall utente mediante un programma, ossia

Dettagli

Sistema Operativo (Software di base)

Sistema Operativo (Software di base) Il Software Il software del PC Il computer ha grandi potenzialità ma non può funzionare senza il software. Il software essenziale per fare funzionare il PC può essere diviso nelle seguenti componenti:

Dettagli

Personal Computer: introduzione

Personal Computer: introduzione I.I.S. Benvenuto Cellini Corso di formazione tecnica Personal Computer: introduzione Prof. Alessandro Pinto v.2009 Architettura di Von Neumann Unità centrale di elaborazione Input Unità aritmetico-logica

Dettagli

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori Programma del corso Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori Codifica dell informazione Il calcolatore memorizza ed elabora

Dettagli

Introduzione alla Programmazione. Giselda De Vita

Introduzione alla Programmazione. Giselda De Vita Introduzione alla Programmazione Giselda De Vita - 2015 1 Sulla base dell ambito in cui si colloca il problema da risolvere, è opportuno adottare un linguaggio piuttosto che un altro: ² Calcolo scientifico:

Dettagli

Macchine Astratte. Luca Abeni. February 22, 2017

Macchine Astratte. Luca Abeni. February 22, 2017 Macchine Astratte February 22, 2017 Architettura dei Calcolatori - 1 Un computer è composto almeno da: Un processore (CPU) Esegue le istruzioni macchina Per fare questo, può muovere dati da/verso la memoria

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

Sistemi di Elaborazione delle Informazioni 6 CFU. Il software di sistema

Sistemi di Elaborazione delle Informazioni 6 CFU. Il software di sistema Università degli Studi di Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica, Meccanica Sistemi di Elaborazione delle Informazioni 6 CFU Anno Accademico 2015/2016 Docente: ing. Salvatore

Dettagli

MIPS & SPIM. Modulo del Corso di Architettura degli Elaboratori. Nicola Paoletti. Università di Camerino Scuola di Scienze e Tecnologie

MIPS & SPIM. Modulo del Corso di Architettura degli Elaboratori. Nicola Paoletti. Università di Camerino Scuola di Scienze e Tecnologie MIPS & SPIM Modulo del Corso di Architettura degli Elaboratori Nicola Paoletti Università di Camerino Scuola di Scienze e Tecnologie 10 Aprile 2013 AA 2012/2013 Informazioni utili (1/2) Email: nicola.paoletti@unicam.it

Dettagli

Sorgenti di errore. Laboratorio di Informatica 1

Sorgenti di errore. Laboratorio di Informatica 1 Sorgenti di errore Semplificazioni introdotte nel modello Errori nei dati (errore inerente) Errori di arrotondamento nei dati e nei calcoli (errori dovuti alla precisione finita) Errori di troncamento:procedimento

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

Dipartimento di Giurisprudenza Prof. Michele Perilli Conoscenze Informatiche

Dipartimento di Giurisprudenza Prof. Michele Perilli Conoscenze Informatiche Dipartimento di Giurisprudenza Prof. Michele Perilli Conoscenze Informatiche michele.perilli@unifg.it mlperilli@gmail.com Processore Memoria RAM Hard disk CD-ROM Floppy disk Tastiera Sistema operativo

Dettagli