Il linguaggio Python. Salvatore Cuomo

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Il linguaggio Python. Salvatore Cuomo"

Transcript

1 Il linguaggio Python Salvatore Cuomo

2 StackOverflow (1) Un interessante articolo qui 2

3 StackOverflow (2) Trends 3

4 Python alcune fonti Libri: Thinking Python: Allen Downey (O Reilly 2012) Programmazione in Python: K. Lambert (Apogeo 2013) Programmare con Python. Guida completa: Marco Buttu, 2014) Python Cookbook: Martelli, Ascher (O Reilly 02) AVANZATO Introduction to Machine Learning with Python: A Guide for Data Scientists, by Sarah Guido and Andreas C. Muller (O Reilly 2016) Materiale on line Beginner's Tutorial ( Best tutorial ( 4

5 Genesi di Python Piccola genesi del linguaggio Creato da Guido van Rossum nel 1989 al Centrum Wiskunde & Informatica (CWI) Olanda Riscrittura del codice e ampliamento del linguagaggio Python 2.0 nel 2000 Ultima version nel 2008, venne introdotto Python 3.0 Una delle versioni più utilizzate è Python 2.7 che sarà supportato fino al Un piccolo video di introduzione e molto materiale è presente su 5

6 Cosa è Python? E un linguaggio di programmazione interpretato Interpreta in automatico le istruzioni traducendole in linguaggio macchina un linguaggio general-purpose Non crea molti limiti al programmatore in termini di sviluppo di codici e di architettura Ha molto codice e librerie disponibili Invocato a linea di comando è pronto ad interpretare Il prompt è caratterizzato da >>> Gli script Python e le funzioni che si possono importare, generalmente con estensione.py Consente in maniera selettiva di importare parti di librerie e codici. 6

7 Iniziamo con Python (1) Lanciamo a linea di comando l interprete python (python.exe in windows) e >>> print Forza Napoli! Forza Napoli! con simbolo # si indica unun commento che si estende fino a fine riga #Questo e un commento! print Forza Napoli Ogni istruzione è delimitata dal fine riga Si può usare (come in C) ; per separare istruzioni sulla stessa riga ma non è consigliato per questo linguaggio. 7

8 Iniziamo con Python (2) Per far continuare un istruzione anche sulla linea successiva è necessario inserire un \ a fine riga Python ragiona a "oggetti" entità fondamentali che i programmi manipolano. Ogni oggetto ha un tipo, che identifica il tipo di operazioni consentite su tale tipo. Gli oggetti scalari sono quegli oggetti che sono indivisibili, e che quindi non hanno struttura interna, ovvero so i tipi base: Il tipo int, ovvero il tipo dei numeri interi, ad esempio 4, -35, o Il tipo float, ovvero il tipo dei numeri reali, ad esempio 4.0, o in notazione esponenziale 1.3E2. Il tipo bool, ovvero il tipo degli oggetti booleani, ovvero True e False il tipo None, ovvero un tipo con un solo oggetto. 8

9 Python espressioni Print per la stampa a video Input per l inserimento da tastiera >>> (3.2) >>> (6.2 / / 2) == ( 6 /2 ) True >>> (7 / /2) == (7.0 /2.0) False >>> (5==3) or (3!=(5+3)) True >>> ((7%2)+2**3)==9.0 True >>> 4 <7.0 False 9

10 Esempi >>> type (4*7.0) <type float > >>> type (2*8) <type int > >>> 7.3% >>> 7%2 1 >>> 3.0 and >>> not 3.9 False Python espressioni e tipi 10

11 Semplice Programma Esercizio cortesemente fornito da P. De Michele Print-per la stampa a video Input- per l iserimento da tastiera 11

12 I comandi print e input Print- A tale comando possono essere passati più argomenti separati da un virgola >>> print 1, 2, "XXX 1 2 XXX Input- accetta un singolo argomento opzionale: una stringa che viene mostrata a video prima di leggere il valore digitato. >>> nome = input('inserisci il tuo nome: ') Inserisci il tuo nome: Ezio >>> nome 'Ezio' 12

13 Uso delle stringhe Le stringhe sono racchiuse fra apici singoli o doppi >>> 'Python' 'Python' >>> print Bella\nNapoli" Bella' Napoli Possono essere usati operatori come per i numeri >>> bella" + Napoli" # concatenazione bella Napoli' >>> "ABC" * 3 # ripetizione 'ABCABCABC' 13

14 Manipolazione di sottostringhe c i a o "ciao"[1] # carattere 1 i "ciao"[1:3] # dall 1 al 3 escluso ia "ciao"[2:] # dal 2 alla fine ao "ciao"[:3] # fino al 3 escluso cia "ciao"[-1] # l ultimo carattere o "ciao"[:-2] # fino al penultimo ci "ciao"[-1:1] # non esiste Le stringhe sono immutabili (come i numeri): "ciao"[2] = "X" Errore! 14

15 Costrutto IF-ELSE (1) 15

16 Costrutto IF-ELSE (2) La sintassi è la seguente: if <espressione>: <sequenza_comandi> else: <sequenza_comandi> L indentazione deve essere rispettata altrimenti l interprete segnala errore. 16

17 Costrutto IF-ELSE (3) 17

18 Costrutto IF-ELSE maggiori alternative Esempi print "Programma per il confronto tra due numeri\n" n1 = input("inserisci n1: ") n2 = input('inserisci n2: ') if (n1 > n2): print 'n1 > n2' elif (n1 < n2): print 'n1 < n2' else: print 'n1 = n2' 18

19 Costrutti Iterativi 19

20 La sintassi è la seguente: Costrutto FOR (1) for <variabile> in <sequenza_valori>: <sequenza_comandi> L indentazione deve essere rispettata altrimenti l interprete segnala errore. da1a10 = range(1,11) for conta in da1a10: print conta oppure for conta in range(1,11): print conta 20

21 range Esempio >>> range(1,10) [1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(-32, -20) [-32, -31, -30, -29, -28, -27, -26, -25, -24, -23, -22, -21] >>> range(5,21) [5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20] >>> range(21,5) [] 21

22 Uso del FOR con Range Esempio 1 demolist = ['life',42, 'the universe', 6,'and',7,'everything'] for item in demolist: print "The Current item is:", print item Esempio 2 list = [2,4,6,8] sum = 0 for num in list: sum = sum + num print "The sum is: ",sum 22

23 La sintassi è la seguente: Il ciclo WHILE while <espressione>: <sequenza_comandi> L indentazione deve essere rispettata altrimenti l interprete segnala errore. a = 0 while a < 10: a = a + 1 print a 23

24 Fibonacci.py # Sequenza di Fibinacci. a = 0 b = 1 count = 0 max_count = 20 while count < max_count: count = count + 1 # Memorizzazione dei precedenti old_a = a old_b = b a = old_b b = old_a + old_b # La virgola alla fine di un istruzione print # prosegue la stampa sulla stessa linea. print old_a, print 24

25 La sintassi è la seguente: while True: <istruzioni> if cond: break Il ciclo REPEAT UNTIL L uso di questo contrutto è sconsigliato! (Programmazione non strutturata) 25

26 Esercizio di Riepilogo x= int( raw_input ( Inserisi un intero : )) ris = 0 while ris **2 < abs(x): ris = ris + 1 if ris **2!= abs(x): print x, non e un quadrato else : if x < 0: ris = -ris print Il quadrato di, x, e, ris 26

27 Esercizio di Riepilogo leggere 10 numeri e per ogni numero inserito stamparne il doppio; se l utente inserisce il numero 0 il programma termina prima Esercizio cortesemente fornito da P. De Michele 27

28 Vettori e Matrici in Python (1) Vettori e Matrici in Python sono casi particolari di lista. Vediamo con è possibile lavorare con esse. >>>a=["pippo", "Pluto", "Paperino"] >>> a[1] 'Pluto >>> z=["ciao", 2.0, 5, [10, 20]] >>> z[3] [10, 20] >>> a=range(10) >>> a [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 28

29 Vettori e Matrici in Python (2) L indicizzazione avviene a partire da 0 ovvero il primo elemento di un vettore a è sempre a[0] (come nel linguaggio C) >>> a=range(0,10,2) >>> a [0, 2, 4, 6, 8] >>> a[0] 0 >>> Squadre = ["Napoli", "Inter", "Milan", "Roma"] >>> Numeri=[ 1,2 ] >>> print Squadre, Numeri ['Napoli', 'Inter', 'Milan', 'Roma'] [1, 2] >>> 'Juve' in Squadre False >>> 'Napoli' in Squadre True 29

30 Vettori e Matrici in Python (3) Le matrici sono definite come liste annidate >>> Mat = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] >>> Mat [[1, 2, 3], [4, 5, 6], [7, 8, 9]] >>> Mat[0] #estraggo la prima riga [1, 2, 3] >>> Mat[0][0] #estraggo il primo elemento 1 #Stampa di una matrice 3x3 for i in range(0,3): for j in range(0,3): print m[i][j] 30

31 Operazioni di Algebra lineare (1) Somma di vettori >>> x=[1,2,3] >>> y=[4,5,6] >>> x+y [1, 2, 3, 4, 5, 6] >>> [0] * 4 [0, 0, 0, 0] >>> [1, 2, 3] * 3 [1, 2, 3, 1, 2, 3, 1, 2, 3] Attenzione essendo matrici e vettori delle Liste la somma e il prodotto hanno il senso della concatenazione e non algebrico!! 31

32 Operazioni di Algebra lineare (2) Per lavorare con Matrici e vettori bisogna imprortate i moduli numerici dalla libreria NumPy attraverso il comando from numpy import * Siamo pronti adesso per lavorare con vettori >>>x=array([1,2,3]) >>>y=array([4,5,6]) >>>x+y array([5, 7, 9]) >>>2*x array([2, 4, 6]) >>>x*y #prodotto membro a membro array([ 4, 10, 18]) 32

33 Operazioni di Algebra lineare (3) Siamo pronti adesso per lavorare con vettori >>>x=array([1,2,3]) >>>y=array([4,5,6]) >>print dot(x,y) 32 >>>x.size 3 >>>y/x #divisino membro a membro array([4, 2, 2]) >>>#generare un vettore casuale >>>import random >>> x=array([random.randint(1,100) for i in range(10)]) >>> x array([47, 37, 100, 33, 26, 23, 38, 10, 95, 65]) 33

34 Operazioni di Algebra lineare (4) Siamo pronti adesso per lavorare con matrici >>> a = ones( (3, 4) ) >>> a array([[ 1., 1., 1., 1.], [ 1., 1., 1., 1.], [ 1., 1., 1., 1.]]) >>> b = 2*ones( (3, 4) ) >>> b array([[ 2., 2., 2., 2.], [ 2., 2., 2., 2.], [ 2., 2., 2., 2.]]) >>> a.size 12 >>> a.shape (3, 4) 34

35 Operazioni di Algebra lineare (5) Siamo pronti adesso per lavorare con matrici >>> c=dot(a,b) #prodotto tra matrici Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: matrices are not aligned >>> a=ones((3,3) >>> b=2*ones((3,3)) >>> c=dot(a,b) #prodotto tra due matrici riga per colonna >>> c array([[ 6., 6., 6.], [ 6., 6., 6.], [ 6., 6., 6.]]) 35

36 Operazioni di Algebra lineare (5) Siamo pronti adesso per lavorare con matrici >>> x=ones((3,1)) >>> x array([[ 1.], [ 1.], [ 1.]]) >>> c=dot(a,x) #prodotto matrice vettore >>> c array([[ 3.], [ 3.], [ 3.]]) >>> y=[1,2,3] >>> z=diag(y) array([[1, 0, 0], [0, 2, 0], [0, 0, 3]]) 36

37 Utility per l Algebra lineare in Python (1) Costruzione di un vettore: a = array([0, 1, 2, 3]) Costruzione di una matrice 3x3: a = array([0, 1, 2], [3, 4, 5], [6, 7, 8]) Vettore dei numeri da 0 a 10: a = arange(10) Vettore dei numeri da 10 a 100 a passi di 0.5: a = arange(10, 100, 0.5) Vettore di 100 numeri da 0 a pi greco: a = linspace(0, pi, 100) Matrice 3x4 di valori 0: a = zeros( (3, 4) ) Matrice 3x4 di valori 1: a = ones( (3, 4) ) 37

38 Utility per l Algebra lineare in Python (2) Matrice di valori 0 con valori specifici sulla diagonale: a = diag([1, 2, 3, 4, 5]) Matrice di valori 0 con valori specifici sulla terza diagonale: a = diag([1, 2, 3, 4, 5], 3) Rango della matrice: a.ndim Dimensioni della matrice: a.shape (restituisce a.ndim valori) Numero di elementi nella matrice: a.size (equivale al prodotto di tutti i risultati di a.shape) Tipo degli elementi nella matrice: a.dtype Dimensione in byte di un elemento della matrice: a.itemsize 38

39 Utility per l Algebra lineare in Python (3) Somma membro a membro: x = a + b, a += b Differenza membro a membro: x = a - b, a -= b Prodotto membro a membro: x = a * b, a *= b Prodotto matriciale: x = dot(a, b) Divisione membro a membro: x = a / b, a /= b 39

40 Esempi (1) >>> import numpy as np >>> a = np.arange(6).reshape((3, 2)) >>> a array([[0, 1], [2, 3], [4, 5]]) >>> x = np.arange(4).reshape((2,2)) >>> x array([[0, 1], [2, 3]]) >>> np.transpose(x) array([[0, 2], [1, 3]]) 40

41 Esempi (2) >>> a array([[ , , ], [ , , ]]) >>> a.sum() >>> a.min() >>> a.max() >>> B = np.arange(3) >>> B array([0, 1, 2]) >>> np.exp(b) array([ 1., , ]) >>> np.sqrt(b) array([ 0., 1., ]) 41

42 Funzioni in Python (1) Molte funzioni (che abbiamo già utilizzato) appartengono a librerie e possono essere richiamate attraverso l istanza from <nome_libreria> import <funzioni> La sintassi per dichiarare un funzione è def <nome_funzione>(<lista_parametri>): <sequenza_istruzioni> return Esempio def minimo(x,y): if x<y: return x else return y 42

43 Funzioni in Python (2) Salvare la funzioni che si vogliono richiamare in un file.py minimo.py #funzione minimo def minimo(x,y): if x<y: return x else: return y Importare nell interprete la funzione e richimarla a linea di comando >>>from minimo import * >>>minimo(2,3) 2 43

44 Parametri attuali e formali Consideriamo la inzione minimo(x,y) i parametri x e y sono detti formali Quando la funzione viene richiamata >>>minimo(2,3) 2 e 3 sono detti parametri attuali Tecnicamente 2 e 3 vengono copiati in x e y e la funzione può lavorare con i suddetti valori. L istruzione return, viene utilizzata per restituire uno o più valori al chiamante Con return il controllo ritorna all istruzione che aveva effettuato la chiamata, e il valore con cui sostituire la funzione è il valore di ritorno. 44

45 Passaggio per valore (1) In python le variabili vengono passare per valore e non per indirizzo (funzione scambio) def scambio1(x,y): #funzione scambio t=x x=y y=t print x,y return >>> from scambio1 import * >>> x=2 >>> y=3 >>> print x,y 2 3 >>> scambio1(x,y) 3 2 >>> x 2 >>>y 3 45

46 Passaggio per valore (2) In python per effettuare uno scambio dobbiamo def scambio(x,y): #funzione scambio x1=y y1=x return x1,y1 >>> from scambio import * >>> x=2 >>> y=3 >>> print x,y 2 3 >>> x,y = scambio1(x,y)

47 Cosa avvine in memoria? Ecco cosa avviene realmente in memoria def ref_demo(x): print "x=",x," id=",id(x) x=42 print "x=",x," id=",id(x) >> x = 9 >>> id(x) >>> ref_demo(x) x= 9 id= x= 42 id= >>> id(x)

48 Variabili Globali e Locali In python le variabili locali definite in funzioni non vengono viste globalmente total = 0; # Questa è una varibile globale def sum( x, y ): # funzione che fa la somma total = x + y; # total è locale print dentro la funzione : ", total return total; # richiamiamo sum sum( 10, 20 ); print Stampa di total fuori la funzione :, total In esecuzione: dentro la funzione : 30 Stampa di total fuori la funzione : 0 48

49 Variabili Globali e Locali In python le variabili locali definite in funzioni non vengono viste globalmente total = 0; # Questa è una varibile globale def sum( x, y ): # funzione che fa la somma total = x + y; # total è locale print dentro la funzione : ", total return total; # richiamiamo sum sum( 10, 20 ); print Stampa di total fuori la funzione :, total In esecuzione: dentro la funzione : 30 Stampa di total fuori la funzione : 0 49

50 Uso della ricorsione In python è possibile fare uso della ricorsine. n=input( dammi il numero degli elementi della succ ) def fib(n): #successione di fibinacci if n == 0: return 0 elif n == 1: return 1 else: return fib(n-1) + fib(n-2) # fibonacci print fib(n) In esecuzione python fibonacci.py Dammi n:

51 Ricorsione e complessità computazionale(1) Preparioamo modi diversi di ricorsione scrivendo un file fibonacci.py def fib(n): #funzione 1 if n == 0: return 0 elif n == 1: return 1 else: return fib(n-1) + fib(n-2) def fibi(n): #funzione 2 old, new = 0, 1 if n == 0: return 0 for i in range(n-1): old, new = new, old + new return new 51

52 Ricorsione e complessità computazionale(2) Prepariamo modi diversi di ricorsione scrivendo un file fibonacci.py memo = {0:0, 1:1} def fibm(n): #funzione 3 if not n in memo: memo[n] = fibm(n-1) + fibm(n-2) return memo[n] 52

53 Ricorsione e complessità computazionale(3) Prendiamo i tempi scrivendo un file fibonacci_runit.py from timeit import Timer t1 = Timer("fib(10)","from fibonacci import fib") for i in range(1,41): s = "fib(" + str(i) + ")" t1 = Timer(s,"from fibonacci import fib") time1 = t1.timeit(3) s = "fibi(" + str(i) + ")" t2 = Timer(s,"from fibonacci import fibi") time2 = t2.timeit(3) print("n=%2d, fib: %8.6f, fibi: %7.6f, percent: %10.2f" % (i, time1, time2, time1/time2)) 53

54 Ricorsione e complessità computazionale(4) Vediamo cosa succede con l algoritmo 3 fibonacci_runit1.py from timeit import Timer from fibonacci import fib t1 = Timer("fib(10)","from fibonacci import fib") for i in range(1,41): s = "fibm(" + str(i) + ")" t1 = Timer(s,"from fibonacci import fibm") time1 = t1.timeit(3) s = "fibi(" + str(i) + ")" t2 = Timer(s,"from fibonacci import fibi") time2 = t2.timeit(3) print("n=%2d, fib: %8.6f, fibi: %7.6f, percent: %10.2f" % (i, time1, time2, time1/time2)) 54

55 Ricorsione e complessità computazionale(5) Approfondimenti sulla ricorsione 55

56 Esercizio (1) Soluzione di un equazione di secondo grado e grafico. import math import numpy as np import matplotlib.pyplot as plt print "Programma per il calcolo delle equazioni di secondo grado\n" #LETTURA DEI COEFFICIENTI a, b E c a = input("inserisci il coefficiente a: ") a = float(a) b = input("inserisci il coefficiente b: ") b = float(b) c = input("inserisci il coefficiente c: ") c = float(c) #CALCOLO DEL DISCRIMINANTE delta delta=math.pow(b,2)-4*a*c; print "Il discriminante dell'equazione e: ", delta 56

57 Esercizio (2) #SE IL DISCRIMINANTE delta E' MINORE DI 0 if delta < 0: print "L'equazione non ha soluzioni!"; #ALTRIMENTI (SE IL DISCRIMINANTE delta E' MAGGIORE O UGUALE A 0...) else: if a == 0: x1 = -c/b print "L'equazione e' di primo grado" #STAMPA IL VALORE DELLA SOLUZIONE x1 print "x = ", x1 else: #CALCOLA LA PRIMA SOLUZIONE x1 x1 = (-b+math.sqrt(delta))/(2*a) 57

58 Esercizio (3) if delta == 0: print "L'equazione ha due soluzioni x1 ed x2 coincidenti (x1=x2)" #STAMPA IL VALORE DELLA PRIMA SOLUZIONE x1 print "x1 = x2 = ", x1 #ALTRIMENTI (SE IL DISCRIMINANTE delta E' MAGGIORE DI 0...) else: #CALCOLA ANCHE LA SECONDA SOLUZIONE x1 x2 = (-b-math.sqrt(delta))/(2*a) print "L'equazione ha due diverse soluzioni x1 ed x2" #STAMPA IL VALORE DELLA PRIMA 58

59 Esercizio (4) #STAMPA IL VALORE DELLA PRIMA SOLUZIONE x1 print "x1 = ", x1 #STAMPA IL VALORE DELLA SECONDA SOLUZIONE x2 print "x2 = ", x2 59

60 Esercizio (5) print "Ecco i valori assunti dalla parabola y (l'equazione di secondo grado) per x che varia tra [-10, 10]"; N = 10 X=np.zeros(N*2+1) Y=np.zeros(N*2+1) for i in range(-n, N+1): X[i+N]=i Y[i+N]=a*math.pow(X[i+N],2)+b*X[i+N]+c print "x[", i, "] = ", X[i+N], "y = [", i, "] = ", Y[i+N] plt.plot(x,y) plt.ylabel('asse y') plt.xlabel('asse x') plt.show() 60

61 import numpy as np import time Esercizio DFT (1) n=int(input("dammi la dimensione del vettore: ")) x = np.random.random(n) def DFT_slow(x): """Compute the discrete Fourier Transform of the 1D array x""" x = np.asarray(x, dtype=float) N = x.shape[0] n = np.arange(n) k = n.reshape((n, 1)) W = np.exp(-2j * np.pi * k * n / N) #print " Matrice di Fourier \n" #print W, "\n" 61 return np.dot(w, x)

62 Esercizio DFT(2) print x, print " \n Trasformata di Fourier di x con la DFT \n" start = time.time() x1=dft_slow(x) end = time.time() print (end - start), "\n" print x1, print " \n Trasformata di Fourier di x con la FFT \n" start1 = time.time() x2=np.fft.fft(x) end1 = time.time() print (end1 - start1), "\n" print x2, 62

Laboratorio di Python

Laboratorio 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

Dettagli

Programmare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione

Programmare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Python Programmare Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Le istruzioni devono essere date in un linguaggio comprensibile dal calcolatore. In generele questi

Dettagli

Programmare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione

Programmare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Python Programmare Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Le istruzioni devono essere date in un linguaggio comprensibile dal calcolatore. In generele questi

Dettagli

Laboratorio di Python

Laboratorio 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

Dettagli

Laboratorio di Python

Laboratorio di Python , sequenze immutabili 5 marzo 2015 Sommario 1 2 3 Input da tastiera Sintassi = raw_input('stringa descrittiva') #versione 2.* = input('stringa descrittiva') #versione 3.* si assegna a

Dettagli

Laboratorio di Python

Laboratorio di Python Iterazione determinata, 12 marzo 2015 Sommario 1 2 3 Sintassi ed Esempi 4 Input da tastiera Sintassi = raw_input('stringa descrittiva') #versione 2.* = input('stringa descrittiva') #versione

Dettagli

Elementi di Base. Introduzione a Python.

Elementi di Base. Introduzione a Python. Elementi di Base Introduzione a Python http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Panoramica Elementi di base della sintassi (struttura,

Dettagli

Tutorato di Fondamenti di Informatica TUTOR: DAVIDE GHIANI, GIULIA ORRU

Tutorato di Fondamenti di Informatica TUTOR: DAVIDE GHIANI, GIULIA ORRU Tutorato di Fondamenti di Informatica PROFESSORE: GIAN LUCA MARCIALIS TUTOR: DAVIDE GHIANI, GIULIA ORRU Organizzazione Informazioni di contatto: informatica.marcialis@gmail.com Davide Ghiani Giulia Orrù

Dettagli

Laboratorio 04. Programmazione - CdS Matematica. Michele Donini 19 Novembre 2013

Laboratorio 04. Programmazione - CdS Matematica. Michele Donini 19 Novembre 2013 Laboratorio 04 Programmazione - CdS Matematica Michele Donini 19 Novembre 2013 Controllo del flusso Selezione: ci permette di modificare il normale flusso sequenziale di un programma a seconda della valutazione

Dettagli

Programmazione in Python. Moreno Marzolla

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

Dettagli

Laboratorio di Informatica

Laboratorio 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

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Vettori e matrici #1 Le variabili definite come coppie sono dette variabili scalari Fondamenti di Informatica 5. Algoritmi e pseudocodifica Una coppia è una variabile

Dettagli

Laboratorio di Python

Laboratorio di Python , Istruzione di condizione 3 marzo 2015 Sommario 1 Outline 1 Scrivere uno script 1 Aprire IDLE di Python. 2 Dal menù del programma aprire un nuovo file. 3 Scrivere la funzione. 4 Salvare ed eseguire il

Dettagli

Laboratorio di Python

Laboratorio di Python Laboratorio di Python Matrici con Liste Lab09 10 Aprile 2018 Outline Correzione esercizi per oggi Matrici Teoria Esercizi Esercizi per casa Outline Correzione esercizi per oggi Matrici Teoria Esercizi

Dettagli

laboratorio di python

laboratorio di python laboratorio di python definizioni di booleani, selezione ed uso degli input 13 Marzo 2019 1/32 Correzione esercizi per oggi esercizio 1 per casa Scrivere una funzione che non ha nessun parametro, non restituisce

Dettagli

Informatica (A-K) 5. Algoritmi e pseudocodifica

Informatica (A-K) 5. Algoritmi e pseudocodifica Vettori e matrici #1 Informatica (A-K) 5. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile & Ambientale A.A. 2011-2012 2 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

Dettagli

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

Fondamenti 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

Dettagli

Programmi Python: esempi (in Python 3) Prof.ssa Valeria Vittorini Prof. Roberto Canonico Corso di Programmazione I a.a

Programmi Python: esempi (in Python 3) Prof.ssa Valeria Vittorini Prof. Roberto Canonico Corso di Programmazione I a.a Programmi Python: esempi (in Python 3) Prof.ssa Valeria Vittorini Prof. Roberto Canonico Corso di Programmazione I a.a. 2018-2019 Esempio #1: calcolo numeri primi Come esempio di funzione, si riporta sotto

Dettagli

Scilab. Introduzione a Scilab - Vettori. Corso di Informatica CdL: Chimica. Claudia d'amato.

Scilab. Introduzione a Scilab - Vettori. Corso di Informatica CdL: Chimica. Claudia d'amato. Scilab Corso di Informatica CdL: Chimica Introduzione a Scilab - Vettori Claudia d'amato claudia.damato@di.uniba.it Scilab Introduzione Ambiente matematico e di simulazione numerica sviluppato per la realizzazione

Dettagli

Informatica 7. appunti dalle lezioni del 20 e 22/10/2010

Informatica 7. appunti dalle lezioni del 20 e 22/10/2010 Informatica 7 appunti dalle lezioni del 20 e 22/10/2010 Tipi di dato Nelle celle di memoria di un calcolatore ci sono solo 0 e 1, fisicamente realizzati tramite due diversi livelli di tensione elettrica

Dettagli

Tutorato di Fondamenti di Informatica TUTOR: DAVIDE GHIANI, GIULIA ORRU

Tutorato di Fondamenti di Informatica TUTOR: DAVIDE GHIANI, GIULIA ORRU Tutorato di Fondamenti di Informatica PROFESSORE: GIAN LUCA MARCIALIS TUTOR: DAVIDE GHIANI, GIULIA ORRU Organizzazione Informazioni di contatto: informatica.marcialis@gmail.com Davide Ghiani Giulia Orrù

Dettagli

INTRODUZIONE A MATLAB. Introduzione. Calcolatrice base. Calcolatrice base. Variabili predefinite o speciali. Variabili predefinite o speciali

INTRODUZIONE A MATLAB. Introduzione. Calcolatrice base. Calcolatrice base. Variabili predefinite o speciali. Variabili predefinite o speciali INTRODUZIONE A MATLAB Introduzione M.R. Russo & M. Venturin Università degli Studi di Padova Dipartimento di Matematica Pura ed Applicata A.A. 2007/2008 Il nome MATLAB è acronimo di MATrix LABoratory.

Dettagli

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Elementi del linguaggio e primi programmi

Dettagli

Ambienti di Programmazione per il Software di Base

Ambienti di Programmazione per il Software di Base Ambienti di Programmazione per il Software di Base Le Funzioni in C Esercizi sulle Funzioni svolti Esercizi sulle Funzioni da svolgere A.A. 2011/2012 Ambienti di Programmazione per il Software di Base

Dettagli

Logica booleana, Costrutto IF

Logica 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

Dettagli

Fondamenti di Programmazione

Fondamenti di Programmazione Fondamenti di Programmazione Capitolo 4 Condizionale e ricorsione Prof. Mauro Gaspari: gaspari@cs.unibo.it Alcuni operatori utili L'operatore modulo opera su numeri interi e in generale su espressioni

Dettagli

MATLAB 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 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

Dettagli

Elementi del linguaggio Python

Elementi del linguaggio Python Elementi del linguaggio Python Informatica@SEFA 07/08 - Lezione Massimo Lauria http://massimolauria.net/courses/infosefa07/ Venerdì, 9 Settembre 07 Tipi numerici e calcoli In

Dettagli

Laboratorio di Python

Laboratorio di Python Laboratorio di Python Booleani, Selezione, Input Lab03 7 Marzo 2018 Outline Correzione esercizi per oggi Booleani e Selezione (if) Teoria Esercizi Input Teoria Esercizi Esercizi per casa Esercizio 1 per

Dettagli

Laboratorio di Python

Laboratorio di Python Laboratorio di Python Matrici con Liste Lab09 5 Aprile 2017 Outline Correzione esercizi per oggi Matrici Teoria Esercizi Esercizi per casa Esercizio 1 per casa Scrivere una funzione che verifica se una

Dettagli

Cominciamo ad analizzare la rappresentazione delle informazioni... di Cassino. C. De Stefano Corso di Fondamenti di Informatica Università degli Studi

Cominciamo ad analizzare la rappresentazione delle informazioni... di Cassino. C. De Stefano Corso di Fondamenti di Informatica Università degli Studi Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono l algoritmo Cominciamo ad analizzare la

Dettagli

Laboratorio di Python

Laboratorio di Python Laboratorio di Python Variabili e Funzioni Lab02 1 Marzo 2017 Outline Variabili modificabili Teoria Esempi ed esercizi Funzioni Teoria Esempi ed esercizi Esercizi per casa Outline Variabili modificabili

Dettagli

Introduzione a Python e Gurobi

Introduzione a Python e Gurobi Introduzione a Python e Gurobi Introduzione Python è un linguaggio di programmazione ad alto livello, rilasciato pubblicamente per la prima volta nel 1991 dal suo creatore Guido van Rossum, programmatore

Dettagli

Python. Loriano Storchi.

Python. Loriano Storchi. Python Loriano Storchi loriano@storchi.org http:://www.storchi.org/ I linguaggi di programmazione Abbiamo visto che i linguaggi di programmaione sono: Dichiarativi Logici Funzionali Imperativi Procedurali

Dettagli

Un piccolo esempio: script

Un piccolo esempio: script Un piccolo esempio: script # Script per calcolare il perimetro e l'area # di un rettangolo, dati i suoi lati side1=input('inserisci la lunghezza della base: ') side2=input("inserisci la lunghezza dell'altezza:

Dettagli

STRUTTURE DI CONTROLLO IN C. Docente: Giorgio Giacinto AA 2009/2010

STRUTTURE DI CONTROLLO IN C. Docente: Giorgio Giacinto AA 2009/2010 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

Dettagli

Strutture di controllo condizionali in Matlab

Strutture di controllo condizionali in Matlab Strutture di controllo condizionali in Matlab Informatica B Le strutture condizionali A cosa servono le strutture condizionali? %Inserimento dei parametri della parabola: y=ax^2+bx+c a = input( inserire

Dettagli

Indice Capitolo 1 Capitolo 2 Capitolo 3 Capitolo 4 Capitolo 5 Capitolo 6

Indice Capitolo 1 Capitolo 2 Capitolo 3 Capitolo 4 Capitolo 5 Capitolo 6 1 Indice Capitolo 1... 7 Introduzione al Problem Solving... 7 Computer... 11 Informatica... 13 Capitolo 2... 17 Rappresentazione e Algoritmi... 17 Un esempio di algoritmo... 19 Diagrammi di flusso... 22

Dettagli

7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari

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

Dettagli

Matematica con Python

Matematica con Python Matematica con Python e-mail: maurosaita@tiscalinet.it Versione provvisoria. Dicembre 2016. 1 Lezione n. 1 Calcolatrice Olivetti. Esegue le quattro operazioni elementari. Indice 1 Numeri e stringhe 2 1.1

Dettagli

Tutorato di Fondamenti di Informatica TUTOR: DAVIDE GHIANI, GIULIA ORRU

Tutorato di Fondamenti di Informatica TUTOR: DAVIDE GHIANI, GIULIA ORRU Tutorato di Fondamenti di Informatica PROFESSORE: GIAN LUCA MARCIALIS TUTOR: DAVIDE GHIANI, GIULIA ORRU Organizzazione Informazioni di contatto: informatica.marcialis@gmail.com Davide Ghiani Giulia Orrù

Dettagli

Octave. Luca Abeni. Informatica Luca Abeni 1 / 21

Octave. Luca Abeni. Informatica Luca Abeni 1 / 21 Luca Abeni Informatica Luca Abeni 1 / 21 Linguaggi di Programmazione di Alto Livello Parole chiave: possibilmente con significato in inglese Ma agli informatici piacciono molto contrazioni e acronimi...

Dettagli

Laboratorio2 : introduzione al Python

Laboratorio2 : introduzione al Python Laboratorio2 : introduzione al Python Ricordo: a**b equivale ad a b a/b equivale ad a:b 5.2 equivale a 5,2 Primo esercizio: Proviamo a scrivere un programma che riceve in input due numeri, ne calcola il

Dettagli

Indice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX

Indice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX Indice Prefazione Gli Autori Ringraziamenti dell Editore La storia del C XVII XXIX XXXI XXXIII PARTE A Capitolo 1 Computer 1 1.1 Hardware e software 2 1.2 Processore 3 1.3 Memorie 5 1.4 Periferiche di

Dettagli

Il linguaggio Python

Il linguaggio Python Il linguaggio Python Capitolo 2 Variabili, Espressioni e Comandi Prof. Mauro Gaspari: gaspari@cs.unibo.it Il Linguaggio Python Python e' un linguaggio imperativo con alcune caratteristiche funzionali.

Dettagli

Programmazione 2. Introduzione al corso

Programmazione 2. Introduzione al corso Programmazione 2 Introduzione al corso Informazioni generali Sito del corso http://matematica.unipv.it/gualandi/programmazione2/ Orario lezioni: Martedi 9h00/11h00 Aula C8 o Lab. Mate Giovedi 14h00/15h00

Dettagli

Funzioni, Stack e Visibilità delle Variabili in C

Funzioni, Stack e Visibilità delle Variabili in C Funzioni, Stack e Visibilità delle Variabili in C Laboratorio di Programmazione I Corso di Laurea in Informatica A.A. 2018/2019 Argomenti del Corso Ogni lezione consta di una spiegazione assistita da slide,

Dettagli

Laboratorio di Python

Laboratorio di Python 25 marzo 2015 Sommario 1 2 Esercizi a casa Scrivere un unico programma, che attraverso un menù di selezione restituisca i risultati delle funzioni che seguono, senza uscire dal programma se non selezionando

Dettagli

Input/Output. Console e File.

Input/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

Dettagli

Valori Alfanumerici. Informatica di Base -- R.Gaeta 1

Valori Alfanumerici. Informatica di Base -- R.Gaeta 1 Valori Alfanumerici Finora abbiamo utilizzato solo valori numerici; Se vogliamo usare valori alfanumerici (caratteri e numeri), usiamo le stringhe; In Logo le stringhe si delimitano con le parentesi quadre;

Dettagli

Introduzione al C. Proprietà degli elementi di un insieme. Claudio Ciccotelli

Introduzione al C. Proprietà degli elementi di un insieme. Claudio Ciccotelli Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Introduzione al C Proprietà degli elementi di un insieme Claudio Ciccotelli Insiemi Un insieme è una collezione

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L algebra

Dettagli

Introduzione al MATLAB c Parte 2

Introduzione al MATLAB c Parte 2 Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 24 settembre 2007 Outline 1 M-file di tipo Script e Function Script Function 2 Elementi di programmazione

Dettagli

Laboratorio di Python

Laboratorio di Python Problem solving, Ricorsione, 14 marzo 2014 Sommario 1 2 3 4 Sintassi ed Esempi Esercizi Lunedì il numero di studenti che avevano consegnato gli esercizi era 13. Martedì il numero di esercizi ricevuti,

Dettagli

Javascript: il browser

Javascript: il browser Javascript: il browser Un browser è un programma Un browser interpreta il linguaggio HTML e visualizza le pagine sullo schermo Per la visualizzazione delle pagine un browser si appoggia al software di

Dettagli

Laboratorio Programmazione Anno Lezione 3

Laboratorio Programmazione Anno Lezione 3 Laboratorio Programmazione Anno 2012-2013 Lezione 3 Scripting Fino ad ora, per fare esercizi, abbiamo utilizzato l ambiente interattivo di python. È possibile creare dei file contenenti (lunghe) sequenze

Dettagli

Python Start. Docente: M. Chiara Debernardi. Lingua del corso. Descrizione del corso e obiettivi. Destinatari. Italiano

Python Start. Docente: M. Chiara Debernardi. Lingua del corso. Descrizione del corso e obiettivi. Destinatari. Italiano Python Start Docente: M. Chiara Debernardi Lingua del corso Italiano Descrizione del corso e obiettivi Il corso mira a far conoscere i fondamenti di Python i cui ambiti di utilizzo sono molteplici: intelligenza

Dettagli

Avviate l interprete Python selezionandolo dal menu dei programmi. Una volta avviato, l interprete presenta un cursore in cui inserire comandi

Avviate 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

Dettagli

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 08/02/2017/ Foglio delle domande / VERSIONE 1

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 08/02/2017/ Foglio delle domande / VERSIONE 1 Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 08/02/2017/ Foglio delle domande/ VERSIONE 1 1) Nella ricorsione, quando il problema ha soluzione immediata siamo a) nell ipotesi ricorsiva b) nel

Dettagli

Esecuzione condizionale ed espressioni logiche

Esecuzione condizionale ed espressioni logiche Esecuzione condizionale ed espressioni logiche Informatica@SEFA 08/09 - Lezione 6 Massimo Lauria http://massimolauria.net/courses/infosefa08/ Venerdì, 5 Ottobre 08 Ripartiamo

Dettagli

Introduzione a Matlab

Introduzione 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

Dettagli

FUNZIONI. attribuire un nome ad un insieme di istruzioni parametrizzare l esecuzione del codice

FUNZIONI. attribuire un nome ad un insieme di istruzioni parametrizzare l esecuzione del codice Funzioni FUNZIONI Spesso può essere utile avere la possibilità di costruire nuove istruzioni che risolvono parti specifiche di un problema Una funzione permette di attribuire un nome ad un insieme di istruzioni

Dettagli

Indice. Prefazione. 3 Oggetti e Java 53

Indice. 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

Dettagli

Matlab: introduzione

Matlab: introduzione Matlab: introduzione Daniele Loiacono, Vittorio Zaccaria Informatica B - Codice Corso: 081369 - A.A. 2010/2011 INGEGNERIA MECCANICA (BV) - INGEGNERIA IV (1 liv.) - Scaglione S - Z INGEGNERIA ENERGETICA

Dettagli

Appunti di informatica. Lezione 8 anno accademico Mario Verdicchio

Appunti di informatica. Lezione 8 anno accademico Mario Verdicchio Appunti di informatica Lezione 8 anno accademico 2016-2017 Mario Verdicchio Il ciclo FOR Molto spesso in un programma bisogna ripetere un operazione per un numero prefissato di volte Si tratta di un iterazione

Dettagli

A. Ferrari. informatica. Java basi del linguaggio. Alberto Ferrari Informatica

A. Ferrari. informatica. Java basi del linguaggio. Alberto Ferrari Informatica informatica Java basi del linguaggio Alberto Ferrari Informatica struttura di un programma Java /** * Classe EsempioProgramma * Un esempio di programmazione in Java * @author 4A Informatica */ public class

Dettagli

Statements: blocchi di istruzioni

Statements: blocchi di istruzioni Statements: blocchi di istruzioni Andrea Passerini passerini@disi.unitn.it Informatica Statements Descrizione Uno statement è un blocco di istruzioni semplici consistono di una singola riga. I tipi visti

Dettagli

MATLAB Alcune funzioni utili: fprintf, length, size

MATLAB Alcune funzioni utili: fprintf, length, size MATLAB Alcune funzioni utili: fprintf, length, size Funzione fprintf fprintf(fileid, format, var1, var2,... ) fprintf(format, var1, var2,... ) count = fprintf(...) fprintf(fileid, format, A, B) salva il

Dettagli

Laboratorio di Python

Laboratorio di Python Algoritmo, sulle liste Università di Bologna 3 e 5 aprile 2013 Sommario Correzione esercizi 1 Correzione esercizi 2 3 4 Correzione Correzione esercizi scrivere e documentare un programma con un menu dove:

Dettagli

Laboratorio di Python (con Linux)

Laboratorio 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

Dettagli

Programmare Ottenere Python Primi passi Tipi dati Funzioni Approfondimenti. Un introduzione a Python 7 maggio 2012

Programmare Ottenere Python Primi passi Tipi dati Funzioni Approfondimenti. Un introduzione a Python 7 maggio 2012 Un introduzione a Python 7 maggio 2012 Programmi e linguaggi Programma: Serie di istruzioni che indicano al computer quali operazioni svolgere. Programmi e linguaggi Programma: Serie di istruzioni che

Dettagli

Calcolo Numerico A.A Lab n

Calcolo Numerico A.A Lab n Calcolo Numerico A.A. 2014-2015 Lab n. 3 29-10-2014 Elementi di programmazione Programmare in MATLAB Alcune strutture di programmazione elementari Operatori relazionali: =, ==, = Operatori logici:

Dettagli

Pensiero Algoritmico. Lezione 3 23 Novembre Ripasso. Anatomia di un programma. Anatomia di un programma. Ozalp Babaoglu Università di Bologna

Pensiero Algoritmico. Lezione 3 23 Novembre Ripasso. Anatomia di un programma. Anatomia di un programma. Ozalp Babaoglu Università di Bologna Pensiero Algoritmico Lezione 3 23 Novembre 2016 Ozalp Babaoglu Università di Bologna Ripasso Definizione del problema Astrarre i dettagli, costruire un modello Costruire l algoritmo che risolve il problema

Dettagli

If Statement. Il costrutto condizionale if ha la seguente sintassi:

If Statement. Il costrutto condizionale if ha la seguente sintassi: Costrutti Control Flow Con control flow (o strutture di controllo) si intende l insieme dei costrutti che servono a gestire il flusso di esecuzione di un programma, cioè a specificare quando e come eseguire

Dettagli

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

Università 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

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Stringhe e Istruzioni di selezione Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2018/2019 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 24 STRINGHE: Definizione

Dettagli

Operazione +. La somma di due oggetti str s1, s2 è un nuovo oggetto str dato dalla concatenazione dei caratteri di s1 e s2

Operazione +. La somma di due oggetti str s1, s2 è un nuovo oggetto str dato dalla concatenazione dei caratteri di s1 e s2 Tipi numerici Python gestisce diversi formati numerici. int è il formato standard per la gestione dei numeri interi. x = 42 type(x) # > int float è il formato standard per la gestione dei numeri con la

Dettagli

Esercizi in Laboratorio

Esercizi in Laboratorio Esercizi in Laboratorio Informatica@SEFA 2017/2018 - Laboratorio 2 Massimo Lauria http://massimolauria.net/courses/infosefa2017/ Lunedì, 9 Ottobre 2017 1 Errata corrige (tuple

Dettagli

Laboratorio di Python

Laboratorio di Python Documentare il codice,, Comprendere cosa calcola una funzione 21 marzo 2014 Sommario 1 2 3 4 Lunedì il numero di studenti che avevano consegnato gli esercizi era 15. Martedì il numero di esercizi ricevuti

Dettagli

Evoluzione del FORTRAN 14/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN

Evoluzione del FORTRAN 14/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L algebra

Dettagli

Programmazione web lato client con JavaScript. Marco Camurri 1

Programmazione 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'

Dettagli

unità didattica 3 Le strutture condizionali e le strutture iterative

unità didattica 3 Le strutture condizionali e le strutture iterative unità didattica 3 Le strutture condizionali e le strutture iterative 1. La struttura condizionale Il Pascal prevede la codifica della struttura condizionale (indicata anche con il nome di struttura dell

Dettagli

Programmazione Caratteri, stringhe, tipo unit ed ennuple

Programmazione Caratteri, stringhe, tipo unit ed ennuple Programmazione Caratteri, stringhe, tipo unit ed ennuple Samuel Rota Bulò DAIS Università Ca Foscari di Venezia. Outline Caratteri e stringhe Booleani Il tipo unit Ennuple I caratteri Il tipo char rappresenta

Dettagli

Introduzione al MATLAB c Parte 3 Script e function

Introduzione al MATLAB c Parte 3 Script e function Introduzione al MATLAB c Parte 3 Script e function Lucia Gastaldi DICATAM - Sezione di Matematica, http://www.ing.unibs.it/gastaldi/ Indice 1 M-file di tipo Script e Function Script Function 2 Gestione

Dettagli

Fondamenti di Informatica 12. Linguaggio C -4

Fondamenti di Informatica 12. Linguaggio C -4 Strutture Dati in C Le strutture dati sono entità che permettono di memorizzare dati in modo organizzato e funzionale a particolari esigenze Fondamenti di Informatica 12. Linguaggio C -4 Strutture Dati

Dettagli

Laboratorio 05b. Programmazione - CdS Matematica. Lauriola Ivano 13 dicembre 2016

Laboratorio 05b. Programmazione - CdS Matematica. Lauriola Ivano 13 dicembre 2016 Laboratorio 05b Programmazione - CdS Matematica Lauriola Ivano 13 dicembre 2016 Script Aprire idle dal terminale (ricordarsi la & per poter utilizzare lo stesso terminale con idle in esecuzione): idle

Dettagli

Ing. Lorenzo Vismara

Ing. Lorenzo Vismara Ing. Lorenzo Vismara ! "# #!$#%&# '(!)&!*)&#*$# +!, +$-.(( #!((%&#, #!& %&) /$#01&&#2! 0#( 3452 $ 6#( 1 2 &## #!7 #89): #;##( 1? )#&)< $9): #@82 #)AA)#&#&$( #7)&#7& @B && ##@A&#C 7 $C#&7 @B A&#)@#7&#

Dettagli

Concetti base programmazione. Antonio Gallo

Concetti base programmazione. Antonio Gallo Concetti base programmazione Antonio Gallo info@laboratoriolibero.com Programma Insieme di istruzioni: Strtturato Ad oggetti Strutturato Ha una struttura più lineare Basato sui concetti di sequenza, selezione,

Dettagli

Programmare in Python

Programmare in Python Programmare in Python Docente: Maurizio De Pra Lingua Italiano Descrizione del corso e obiettivi Il corso mira a far conoscere i fondamenti della programmazione in Python, i cui ambiti di utilizzo sono

Dettagli

Fondamenti di Informatica T1 Introduzione al linguaggio Java Input/Output-Variabili-Tipi

Fondamenti di Informatica T1 Introduzione al linguaggio Java Input/Output-Variabili-Tipi Fondamenti di Informatica T1 Introduzione al linguaggio Java Input/Output-Variabili-Tipi Tutor Melissa Licciardello melissa.licciardell2@unibo.it Melissa Licciardello Fondamenti di Informatica T1 1 / 15

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Struttura di un programma Java

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Struttura di un programma Java Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA 1 Struttura di un programma Java Un programma Java consiste in un insieme di definizioni di classi. In genere

Dettagli

Lezione 6: Array e puntatori

Lezione 6: Array e puntatori Lezione 6: Array e puntatori Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione Una funzione per i numeri di Fibonacci

Dettagli