Lezione 1 Richiami di Python
|
|
- Concetta Giovanna Marchetti
- 6 anni fa
- Visualizzazioni
Transcript
1 Lezione 1 Richiami di Python Ing. Giuseppe Chiapparo - Università di Roma Tor Vergata Corso di ingegneria degli algoritmi (parte pratica) A.A. 2016/ /10/2016 1
2 Informazioni generali Ing. Giuseppe Chiapparo Sitoweb: Oggetto: [tutoraggio IA] Ricevimento: dopo le lezioni o per appuntamento. 2
3 Modalità prova pratica Premessa: Si può decidere di consegnare la prova pratica solo una volta l'anno. La prova pratica consiste nell'implementazione di soluzioni a problemi di natura algoritmica in Python. Questa prova influirà sul 25% del voto di Ingegneria degli algoritmi. Potrete decidere di svolgere la prova pratica in due diverse modalità: Lo svolgimento di due test durante il corso. La prima prova (prova intermedia) consisterà in una consegna individuale e peserà per circa il 25% rispetto all'intera parte pratica. La seconda prova (prova finale) consisterà in una consegna di gruppo (3 persone) e peserà per il restante 75% della prova pratica. Oppure la realizzazione di un unico progetto finale. Essendo un unico progetto, quest'ultimo avrà un più alto coefficiente di difficoltà rispetto ai due test pratici. Può essere svolto in gruppo (3 persone). Nota bene: le due precedenti modalità sono mutualmente esclusive, non sarà quindi possibile svolgere il progetto se si è già partecipato ai test. 3
4 Python e perché usarlo Linguaggio di programmazione ad alto livello sviluppato agli inizi degli anni 90. Sviluppato per aumentare la produttività degli sviluppatori software. Sintassi snella Molte funzionalità insite nelle librerie del linguaggio Permette di concentrarsi di più sul cosa fare, e meno sul come fare. È dunque più semplice tradurre la logica di un algoritmo in Python. Curiosità: Il nome non deriva dal «Pitone», bensì dalla serie televisiva «Il circo volante dei Monty Python» amata da Van Rossum (creatore del linguaggio). 4
5 Dietro le quinte: come funziona Python Alcune note: L interprete svolge il ruolo di controllore sintattico e di traduttore. Il codice byte è una forma equivalente del codice Python, solo che è in un linguaggio di basso livello. È la Python Virtual Machine ad eseguire il codice byte Codice Python Controllore sintattico e traduttore Messaggi di errori sintattici Codice byte Input dell utente Python Virtual Machine (PVM) Output del programma Altri messaggi di errore
6 Installazione Si ha bisogno di: Un interprete Python, la PVM e i relativi moduli di base Per equipaggiare il proprio sistema operativo con questi elementi si può andare su: (oppure su ) nella sezione download. I sistemi Unix-based dovrebbero avere già installato Python, ma potrebbero aver bisogno di aggiornare la versione di Python preinstallata nel sistema. Un adeguato editor o meglio un ambiente di sviluppo integrato (IDE) Non indispensabile, ma comunque molto utile. Va bene anche l ide integrato con Python. 6
7 Documentazione Il libro «Programmazione in Python» di Kenneth A. Lambert Apogeo Education. Si tratta del libro usato nel corso di Fondamenti d informatica. La documentazione online ufficiale di Python: per la documentazione in italiano. per la documentazione in inglese. Documentazione nella shell di Python: Funzione help usata per visualizzare le informazioni su di un modulo o su di una funzione. Prima di ricercare qualcosa con help assicurarsi di aver importato la risorsa cercata. Esempio: help(math) oppure help(math.cos) 7
8 Progettazione di un programma Modello a cascata: Richiesta del cliente ricevere una dettagliata descrizione di un problema. Analisi Determinare cosa farà il programma, chiarendo le specifiche. Progettazione Determinare come il programma dovrà svolgere il suo compito. Implementazione Scrivere il programma (ovvero la fase di codifica). Integrazione e test Assemblare le varie parti del programma in un blocco funzionante. Manutenzione Apportare diverse modifiche per aggiornare il programma. 8
9 Come scrivere il codice Commento introduttivo in cui includere almeno il nome dell autore e una breve descrizione programma Import dei moduli richiesti dal programma subito dopo il commento introduttivo Inizializzazione di eventuali variabili di modulo Definizione delle funzioni, tra cui la funzione main Docstring per ogni funzione definita nel programma. Uso di nomi significativi. Attenzione alle convenzioni: Nomi di funzioni, metodi e di variabili iniziano sempre con la lettera minuscola. Nomi di classi con la lettera maiuscola. Usare in entrambi i casi la notazione CamelCase. Nel caso di costanti scrivere il nome tutto in maiuscolo. 9
10 Quale è la giusta struttura di un programma? Solitamente in fase di progettazione si segue un approccio top-down, che consiste nel suddividere il problema iniziale da risolvere in piccoli sottoproblemi. La struttura del codice che viene prodotto deve riflettere questa suddivisione dei problemi. Si ha un file in cui è inserito il codice del main e pochi altri dettagli. Tutte le funzioni necessarie per lo sviluppo del codice possono essere raggruppate in diversi moduli. 10
11 I moduli in Python Un modulo è un particolare script Python. Sono utili per decomporre un programma di grande dimensione in più files, oppure per riutilizzare codice scritto precedentemente. Le definizioni presenti in un modulo possono essere importate in uno script (o in altri moduli) attraverso il comando import. Il nome di un modulo è il nome del file script (escusa l estensione «.py»). All interno di un modulo si può accedere al suo nome tramite la variabile globale name 11
12 L istruzione import (esempio con il modulo math) Il modulo math contiene al proprio interno: numerose funzioni matematiche tra cui coseno (cos), numero assoluto (fabs) diversi elementi tra cui il numero pi greco (pi) il numero di Nepero (e) import math per importare tutto il modulo math. Questa tecnica di importazione è la migliore. Ad esempio per richiamare la funzione sqrt si deve scrivere math.sqrt(<numero>). Esiste anche la tecnica from math import pi, sqrt che permette di importare solo alcune risorse da un modulo. In questo modo si può evitare l uso del qualificatore math. Questo secondo modo è sconsigliato in quanto l uso del qualificatore ricorda anche al lettore lo scopo della funzione. 12
13 Importare i propri moduli Importare i propri moduli: import <percorso relativo del file rispetto alla posizione di python e nome del file senza.py>. Una volta effettuato l import, se lo script prevede un programma interattivo e non solo delle funzioni, allora verrà eseguito lo script. Per eseguire lo script solo quando quest ultimo è stato direttamente eseguito, e non quando si è eseguito un semplice import del modulo è bene eseguire il seguente controllo: 13
14 Importare i propri moduli Infatti, se un modulo viene eseguito direttamente la variabile globale name sarà uguale alla stringa " main ". Viceversa, questa identità non è verificata Ne segue che se un modulo viene importato l uguaglianza tra name e " main " non sarà verificata, e quindi il codice del main() non sarà eseguito. Ciò consente di impostare diversi comportamenti dello script nel caso in cui esso venga imporato come un modulo o direttamente eseguito. 14
15 Passaggio degli argomenti ad uno script Si apre il terminale e ci si posiziona all interno della cartella che contiene il file python.exe Si può digitare il seguente comando: python.exe <percorso relativo del file con estensione.py> arg1.. argn Esempio: Python.exe Scripts/data.py Giuseppe Chiapparo 1/1/2001 In questo modo si eseguirà lo script contenuto nel file data.py e sto passando come argomenti il nome il cognome e la data di nascita. 15
16 Accedere agli argomenti passati All interno dello script per accedere agli argomenti passati tramite linea di comando: Importare il modulo sys. All interno dello script si può accedere alla lista degli argomenti tramite sys.argv Nota bene: L argomento in posizione 0 è il nome del file che si sta eseguendo. Si controlla se il numero degli argomenti passato è proprio quello che ci aspettavamo Ad esempio if len(sys.argv) == 4: Si accede ad ogni singolo elemento attraverso sys.argv[<indice>] 16
17 Tipizzazione dinamica Python è caratterizzato da una forte tipizzazione dinamica Python gestisce diversi tipi base, oltre quelli definiti attraverso classi. Una volta che una variabile viene inizializzata, Python ne desume il giusto tipo e lo assegna alla variabile in questione. Alcuni tipi gestiti nativamente da Python: Variabili numeriche: interi (int e long), virgola mobile (float) Boolean: può assumere una delle due costanti True o False Strutture dati: liste, insiemi, dizionari, 17
18 Istruzioni di controllo Ciclo for: for <variabile> in <sequenza>: <operazione con la variabile La sequenza può essere espressa da: [1, 2, 3] una sequenza di numeri Una stringa che viene vista come una sequenza di caratteri Un file che viene visto come una sequenza di righe di testo. Con la funzione range range(10) indica la sequenza da 0 a 9 range(1, 10) indica la sequenza da 1 a 9 range(10, 0, -1) indica la sequenza decrescente da 10 a 1 range(0, 10, 2) indica la sequenza [0, 2, 4, 6, 8] 18
19 Istruzioni di controllo Il costrutto if elif else permette di scegliere tra diverse alternative: if <condizione1>: <sequenza di istruzioni 1> elif <condizionen>: <sequenza di istruzioni N> else: <sequenza di istruzioni di default> Il ciclo while permette di creare un ciclo controllato da contatore while <condizione>: <sequenza di istruzioni> Per uscire da un ciclo while oltre al fatto che la condizione diventa falsa si può usare l istruzione break. 19
20 Stringhe Una stringa è una struttura dati immutabile, vista come una sequenza di 0 o più caratteri. I caratteri in una stringa vanno dalla posizione 0 alla posizione len(<stringa>) 1. Operatore subscript: <stringa>[<indice>] per accedere al carattere di posto <indice> <stringa>[len(<stringa> - 1] o <stringa>[-1] per accedere all ultimo carattere della stringa Estrazione delle sottostringhe: <stringa>[<limite inferiore>:<limite superiore] La sottostringa prodotta si estende dalla posizione <limite inferiore> fino a <limite superiore>
21 Stringhe Esempio, data la stringa name: name[0:] tutti i caratteri dalla pos. 0 alla fine. name[:len(name)] tutti i caratteri dalla pos. 0 a len(name) -1. name[-3:] gli ultimi tre caratteri. Operatore in restituisce True se la stringa è stata trovata: <stringa cercata> in <stringa in cui cercare> Ci sono diversi metodi per l elaborazione delle stringhe: Vedi help(str) per tutti gli approfondimenti s.split() restituisce la lista di parole contenuta nella stringa s che sono separate da uno spazio. s.split(<stringa>) restituisce una lista di parole contenute nella stringa s e separate da <stringa>. Una stringa può essere concatenata ad altre stringhe con l operatore +. Non si può concatenare una stringa ad un numero, si deve usare la funzione di conversione str(<numero>). 21
22 Input e output da standard I\O Per scrivere sullo standard output si usa la funzione print() Per poter leggere da standard input si usa funzione input() Att: se si usa una versione di Python precedente alla 3, per poter leggere dallo standard input si usava la funzione raw_input() Esempio: nome = input("inserisci il nome") print("benvenuto ", nome) Si può accedere allo standard input e output attraverso i due oggetti sys.stdin e sys.stdout ed utilizzare su di essi le funzioni membro valide per gli oggetti file, in lettura e scrittura. 22
23 Gestione dei file Per aprire un file: f= open( pathname, modalità ) N.B. open non ha la notazione dot(.) Apre il file che si trova nel path indicato e restituisce un oggetto file. Il pathname può essere relativo o assoluto. Se il file definito dal pathname non esiste, viene creato. La modalità può essere: r (read only) r+ (read and write) w (write only) w+ (write and read) a (append, only write) a+ (append, read and write) Esempio: f = open( myfile.txt, r ) Viene aperto il file myfile.txt in modalità di sola lettura 23
24 Gestione dei file f.write(<stringa>) per scrivere una stringa in un file Restituisce il numero di caratteri che sono stati scritti. Se non si scrive a partire dalla fine del file, si sovrascrive il file. f.read() Legge tutto il contenuto del file f e lo restituisce in una singola stringa. Restituisce (la stringa vuota) se raggiunge la fine del file. Una volta completata la lettura del file, un ulteriore chiamata di read restituirebbe una stringa vuota. Per ripetere l operazione di lettura del file, il file deve essere riaperto (non è necessario chiudere il file). f.readline() Legge una singola riga di testo dal file e la restituisce compresa di carattere di accapo. Restituisce se raggiunge la fine del file. f.close() Chiude un file. Questa operazione serve per liberare le risorse occupate dal file quando è aperto. f.seek(<offset>, <position>) Per modificare la pos. corrente. <position> può essere 0 (inizio), 1(pos.corrente) e 2 (fine). 24
25 Gestione dei file In che modalità aprire il file?? 25
26 Gestione dei file Questa tabella mostra quali operazioni vengono eseguite in base al tipo di modalità scelta per aprire un file. read write create truncate Position at start Position at end r r+ w w+ a a+ x x x x x x x x x x x x x x x x x x x x x N.B. Se si apre un file con modalità r o r+, se il file non esiste non verrà creato in automatico, bensì verrà lanciato l errore FileNotFoundError N.B. Se si apre un file in modalità a o a+, la scrittura avverrà sempre a partire dalla posizione finale, anche se ci si sposta con seek. 26
Lezione 3. Ing. Giuseppe Chiapparo - Università di Roma Tor Vergata Corso di ingegneria degli algoritmi (parte pratica) A.A.
Lezione 3 Ing. Giuseppe Chiapparo - Università di Roma Tor Vergata Corso di ingegneria degli algoritmi (parte pratica) A.A. 2016/2017 19/10/2016 1 La funzione main In Python main() non è una funzione speciale
DettagliLinguistica Computazionale: esercitazioni
Esercitazione 1 Felice Dell'Orletta ItaliaNLP Lab (www.italianlp.it) presso Istituto di Linguistica Computazionale A. Zampolli CNR felice.dellorletta@ilc.cnr.it 24 settembre 2014 Linguistica Computazionale:
DettagliLe basi del linguaggio Java
Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una
DettagliInput/Output. Console e File.
Input/Output Console e File http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Introduzione Le istruzioni di stampa servono a rendere visibili
DettagliL utility Unix awk [Aho-Weinberger-Kernighan]
L utility Unix awk [Aho-Weinberger-Kernighan] L utility awk serve per processare file di testo secondo un programma specificato dall utente. L utility awk legge riga per riga i file ed esegue una o più
DettagliAvviate l interprete Python selezionandolo dal menu dei programmi. Una volta avviato, l interprete presenta un cursore in cui inserire comandi
Introduzione al Python Caratteristiche procedurale si specifica la procedura da eseguire sui dati strutturato concetto di visibililtà delle variabili orientato agli oggetti permette di programmare con
DettagliFile binari e file di testo
I file File binari e file di testo distinzione tra file binari file di testo si possono usare funzioni diverse per la gestione di tipi di file diversi Programmazione Gestione dei file 2 File binari e file
DettagliSTRUTTURE DI CONTROLLO DEL C++
STRUTTURE DI CONTROLLO DEL C++ Le istruzioni if e else Le istruzioni condizionali ci consentono di far eseguire in modo selettivo una singola riga di codice o una serie di righe di codice (che viene detto
DettagliLaboratorio Progettazione Web Il linguaggio PHP Le Istruzioni. Andrea Marchetti IIT-CNR AA 2014/2015
Laboratorio Progettazione Web Il linguaggio PHP Le Istruzioni Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.it AA 2014/2015 Ambiente di test Cercare PHP online per avere un interprete PHP Assegnamento
DettagliLaboratorio Progettazione Web Il linguaggio PHP Le Istruzioni. Andrea Marchetti IIT-CNR AA 2015/2016
Laboratorio Progettazione Web Il linguaggio PHP Le Istruzioni Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.it AA 2015/2016 Ambiente di test PHP online per avere un interprete PHP Php Online PHP Tester
DettagliLaboratorio di Python
Istruzione di condizione, Input da tastiera, Università di Bologna 6 e 8 marzo 2013 Sommario 1 Tipi di errore e Debugging 2 3 4 Outline Tipi di errore e Debugging 1 Tipi di errore e Debugging 2 3 4 Esercizio
DettagliSi può scrivere un programma anche utilizzando un editor di testo (Blocco Note, WordPad, ) ricordandosi comunque di salvarlo con l estensione.py.
Avviare il programma (Tutti i Programmi Python 2.7 Idle). Quello che si è avviato è l ambiente di sviluppo di Python, che serve per facilitare il programmatore nello scrivere programmi usando Python. Dalla
DettagliCorso di Laboratorio di Sistemi Operativi
Corso di Laboratorio di Sistemi Operativi Lezione 4 Alessandro Dal Palù email: alessandro.dalpalu@unipr.it web: www.unipr.it/~dalpalu Approfondimento su make http://http://capone.mtsu.edu/csdept/facilitiesandresources/make.htm
DettagliUsare Python in Linux
26 Febbraio 2015 Outline 1 Struttura e programma delle lezioni 2 3 Outline Struttura e programma delle lezioni 1 Struttura e programma delle lezioni 2 3 Lezione tipo Struttura e programma delle lezioni
DettagliIntroduzione a Matlab
INFORMATICA B Ingegneria Elettrica Introduzione a Matlab Introduzione a Matlab Matlab (MATrix LABoratory) è uno strumento per il calcolo scientifico ed ingegneristico Matlab facilita lo sviluppo di programmi
DettagliProgrammazione in Python per la bioinformatica
per la bioinformatica University of Verona Sommario (if) (while for) Cambiare il usso di esecuzione di un programma Semplice Semplice l'indentazione ha un signicato sintattico! Condizioni Boolean Expression
DettagliLaboratorio di Python
, Input da tastiera, Iterazione incondizionata 7 marzo 2014 Sommario 1 2 3 Outline 1 2 3 Definizione di funzione import modulo Si importa il modulo specificato def nome_f(par 1,, par n ) : Si definiscono
DettagliLaboratorio Progettazione Web Il linguaggio PHP Lezione 6. Andrea Marchetti IIT-CNR 2011/2012
Laboratorio Progettazione Web Il linguaggio PHP Lezione 6 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Assegnamento L assegnamento ad una variabile è il classico variabile = valore;
DettagliMATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA
MATLAB I/O Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA Funzione input valore = input( inserisci un valore ); Matlab stampa a video la stringa inserisci un valore ed aspetta di ricevere
DettagliIl linguaggio C. Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1
Il linguaggio C I linguaggi di programmazione ad alto livello sono linguaggi formali ( sintassi e semantica formalmente definite) però sono compatti e comprensibili. Le tipologie di linguaggi sono: procedurali
DettagliIntroduzione alla programmazione in Python: Parte II
Introduzione alla programmazione in Python: Parte II corso tenuto da: Francesco Grigoli organizzato da: Associazione Next Studio Mirabilia con la collaborazione di: ANFE, Sportello multifunzionale di Bagheria
DettagliUniversità degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso
Obiettivi Di seguito vengono riportate una serie di domande che possono essere poste durante la prova formale del corso. Le seguenti domande non sono da ritenersi esaustive ma esemplificative. 1. Architettura
DettagliMATLAB c. Lucia Gastaldi Dipartimento di Matematica Lezione 4 (15 ottobre 2003)
MATLAB c M-file. Lucia Gastaldi Dipartimento di Matematica http://dm.ing.unibs.it/gastaldi/ Lezione 4 (15 ottobre 2003) Esercizio Problema 3: la successione di funzioni f n (x) = (x 2 x) n per 0 x 1 è
DettagliUnità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi
Obiettivi Unità F1 Primi programmi Conoscere il significato di dichiarazione e definizione di variabili Conoscere i tipi di dato numerici Essere in grado di realizzare semplici algoritmi in pseudolinguaggio
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Introduzione al linguaggio Java - Input/Output, Variabili, Tipi Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2015/2016 Fondamenti di Informatica T-1 Allegra De
DettagliVBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.
Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?
DettagliIntroduzione al MATLAB c Parte 3 Script e function
Introduzione al MATLAB c Parte 3 Script e function Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 M-file di tipo Script e Function Script Function 2 Gestione dell
DettagliMetodi di Analisi dei Dati Sperimentali. AA 2009/2010 Pier Luca Maffettone. Elementi di Matlab
Metodi di Analisi dei Dati Sperimentali AA /2010 Pier Luca Maffettone Elementi di Matlab Sommario Introduzione Variabili Manipolazione di elementi Creazione di vettori/matrici Operazioni elementari Funzioni
DettagliIl 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)
DettagliINTRODUZIONE. ALLA PROGRAMMAZIONEColonna 1. in linguaggio C
12 10 8 INTRODUZIONE 6 4 ALLA PROGRAMMAZIONEColonna 1 Colonna 2 Colonna 3 in linguaggio C 2 0 Riga 1 Riga 2 Riga 3 Riga 4 di Mauro Casula { Scopi del seminario Essere chiaro ed esauriente; Spiegare nei
DettagliRappresentazione degli algoritmi
Rappresentazione degli algoritmi Universitá di Ferrara Ultima Modifica: 21 ottobre 2014 1 1 Diagramma di flusso Utilizzare il diagramma di flusso per rappresentare gli algoritmi che risolvono i seguenti
DettagliIntroduzione alla programmazione
Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste
DettagliUn esempio di if annidati
Programmazione A.A. 2002-03 I Costrutti di base ( Lezione XIV, parte I ) Costrutto di selezione switch Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica Università di
DettagliFondamenti di Informatica 6. Algoritmi e pseudocodifica
Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie
DettagliAlgoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal
Algoritmi, Strutture Dati e Programmi : Programmazione in Pascal Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno Il Linguaggio di Programmazione Pascal Esistono molti linguaggi
DettagliElementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I
Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave
Dettagli4. I moduli in Access 2000/2003
LIBRERIA WEB 4. I moduli in Access 2000/2003 Il modulo è uno degli oggetti del database di Access e rappresenta un insieme di dichiarazioni e routine scritte con il linguaggio Visual Basic, memorizzate
DettagliFunzioni, Stack e Visibilità delle Variabili in C
Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7
DettagliRELAZIONE DELLA PROVA DI LABORATORIO DI INFORMATICA
RELAZIONE DELLA PROVA DI LABORATORIO DI INFORMATICA Anno scolastico Lab informatica AULA n 35 Data inizio svolgimento Progr. relazione primo trimestre secondo pentamestre Cognome e Nome DATI DELLO STUDENTE
DettagliBreve introduzione al linguaggio R
L'ambiente R Studio Breve introduzione al linguaggio R Davide Massidda www.insular.it Università di Cagliari, a.a. 2013/2014 R è una calcolatrice! Inserire commenti L'utente invia un comando in input;
DettagliCORSO LINUX PER LA CERTIFICAZIONE LPI ESSENTIALS
CORSO LINUX PER LA CERTIFICAZIONE LPI ESSENTIALS Comandi da terminale Il comando sleep fa attendere un comando prima dell'esecuzione. Prova il comando: $ sleep 3s && echo Ciao Mondo! $ Comandi da terminale
DettagliProgrammazione web lato client con JavaScript. Marco Camurri 1
Programmazione web lato client con JavaScript Marco Camurri 1 JavaScript E' un LINGUAGGIO DI PROGRAMMAZIONE che consente di inserire codice in una pagina web Sintassi simile a Java (e al C), ma NON E'
DettagliOperazioni su file di caratteri
Operazioni su file di caratteri Apertura fopen Chiusura fclose Scrittura fprintf Lettura fscanf Controllo fine file feof Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1 Apertura di un file: Si
DettagliCORSO DI LABORATORIO DI INFORMATICA
CORSO DI LABORATORIO DI INFORMATICA Corso di Laurea Triennale in Ingegneria Elettrica a.a. 2015/2016 Docente: Ing. Domenico Amalfitano Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione
DettagliLaboratorio di Python (con Linux)
8 a lezione Università di Bologna 2, 4 maggio 2012 Sommario 1 2 3 Diversi Python 2.6 vs 2.7 v.s 3.x La versione di Python installata sulle macchine del laboratorio è la 2.6 (per l esattezza 2.6.6 ). Versioni
DettagliIndice generale Prefazione...xiii Capitolo 1 Introduzione...1 Capitolo 2 Sviluppo del software, tipi di dati ed espressioni...31
Indice generale Prefazione...xiii Capitolo 1 Introduzione...1 1.1 Due concetti fondamentali dell informatica: algoritmi ed elaborazione delle informazioni... 2 1.1.1 Algoritmi... 2 1.1.2 Elaborazione delle
DettagliIngegneria degli Algoritmi (II parte pratica)
Ingegneria degli Algoritmi (II parte pratica) Lezione 8 Ing. Domenico Spera domenico.spera@students.uniroma2.eu Sommario Tabelle hash Funzioni hash Liste di collisione Inidirizzamento aperto Import (..ultima
DettagliEsonero di Informatica I. Ingegneria Medica
Di seguito sono elencati una serie di domande tipo esonero ; i quiz vogliono dare un sistema di autovalutazione e di confronto allo studente che deve prepararsi alla prova di metà corso. Il numero e l
DettagliShell: variabili di sistema. Per visualizzare il valore di tutte le variabili d ambiente si usa il comando set
PATH Shell: variabili di sistema HOME USER PWD SHELL HOSTNAME HOSTTYPE Per visualizzare il valore di tutte le variabili d ambiente si usa il comando set Shell: variabili di sistema Per visualizzare il
DettagliInformatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 17/01/2014/ Foglio delle domande / VERSIONE 1
Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 17/01/2014/ Foglio delle domande/ VERSIONE 1 1) L approccio con cui si studia un sistema focalizzandosi solo sul rapporto tra input e output si chiama
DettagliMini-Corso di Informatica
Mini-Corso di Informatica CALCOLI DI PROCESSO DELL INGEGNERIA CHIMICA Ing. Sara Brambilla Tel. 3299 sara.brambilla@polimi.it Note sulle esercitazioni Durante le esercitazioni impareremo a implementare
DettagliCos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L attività di progettare e realizzare un programma è detta programmazione
DettagliUnità Didattica 2 Linguaggio C. Espressioni, Operatori e Strutture linguistiche per il controllo del flusso
Unità Didattica 2 Linguaggio C Espressioni, Operatori e Strutture linguistiche per il controllo del flusso 1 Espressioni e assegnazioni Le espressioni sono definite dalla grammatica: espressione = variabile
DettagliProgramma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza
DettagliGestione di files Motivazioni
Gestione di files Motivazioni Un programma in esecuzione legge (sequenzialmente) una sequenza di caratteri prodotti "al volo" dall'utente (tramite tastiera) il programma in esecuzione scrive (sequenzialmente)
DettagliEsercitazione n 2. Obiettivi
Esercitazione n 2 Obiettivi Progettazione di una applicazione Java Utilizzo di classi come schemi Utilizzo di costruttori Utilizzo di stringhe Uguaglianza tra oggetti Utilizzo di classi come componenti
Dettagli9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
9 - Array 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 Laurea
DettagliUn esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);
Un esempio per iniziare Il controllo del programma in C DD Cap.3 pp.91-130 /* calcolo di 8!*/ #include #define C 8 int main() int i=1; int fatt=1; while (i
DettagliLaboratorio di Informatica
Laboratorio di Informatica Seconda lezione a Python Dottore Paolo Parisen Toldin - parisent@cs.unibo.it Dottoressa Sara Zuppiroli - sara.zuppiroli@unibo.it L'importanza di capire Perché non dobbiamo dichiarare
DettagliLe strutture di controllo in C++
Le strutture di controllo in C++ Docente: Ing. Edoardo Fusella Dipartimento di Ingegneria Elettrica e Tecnologie dell Informazione Via Claudio 21, 4 piano laboratorio SECLAB Università degli Studi di Napoli
DettagliCorso di Fondamenti di Informatica
Corso di Fondamenti di Informatica Le classi di istruzioni in C++ 1 Le classi di istruzioni in C++ SEQUENZIALI Statement semplice Statement composto CONDIZIONALI if < expr.> else switch case
DettagliInformazioni sul corso
Informazioni sul corso Marco Alberti Programmazione e Laboratorio, A.A. 2016-2017 Dipartimento di Matematica e Informatica - Università di Ferrara Ultima modifica: 11 ottobre 2016 Programmazione Programmazione
DettagliFondamenti di Informatica T-1. Introduzione al linguaggio Java Input/output, variabili, tipi
Introduzione al linguaggio Java Input/output, variabili, tipi 2 Programmi e linguaggi Algoritmo sequenza finita di passi per risolvere in un tempo finito un problema Linguaggio di programmazione notazione
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione
DettagliFunzioni e moduli. Andrea Passerini Informatica. funzioni e moduli
Funzioni e moduli Andrea Passerini passerini@disi.unitn.it Informatica Funzioni nella programmazione Descrizione Una funzione è una sequenza di istruzioni cui viene dato un nome Questo permette di riutilizzare
DettagliJava SE 7. Strutture di programmazione (2)
Java SE 7 Strutture di programmazione (2) diegozabot@yahoo.it ursula.castaldo@gmail.com Casting (1) E' l'operazione che realizza la conversione di tipo tra oggetti e tra tipi primitivi. E' un'operazione
DettagliProgrammazione in Python. Moreno Marzolla
Programmazione in Python Moreno Marzolla http://www.moreno.marzolla.name/ Copyright 2011, Moreno Marzolla (http://www.moreno.marzolla.name/teaching/labinf2011/) This work is licensed under the Creative
DettagliArray in Fortran 90. Ing. Luca De Santis. Anno accademico 2006/2007. DIS - Dipartimento di informatica e sistemistica
Array in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: array DIS - Dipartimento di informatica e sistemistica 1 / 25 Cosa vedremo
DettagliLezione 6 Introduzione al C++ Mauro Piccolo
Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,
DettagliSommario PREFAZIONE...XI CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 CAPITOLO 2: INTRODUZIONE ALLA PROGRAMMAZIONE IN C...
Sommario PREFAZIONE...XI Aggiornamenti e novità... xi Lo scopo di questo libro... xii Diagramma delle dipendenze... xii La metodologia di insegnamento... xiii Panoramica sul libro... xvi Ringraziamenti...
Dettagli19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
19 - Eccezioni 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
Dettagli1) Matlab e simulazione. 2) Esempi di utilizzo. Mauro De Sanctis corso di Informazione e Codifica Università di Roma Tor Vergata
Argomenti della Lezione 1) Matlab e simulazione 2) Esempi di utilizzo 1 Mauro De Sanctis corso di Informazione e Codifica Università di Roma Tor Vergata Matlab è un sistema di programmazione ad alto livello
DettagliProgrammazione a blocchi. Algobuild Prof. Sergio Roselli
Programmazione a blocchi Algobuild Prof. Sergio Roselli Blocchi base Inizio programma I Fine programma F Input IN A Output Esecuzione OUT A A = 5 + 1 L interprete Algobuild Algobuildpermette di trascrivere
DettagliCorso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 07. Oggetti e Java. Marzo Programmazione Java 1
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 07 Oggetti e Java Marzo 2010 Programmazione Java 1 Contenuti Il linguaggio Java Applicazioni Java e il metodo main Esempi di applicazioni
DettagliReporting Aziendale e Sistemi Informativi
Economia e Management management e nuove tecnologie Reporting Aziendale e Sistemi Informativi Prof. Francesco Orciuoli DISA-MIS 04 - Sviluppo del Software, Tipi di Dati e Istruzioni sviluppo del software
DettagliCORSO DI PROGRAMMAZIONE
ISTITUTO TECNICO INDUSTRIALE G. M. ANGIOY SASSARI CORSO DI PROGRAMMAZIONE INTRODUZIONE ALLE ISTRUZIONI ITERATIVE DISPENSA 03.01 03-01_Iterazioni_[ver_15] Questa dispensa è rilasciata sotto la licenza Creative
DettagliIntroduzione alla programmazione in linguaggio C
Introduzione alla programmazione in linguaggio C Il primo programma in C commento Header della libreria Funzione principale Ogni istruzione in C va terminata con un ; Corso di Informatica AA. 2007-2008
DettagliGESTIONE DEI FILE IN C. Docente: Giorgio Giacinto AA 2008/2009
Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2
Dettagliosservazione: 1 MCD(m,n) min(m,n) = si provano i numeri compresi tra 1 e min(m,n) conviene iniziare da min(m,n) e scendere verso 1
Esempio: Leggere due interi positivi e calcolarne il massimo comun divisore. MCD(12, 8) = 4 MCD(12, 6) = 6 MCD(12, 7) = 1 Sfruttando direttamente la definizione di MCD osservazione: 1 MCD(m,n) min(m,n)
DettagliStrutture di Controllo
Introduzione Strutture di Controllo per strutture condizionali e cicliche Quando si affronta la programmazione si devono indicare al computer delle istruzioni da eseguire. Se il computer potesse comprendere
DettagliCorso di Laurea Ingegneria Informatica Laboratorio di Informatica
Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Capitolo 4 Traduzione ed esecuzione di programmi Ottobre 2006 Traduzione ed esecuzione di programmi 1 Nota bene Alcune parti del presente
DettagliLogica booleana, Costrutto IF
Logica booleana, Costrutto IF Informatica@SEFA 207/208 - Lezione 4 Massimo Lauria http://massimolauria.net/courses/infosefa207/ Mercoledì, 4 Ottobre 207 La logica booleana 2
DettagliSviluppare un programma in FORTRAN
Sviluppare un programma in FORTRAN Scrivere il file sorgente Editor di testo (emacs, vi, notepad, etc) Compilare Compilatore (ifort, gfortran, etc) Eseguire il programma Riga di comando, doppio click,
DettagliRaccolta di tutorial Python #1: basi e Tkinter dal sito francescomilanese.com SOMMARIO
Prima parte: le basi di Python 1. Introduzione. Cosa ci serve, cosa è richiesto, cosa faremo. Note sull'indentazione 1 Introduzione 1 Scrittura degli script: l'idle 2 Importare moduli in uno script 3 I
DettagliIndice. Prefazione. 3 Oggetti e Java 53
Prefazione xv 1 Architettura dei calcolatori 1 1.1 Calcolatori e applicazioni 1 1.1.1 Alcuni esempi di applicazioni 3 1.1.2 Applicazioni e interfacce 4 1.2 Architettura dei calcolatori 7 1.2.1 Hardware
DettagliVariabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliAppunti di informatica. Lezione 10 anno accademico Mario Verdicchio
Appunti di informatica Lezione 10 anno accademico 2016-2017 Mario Verdicchio Esercizio Scrivere un programma che, data una sequenza di 10 interi (scelta dall utente), la ordini in ordine crescente Soluzione
DettagliInformatica! Appunti dal laboratorio 1!
Informatica! Appunti dal laboratorio 1! Sistema Operativo! Windows 7, Windows 8, Mac OS X, Linux, Debian, Red Hat, etc etc! Il sistema operativo è un programma che serve a gestire TUTTE le risorse presenti
DettagliFile e puntatori a file
File e puntatori a file Vitoantonio Bevilacqua vitoantonio.bevilacqua@poliba.it La libreria stdio.h mette a disposizione delle funzioni che hanno la peculiarità di trattare con questa nuova tipologia di
Dettagli7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari
7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa
DettagliIntroduzione al linguaggio Python
Introduzione al linguaggio Python Filippo Giunchedi filippo@esaurito.net Perché Python? Potente linguaggio di scripting ad oggetti Introduzione a Python - Linuxday 2003 p.1/?? Perché Python? Potente linguaggio
DettagliSommario FONDAMENTI DI INFORMATICA. File e Python. Gestione di file. LINGUAGGIO Python Gestione dei file
Università degli Studi di Cagliari Corsi di Laurea in Ingegneria Chimica ed Ingegneria Meccanica FONDAMENTI DI INFORMATICA http://www.diee.unica.it/~marcialis/fi A.A. 2016/2017 Docente: Gian Luca Marcialis
DettagliIntroduzione alla programmazione in C++
Introduzione alla programmazione in C++ Fondamenti di Informatica Roberto BASILI Marzo, 2007 La Programmazione Programmare significa: Determinare la natura del problema (analisi) Definire una decomposizione
DettagliCostrutti condizionali e iterativi
Costrutti condizionali e iterativi Introduction to Fortran 90 Paolo Ramieri, CINECA Aprile 2014 Strutture di controllo Le strutture di controllo permettono di alterare la sequenza di esecuzione delle istruzioni
DettagliStrutture dati e loro organizzazione. Gabriella Trucco
Strutture dati e loro organizzazione Gabriella Trucco Introduzione I linguaggi di programmazione di alto livello consentono di far riferimento a posizioni nella memoria principale tramite nomi descrittivi
DettagliAutomazione Excel con Visual Basic (base)
Automazione Excel con Visual Basic (base) Docente: Lucio Benussi Descrizione del corso e obiettivi Visual Basic for Applications (VBA) è un ambiente di sviluppo software, inserito all interno di tutti
DettagliElementi di Informatica
Corso di Laurea triennale in Ingegneria Chimica in condivisione con Corso di Laurea triennale in Ingegneria Navale e Scienze dei Materiali Elementi di Informatica A.A. 2016/17 prof. Mario Barbareschi Introduzione
DettagliLinguaggio C: introduzione
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: introduzione La presente dispensa e da utilizzarsi
DettagliMINIMANUALE VBA PER CREARE MACRO NEI FOGLI EXCEL
MINIMANUALE VBA PER CREARE MACRO NEI FOGLI EXCEL ISTRUZIONI PIU COMUNI: Le istruzioni per scrivere del testo dentro una cella sono principalmente due: cells e range L istruzione cells permette di scrivere
DettagliCapitolo 4. Tipi di dati fondamentali. Cay S. Horstmann Concetti di informatica e fondamenti di Java quarta edizione
Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti di Java quarta edizione Convenzioni per i nomi ContoCorrente: nome di una classe contocorrente: può essere una
Dettagli