Un piccolo esempio: script

Documenti analoghi
Definizione di metodi in Java

Fondamenti di Programmazione

Modulo 1 Concetti di base della Tecnologia dell Informazione

Excel: guida alle operazioni di base per la risoluzione dell esercizio 13

Introduzione al Python

Formule e funzioni. Manuale d uso

L Allocazione Dinamica della Memoria

Esercizio 1: Problema. Risoluzione Esercizi. Esercizio 1: Flow Chart

INDICE. Vista Libretto Livello Digitale 2. Importazione di dati da strumento 3. Inserisci File Vari 5. Compensazione Quote 5.

File di script. I File di Script Corso 2D - R.Virili 1

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Matlab: esempi ed esercizi

Definizione di classi

Unità Didattica 3 Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.

INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan

Programmazione in Python. Moreno Marzolla

Algoritmi e soluzione di problemi

Indice. Introduzione Collegamento iniziale Identificazione della sede operativa (sede di lavoro) 5

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.

Manuale EacqCE_Daemon. Versione manuale Copyright 2011 MMS Srl. Manuale EacqCE_Daemon Pagina 1

PROBLEMI ALGORITMI E PROGRAMMAZIONE

Automatizzare le attività con le macro di Visual Basic

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Fondamenti di Informatica T-1 Modulo 2

Tutorial 13. Come costruire un aggetto in un solaio.

Come ragiona il computer. Problemi e algoritmi

SEE Electrical Expert V3R7: FAQ

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico

Individuazione di sottoproblemi

(ED IMPARARE LE REGOLE DELLE OPERAZIONI)

Laboratorio di Informatica

Manuale d uso DropSheep 4 imaio Gestione Pixmania-PRO Ver 1.1

Mini-Corso di Informatica

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

IL PRIMO PROGRAMMA IN C

Lezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari

1 Esercizi di Matlab. L operatore : permette di estrarre sottomatrici da una matrice assegnata. Vediamo alcuni esempi.

Programmazione Orientata agli Oggetti

Algoritmi e basi del C Struttura di un programma

Algoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema

PROCEDURA OPERATIVA FASE PREPARATORIA SCRUTINI

Primi passi col linguaggio C

Aggiorna. La Funzione Aggiorna Listino Aggiornare Listino Pr7 / Le connessioni / Listino METEL. Aggiorna Lis no. Aggiornamento del listino

Algoritmi. Pagina 1 di 5

DISCIPLINA: MATEMATICA CLASSE: QUARTA

Cosa vuol dire misurare l'area di una figura piana a contorno curvilineo?

Variabili e Istruzioni

Il programma OCTAVE per l insegnamento dell algebra lineare nella Scuola Secondaria p. 1

1) Premessa: Al posto dei numeri posso utilizzare delle.. m) La differenza tra due numeri qualsiasi:...

Elementi di Psicometria

Quando usiamo Python in modo interattivo in genere e' lo shell utilizzato che gestisce l'indentazione e la deindentazione.

SIMULAZIONI TEST INVALSI

Strutture di Controllo

Procedura operativa per la gestione della funzione di formazione classi prime

LA MISURA DELLE SUPERFICI PIANE

Rappresentazione con i diagrammi di flusso (Flow - chart)

Strutture dati e loro organizzazione. Gabriella Trucco

Esercizio: dispari-pari

VERSIONE MINIMA COMPATIBILE

La programmazione nel linguaggio C

Programmazione Ricorsione

Fondamenti di Informatica T-1 Modulo 2

SPI DESCRIZIONI ARTICOLI IN LINGUA

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A

Una volta trovato il fascicolo occorre selezionarlo e quindi cliccare su Depositi telematici :

INSIEME N. L'insieme dei numeri naturali (N) è l'insieme dei numeri interi e positivi.

CALCOLO LETTERALE I MONOMI. Il primo tipo di oggetto che incontriamo nel calcolo letterale è il MONOMIO.

EXCEL: FORMATTAZIONE E FORMULE

Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:

Appunti di informatica. Lezione 10 anno accademico Mario Verdicchio

Fondamenti di Informatica T-1 Modulo 2

Portale INPS. Servizi per il cittadino. Lavoratori Domestici. Consultazione Estratto Conto. Help online

Capitolo 18 - Progetto DWG Creazione del layout di stampa

SCRATCH CECILIA MONTI DIGITAL CO-FONDATRICE E DOCENTE PRESSO MAKER SCHOOL TRADATE

Transcript:

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: ") per=2*side1+2*side2 area=side1*side2 print "Il perimetro e': ", per print "L'area e': ", area

Un piccolo esempio Ogni volta che si abbia bisogno di riutilizzare il codice che calcola area e perimetro del rettangolo si deve ricopiare tutta la sequenza istruzioni. Riscrivere le stesse istruzioni più volte: Spreco di tempo Facilità di errori di ricopiatura Se mi accorgo di un errore devo modificare le istruzioni ovunque le abbia utilizzate

Funzioni Una funzione è una sequenza di istruzioni Python identificata da un nome. Si differenzia da uno script in quanto il suo scopo principale è quello di produrre uno o più valori a partire da determinati dati di ingresso (cosa che stabilisce un'analogia con l'omonimo concetto della matematica), Sono utili per automatizzare dei blocchi di istruzioni che si devono eseguire ripetitivamente dal prompt dei comandi. Possono operare solo sui dati forniti come ingresso alla funzione e sulle variabili create all interno della funzione Qualsiasi variabile creata nella funzione, ad eccezione di quelle esplicitamente restituite, sono eliminate con il termine della funzione (località delle variabili)

Un piccolo esempio: funzione # Script che definisce una funzione # per calcolare il perimetro e l'area # di un rettangolo, dati i suoi lati def rett(base, altezza): per=2*base+2*altezza area=base*altezza res=[per,area] return res side1=input('inserisci la lunghezza della base: ') side2=input("inserisci la lunghezza dell'altezza: ") res=rett(side1,side2) print "Il perimetro e': ", res[0] print "L'area e': ", res[1]

Definizione di una funzione L istruzione def comunica all interprete che l istruzione che segue inizializza la definizione di una funzione, e che il blocco di istruzioni seguente sono parte della funzione. def rett(in1, in2,...): Seguono poi le istruzioni: sono istruzioni della funzione tutte quelle indentate. Esse possono agire solo su variabili create all interno della funzione parametri di ingresso in1, in2, In uscita viene resa disponibile solo la variabile restituita con return

Funzioni esempio: I commenti cominciano con # E parte di codice che non # Script che definisce una funzione # per calcolare il perimetro e l'area # di un rettangolo, dati i suoi lati def rett(base, altezza): per=2*base+2*altezza area=base*altezza res=[per,area] return res viene interpretato come istrizioni, e non è eseguito Argomenti di ingresso alla funzione. Sono gli unici dati presenti all esterno del codice della funzione utilizzabili e conosciuti anche all interno Nome identificativo della funzione Indica che si sta definendo una funzione Indica la fine della funzione Valori di uscita della funzione. Sono le uniche variabili definite all interno della funzione che saranno disponibili una volta terminata la funzione

Località delle variabili 1 a=10 b=15 e=25 def prova(a): print Nella funzione prova a =, a b=100+a d=2*a print Nella funzione prova b =, b print Nella funzione prova d =, d print Nella funzione prova e =, e return b+10 c=prova(a) print Fuori dalla funzione prova a =, a print Fuori dalla funzione prova b =, b print Fuori dalla funzione prova d =, d print Fuori dalla funzione prova e =, e

Località delle variabili 2 Nella funzione prova a = 10 Nella funzione prova b = 110 Nella funzione prova d = 20 Nella funzione prova e = 25 Fuori dalla funzione prova a = 10 Fuori dalla funzione prova b = 15 Fuori dalla funzione prova d = Traceback (most recent call last): File "C:/Programmi/Python25/prova", line 17, in <module> print "Nella funzione prova d = ", d NameError: name 'd' is not defined

Località delle variabili 3 a=10 b=15 e=25 Variabli globali: disponibili a tutte le funzioni Parametro della funzione: esso diventa una variabile locale. Il suo nome non ha nessuna relazione con eventuali altre variabili globali con lo stesso nome def prova(a): print Nella funzione prova a =, a b=100+a d=2*a print Nella funzione prova b =, b print Nella funzione prova d =, d print Nella funzione prova e =, e return b+10 c=prova(a) print Fuori dalla funzione prova a =, a print Fuori dalla funzione prova b =, b print Fuori dalla funzione prova d =, d print Fuori dalla funzione prova e =, e Variabli locali: compaiono a sinistra di una istruzione di assegnazione Variabile globale: è la stessa e che c è all esterno della funzione

Utilizzare una funzione ATTENZIONE! Definire una funzione non vuol dire automaticamente eseguirla!! Una funzione indica che il blocco di istruzioni seguenti sono identificate da un nome, e che quelle istruzioni per poter funzionare hanno bisogno di un certo numero di variabili (argomenti della funzione). Le istruzioni della funzione sono eseguite solo quando si richiama la funzione, scrivendo il suo nome come una istruzione.

Utilizzare una funzione a=10 def prova(var_in): return res Definisco una funzione di nome prova che necessità di un parametro di ingresso. La funzione termina quando l indentazione torna al livello del def. c=prova(a) Chiedo all interprete di eseguire la funzione prova che ho definito, dando al suo parametro di ingresso var_in il valore della variabile a

File con più funzioni In un file.py ci possono essere un numero arbitrario di funzioni definite. Una funzione può essere utilizzata (eseguite) solo dopo che sia stata definita! def prova(var_in): res = var_in*var_in return res def stampanome(var_in): print Ciao, var_in print prova(10) print stampanome( Andrea )

Utilizzare funzioni già scritte Una volta definite delle funzioni, è possibile utilizzarle nel workspace di Python oppure in uno script attraverso l operazione di importazione Questa operazione rende la definizione delle funzioni importate disponibili.

Importazione: modo 1 Come per il modulo matematico di Python, posso decidere di aver bisogno di tutte le funzioni definite in tale modulo, e di volerle tenere separate da eventuali altre funzioni. >>>import math In tale modo ogni oggetto (variabile o funzione) definita all interno del modulo math, può essere utilizzato: >>> print math.sin(0.5) >>> print math.pi E necessario dire esplicitamente all interprete che le variabili e le funzioni richieste sono all interno del modulo math tramite l operatore.

Importazione: modo 1 Se definisco una funzione od una variabile con lo stesso nome di una appartenente al modulo math, esse sono in effetti oggetti distinti. Le variabili e funzioni del modulo math sono protetti dalla scatola del modulo: >>> pi=3.14 >>> import math >>> print pi 3.14 >>> print math.pi 3.1415926535897931 >>>

Importazione: modo 1 Spazio di lavoro File test.py >>> import test >>> b=test.prova(10) >>> print b 100 def prova(var_in): res = var_in*var_in return res def stampanome(var_in): print Ciao, var_in

Importazione: modo 2 E possibile importare specifiche funzioni o variabili da un modulo, per poi utilizzarle senza dover indicare l appartenenza ad un modulo. >>>from math import pi >>>from math import sin In tale modo ogni oggetto importato puà essere utilizzato semplicemente richiamando il suo nome: >>> sin(0.5) 0.47942553860420301 >>> pi 3.1415926535897931

Importazione: modo 2 Se definisco una funzione od una variabile con lo stesso nome di una importata, sovrascrivo il suo valore. >>> from math import pi >>> print math.pi 3.1415926535897931 >>> pi=5 >>> pi 5

Importazione: modo 1 Spazio di lavoro File test.py >>> from test import prova >>> b=prova(10) >>> print b 100 def prova(var_in): res = var_in*var_in return res def stampanome(var_in): print Ciao, var_in

Fattoriale in Python File num.py def fattoriale(n): if(n<0): print "Il fattoriale di un numero negativo non e' definito" return -1 res=1 for i in range(1,n+1): res=res*i return res Spazio di lavoro >>> from num import fattoriale >>> fattoriale(4) 24

Fibonacci in Python File num.py # Funzione iterativa per il calcolo dei numeri di fibonacci def fibonacci(n): if(n<0): print "Il numero di Fibonacci di un numero negativo non e' definito" return -1 if(n<2): return n fib1=0 fib2=1 for i in range(2,n): fib=fib1+fib2 fib1=fib2 fib2=fib fib=fib1+fib2 return fib

Fibonacci in Python File num.py # Funzione iterativa per il calcolo del fattoriale def fattoriale(n): return res # Funzione iterativa per il calcolo dei numeri di fibonacci def fibonacci(n): if(n<0): print "Il numero di Fibonacci di un numero negativo non e' definito" return -1 if(n<2): return n fib1=0 fib2=1 for i in range(2,n): fib=fib1+fib2 fib1=fib2 fib2=fib fib=fib1+fib2 return fib

Fibonacci in Python Spazio di lavoro >>> from num import fibonacci >>> for i in range(10) print fibonacci(i) 0 1 1 2 3 5 8 13 21 34 >>>