Introduzione alla Programmazione
|
|
- Pasquale Innocenti
- 8 anni fa
- Visualizzazioni
Transcript
1 Programmazione 1: Introduzione alla Programmazione Michele Nappi, Ph.D Dipartimento di Matematica e Informatica Università degli Studi di Salerno mnappi@unisa.it it/people/nappi
2 Algoritmi e Programmi Problema Algoritmo Programma Definizione del problema Dati iniziali (input) Dati intermedi (se necessari) Dati finali (output) algoritmo deriva dalla nisba al-khuwarizmi del matematico Muhammad ibn Musa del 9 sec. Definizione di un insieme di passi logici che trasformano i dati iniziali in dati finali Il risultato è un algoritmo, un insieme finito di istruzioni che, se eseguite ordinatamente, sono in grado di risolvere il problema di partenza. 9/22/2010 Michele Nappi 2
3 Algoritmi e Programmi Proprietà dell algoritmo Non Ambiguità (delle istruzioni) Eseguibilità (delle istruzioni) i i) Finitezza (deve terminare) 9/22/2010 Michele Nappi 3
4 Algoritmo del Caffé Dati Iniziali: Acqua, Caffé, Fornello,Gas,, Macchinetta Procedura: 1. Riempire la caldaia della Macchinetta con l Acqua; 2. Riempire il filtro della Macchinetta con il Caffé; 3. Montare i dispositivi della Macchinetta del Caffé; 4. Posizionare la Macchinetta sul Fornello e accendere il Gas; 5. Attendere l ebollizione dell Acqua; 6. Spegnere il Gas quando il Caffè è disponibile in forma liquida nella Macchinetta 9/22/2010 Michele Nappi 4
5 Esempio (1) [( )x[(-4)x(-2)]]:2 1. Tipi di Dati Reali: 1.5, Tipi di Dati Relativi: (-)4, (-)2 3. Tipi di Dati Relativi: (+)2 Sviluppo: [4x8]:2 Tipi di dati Relativi: 4,8,2 Sviluppo: 32:2 Tipi di dati Relativi: 32,2 Sviluppo: 16 Tipi di dati Relativi:16 9/22/2010 Michele Nappi 5
6 [( )x[(-4)x(-2)]]:2 1. Memorizza i Dati Reali: 1.5, Memorizza i Dati Relativi: -4, Memorizza il Dato Relativo: (+)2 Esempio (1.2) Somma 1.5 con 2.5 e memorizza il risultato in un Dato Reale Moltiplica -4 e -2 e memorizza il risultato in un Dato Relativo [4x8]:2 Moltiplica 4 e 8 e memorizza il risultato in un Dato Relativo 32:2 Dividi 32 per due e memorizza il risultato in un Dato Relativo 16 9/22/2010 Michele Nappi 6
7 Esempio (2) Problema Un college ha una lista di risultati di test (1 = promosso, 2 = bocciato) per 10 studenti. Scrivere un programma che analizza i risultati. Se più di 8 studenti sono stati promossi, visualizzare Aumentare le tasse Nota che Il programma deve elaborare 10 risultati di test Sarà usato un ciclo controllato da contatore Due contatori possono essere usati Uno per il numeno di promossi, uno per il numero di bocciati Ogni risultato di test è un numero (1 o 2) Se il numero non è un 1, assumiamo che è un 2 9/22/2010 Michele Nappi 7
8 Esempio (2) Descrizione ad alto livello Analizzare i risultati ti dell esame e decidere se debbano essere aumentate le tasse scolastiche Primo raffinamento Inizializzare le variabili Prendere in input 10 valutazioni della prova e contare le promozioni e le bocciature Visualizzare un sommario dei risultati dell esame e decidere se le tasse scolastiche debbano essere aumentate Secondo raffinamento: Inizializzare i le variabili Inizializzare le promozioni a zero Inizializzare le bocciature a zero Inizializzare gli studenti a uno 9/22/2010 Michele Nappi 8
9 Esempio (2) Terzo raffinamento : Prendere in input 10 valutazioni della prova e contare le promozioni e le bocciature Finchè il contatore degli studenti è inferiore o uguale a dieci prendere in input il prossimo risultato d esame Se lo studente è stato promosso Aggiungere uno ai promossi altrimenti Aggiungere g uno ai bocciati Aggiungere uno al contatore degli studenti Quarto raffinamento : Visualizzare un sommario dei risultati dell esame e decidere se le tasse scolastiche debbano essere aumentate Visualizzare il numero delle promozioni Visualizzare il numero delle bocciature Se più di otto studenti sono stati promossi Visualizzare il messaggio aumentare le tasse 9/22/2010 Michele Nappi 9
10 Esempio (3) Il Fattoriale di n: n!=n*(n-1)*(n-2)*..*3*2*1 Prendere in input il numero n e considerare una variabile fact inizializzata i i ad 1 Se n=0 or n=1 allora il risultato è fact Finchè n non risulta uguale ad 1effettuare le seguenti operazioni: Moltiplicare n e fact e memorizzare il risultato in fact (fact=n*fact) Decrementare n di un unità (n=n-1) Quando n risulta uguale ad 1 il risultato è fact 9/22/2010 Michele Nappi 10
11 Algoritmi e Programmi L'algoritmo dovrà essere specificato in un linguaggio che l'elaboratore è in grado di interpretare in modo corretto e contenere istruzioni che possono essere eseguite dal computer stesso. Un programma può quindi essere definito come un insieme di istruzioni espresse in un linguaggio formale (sintassi e semantica) chiamato linguaggio di programmazione. I computer però non sono in grado di capire nemmeno il linguaggio programmazione in quanto il microprocessore sa elaborare solo in linguaggio binario: ecco pertanto che i programmi dovranno essere ulteriormente tradotti da appositi applicazioni i i quali interpreti ti o compilatori. i 9/22/2010 Michele Nappi 11
12 Algoritmi e Programmi 9/22/2010 Michele Nappi 12
13 Algoritmi e Programmi 9/22/2010 Michele Nappi 13
14 Algoritmi e Programmi 9/22/2010 Michele Nappi 14
15 Algoritmi e Programmi 9/22/2010 Michele Nappi 15
16 Sintassi e Semantica di un LP Sintassi Specifica come costruire un programma nel linguaggio di programmazione Grammatiche context-free (notazione BNF Backus Naur Form) Semantica Specifica il significato del linguaggio 9/22/2010 Michele Nappi 16
17 Sintassi e Semantica di un LP Esempio: Sintassi: data =CC / CC / CCCC C è un abbreviazione per cifra Semantica: 01/02/2003 In Italia 1 Febbraio 2003 Negli USA 2 Gennaio /22/2010 Michele Nappi 17
18 Linguaggi di Programmazione Ad oggi (2008) esistono circa 2500 Linguaggi gg di Programmazione (LP) più o meno noti e diffusi I LP sono normalmente classificati in tre grandi famiglie basate sul concetto di istruzione, i linguaggi imperativi, quelli funzionali e quelli logici; 9/22/2010 Michele Nappi 18
19 Linguaggi di Programmazione Nei linguaggi imperativi l'istruzione è un comando esplicito, che opera su una o più variabili oppure sullo stato interno della macchina, e le istruzioni vengono eseguite in un ordine prestabilito. Scrivere un programma in un linguaggio imperativo significa essenzialmente occuparsi di cosa la macchina deve fare per ottenere il risultato che si vuole, e il programmatore è impegnato nel mettere a punto gli algoritmi necessari a manipolare i dati. Esempio: Ada C Modula-2 Oberon Pascal 9/22/2010 Michele Nappi 19
20 Linguaggi di Programmazione I linguaggi funzionali sono basati sul concetto matematico di funzione. In un linguaggio funzionale puro l'assegnazione esplicita risulta addirittura completamente assente (si utilizza soltanto il passaggio dei parametri). In tale modello rivestono particolare importanza la ricorsione, e, come struttura dati, la lista (sequenza ordinata di elementi). Esempio: Lisp Logo Scheme Standard ML Caml OCaml 9/22/2010 Michele Nappi 20
21 Linguaggi di Programmazione Nei linguaggi logici l'istruzione è una clausola che descrive una relazione fra i dati: programmare in un linguaggio logico significa descrivere l'insieme delle relazioni i esistenti ti fra i dati e il risultato t voluto, e il programmatore è impegnato nello stabilire in che modo i dati devono evolvere durante il calcolo. Non c'è un ordine prestabilito di esecuzione delle varie clausole, ma è compito dell'interprete trovare l'ordine lordine giusto. Esempio: Mercury Prolog 9/22/2010 Michele Nappi 21
22 Paradigmi di Programmazione Paradigma funzionale Programma = (insieme di) funzioni Funzione: dati Scheme, Lisp, ML risultato Paradigma imperativo Programma = sequenza di istruzioni Pascal, C, Java 9/22/2010 Michele Nappi 22
23 Linguaggi di Programmazione Tre tipi i di linguaggi i di programmazione 1. Linguaggi Macchina Stringhe di numeri che danno istruzioni i i specifiche della macchina Esempio : Linguaggi Assembly Abbreviazioni che rappresentano operazioni di calcolo elementari (tradotte via assemblatori) Esempio: LOAD BASEPAY» ADD OVERPAY STORE GROSSPAY 9/22/2010 Michele Nappi 23
24 Linguaggi di Programmazione 3.Linguaggi ad alto livello Simili all Inglese e usano notazioni matematiche (tradotti via compilatori) Esempio: grosspay = basepay + overtimepay; 9/22/2010 Michele Nappi 24
25 Linguaggi di Programmazione 9/22/2010 Michele Nappi 25
26 Algoritmi e Programmi: Interpreti ti e Compilatori i L interprete è un programma che traduce, istruzione per istruzione, il programma sorgente. Ogni istruzione è sottomessa alla CPU appena è stata tradotta. Anche se una se istruzione è contenuta 10 volte in un programma verrà tradotta ogni volta che si presenterà al traduttore. Il compilatore, invece, traduce tutto il programma in una sola volta e poi lo sottomette alla CPU. Se una stessa istruzione compare 10 volte, viene tradotta solo la prima volta e poi memorizzata in maniera tale che possa essere ripresa dal compilatore e inserita nelle restanti nove righe di programma 9/22/2010 Michele Nappi 26
27 Algoritmi e Programmi E' possibile così riassumere le diverse fasi che portano dall'analisianalisi del problema all'ottenimento di una soluzione: 1. Analisi 2. Formalizzazione 3. Programmazione 4. Traduzione 5. Esecuzione 6. Verifica 9/22/2010 Michele Nappi 27
28 Analisi Algoritmi e Programmi Viene analizzato il problema in tutti i suoi aspetti e si cercano i fattori sui quali fare leva per risolverlo. Il risultato è una soluzione informale Formalizzazione La soluzione trovata nel passo precedente è riformulata in maniera da utilizzare una sintassi e una semantica corrette, per produrre un algoritmo di risoluzione (Le relazioni tra costrutti dei linguaggio ed azioni sono o univocamente definite). Il linguaggio utilizzato sarà di tipo formale, ma necessiterà di ulteriori passi per essere reso utilizzabile dalla macchina Programmazione Il risultato di questa fase è un programma di alto livello che utilizza un linguaggio di programmazione costituito da segni matematici e parole chiave e non da una successione indecifrabile di 0 e 1. Questa fase però non produce ancora un programma che possa essere compreso dalla macchina: si necessita della fase seguente 9/22/2010 Michele Nappi 28
29 Algoritmi e Programmi Traduzione In questa fase il programma di alto livello viene tradotto da appositi software in linguaggio macchina Esecuzione Il programma viene sottoposto al microprocessore che lo esegue e fornisce la soluzione al problema Verifica Tramite un test pratico di funzionamento ed un analisi teorica del programma dovrebbe si verifica che il software realizzato corrisponda alle sue aspettative e svolga le funzioni per cui è stato elaborato 9/22/2010 Michele Nappi 29
30 Algoritmi e Programmi A questo punto è necessaria la formazione degli utenti, per impartire loro le istruzioni che occorrono per servirsi dei nuovo software: essa può avvenire secondo diverse modalità. Nella fase di implementazione, infine, tutti gli utenti interessati possono servirsi dei programma elaborato (versione beta del programma). Gli aggiornamenti successivi sono detti "versioni", o release, e sono identificati ifi i da un numero progressivo. 9/22/2010 Michele Nappi 30
31 Il Software Software di Base (Sistema Operativo) Software Applicativo (Office Automation) Software di Sviluppo (Ambiente di Programmazione) 9/22/2010 Michele Nappi 31
32 Il Software Il software di base: racchiude in sé sia il software di sistema, necessario a far funzionare l'elaboratore, sia quello utilizzato dagli sviluppatosi di programmi per facilitare il loro lavoro; Il software applicativo: comprende invece tutti quei programmi utilizzati dagli utenti per gestire,,per esempio, la posta, la contabilità di casa, per redigere una lettera, creare una presentazione, telefonare via Internet, ecc., oppure applicativi creati ad hoc per risolvere un determinato problema. 9/22/2010 Michele Nappi 32
33 Il Software Hardware Sistema Operativo Software di Base 9/22/2010 Michele Nappi 33
34 Il Sistema Operativo Interpretare ed eseguire comandi elementari e tradurre i comandi degli applicativi in operazioni della macchina Organizzare g la struttura della memoria di massa Ripartire le risorse del sistema tra gli utenti. (Multiuser Multitasking) 9/22/2010 Michele Nappi 34
35 Ambiente di Programmazione Editor Compilatore Linker Debugger Per Scrivere fisicamente il programma Permette di interrompere l esecuzione del programma dopo ogni istruzione per correggere eventuali errori (bug) Traduce i programmi in codice oggetto, eseguibile dal calcolatore Collega diversi moduli di un programma, e le cosiddette librerie, i producendo d il vero e proprio eseguibile 9/22/2010 Michele Nappi 35
36 Ambiente di Programmazione Fasi di Programmi C: 1. Editing 2. Preprocessing 3. Compilazione 4. Linking 5. Caricamento 6. Esecuzione 9/22/2010 Michele Nappi 36
Sommario. 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
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
DettagliCorso di Informatica
Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio
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
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
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
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.
DettagliProgrammazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso
Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso Informazioni generali Docente: Prof.ssa Dora Giammarresi: giammarr@mat.uniroma2.it Tutor:??? Informazioni generali
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
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
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.
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
DettagliIntroduzione. Informatica B. Daniele Loiacono
Introduzione Informatica B Perchè studiare l informatica? Perchè ha a che fare con quasi tutto quello con cui abbiamo a che fare ogni giorno Perché è uno strumento fondamentale per progettare l innovazione
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)
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
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
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
DettagliIntroduzione a Dev-C++
Introduzione a Dev-C++ Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Note: Dev-C++ richiede Windows 95/98/NT/2000/XP
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
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
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
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
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
DettagliProgrammi. Algoritmi scritti in un linguaggio di programmazione
Programmi Algoritmi scritti in un linguaggio di programmazione Sistema operativo:programma supervisore che coordina tutte le operazioni del calcolatore Programmi applicativi esistenti Sistemi di videoscrittura
DettagliConcetti di base della Tecnologia dell Informazione
Concetti di base della Tecnologia dell Informazione Lezione 5: Il Software Michele Nappi Dipartimento di Matematica ed Informatica Università di Salerno mnappi@unisa.it www.dmi.unisa.it/people/nappi 22/10/2002
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
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
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
DettagliWG-TRANSLATE Manuale Utente WG TRANSLATE. Pagina 1 di 15
WG TRANSLATE Pagina 1 di 15 Sommario WG TRANSLATE... 1 1.1 INTRODUZIONE... 3 1 TRADUZIONE DISPLAY FILE... 3 1.1 Traduzione singolo display file... 4 1.2 Traduzione stringhe da display file... 5 1.3 Traduzione
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
DettagliSOFTWARE. È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software:
1 SOFTWARE È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software: SOFTWARE DI SISTEMA (o di base), che deve gestire le funzioni
DettagliFONDAMENTI di INFORMATICA L. Mezzalira
FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software
DettagliGestione del workflow
Gestione del workflow Stefania Marrara Corso di Tecnologie dei Sistemi Informativi 2004/2005 Progettazione di un Sistema Informativo Analisi dei processi Per progettare un sistema informativo è necessario
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
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
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
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
DettagliEsame di INFORMATICA
Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Anni 40 i dati e i programmi che descrivono come elaborare i dati possono essere codificati nello
DettagliPer scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli
CODICE Le fonti in cui si possono trovare tutorial o esempi di progetti utilizzati con Arduino si trovano nel sito ufficiale di Arduino, oppure nei forum di domotica e robotica. Il codice utilizzato per
DettagliCon il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.
Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell
DettagliLa Macchina Virtuale
Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Elaborazione di Immagini e Suoni / Riconoscimento e Visioni Artificiali 12 c.f.u. Anno Accademico 2008/2009 Docente: ing. Salvatore
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
DettagliCorso di INFORMATICA 2 (Matematica e Applicazioni)
Università di Camerino Scuola di Scienze e Tecnologie Sezione di Matematica Corso di INFORMATICA 2 (Matematica e Applicazioni) Anno Accademico 2014/15 3 Anno Primo Semestre Docenti: Paolo Gaspari Roberto
DettagliC. P. U. MEMORIA CENTRALE
C. P. U. INGRESSO MEMORIA CENTRALE USCITA UNITA DI MEMORIA DI MASSA La macchina di Von Neumann Negli anni 40 lo scienziato ungherese Von Neumann realizzò il primo calcolatore digitale con programma memorizzato
DettagliSoftware. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)
INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042) Gli elaboratori utilizzano memoria per Dati da elaborare Istruzioni eseguite dall elaboratore software differenti risoluzione problemi differenti Algoritmo
DettagliINFORMATICA 1 L. Mezzalira
INFORMATICA 1 L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software del modello
DettagliSoftware. Definizione, tipologie, progettazione
Software Definizione, tipologie, progettazione Definizione di software Dopo l hardware analizziamo l altra componente fondamentale di un sistema di elaborazione. La macchina come insieme di componenti
DettagliIl Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10
Il Software e Il Sistema Operativo Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10 Cosa Impareremo Programmi e Processi Struttura del Sistema Operativo Sviluppo di Programmi I files e la loro
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
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. Docenti: Prof. Luisa Gargano Prof. Adele Rescigno BENVENUTI!
Fondamenti di Informatica Docenti: Prof. Luisa Gargano Prof. Adele Rescigno BENVENUTI! Finalità: Fornire gli elementi di base dei concetti che sono di fondamento all'informatica Informazioni Pratiche ORARIO:
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
DettagliIntroduzione ai linguaggi di programmazione
Università degli Studi di Milano Laurea Specialistica in Genomica Funzionale e Bioinformatica Corso di Linguaggi di Programmazione per la Bioinformatica Introduzione ai linguaggi di programmazione Giorgio
DettagliProgrammazione in Java (I modulo) Lezione 3: Prime nozioni
Programmazione in Java (I modulo) Lezione 3: Prime nozioni La volta scorsa Abbiamo avuto un primo assaggio! Abbiamo visto come usare l editor per scrivere un programma Java. Abbiamo analizzato riga 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
DettagliInformatica per le discipline umanistiche 2 lezione 14
Informatica per le discipline umanistiche 2 lezione 14 Torniamo ai concetti base dellʼinformatica. Abbiamo sinora affrontato diversi problemi: avere unʼidentità online, cercare pagine Web, commentare il
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
Dettagli4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0
Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice
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
DettagliInformatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter
Informatica B a.a 2005/06 (Meccanici 4 squadra) Scaglione: da PO a ZZZZ PhD. Ing. Michele Folgheraiter Architettura del Calcolatore Macchina di von Neumann Il calcolatore moderno è basato su un architettura
DettagliArchitettura del calcolatore
Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software Architettura del calcolatore L architettura dell hardware di un calcolatore reale
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è
DettagliFondamenti di Informatica PROBLEMI E ALGORITMI. Fondamenti di Informatica - D. Talia - UNICAL 1
Fondamenti di Informatica PROBLEMI E ALGORITMI Fondamenti di Informatica - D. Talia - UNICAL 1 Specifica di un algoritmo Primo approccio, scrittura diretta del programma: la soluzione coincide con la codifica
DettagliSISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09
SISTEMI OPERATIVI Prof. Enrico Terrone A. S: 2008/09 Che cos è il sistema operativo Il sistema operativo (SO) è il software che gestisce e rende accessibili (sia ai programmatori e ai programmi, sia agli
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
DettagliMATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c
Caratteristiche MATLAB Linguaggio di programmazione orientato all elaborazione di matrici (MATLAB=MATrix LABoratory) Le variabili sono matrici (una variabile scalare equivale ad una matrice di dimensione
DettagliIL SOFTWARE SECONDO LA NORMA UNI EN ISO 13849-1:2008 (IIA PARTE) 1
Ernesto Cappelletti (ErnestoCappelletti) IL SOFTWARE SECONDO LA NORMA UNI EN ISO 13849-1:2008 (IIA PARTE) 6 April 2012 1. Requisiti per la scrittura del software secondo la norma UNI EN ISO 13849-1:2008
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
DettagliIntroduzione alla programmazione in C
Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale
Dettagli(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)
(Esercizi Tratti da Temi d esame degli ordinamenti precedenti) Esercizio 1 L'agenzia viaggi GV - Grandi Viaggi vi commissiona l'implementazione della funzione AssegnaVolo. Tale funzione riceve due liste
DettagliLaboratorio Matematico Informatico 2
Laboratorio Matematico Informatico 2 (Matematica specialistica) A.A. 2006/07 Pierluigi Amodio Dipartimento di Matematica Università di Bari Laboratorio Matematico Informatico 2 p. 1/1 Informazioni Orario
DettagliIl SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)
Il software Software Il software Il software è la sequenza di istruzioni che permettono ai computer di svolgere i loro compiti ed è quindi necessario per il funzionamento del calcolatore. Il software può
DettagliUff. I. - OLIMPIADI DI PROBLEM SOLVING - Informatica e pensiero algoritmico nella scuola dell'obbligo
Uff. I - OLIMPIADI DI PROBLEM SOLVING - Informatica e pensiero algoritmico nella scuola dell'obbligo Il Ministero dell Istruzione, dell Università e della Ricerca Direzione Generale per gli Ordinamenti
DettagliIng. Paolo Domenici PREFAZIONE
Ing. Paolo Domenici SISTEMI A MICROPROCESSORE PREFAZIONE Il corso ha lo scopo di fornire i concetti fondamentali dei sistemi a microprocessore in modo semplice e interattivo. È costituito da una parte
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
DettagliSoftware di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche
Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica
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
DettagliTipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:
Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante
DettagliIl database management system Access
Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio
DettagliNozionidiBase di Informatica
Università degli Studi di Parma Facoltà di Scienze MM.FF.NN. Corso di Laurea in Informatica NozionidiBase di Informatica Roberto Alfieri Giulio Destri Nozioni Base di Informatica - 1 R. Alfieri e G. Destri
DettagliIl computer: primi elementi
Il computer: primi elementi Tommaso Motta T. Motta Il computer: primi elementi 1 Informazioni Computer = mezzo per memorizzare, elaborare, comunicare e trasmettere le informazioni Tutte le informazioni
DettagliInteresse, sconto, ratei e risconti
129 Interesse, sconto, ratei e risconti Capitolo 129 129.1 Interesse semplice....................................................... 129 129.1.1 Esercizio per il calcolo dell interesse semplice........................
DettagliInformazione e dato. Gabriella Trucco
Informazione e dato Gabriella Trucco Cos è l informatica? Informatica? Trattamento automatico delle informazioni INFORMATICA Informazione Informazione: Qualcosa che quando viene fornito dissipa un dubbio,
DettagliCPU. Maurizio Palesi
CPU Central Processing Unit 1 Organizzazione Tipica CPU Dispositivi di I/O Unità di controllo Unità aritmetico logica (ALU) Terminale Stampante Registri CPU Memoria centrale Unità disco Bus 2 L'Esecutore
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
DettagliApproccio stratificato
Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia
DettagliIl calcolatore oggi : UN SISTEMA DI ELABORAZIONE
Il calcolatore oggi : UN SISTEMA DI ELABORAZIONE hardware Firmware, software memorizzato su chip di silicio Sistema Operativo venduto con l, comprende vari programmi di gestione del sistema Applicativo,
DettagliRichiami di informatica e programmazione
Richiami di informatica e programmazione Il calcolatore E una macchina usata per Analizzare Elaborare Collezionare precisamente e velocemente una grande quantità di informazioni. Non è creativo Occorre
DettagliAppunti sulla Macchina di Turing. Macchina di Turing
Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso
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 Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni
Introduzione Ai Data Bases Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni I Limiti Degli Archivi E Il Loro Superamento Le tecniche di gestione delle basi di dati nascono
DettagliArchitettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello):
Architettura (10/9003) Pag. 1/6 Esame di Architettura (matr.0-1) del 10/9003 Per Fondamenti di Architettura NON rispondere Per le domande a risposta multipla cerchiare la risposta scelta. Non alle domande
DettagliESEMPIO 1: eseguire il complemento a 10 di 765
COMPLEMENTO A 10 DI UN NUMERO DECIMALE Sia dato un numero N 10 in base 10 di n cifre. Il complemento a 10 di tale numero (N ) si ottiene sottraendo il numero stesso a 10 n. ESEMPIO 1: eseguire il complemento
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
DettagliArduino: Programmazione
Programmazione formalmente ispirata al linguaggio C da cui deriva. I programmi in ARDUINO sono chiamati Sketch. Un programma è una serie di istruzioni che vengono lette dall alto verso il basso e convertite
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
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....................................
DettagliEsercizi su. Funzioni
Esercizi su Funzioni ๒ Varie Tracce extra Sul sito del corso ๓ Esercizi funz_max.cc funz_fattoriale.cc ๔ Documentazione Il codice va documentato (commentato) Leggibilità Riduzione degli errori Manutenibilità
DettagliProgettaz. e sviluppo Data Base
Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo
DettagliCodifica: dal diagramma a blocchi al linguaggio C++
Codifica: dal diagramma a blocchi al linguaggio C++ E necessario chiarire inizialmente alcuni concetti. La compilazione Il dispositivo del computer addetto all esecuzione dei programmi è la CPU La CPU
Dettagli