Appunti del corso di Informatica 1 (IN1 Fondamenti) 2 Introduzione alla programmazione
|
|
- Alberto Cirillo
- 8 anni fa
- Visualizzazioni
Transcript
1 Università Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN1 Fondamenti) 2 Introduzione alla programmazione Marco Liverani (liverani@mat.uniroma3.it) Sommario Caratteristiche di un calcolatore elettronico Compiti del programmatore Competenze ed abilità del programmatore Capacità del calcolatore Un esempio elementare Linguaggi procedurali Diagrammi di flusso Programmazione strutturata Algoritmi ed implementazione Un esempio: il calcolo del massimo fra 2, 3, n numeri Il calcolo della complessità computazionale di un algoritmo, la tazione O grande a.a. 2005/2006 M. Liverani - Appunti di Informatica 1 (IN1) - Introduzione alla programmazione 2 M. Liverani - Appunti di Informatica 1 (IN1) - Introduzione alla programmazione 1
2 Caratteristiche di un calcolatore elettronico 1 È una macchina, costituita da circuiti elettronici digitali e da componenti elettromeccaniche, ottiche e magnetiche. È velocissimo, essendo una macchina elettronica è molto rapido nel compiere le operazioni per cui è stato progettato. È puntuale nell applicare le regole che cosce (è preciso, ma n nel senso matematico del termine). È duttile e si adatta bene ad eseguire nuove tecniche, purché questo gli venga spiegato in modo dettagliato e privo di ambiguità. Ha una buona memoria, estremamente ampia ed organizzata in modo razionale, ma parcellizzato. a.a. 2005/2006 M. Liverani - Appunti di Informatica 1 (IN1) - Introduzione alla programmazione 3 Caratteristiche di un calcolatore elettronico 2 Non è intelligente: qualunque sia l accezione di questo termine, n è adatta a descrivere le caratteristiche di un computer. Non è in grado di compiere deduzioni o ragionamenti di altro tipo in modo automo. Non è in grado di capire un problema. Non è in grado di capire la soluzione di un problema, né è in grado di capire in modo automo se il risultato raggiunto è la soluzione del problema. a.a. 2005/2006 M. Liverani - Appunti di Informatica 1 (IN1) - Introduzione alla programmazione 4 M. Liverani - Appunti di Informatica 1 (IN1) - Introduzione alla programmazione 2
3 Compiti del programmatore Analizzare il problema riducendolo in termini astratti, eliminando ogni componente n indispensabile e formulando un modello del problema. Individuare una strategia risolutiva e ricondurla ad un algoritmo. Codificare l algoritmo in modo tale da renderlo comprensibile al calcolatore. Analizzare il risultato dell elaborazione evidenziando eventuali errori nella formulazione del problema, nella strategia risolutiva, nella codifica dell algoritmo. a.a. 2005/2006 M. Liverani - Appunti di Informatica 1 (IN1) - Introduzione alla programmazione 5 Competenze ed abilità del programmatore Deve essere in grado di capire i problemi e schematizzarli, distinguendone le diverse componenti (dati in input, parametri del problema, dati in output). Deve essere in grado di risolvere problemi mediante un approccio algoritmico, individuando gli aspetti del problema che possa essere risolti reiterando più volte operazioni simili. Deve coscere i metodi fondamentali di risoluzione dei problemi, gli approcci più comuni, le strade toriamente me convenienti. Deve coscere a fondo le caratteristiche e le capacità del calcolatore. Deve essere in grado di comunicare con il calcolatore: ne deve coscere il linguaggio. a.a. 2005/2006 M. Liverani - Appunti di Informatica 1 (IN1) - Introduzione alla programmazione 6 M. Liverani - Appunti di Informatica 1 (IN1) - Introduzione alla programmazione 3
4 Capacità del calcolatore Sa memorizzare le informazioni. Sa distinguere in modo piglo tra informazioni di tipo numerico ed altri tipi di informazione (parole, immagini, ecc.). Anche i numeri vengo trattati in modo differente a seconda dell insieme a cui appartengo (naturali, relativi, razionali, ecc.). Sa eseguire alcune operazioni elementari: addizione, sottrazione, prodotto e rapporto fra numeri, concatenazione di parole. Sa eseguire il confronto fra informazioni dello stesso tipo: confronto fra numeri (es.: a>b, a=b, a b) e sa verificare l uguaglianza fra due parole. Sa leggere le informazioni dall ester (input). Sa scrivere le informazioni all ester (output). Sa memorizzare sequenze di istruzioni elementari (programma) e le sa eseguire secondo un ordine stabilito dal programma stesso. a.a. 2005/2006 M. Liverani - Appunti di Informatica 1 (IN1) - Introduzione alla programmazione 7 Un esempio elementare 1 Problema: stampare i primi 10 multipli di x. Il problema è semplice e chiaro: un solo dato in input (un parametro che caratterizza l istanza del problema): la base costituita dal numero x; una costante del problema: il numero di multipli da stampare, 10. La strategia risolutiva è la seguente: iniziando dal numero x letto in input, per 10 volte verrà calcolato e stampato il multiplo di x, moltiplicando x per una variabile i il cui valore verrà incrementato di una unità ad ogni passo, da 1 fi a 10. a.a. 2005/2006 M. Liverani - Appunti di Informatica 1 (IN1) - Introduzione alla programmazione 8 M. Liverani - Appunti di Informatica 1 (IN1) - Introduzione alla programmazione 4
5 Un esempio elementare 2 Possiamo ricondurre la strategia al seguente algoritmo: 1. Leggi in input un numero e chiama x il numero letto; 2. Assegna il valore 1 alla variabile i; 3. Calcola x i e assegna alla variabile y il risultato; 4. Stampa y; 5. Calcola i+1 e assegna alla variabile i il risultato; 6. Se i 10 allora vai al passo 3 altrimenti prosegui; 7. Fermati. a.a. 2005/2006 M. Liverani - Appunti di Informatica 1 (IN1) - Introduzione alla programmazione 9 Linguaggi procedurali Il stro studio e l approccio che adotteremo è focalizzato sull uso di un linguaggio procedurale (il C). Questi linguaggi so basati su sei istruzioni fondamentali: Assegna: assegna ad una variabile (ad una locazione di memoria) il valore di una espressione. Leggi: legge in input dall ester un valore e lo memorizza in una variabile (locazione di memoria). Scrivi: scrive in output il valore di una espressione o di una variabile (locazione di memoria). Se allora altrimenti : modifica il flusso del programma sulla base del valore di una espressione logica. Vai al passo : modifica il flusso del programma incondizionatamente. Fermati: termina l esecuzione del programma. a.a. 2005/2006 M. Liverani - Appunti di Informatica 1 (IN1) - Introduzione alla programmazione 10 M. Liverani - Appunti di Informatica 1 (IN1) - Introduzione alla programmazione 5
6 Diagrammi di flusso 1 Per rappresentare in modo efficace un algoritmo so stati sviluppati dei modelli grafici (i diagrammi di flusso) che associa alle istruzioni del programma dei simboli grafici: Assegnazioni Input/Output Condizioni a = 17 Leggi b x<3? Salti (vai al passo ) Start/Stop Fermati a.a. 2005/2006 M. Liverani - Appunti di Informatica 1 (IN1) - Introduzione alla programmazione 11 Diagrammi di flusso 2 Esempio: «stampare i primi 10 multipli di x». 1. Leggi x 2. i = 1 3. y = y*i 4. Scrivi y 5. i = i+1 6. Se i<10 vai al passo 3 altrimenti prosegui 7. Fermati Start Leggi x i = 1 y = x*i Scrivi y i = i+1 i 10? Stop a.a. 2005/2006 M. Liverani - Appunti di Informatica 1 (IN1) - Introduzione alla programmazione 12 M. Liverani - Appunti di Informatica 1 (IN1) - Introduzione alla programmazione 6
7 Programmazione strutturata 1 I programmatori inesperti tendo ad aggrovigliare il programma introducendo numerosi salti privi di regole (spaghetti programming). È stato dimostrato (Teorema fondamentale della programmazione strutturata di Jacopini e Böhm) che ogni programma può essere codificato attenendosi esclusivamente a tre strutture fondamentali: Sequenziale Iterativa Condizionale a.a. 2005/2006 M. Liverani - Appunti di Informatica 1 (IN1) - Introduzione alla programmazione 13 Programmazione strutturata 2 Le tre strutture posso essere concatenate una di seguito all altra oppure nidificate una dentro l altra. Non posso essere intrecciate o accavallate. Sbagliato! Corretto! È un tipico esempio di spaghetti programming a.a. 2005/2006 M. Liverani - Appunti di Informatica 1 (IN1) - Introduzione alla programmazione 14 M. Liverani - Appunti di Informatica 1 (IN1) - Introduzione alla programmazione 7
8 Algoritmi ed implementazione 1 Un algoritmo è una descrizione dettagliata, per passi elementari successivi, di una strategia utile per risolvere un determinato problema. Ogni algoritmo è un insieme finito di passi e deve terminare dopo un numero finito di iterazioni. Nella progettazione di un algoritmo il programmatore inizia a porsi problemi relativi alla rappresentazione delle informazioni che deve essere efficiente (senza sprechi inutili) ed efficace (n si deve perdere traccia di dati importanti). Naturalmente l aspetto fondamentale è la progettazione di un algoritmo efficiente. a.a. 2005/2006 M. Liverani - Appunti di Informatica 1 (IN1) - Introduzione alla programmazione 15 Algoritmi ed implementazione 2 Esempio: letti in input 2 numeri stampare il massimo. Start Leggi x, y x>y Stampa x Stampa y Stop a.a. 2005/2006 M. Liverani - Appunti di Informatica 1 (IN1) - Introduzione alla programmazione 16 M. Liverani - Appunti di Informatica 1 (IN1) - Introduzione alla programmazione 8
9 Algoritmi ed implementazione 3 Esempio: letti in input 3 numeri stampare il massimo. Start Leggi x, y, z Stampa x x>z x>y y>z Stampa z Stampa y Stampa z Stop a.a. 2005/2006 M. Liverani - Appunti di Informatica 1 (IN1) - Introduzione alla programmazione 17 Algoritmi ed implementazione 4 Esempio: letti in input n numeri stampare il massimo. In questo caso n è possibile adottare la stessa strategia: dovremmo utilizzare troppe variabili (quante?) ed avremmo un algoritmo troppo articolato. È necessario adottare una diversa strategia: individuare una operazione semplice che ripetuta più volte porti alla soluzione. max = x Stop a.a. 2005/2006 M. Liverani - Appunti di Informatica 1 (IN1) - Introduzione alla programmazione 18 Start Leggi n, x max = x i = 1 Leggi x i = i+1 x>max i<n Stampa max M. Liverani - Appunti di Informatica 1 (IN1) - Introduzione alla programmazione 9
10 Calcolo della complessità 1 Riscriviamo l ultimo esempio in forma algoritmica (in passi elementari): 1. Leggi n 2. Leggi x 3. Poni max=x 4. Poni i=1 5. Leggi x 6. Poni i=i+1 7. Se x>max allora poni max=x 8. Se i<n vai al passo 5 9. Stampa max 10. Fermati Quante operazioni vengo eseguite dall algoritmo per arrivare alla soluzione? Dipende da quanti dati vengo letti in input: nel stro esempio il numero di operazioni è direttamente proporzionale ad n (è lineare in n). Quante variabili vengo usate? Sempre 4 (i, x, n, max) indipendentemente da n. a.a. 2005/2006 M. Liverani - Appunti di Informatica 1 (IN1) - Introduzione alla programmazione 19 Calcolo della complessità 2 È necessario trovare un metodo per confrontare gli algoritmi (o i problemi, indipendentemente dagli algoritmi per risolverli) in termini di efficienza, a prescindere dal linguaggio con cui saran implementati e dalla potenza della macchina su cui saran eseguiti. È possibile descrivere la complessità di un algoritmo mediante una funzione che esprima l ordine di grandezza del numero di operazioni elementari compiute, in funzione della dimensione dell input (n). Si dirà che un algoritmo ha una complessità di O(f(n)) se f(n) è un limite superiore del numero di operazioni compiute dall algoritmo a fronte di un input di n dati. O(f(n)) = {g(n): c e n 0 t.c. 0<g(n)<cf(n) n>n 0 } a.a. 2005/2006 M. Liverani - Appunti di Informatica 1 (IN1) - Introduzione alla programmazione 20 M. Liverani - Appunti di Informatica 1 (IN1) - Introduzione alla programmazione 10
11 Ordini di grandezza 1 L algoritmo per il calcolo del massimo tra n numeri letti in input ha una complessità di O(n), è lineare in n. Gli algoritmi migliori per l ordinamento di sequenze han una complessità di O(nlog 2 n), altri più elementari O(n 2 ) (so me n 2 efficienti). Il prodotto tra due n 3 matrici quadrate n di ordine n ha una complessità di O(n 3 ). nlog 2 n a.a. 2005/2006 M. Liverani - Appunti di Informatica 1 (IN1) - Introduzione alla programmazione 21 Ordini di grandezza 2 Questi algoritmi (o meglio: i problemi che vengo risolti) han una complessità polimiale e so quindi trattabili. Algoritmi (e problemi) con una complessità esponenziale (es.: O(k n )) so ritenuti intrattabili. Se la macchina impiegasse 10 6 secondi per eseguire una singola istruzione questi sarebbero i tempi di esecuzione di algoritmi caratterizzati da diversi ordini di complessità: n n 2 n=10 n=20 n=50 n= sec sec sec sec sec sec sec sec. n sec sec sec sec. 2 n sec. 1 sec anni 366 secoli a.a. 2005/2006 M. Liverani - Appunti di Informatica 1 (IN1) - Introduzione alla programmazione 22 M. Liverani - Appunti di Informatica 1 (IN1) - Introduzione alla programmazione 11
Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso
Università Roma Tre Facoltà di Scienze M.F.N. 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)
DettagliAppunti 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)
DettagliDI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1
DIAGRAMMI A BLOCCHI TEORIA ED ESERCIZI 1 1 Il linguaggio dei diagrammi a blocchi è un possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o flowchart, è una rappresentazione grafica
DettagliAppunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione
Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione Marco Liverani (liverani@mat.uniroma3.it)
DettagliRisolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati
Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Il procedimento (chiamato algoritmo) è composto da passi elementari
DettagliSommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.
Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell
DettagliTECNOLOGIE INFORMATICHE DELLA COMUNICAZIONE ORE SETTIMANALI 2 TIPO DI PROVA PER GIUDIZIO SOSPESO PROVA DI LABORATORIO
CLASSE DISCIPLINA MODULO Conoscenze Abilità e competenze Argomento 1 Concetti di base Argomento 2 Sistema di elaborazione Significato dei termini informazione, elaborazione, comunicazione, interfaccia,
DettagliINTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI
INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.
DettagliAppunti di Sistemi Elettronici
Prof.ssa Maria Rosa Malizia 1 LA PROGRAMMAZIONE La programmazione costituisce una parte fondamentale dell informatica. Infatti solo attraverso di essa si apprende la logica che ci permette di comunicare
DettagliLinguaggi 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
DettagliScopo della lezione. Informatica. Informatica - def. 1. Informatica
Scopo della lezione Informatica per le lauree triennali LEZIONE 1 - Che cos è l informatica Introdurre i concetti base della materia Definire le differenze tra hardware e software Individuare le applicazioni
Dettagli3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)
Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Meccanica (A-K) 3. (testo di riferimento: Bellini-Guidi) Ing. Agnese Pinto 1 di 28 Linguaggi di programmazione Un programma è un algoritmo
DettagliLezione 8. La macchina universale
Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione
DettagliInformatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati
Informatica 3 Informatica 3 LEZIONE 10: Introduzione agli algoritmi e alle strutture dati Modulo 1: Perchè studiare algoritmi e strutture dati Modulo 2: Definizioni di base Lezione 10 - Modulo 1 Perchè
DettagliProcesso di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico
Processo di risoluzione di un problema ingegneristico 1. Capire l essenza del problema. 2. Raccogliere le informazioni disponibili. Alcune potrebbero essere disponibili in un secondo momento. 3. Determinare
DettagliFondamenti di Informatica. Allievi Automatici A.A. 2014-15 Nozioni di Base
Fondamenti di Informatica Allievi Automatici A.A. 2014-15 Nozioni di Base Perché studiare informatica? Perché l informatica è uno dei maggiori settori industriali, e ha importanza strategica Perché, oltre
Dettagli- Algoritmi ed esecutori di algoritmi - ALGORITMI MACCHINA DI VON NEUMANN
ALGORITMI E MACCHINA DI VON NEUMANN 1 COMPUTER= ELABORATORE NON CERVELLO ELETTRONICO CERVELLO: Capacità decisionali ELABORATORE: Incapacità di effettuare scelte autonome di fronte a situazioni impreviste
DettagliEsempi di algoritmi. Lezione III
Esempi di algoritmi Lezione III Scopo della lezione Implementare da zero algoritmi di media complessità. Verificare la correttezza di un algoritmo eseguendolo a mano. Imparare a valutare le prestazioni
DettagliAlgoritmi. Maurizio Palesi. Maurizio Palesi 1
Algoritmi Maurizio Palesi Maurizio Palesi 1 Cos è Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Un algoritmo è un metodo per la soluzione
DettagliMetodologie di programmazione in Fortran 90
Metodologie di programmazione in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2007/2008 Fortran 90: Metodologie di programmazione DIS - Dipartimento di
DettagliDispensa di Informatica I.1
IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.
DettagliIntroduzione al MATLAB c Parte 2
Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 18 gennaio 2008 Outline 1 M-file di tipo Script e Function Script Function 2 Costrutti di programmazione
DettagliDescrizione di un algoritmo
Descrizione di un algoritmo Un algoritmo descrive due tipi fondamentali di oper: calcoli ottenibili tramite le oper primitive su tipi di dato (valutazione di espressioni) che consistono nella modifica
DettagliInformatica - A.A. 2010/11
Ripasso lezione precedente Facoltà di Medicina Veterinaria Corso di laurea in Tutela e benessere animale Corso Integrato: Matematica, Statistica e Informatica Modulo: Informatica Esercizio: Convertire
DettagliALGEBRA DELLE PROPOSIZIONI
Università di Salerno Fondamenti di Informatica Corso di Laurea Ingegneria Corso B Docente: Ing. Giovanni Secondulfo Anno Accademico 2010-2011 ALGEBRA DELLE PROPOSIZIONI Fondamenti di Informatica Algebra
DettagliArchivi e database. Prof. Michele Batocchi A.S. 2013/2014
Archivi e database Prof. Michele Batocchi A.S. 2013/2014 Introduzione L esigenza di archiviare (conservare documenti, immagini, ricordi, ecc.) è un attività senza tempo che è insita nell animo umano Primi
DettagliDAL PROBLEMA ALL'ALGORITMO AL PROGRAMMA SCRITTO IN Come. Scopo principale dell informatica è risolvere problemi con i calcolatori.
DAL PROBLEMA ALL'ALGORITMO AL PROGRAMMA SCRITTO IN Come Scopo principale dell informatica è risolvere problemi con i calcolatori. Non tutti i problemi sono risolvibili con i calcolatori. Si può dimostrato
DettagliOrigini e caratteristiche dei calcolatori elettronici
Origini e caratteristiche dei calcolatori elettronici Lunedì, 09 ottobre 2006 Supercomputer, mainframe 1 Server, workstation, desktop, notebook, palmare Un po di storia 1642 Biagio Pascal 1671 Leibniz
DettagliProf. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:
LA STRUTTURA DI RIPETIZIONE La ripetizione POST-condizionale La ripetizione PRE-condizionale INTRODUZIONE (1/3) Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto
DettagliInformatica. appunti dalle lezioni del 20/09/2011 e del 27/09/2011
Informatica appunti dalle lezioni del 20/09/2011 e del 27/09/2011 Definizioni Informatica: scienza per lʼelaborazione automatica dellʼinformazione Informatica = Informazione + Automatica Informazione:
DettagliCorso di Informatica
Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down
DettagliIl sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi.
E. Calabrese: Fondamenti di Informatica Problemi-1 Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi. L'informatica
DettagliDall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere
Dettagli+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice
Pseudo codice Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova linguaggio testuale mix di linguaggio naturale ed elementi linguistici con sintassi ben definita e semantica
DettagliInformazione analogica e digitale
L informazione L informazione si può: rappresentare elaborare gestire trasmettere reperire L informatica offre la possibilità di effettuare queste operazioni in modo automatico. Informazione analogica
DettagliNozione di algoritmo. Gabriella Trucco
Nozione di algoritmo Gabriella Trucco Programmazione Attività con cui si predispone l'elaboratore ad eseguire un particolare insieme di azioni su particolari informazioni (dati), allo scopo di risolvere
DettagliALGORITMI e PROGRAMMI Programmazione: Lavoro che si fa per costruire sequenze di istruzioni (operazioni) adatte a svolgere un dato calcolo
ALGORITMI e PROGRAMMI Programmazione: Lavoro che si fa per costruire sequenze di istruzioni (operazioni) adatte a svolgere un dato calcolo INPUT: dati iniziali INPUT: x,y,z AZIONI esempio: Somma x ed y
DettagliGian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C
Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica (Industriale), Chimica, Elettrica, e Meccanica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2010/2011
DettagliFasi di creazione di un programma
Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma
DettagliIndice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi
Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)
DettagliI Problemi e la loro Soluzione. Il Concetto Intuitivo di Calcolatore. Risoluzione di un Problema. Esempio
Il Concetto Intuitivo di Calcolatore Fondamenti di Informatica A Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini I Problemi e la loro Soluzione Problema: classe
DettagliFondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009. Prof. Raffaele Nicolussi
Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via B. Castiglione 59-00142 Roma Docente Raffaele Nicolussi rnicolussi@fub.it Lezioni
DettagliStrutturazione logica dei dati: i file
Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer
DettagliCOS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle
DettagliArchitettura di un calcolatore
2009-2010 Ingegneria Aerospaziale Prof. A. Palomba - Elementi di Informatica (E-Z) 7 Architettura di un calcolatore Lez. 7 1 Modello di Von Neumann Il termine modello di Von Neumann (o macchina di Von
DettagliAlgoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.
Algoritmo Formalmente, per algoritmo si intende una successione finita di passi o istruzioni che definiscono le operazioni da eseguire su dei dati (=istanza del problema): in generale un algoritmo è definito
DettagliIntroduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6
Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...
DettagliSistemi di Elaborazione delle Informazioni. Corso di Laurea per "Tecnico Ortopedico" 03
Sistemi di Elaborazione delle Informazioni Corso di Laurea per "Tecnico Ortopedico" a.a. 2002-03 03 Prof. Luigi Borrelli Facoltà di Medicina e Chirurgia Università degli Studi di Napoli - Federico II a.a.
DettagliAutomazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it
Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione
DettagliPROVA INTRACORSO TRACCIA A Pagina 1 di 6
PROVA INTRACORSO DI ELEMENTI DI INFORMATICA MATRICOLA COGNOME E NOME TRACCIA A DOMANDA 1 Calcolare il risultato delle seguenti operazioni binarie tra numeri interi con segno rappresentati in complemento
DettagliAlgoritmi e diagrammi di flusso
Algoritmi e diagrammi di flusso Un algoritmo può essere descritto come una sequenza finita ed ordinata di operazioni che descrivono la soluzione di un problema. Per sequenza finita si intende che un algoritmo
Dettagli3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
3 - Variabili Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di
DettagliLINGUAGGI DI PROGRAMMAZIONE
LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di
DettagliCos è un Calcolatore?
Cos è un Calcolatore? Definizione A computer is a machine that manipulates data according to a (well-ordered) collection of instructions. 24/105 Riassumendo... Un problema è una qualsiasi situazione per
DettagliINFORMATICA GENERALE. Prof Alberto Postiglione Dipartim. Scienze della Comunicazione Univ. Salerno. Università degli Studi di Salerno
INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno : Introduzione alla Programmazione Bibliografia 14 apr 2010 Dia 2 Curtin, (vecchie
DettagliLinguaggi per COMUNICARE. Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni
Linguaggi per COMUNICARE Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni Sintassi e semantica dei linguaggi Un informazione può : Essere
DettagliFunzioni in C. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni
DettagliLe equazioni. Diapositive riassemblate e rielaborate da prof. Antonio Manca da materiali offerti dalla rete.
Le equazioni Diapositive riassemblate e rielaborate da prof. Antonio Manca da materiali offerti dalla rete. Definizione e caratteristiche Chiamiamo equazione l uguaglianza tra due espressioni algebriche,
DettagliTECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE
ISTRUZIONE E FORMAZIONE TECNICA SUPERIORE SETTORE INDUSTRIA E ARTIGIANATO TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE STANDARD MINIMI DELLE COMPETENZE TECNICO PROFESSIONALI DESCRIZIONE DELLA FIGURA
DettagliScienze della Comunicazione Università di Salerno. UD 3.2a: Introduzione alla Programmazione
UD 3.2a: Introduzione alla Programmazione Bibliografia Curtin, (vecchie edizioni) 12.1 Curtin (IV edizione): 11.1 Questi lucidi Il concetto di programma memorizzato Gli elettrodomestici di uso quotidiano
DettagliSISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI Prof. Andrea Borghesan venus.unive.it/borg borg@unive.it Ricevimento: martedì, 12.00-13.00. Dip. Di Matematica Modalità esame: scritto + tesina facoltativa 1
DettagliCome ragiona il computer. Problemi e algoritmi
Come ragiona il computer Problemi e algoritmi Il problema Abbiamo un problema quando ci poniamo un obiettivo da raggiungere e per raggiungerlo dobbiamo mettere a punto una strategia Problema Strategia
DettagliCenni su algoritmi, diagrammi di flusso, strutture di controllo
Cenni su algoritmi, diagrammi di flusso, strutture di controllo Algoritmo Spesso, nel nostro vivere quotidiano, ci troviamo nella necessità di risolvere problemi. La descrizione della successione di operazioni
DettagliLa selezione binaria
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Introduzione L esecuzione di tutte le istruzioni in sequenza può non è sufficiente per
DettagliArchitettura hardware
Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione
DettagliDAL DIAGRAMMA AL CODICE
DAL DIAGRAMMA AL CODICE Un diagramma di flusso Appare, come un insieme di blocchi di forme diverse che contengono le istruzioni da eseguire, collegati fra loro da linee orientate che specificano la sequenza
DettagliFondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l Ambiente e il Territorio
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l Ambiente e il Territorio Rappresentazione dell Informazione
DettagliElementi di Informatica e Programmazione
Elementi di Informatica e Programmazione Il concetto di Algoritmo e di Calcolatore Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Cos
DettagliSISTEMI DI NUMERAZIONE E CODICI
SISTEMI DI NUMERAZIONE E CODICI Il Sistema di Numerazione Decimale Il sistema decimale o sistema di numerazione a base dieci usa dieci cifre, dette cifre decimali, da O a 9. Il sistema decimale è un sistema
Dettaglila scienza della rappresentazione e della elaborazione dell informazione
Sistema binario Sommario informatica rappresentare informazioni la differenza Analogico/Digitale i sistemi di numerazione posizionali il sistema binario Informatica Definizione la scienza della rappresentazione
DettagliRAPPRESENTAZIONE GRAFICA DEGLI ALGORITMI
RAPPRESENTAZIONE GRAFICA DEGLI ALGORITMI Diagramma di flusso L algoritmo può essere rappresentato in vari modi, grafici o testuali. Uno dei metodi grafici più usati e conosciuti è il cosiddetto diagramma
DettagliPROGRAMMA DI LABORATORIO TRATTAMENTO TESTI
PROGRAMMA DI LABORATORIO TRATTAMENTO TESTI classi seconde beat ANNO SCOLASTICO 2010/2011 prof. Sergio Sapetti INDICE 1. Conoscenze disciplinari... 3 2. Competenze trasversali... 3 3. Metodi... 3 4. Strumenti...
DettagliAnalizzatore lessicale o scanner
Analizzatore lessicale o scanner Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser. Lo scanner, attraverso un esame carattere per carattere dell'ingresso,
DettagliLezioni di Matematica 1 - I modulo
Lezioni di Matematica 1 - I modulo Luciano Battaia 16 ottobre 2008 Luciano Battaia - http://www.batmath.it Matematica 1 - I modulo. Lezione del 16/10/2008 1 / 13 L introduzione dei numeri reali si può
DettagliLinguaggi e Paradigmi di Programmazione
Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una
Dettagliconnessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI
Documenti su Internet LINGUAGGI DI MARKUP Internet permette (tra l altro) di accedere a documenti remoti In generale, i documenti acceduti via Internet sono multimediali, cioè che possono essere riprodotti
DettagliLinguaggi di programmazione
Linguaggi di programmazione Un calcolatore basato sul modello di von Neumann permette l esecuzione di un programma, cioè di una sequenza di istruzioni descritte nel linguaggio interpretabile dal calcolatore
DettagliLa programmazione. Sviluppo del software
La programmazione problema Sviluppo del software idea (soluzione informale) algoritmo (soluzione formale) programma (traduzione dell algoritmo in una forma comprensibile da un elaboratore elettronico)
DettagliAppunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C
Università di Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)
DettagliEVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO
EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO Linguaggi di programmazione classificati in base alle loro caratteristiche fondamentali. Linguaggio macchina, binario e fortemente legato all architettura. Linguaggi
DettagliAPPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI
APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................
DettagliExcel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it
Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo
DettagliUD 3.4b: Trattabilità e Intrattabilità. Dispense, cap. 4.2
UD 3.4b: Trattabilità e Intrattabilità Dispense, cap. 4.2 Problemi Intrattabili Esistono problemi che, pur avendo un algoritmo di soluzione, non forniranno mai una soluzione in tempi ragionevoli nemmeno
DettagliScheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux
Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola
DettagliGESTIONE INFORMATICA DEI DATI AZIENDALI
GESTIONE INFORMATICA DEI DATI AZIENDALI Alberto ZANONI Centro Vito Volterra Università Tor Vergata Via Columbia 2, 00133 Roma, Italy zanoni@volterra.uniroma2.it Rudimenti di programmazione Programming
DettagliSistemi Web! per il turismo! - lezione 3 -
Sistemi Web per il turismo - lezione 3 - I computer sono in grado di eseguire molte operazioni, e di risolvere un gran numero di problemi. E arrivato il momento di delineare esplicitamente il campo di
DettagliAppunti introduttivi sulla progettazione degli algoritmi
Appunti introduttivi sulla progettazione degli algoritmi Marco Liverani Ottobre 2007 Nelle pagine seguenti sono riportati alcuni problemi e le relative soluzioni costituite da semplici algoritmi espressi
DettagliSistema operativo: Gestione della memoria
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e
DettagliISTITUTO TECNICO ECONOMICO MOSSOTTI
CLASSE III INDIRIZZO S.I.A. UdA n. 1 Titolo: conoscenze di base Conoscenza delle caratteristiche dell informatica e degli strumenti utilizzati Informatica e sistemi di elaborazione Conoscenza delle caratteristiche
DettagliI PROBLEMI ALGEBRICI
I PROBLEMI ALGEBRICI La risoluzione di problemi è una delle attività fondamentali della matematica. Una grande quantità di problemi è risolubile mediante un modello algebrico costituito da equazioni e
DettagliDAL PROBLEMA AL PROGRAMMA
1. I PROBLEMI E LA LORO SOLUZIONE DAL PROBLEMA AL PROGRAMMA L'uomo, per affrontare gli innumerevoli problemi postigli dallo sviluppo della civiltà, si è avvalso della scienza e della tecnica, i cui destini
DettagliEsempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione
Esempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione Fondamenti di Informatica Michele Ceccarelli Università del Sannio ceccarelli@unisannio.it Angelo Ciaramella DMI-Università degli
DettagliLaboratorio di Informatica
per chimica industriale e chimica applicata e ambientale LEZIONE 4 La CPU e l esecuzione dei programmi 1 Nelle lezioni precedenti abbiamo detto che Un computer è costituito da 3 principali componenti:
DettagliEsercizi per il recupero del debito formativo:
ANNO SCOLASTICO 2005/2006 CLASSE 3 ISC Esercizi per il recupero del debito formativo: Disegnare il diagramma e scrivere la matrice delle transizioni di stato degli automi a stati finiti che rappresentano
DettagliAlgoritmi e Complessità
Algoritmi e Complessità Università di Camerino Corso di Laurea in Informatica (tecnologie informatiche) III periodo didattico Docente: Emanuela Merelli Email:emanuela.merelli@unicam.it Lezione 2 Teoria
DettagliTECNICHE DI SIMULAZIONE
TECNICHE DI SIMULAZIONE INTRODUZIONE Francesca Mazzia Dipartimento di Matematica Università di Bari a.a. 2004/2005 TECNICHE DI SIMULAZIONE p. 1 Introduzione alla simulazione Una simulazione è l imitazione
DettagliSistemi di Servizio e Simulazione
Sistemi di Servizio e Simulazione Soluzioni degli esercizi di esame proposti negli appelli dell a.a.2004-05 Sono stati distribuiti sul sito web i testi di tre appelli di esame dell anno accademico 2004-05:
DettagliCalcolatori Elettronici A a.a. 2008/2009
Calcolatori Elettronici A a.a. 2008/2009 PRESTAZIONI DEL CALCOLATORE Massimiliano Giacomin Due dimensioni Tempo di risposta (o tempo di esecuzione): il tempo totale impiegato per eseguire un task (include
DettagliAPPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1)
ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1) Un insieme è una collezione di oggetti. Il concetto di insieme è un concetto primitivo. Deve esistere un criterio chiaro, preciso, non ambiguo, inequivocabile,
Dettagli