Introduzione a Python ed installazione di Jupyter
|
|
|
- Pietro Tucci
- 8 anni fa
- Visualizzazioni
Transcript
1 Introduzione a Python ed installazione di Jupyter Marco D. Santambrogio [email protected] Emanuele Del Sozzo [email protected] Lorenzo Di Tucci [email protected] Giuseppe Natale [email protected] Marco Rabozzi [email protected] Alberto Scolari [email protected] Ver. aggiornata al 7 Novembre 2016
2 Agenda Introduzione a Python Tipi e costrutti Liste, dizionari e insiemi Funzioni Classi File 2
3 Installazione Anaconda fornisce: Python Virtual Machine IDE per la scrittura di codice Python (Spyder, Jupyter) Scaricare Anaconda dal seguente link: Scegliere solo Python 3.5 3
4 Cosa è Python? Python è un linguaggio di programmazione Di alto livello Interpretato Debolmente tipizzato Orientato agli oggetti E comodo per sviluppare rapidamente applicazioni e script Documentazione: 4
5 C vs Python C - Basso livello - Compilato - Fortemente tipizzato - Non a oggetti Python - Alto livello - Interpretato - Debolmente tipizzato - A oggetti 5
6 C vs Python C - Basso livello - Compilato - Fortemente tipizzato - Non a oggetti Python - Alto livello - Interpretato - Debolmente tipizzato - A oggetti Allocazione esplicita della memoria (gestione dei puntatori) Allocazione implicita della memoria 6
7 C vs Python C - Basso livello - Compilato - Fortemente tipizzato - Non a oggetti file.c Python - Alto livello - Interpretato - Debolmente tipizzato - A oggetti file.py gcc interprete Python codice macchina codice interpretato 7
8 C vs Python C - Basso livello - Compilato - Fortemente tipizzato - Non a oggetti Python - Alto livello - Interpretato - Debolmente tipizzato - A oggetti int a; a = 5; a = stringa ; //Corretto //Errore!! a = 5 a = stringa a = 1.3 #Corretto #Corretto #Corretto Il tipo della variabile va dichiarato esplicitamente Nessuna dichiarazione esplicita di tipo 8
9 C vs Python C - Basso livello - Compilato - Fortemente tipizzato - Non a oggetti Python - Alto livello - Interpretato - Debolmente tipizzato - A oggetti void sort(int * array){...}... int vet[] = {1, 6, 4, 8, 9}; sort(vet); vet = [1, 6, 4, 8, 9] vet.sort() sort è una funzione dell oggetto vet ed agisce su di esso 9
10 Introduzione alla sintassi Python Le variabili non vanno dichiarate prima di essere usate Non è necessario usare i punti e virgola alla fine di ogni istruzione I costrutti (if-else, for, funzioni) usano i due punti al posto delle graffe di apertura e devono essere indentati con spazi o tabulazione (evitare di usarli entrambi) I commenti si inseriscono con # (singola linea) o commento (multi linea/docstring) 10
11 Jupyter Una volta installato Anaconda, aprite Jupyter e create un nuovo notebook Python 11
12 Hello World Proviamo a scrivere un Hello World in Python e ad eseguirlo sull interprete 12
13 Input / Output Per leggere da linea di comando, usate la funzione input() Per stampare valori a schermo, usate la funzione print() Il risultato è: 13
14 Input / Output: stampa di stringhe Se volete stampare una stringa insieme ad un valore, è necessario convertire il valore in una stringa e concatenarli La concatenazione è fatta usando l operatore + I valori letti con input() sono stringhe! Per convertire un numero in una stringa, usate la funzione str(obj) Per passare da stringa ad intero, int(obj) se è possibile! 14
15 Esempio di tipizzazione debole Vediamo cosa succede quando prima assegniamo a due variabili i caratteri rappresentanti due numeri e li sommiamo Assegniamo ora alle stesse variabili i due interi precedenti e sommiamoli ancora 15
16 Inclusione librerie Come in C, è possibile importare librerie (moduli) ed usare le funzioni definite all interno Esistono differenti modi di importare e usare i moduli: import os #importa lo spazio dei nomi del modulo os import os as O #importa lo spazio dei nomi del modulo os come O from os import * #importa tutto dallo spazio dei nomi del modulo os from os import curdir as CC from os import listdir as LS #importa un elemento specifico con un alias os.curdir os.listdir( Desktop ) O.curdir O.listdir( Desktop ) curdir listdir( Desktop ) CC LS( Desktop ) 16
17 Funzioni utili len(obj) riporta la lunghezza dell oggetto obj (stringa, lista, etc.) passata come argomento dir(obj) riporta tutti i dati e le funzioni contenute in un modulo help(obj) mostra la documentazione relativa ad un oggetto obj 17
18 Tipi e costrutti in Python
19 Tipi base I tipi (classi) base di python sono: tipi esempio int 1, 2, 3 float 1.5, 2.2, 4.3 bool True, False str abc, stringa list [1, 2, 3, 4], [ abc, def, ghi ] dict {chiave1: valore1, chiave2: valore2} tuple (1, 2, 3, 4), ( abc, def, ghi ) set {1, 2, 3, 4}, { abc, def, ghi } 19
20 Tipi base Per sapere il tipo di una variabile, usate la funzione type(obj) Per sapere I metodi e attributi di un tipo, usate la funzione dir sull oggetto, or la funzione help sul tipo 20
21 Operatori logici Operazioni C Python And logico && and Or logico or Not logico! not Uguaglianza ==,!= ==,!=, is, is not Confronto <, >, <=, >= <, >, <=, >= 21
22 Operatori logici - uguaglianza Operazioni C Python And logico && and Or logico or Not logico! not Uguaglianza ==,!= ==,!=, is, is not Confronto <, >, <=, >= <, >, <=, >= ==,!= verifica se due oggetti hanno lo stesso valore is, is not verifica se due oggetti sono lo stesso oggetto 22
23 If - else La struttura base di un if-else è: Se è necessario usare più if-else in cascata, usate elif: elif 23
24 Ciclo while La sintassi del ciclo while in Python è identica a quella del C: Inoltre, a differenza del C, è possibile inserire un ramo else alla fine del while Il ramo else verrà eseguito quando la condizione del while diventa falsa 24
25 Ciclo for Il ciclo for di Python è abbastanza diverso dal C Una variabile itera su una serie di valori in una sequenza La sequenza può essere: Una lista, dizionario, tupla, insieme Una stringa Un iteratore Anche alla fine del for si può inserire il ramo else 25
26 Iteratori Gli iteratori sono oggetti che restituiscono una sequenza di oggetti uno alla volta tramite il metodo next() L iteratore che si usa solitamente nel ciclo for è range, la cui sintassi è: Solo il parametro fine è obbligatorio, mentre inizio e passo opzionali: L iterazione va fino a fine escluso In mancanza di inizio, l interazione parte da 0 In mancanza di passo, il passo di default è 1 Il passo può essere inserito solo se è presente anche l inizio Se inizio è maggiore (o uguale) a fine, il for non verrà eseguito (a meno di un passo negativo) 26
27 Iteratori: esempi La variabile i va da 0 a 10 (escluso) con passo 1 La variabile i va da 20 a 30 (escluso) con passo 1 La variabile i va da 10 a 60 (escluso) con passo 5 La variabili i va da 20 a 10 (escluso) con passo -1 27
28 Break e continue Il comando break serve per uscire dall esecuzione di un ciclo (in questo caso, NON viene eseguito l eventuale else del ciclo) Il comando continue serve per saltare all iterazione successiva del ciclo 28
29 Liste, dizionari e insiemi in Python
30 Liste Le liste sono oggetti di dimensioni variabili che contengono altri oggetti in un ordine preciso dato dall inserimento Le liste possono contenere diversi tipi Differenza tra liste Python e array in C (tipi diversi e lunghezza dinamica) C - Gli array non possono contenere elementi di tipi diversi - Gli array non possono cambiare la propria dimensione Python - Le liste possono contenere elementi di tipi diversi - Una lista può cambiare la propria dimensione 30
31 Creazione di una lista Una lista può essere creata in due modi: Operatore [ ] Funzione list() quindi evitate di chiamare una lista list! Esempi di creazione con l operatore [ ] [ ] crea una lista vuota [val1, val2, val3] crea una lista a partire dai valori inseriti Esempi di creazione con la funzione list() list() crea una lista vuota list(iteratore) crea una lista a partire dall iteratore 31
32 Lettura, inserimento e rimozione di elementi Lettura lista[indice] dove indice è la posizione dell elemento a cui voler accedere Inserimento append(val) inserisce l elemento val in coda alla lista insert(indice, val) inserisce un valore in posizione indice 32
33 Lettura, inserimento e rimozione di elementi Rimozione pop(indice) rimuove l elemento alla posizione indice remove(val) rimuove la prima occorenza del valore val 33
34 Scorrere gli elementi di una lista Per scorrere una lista solitamente si usa un ciclo for come in C E anche possibile iterare direttamente sulla lista In questo caso i assume il valore di ognuno degli elementi presenti all interno della lista 34
35 Altre operazioni sulle liste E possibile usare indici negativi sulle liste: -1 restituisce l ultimo elemento, -2 il penultimo, La funzione reverse() inverte una lista stessa 35
36 Altre operazioni sulle liste E possibile concatenare due liste con l operatore + Si può creare una lista di N elementi uguali moltiplicando una lista contenente gli elementi desiderati per N 36
37 Liste di liste Una lista può essere definita all interno di un altra lista Per accedere ad un certo elemento di una delle liste, si accede prima alla lista di interesse e poi all elemento corrispondente 37
38 Definire matrici tramite liste Le matrici in Python possono essere definite come lista di liste La lista più esterna contiene le righe della matrice, quelle più interne gli elementi delle colonne relative a quella riga Esempi di creazione di matrice Si possono creare matrici con righe di dimensioni diverse 38
39 List comprehension List comprehension è un metodo che permette di costruire liste in maniera veloce e compressa Si crea una lista a partire da una descrizione inserita tra [ ] x indica il valore che voglio andare ad inserire nella lista Il valore inserito nella lista può essere anche il risultato di operazioni 39
40 List comprehension La lista può essere costruita usando anche condizioni (if-else) E possibile costruire una matrice con list comprehension 40
41 Operatore ternario Questa list comprehension si basa su un operatore ternario, ossia un operatore che restituisce un certo valore basandosi sul fatto che una condizione sia vera o falsa Se la condition è vera, l output dell istruzione sarà il valore cond_true, altrimenti il valore cond_false 41
42 Tipi immutabili e mutabili Tipi immutabili Tipi mutabili int float bool str tuple list dict set I tipi immutabili vengono passati per copia alle funzioni: La funzione riceve una copia dei parametri Le modifiche ai parametri non vengono viste al di fuori della funzione I tipi mutabili vengono passati per riferimento alle funzioni: La funzione riceve il riferimento dei parametri (stile array in C) Le modifiche ai parametri vengono viste al di fuori della funzione 42
43 Dizionari I dizionari in Python sono uno strumento molto potente che consente di organizzare i dati sotto forma di coppie <chiave, valore> Data una chiave, è possibile chiedere al dizionario di fornirci il relativo valore (se presente) La chiave deve essere un tipo immutabile (int, float, str, ) mentre il valore può essere di qualunque tipo I dizionari vengono usati comunemente per salvare delle associazioni: Dato il nome ed il cognome di una persona (chiave), recuperare il suo numero telefonico (valore di tipo intero) Dato il nome di un corso (chiave) recuperare la lista dei docenti che hanno insegnato quel corso (valore di tipo lista) Dato il nome di una città (chiave) recuperare l elenco telefonico degli abitanti di quella città (valore di tipo dizionario) 43
44 Creare un dizionario Un dizionario può essere creato in due modi: Operatore {} Funzione dict() Esempi di creazione con l operatore {} chiave Esempi di creazione con la funzione dict() valore 44
45 Aggiungere, modificare e rimuovere elementi Per aggiungere un elemento al dizionario o modificarlo se già esiste, si utilizzano le parentesi quadre: Per rimuovere un elemento dal dizionario partendo dalla sua chiave, si usa pop(chiave): 45
46 Accedere agli elementi di un dizionario Il numero di elementi presenti nel dizionario si ottiene usando len(dizionario) Per leggere il valore corrispondente ad una chiave si usano ancora le parentesi quadre Per verificare se una chiave esiste si può utilizzare l operatore in: 46
47 Iterare sugli elementi di un dizionario Un dizionario dà la possibilità di iterare sulle chiavi presenti al suo interno. Sfruttando le chiavi è poi possibile ottenere i valori corrispondenti Esempio: 47
48 Insiemi L insieme in Python è un tipo di dato che ha proprietà simili agli insiemi matematici Un insieme contiene un certo numero di elementi tutti distinti tra loro Gli elementi di un insieme non sono ordinati (come accade invece per le liste) Gli insiemi vengono comunemente usati per verificare la presenza o meno di un certo elemento 48
49 Creazione di un insieme Creazione di un insieme vuoto con set() Creazione di un insieme partendo da un iteratore set(iteratore) Creazione di un insieme a partire da una lista con set(lista) (elementi duplicati vengono considerati una sola volta) 49
50 Insiemi: operazioni base Inserimento di un nuovo elemento con add(elemento) (inserimenti multipli non hanno effetto) Rimozione di un elemento con discard(elemento) (la rimozione di un elemento non presente non genera errore) Verificare la presenza di un elemento usando in 50
51 Iterare sugli elementi di un insieme Per ottenere il numero di elementi presenti in un insieme, utilizzare la funzione len(insieme): Per scorrere uno ad uno gli elementi di un insieme è sufficiente usare il seguente ciclo for: 51
52 Insiemi: unione, intersezione, differenza Unione C tra l insieme A e l insieme B (l insieme di tutti gli elementi contenuti in A o in B): Intersezione C tra l insieme A e l insieme B (l insieme di tutti gli elementi contenuti in A e in B): Differenza C tra l insieme A e l insieme B (l insieme di tutti gli elementi contenuti in A ma non in B): Per scoprire quali altre operazioni sono possibili sugli insiemi, utilizzate la funzione help ( help(set()) ) 52
53 Funzioni in Python
54 Funzioni Le funzioni sono porzioni di programma riutilizzabili, che possono essere richiamate quando necessario Una funzione Python può ricevere 0 o più parametri e generare 0 o più output Differenza tra funzioni Python e funzioni C C - Le funzioni possono ritornare al più un risultato - Occorre dichiarare il tipo dei parametri e del risultato - Se necessario o lo si desidera, è possibile definire un prototipo Python - Le funzioni possono ritornare più risultati - Non occorre dichiarare i tipi dei parametri ed il tipo di risultato - Le funzioni vengono definite/ridefinite dinamicamente: no prototipi 54
55 Definizione e chiamata di una funzione Per definire una funzione si utilizza la parola chiave def seguita dal nome della funzione e dai nomi degli input (attenzione ai : finali ed all indentazione del codice!): La chiamata di funzione si esegue specificando il nome della funzione seguita degli eventuali valori di input NOTA: al momento della chiamata, la funzione deve essere stata definita 55
56 Passaggio di parametri - esempi Qual è l output? 56
57 Passaggio di parametri - esempi 2) Il valore di var viene copiato in a 3) modifica del valore di a 1) var assume il tipo int Qual è l output? 57
58 Passaggio di parametri - esempi Qual è l output? 58
59 Passaggio di parametri - esempi 2) a prende il riferimento di var 3) modifica all oggetto a cui a si riferisce 1) var assume il tipo list Qual è l output? 59
60 Passaggio di parametri - esempi Qual è l output? 60
61 Passaggio di parametri - esempi 2) a prende il riferimento di var 3) a riceve il riferimento di una nuova lista 1) var assume il tipo list Qual è l output? 61
62 Funzioni: ritornare i risultati Per ritornare un risultato, è necessario utilizzare la parola chiave return separando i valori ritornati da virgola 62
63 Introduzione alle classi in Python
64 Classi Le classi sono delle strutture dati il cui scopo è quello di contenere variabili di tipo diverso e funzioni utili a fornire funzionalità relative ad un certo dato che si vuole rappresentare A differenza delle struct presenti in C, le classi possono contenere anche funzioni Una istanza di una classe si chiama oggetto C Python Dichiarazione di variabili o funzioni 64
65 Namespace Quando si crea una classe (vale anche per le funzioni), le variabili/funzioni che si dichiarano risiedono all interno dello spazio dei nomi (namespace) generato per quella classe/funzione Il namespace è un mapping da nomi a oggetti (simile ad un dizionario) che permette di invocare gli attributi e funzioni definite all interno di quel namespace Ad esempio, quando parte l interprete Python, alcune funzioni sono già presenti all interno del namespace iniziale, come print() E possibile aggiungere funzioni/attributi e altri namespace ad uno namespace tramite il comando import 65
66 Scope Lo scope è una regione testuale di un programma Python in cui è possibile invocare direttamente attributi/funzioni di un namespace Attributi/funzioni di una classe possono essere chiamati in modo diretto solo all interno della classe stessa, mentre, da fuori, è necessario usare un oggetto della classe per chiamarli (tramite l utilizzo del. ) All interno di uno scope, è possibile anche ridefinire attributi/funzioni definite in scope più esterni 66
67 Esempio var globale var ridefinita da test_scope Tramite global, test_scope modifica var 67
68 Definizione classe Per definire una classe, si usa la keyword class: class nomeclasse: All interno della definizione della classe, si possono dichiarare attributi e funzioni Il parametro self serve per indicare le variabili/funzioni definite dentro la classe, dall interno della classe stessa Creazione oggetto self non va passato durante l invocazione della funzione 68
69 Funzione init E possibile definire all interno della classe una funzione speciale chiamata init che serve per inizializzare gli attributi della classe durante la sua creazione Non è necessario che gli attributi siano già stati dichiarati a e b non erano già stati dichiarati I valori di a e b vanno passati durante la creazione dell oggetto 69
70 Ereditarietà Una classe può essere creata a partire da un altra classe già esistente e più generica La nuova classe eredita tutti gli attributi e funzioni definite nella classe padre L ereditarietà serve per specializzare una classe rispetto ad una classe generica Per ereditare da una classe padre, la sintassi è: class classefiglio(classepadre): Python supporta anche l ereditarietà multipla con la seguente sintassi: class classefiglio(classepadre1, classepadre2, classepadre3): 70
71 Esempio Classe da cui si eredita pass serve per non dover specificare l implementazione di una classe, funzione, if ecc. 71
72 Overriding L overriding si usa per ridefinire, all interno della classe figlio, funzioni che sono state già definite dalla classe padre, in modo da renderle più specifiche per il figlio Per eseguire l overriding, basta ridefinire una funzione usando lo stesso nome Di solito si esegue l overriding del costruttore init 72
73 Esempio Overriding della funzione init La funzione printval appartiene solo a classefiglio, non può essere chiamata da classepadre 73
74 File in Python
75 File Python fornisce varie funzionalità per operare su file In particolare, permette di: Aprire, Leggere, Scrivere, Chiudere file La documentazione per l utilizzo di funzioni di I/O è disponibile qui: 75
76 Funzioni su file Apertura file f = open(filename, mode) Nome del file Modalità di apertura: r : lettura w : scrittura (elimina il precedente contenuto) x : crea un nuovo file per la scrittura a : scrive in coda b : modalità binaria t : modalità testuale + : apre un file per aggiornarlo Chiusura file f.close() 76
77 Funzioni su file Lettura file out = f.read(size) out = f.readline() Legge size caratteri Se omesso, legge fino alla fine del file Scrittura file f.write(stringa) Legge una riga del file Scrive una stringa su file E quindi necessario convertire i dati in stringhe per scriverli 77
78 Funzioni su file Posizione corrente nel file out = f.tell() Restituisce la posizione corrente all interno del file Cambiare posizione nel file f.seek(offset, da_dove) Offset: spiazzamento di caratteri rispetto ad un punto di riferimento da_dove: punto di riferimento Se 0: inizio file (valore di default) Se 1: posizione corrente Se 2: fine file 78
79 Esempio file Se il file non è aperto in modalità binaria, la funzione seek può avere come punto di riferimento solo l inizio del file 79
80 Link utili Sito hackathon Documentazione di Python 3 Manuale gratuito di Python 3 Codecademy corso interattivo di Python Documentazione di Pynq Documentazione di NumPy Documentazione di matplotlib 80
Gestione 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)
ARRAY E STRINGHE. ESERCIZIO 2 Scrivere un programma che calcola il numero di doppie e di dittonghi (2 vocali vicine) presenti in una stringa.
3 ITI - a.s. 2007-2008 Compiti di Informatica ESTATE 2008 ARRAY E STRINGHE Scrivere una funzione che carica da tastiera un array di n elementi e lo stampa invertendo il primo elemento con l'ultimo, il
Strutture 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
Errori frequenti Cicli iterativi Array. Cicli e array. Laboratorio di Programmazione I. Corso di Laurea in Informatica A.A.
Cicli e array Laboratorio di Programmazione I 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 Lez. 8 - Introduzione all ambiente
Unità Didattica 1 Linguaggio C. Fondamenti. Struttura di un programma.
Unità Didattica 1 Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C UNIX (1969) - DEC PDP-7 Assembly Language BCPL - un OS facilmente accessibile che fornisce potenti strumenti
Programmazione in Java (I modulo)
Programmazione in Java (I modulo) Lezione 4 Variabili di tipo primitivo. Dichiarazione di costanti Conversioni di tipo: operatore cast Altri operatori di assegnamento Operazioni aritmetiche e di confronto
Input/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE
Input/output da file Il linguaggio C non contiene istruzioni di I/O, in quanto tali operazioni vengono eseguite tramite funzioni di libreria standard. Questo approccio rende estremamente flessibile e potente
Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo
Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy
Linguaggio C: le funzioni. Introduzione e sintassi
ISIS "Guido Tassinari" di Pozzuoli Indirizzo Informatico - Articolazione Informatica Informatica Prof. A.S. 2012/2013 Linguaggio C: le funzioni. Introduzione e sintassi 21/10/2012 Introduzione Spesso alcuni
Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi:
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 22 settembre 2014 TEMPO DISPONIBILE: 2 ore Negli
Primi passi col linguaggio C
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Come introdurre un linguaggio di programmazione? Obiettivi: Introduciamo una macchina astratta
Algoritmi e basi del C Struttura di un programma
Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio [email protected] Ver. aggiornata al 17 Marzo 2015 Compitini Compitini di INFO: 24 Aprile 2015 4.15pm @ C.G.1 (Ed. 9) 21
VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.
Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?
INDICE. Vista Libretto Pt. Coordinate 2. Inserimento e modifica dei punti di coordinate note 4. Inserimento e modifica dei punti di orientamento 5
Prodotto da INDICE Vista Libretto Pt. Coordinate 2 Inserimento e modifica dei punti di coordinate note 4 Inserimento e modifica dei punti di orientamento 5 Menu File Importa 5 Menu File Esporta 6 Uscite
Lezione 21 e 22. Valentina Ciriani ( ) Laboratorio di programmazione. Laboratorio di programmazione. Lezione 21 e 22
Lezione 21 e 22 - Allocazione dinamica delle matrici - Generazione di numeri pseudocasuali - Funzioni per misurare il tempo - Parametri del main - Classificazione delle variabili Valentina Ciriani (2005-2008)
Definizione di metodi in Java
Definizione di metodi in Java Un metodo in Java definisce un operazione ad alto livello (sottoprogramma) che consente di manipolare dati e oggetti. Durante la computazione effettuata da un programma, un
Stringhe e allocazione dinamica della memoria
Stringhe e allocazione dinamica della memoria Esercizio Scrivere un programma strings.c che legge da standard input una sequenza di parole separate da uno o più spazi, e stampa le parole lette, una per
Linguaggio 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
Access. P a r t e t e r z a
Access P a r t e t e r z a 1 Query: Concetti generali (2) Query 1 Tabella Query 2 Le query rappresentano viste differenti sul DB (possono coinvolgere una o più tabelle) 2 Creazione (1) Diverse possibilità,
Strutture 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
Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:
Prova di Laboratorio del 12.1.2005 [durata 90 min.] Corso A-B di Programmazione (A.A. 2004/05) 1. Leggere da tastiera un insieme di numeri interi ed inserirli in un vettore A 2. Calcolare tramite una funzione
Laboratorio di programmazione
Laboratorio di programmazione Lezione VIII Tatiana Zolo [email protected] 1 PROGRAMMAZIONE A OGGETTI Quando si programma a oggetti si scompone il problema in sottogruppi di parti collegate che tengono
PYNQ: Python for Zynq. La PYNQ-Z1 board è basata su un Zynq System-on-Chip (SOC)
PYNQ & Overlays Marco D. Santambrogio [email protected] Emanuele Del Sozzo [email protected] Lorenzo Di Tucci [email protected] Giuseppe Natale [email protected]
Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza
Video Scrittura (MS Word) Prima Parte
Video Scrittura (MS Word) Prima Parte Ripasso/approfondimento: Gestione Cartelle/File Crea una cartella UTE Informatica Base sul Desktop Click destro sul Desktop Posizionarsi su Nuovo Cliccare su Cartella
Unità Didattica 3 Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.
Unità Didattica 3 Linguaggio C Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. Funzioni Generalizzazione del concetto di funzione algebrica: legge che associa
Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 11 luglio 2014 TEMPO DISPONIBILE: 2 ore Negli esercizi
Appunti 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
UD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita
UD4 - MATLAB M-file. Efficienza degli algoritmi. Formati d uscita M-files In MatLab è possibile eseguire istruzioni contenute in file esterni; Tali file sono chiamati M-file perché devono avere estensione.m
28/02/2014 Copyright V. Moriggia
Informatica per la Finanza 3 Le variabili in VBA Altri I/O 28/02/2014 Copyright 2005-2007 V. Moriggia 1 28/02/2014 3.2 Le variabili in VBA V. Moriggia 1 28/02/2014 3.3 Dichiarazione di variabili in VBA
Formule e funzioni. Manuale d uso
EXCEL Modulo 2 Formule e funzioni Manuale d uso Formule (1/2) Le formule sono necessarie per eseguire calcoli e utilizzano i valori presenti nelle celle di un foglio di lavoro. Una formula inizia col segno
5 - Istruzioni condizionali
5 - Istruzioni condizionali 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
Strutture Dinamiche. Fondamenti di Informatica
Strutture Dinamiche Fondamenti di Informatica 1 Indice Allocazione e de-allocazione di memoria Liste e loro gestione Companies, srl 2 Allocazione e cancellazione di memoria malloc (sizeof (TipoDato));
perror: individuare l errore quando una system call restituisce -1
perror: individuare l errore quando una system call restituisce -1 Quando una system call (o una funzione di libreria) non va a buon fine, restituisce come valore -1 Come si fa a sapere più precisamente
Fondamenti di Informatica T1 Mappe
Fondamenti di Informatica T1 Mappe Tutor Melissa Licciardello [email protected] Melissa Licciardello Fondamenti di Informatica T1 1 / 16 Mappe Matrice N x 2 : Gli elementi della prima colonna,
7 - 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
IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale
Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Lettura di dati da input In Java la lettura di dati da input
PROGRAMMAZIONE: Le strutture di controllo
PROGRAMMAZIONE: Le strutture di controllo Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l
Quando usiamo Python in modo interattivo in genere e' lo shell utilizzato che gestisce l'indentazione e la deindentazione.
INDICE Indentazione note sull'indentazione in script e moduli scritti con un editor di testo. istruzione if Truth testing in cicli if e while istruzione for istruzione while Uscita dai cicli for e while
Introduzione al Python
Andrea Passerini [email protected] Informatica Caratteristiche procedurale si specifica la procedura da eseguire sui dati strutturato concetto di visibililtà delle variabili orientato agli oggetti
Array multidimensionali e stringhe
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Array uni-dimensionali (richiami) Dichiarazione: int vet[100]; float x[50]; Gli elementi
Introduzione al Foglio Elettronico
Microsoft Excel Introduzione al Foglio Elettronico Il Foglio Elettronico Si presenta come una grande tabella le cui righe e colonne si intersecano in celle Le celle possono contenere differenti dati Numeri
Programmazione 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
Codice Gray. (versione Marzo 2007)
Codice Gray (versione Marzo 27) Data una formula booleana con n variabili, per costruire una tavola di verità per questa formula è necessario generare tutte le combinazioni di valori per le n variabili.
Istituto Tecnico Industriale M. M. Milano Polistena. Classe III D a.s. 2015/2016 C++ Guida Base
Istituto Tecnico Industriale M. M. Milano Polistena Classe III D a.s. 2015/2016 C++ Guida Base Prof. Rocco Ciurleo - ITIS M. M. Milano Polistena - 3 D a.s. 2015/2016 1 Le Origini Il Linguaggio C++ è il
STRINGHE IN JAVA In Java, le stringhe non sono pezzi di memo-ria con dentro dei caratteri, come in C: sono oggetti appartenenti alla classe
STRINGHE IN JAVA In Java, le stringhe non sono pezzi di memo-ria con dentro dei caratteri, come in C: sono oggetti appartenenti alla classe String Una stringa Java rappresenta uno specifico valore e come
I puntatori. Un puntatore è una variabile che contiene l indirizzo di un altra variabile. puntatore
I puntatori Un puntatore è una variabile che contiene l indirizzo di un altra variabile. puntatore...... L operatore & fornisce l indirizzo di un oggetto: p = &c; assegna a p l indirizzo di c, i.e., p
Linguaggio C - sezione dichiarativa: costanti e variabili
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - sezione dichiarativa: costanti e variabili La presente
Capitolo 4: Tabelle. y(x) = x 3 ì 2x. Capitolo 4: Tabelle 67. Nota: le tabelle non sono disponibili nel modo di rappresentazione grafica 3D.
Capitolo 4: Tabelle 4 Definizione di tabelle...68 Panoramica della procedura per generare una tabella...69 Impostazione dei parametri di tabella...70 Visualizzazione di una tabella in modo automatico...72
Introduzione al software R
Introduzione al software R 1 1 Università di Napoli Federico II [email protected] il software R Si tratta di un software molto flessibile che permette di compiere praticamente qualsiasi tipo di
3. Le routine evento in Access 2000/2003
LIBRERIA WEB 3. Le routine evento in Access 2000/2003 Le routine evento possono essere associate a un singolo controllo grafico (caselle di testo, pulsanti di comando, ecc.) presente all interno di una
Precorsi di matematica
Precorsi di matematica Francesco Dinuzzo 12 settembre 2005 1 Insiemi Il concetto di base nella matematica moderna è l insieme. Un insieme è una collezione di elementi. Gli elementi di un insieme vengono
Sviluppo di programmi
Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla
Il linguaggio C. Notate che...
Il linguaggio C Notate che... 1 Il C è un linguaggio a blocchi int main (void) { blocco } 2 Il C è un linguaggio a blocchi (2) Non è possibile mischiare dichiarazioni e comandi! int main (void) { } Dichiarazione
La sintassi del C APPENDICE H
APPENDICE H La sintassi del C Nella notazione della sintassi utilizzata, le categorie sintattiche (non terminali) sono state indicate da uno stile tipografico in corsivo, mentre le parole letterali e i
Un grafico utilizza i valori contenuti in un foglio di lavoro per creare una rappresentazione grafica delle relazioni esistenti tra loro;
EXCEL Modulo 3 I Grafici Grafici Un grafico utilizza i valori contenuti in un foglio di lavoro per creare una rappresentazione grafica delle relazioni esistenti tra loro; Quando si crea un grafico ogni
Lettura da tastiera e scrittura su monitor
Lettura da tastiera e scrittura su monitor Per poter leggere UN SINGOLO CARATTERE dalla tastiera e visualizzare UN SINGOLO CARATTERE sul monitor si possono utilizzare le funzioni: int getchar (void) (per
Matlab 5. Funzioni. Slide basate sul corso di C. Blundo. A.A. 2010/ GPersiano. Laboratorio di Informatica per Fisici 1
Matlab 5 Funzioni Slide basate sul corso di C. Blundo A.A. 2010/2011 -- GPersiano Laboratorio di Informatica per Fisici 1 Funzioni Le funzioni sono utili quando occorre ripetere una serie di comandi più
VBA Principali Comandi
VBA Principali Comandi Sintassi Significato Esempio Dim As Dichiarazione Dim x As Integer di una variabile Dim , , ,.,
Caratteri e stringhe
Caratteri e stringhe Caratteri Dato che un computer può memorizzare esclusivamente sequenze di bit, per memorizzare un carattere (e quindi testi) è necessario stabilire una convenzione che associa a un
Lab 01 Introduzione a Codelite
Fondamenti di Informatica e Laboratorio T-AB e Fondamenti di Informatica T1 Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2011/2012 Lab 01 Introduzione a Codelite Lab01
Heap e code di priorità
Heap e code di priorità Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010
Programmazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
Esercitazione 4. Comandi iterativi for, while, do-while
Esercitazione 4 Comandi iterativi for, while, do-while Comando for for (istr1; cond; istr2) istr3; Le istruzioni vengono eseguite nel seguente ordine: 1) esegui istr1 2) se cond è vera vai al passo 3 altrimenti
Sommario 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...
Analizzatori Lessicali con JLex. Giuseppe Morelli
Analizzatori Lessicali con JLex Giuseppe Morelli Terminologia Tre concetti sono necessari per comprendere la fase di analisi lessicale: TOKEN: rappresenta un oggetto in grado di rappresentare una specifica
4 GLI ARRAY E LE STRINGHE
13 4 GLI ARRAY E LE STRINGHE 4.1 Gli array monodimensionali Un array è un insieme di variabili dello stesso tipo, cui si fa riferimento mediante uno stesso nome. L accesso ad un determinato elemento si
Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.
Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la
Fondamenti di Programmazione
Fondamenti di Programmazione (con linguaggio di riferimento C++) Gianfranco Rossi Università di Parma Dip. di Matematica e Informatica 43100 Parma (Italy) [email protected] Indice 1 Introduzione
Introduzione al DEV C++
Introduzione al DEV C++ : Anno accademico 2006/2007 Fondamenti di informatica I Sommario 1. INTRODUZIONE... 3 2. SETUP... 5 2.1. Procedura di installazione... 5 2.2. Configurazione... 8 2.2.1. Opzioni
Informatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1
Informatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1 Cosa è il C++ E un linguaggio di programmazione derivato dal C Può essere usato per modificare il SO Unix e i suoi derivati (Linux)
HOMEWORKS. in modo che il programma stampi N ripetizioni della stringa HelloWorld (su righe diverse), con N inserito dall utente.
HOMEWORKS Questi esercizi saranno proposti di tanto in tanto e forniti sempre SENZA soluzioni. Come materiale complementare ai libri di testo e alle lezioni frontali e di esercitazione, si consiglia di
Costrutti 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
Excel. I fogli di calcolo Le funzioni base Gli strumenti. 1
Excel I fogli di calcolo Le funzioni base Gli strumenti www.vincenzocalabro.it 1 I fogli di calcolo Utilizzando questo programma possiamo costruire fogli di calcolo più o meno complessi che ci consento
Fondamenti di Informatica T-1
Fondamenti di Informatica T-1 Mappe Tutor: Allegra De Filippo [email protected] a.a. 2015/2016 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 1 Mappe: definizione Tabelle a due colonne:
