A. Ferrari. python. procedure e funzioni

Documenti analoghi
Procedure e funzioni A. Ferrari

funzioni informatica e laboratorio di programmazione Alberto Ferrari Informatica e Laboratorio di Programmazione

Procedura. Procedure e funzioni. Esempio di procedura in C. Procedure in C. Esempio con prototipo. Esecuzione del codice

A. Ferrari. oggetti & game. Python. Alberto Ferrari Informatica

Appunti di informatica. Lezione 8 anno accademico Mario Verdicchio

Linguaggio C: le funzioni. Introduzione e sintassi

Laboratorio Programmazione Anno Lezione 3

LABORATORIO DI INFORMATICA ESERCITAZIONE VIII

Laboratorio di Python

Linguaggio C: le funzioni. Introduzione e sintassi

13 Esercizi di Riepilogo

FUNZIONI. Esempi (pseudo-c): dare un nome a una espressione rendere tale espressione parametrica. float f(){ * sin(0.75); } float f1(int x) {

FUNZIONI COME COMPONENTI SW FUNZIONI COME COMPONENTI SW FUNZIONI MODELLO CLIENTE/SERVITORE

FUNZIONI FUNZIONI COME COMPONENTI SW

Java SE 7. Strutture di programmazione (2)

Un piccolo esempio: script

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

Linguaggio C: le funzioni. Visibilità variabili e passaggio parametri

Passare argomenti al programma

Laboratorio di Python

Kangourou Italia Gara del 28 marzo 2008 Categoria Student Per studenti di quarta o quinta della secondaria di secondo grado

Implementazione di DFA in C

Appunti di Trigonometria per il corso di Matematica di base

Programmare in Python e uscirne incolumi #2. docente Vito Tafuni

Esercizi Programmazione I

Fondamenti di Programmazione

Ottenere una modifica del parametro attuale

Unità A1 Funzioni MODULO Java 2

ESPRESSIONI. Ivan Lanese

ESERCIZIO N.1 ESERCIZIO N.2. Campire 4 fogli con linee orizzontali, verticali, diagonali, cerchi concentrici.

Funzioni, Stack e Visibilità delle Variabili in C

Ambienti di Programmazione per il Software di Base

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

Esercizio 1. Programmazione I e Informatica II

cout << "Inserisci un numero:" << endl; cin >> n; ris = n*2; cout << "Il doppio di " << n << " e " << ris << endl;

Elementi di Informatica

Laboratorio Progettazione Web Le funzioni in PHP. Angelica Lo Duca IIT-CNR 2012/2013

Uso di metodi statici. Walter Didimo

Liste. Una lista è una serie ordinata di valori, ognuno identificato da un indice. I valori che fanno parte della lista sono chiamati elementi.

Introduzione alla programmazione A. Ferrari

Programmazione con Java

Laboratorio di Informatica

International Olympiad in Informatics 2013

Esercitazioni di Fondamenti Informatica - Modulo A 1

1. IL CERCHIO COLORATO

Fondamenti di Informatica T-1

Corso di Informatica

Funzioni. (Passaggio dei parametri per riferimento) Passaggio dei parametri

Corso di Fondamenti di Programmazione canale E-O ... Un esempio per iniziare. printf) Altri cenni su printf() Esercizi 8. (printf(

Introduzione al C. Informatica Generale - Introduzione al C Versione 1.0, aa p.1/17

Un piccolo esempio: script

Corso sul linguaggio Java

Processamento delle immagini

Terza Media Istituto Elvetico Lugano prof. Mazzetti Roberto

passaggio di vettori come parametri di funzioni/procedure. I Quando si passa un vettore come parametro ad una funzione, in

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);

Lezione 7 Alberi binari: visite e alberi di ricerca

csp & backtracking informatica e laboratorio di programmazione Alberto Ferrari Informatica e Laboratorio di Programmazione

void p(int x) { float y = x * sin(0.75); printf( %f, y); }

Operazioni preliminari: creare una cartella in Documenti

Esame Laboratorio di Programmazione

Spiegazione della rasatura fili flottati

Java e Object-Oriented Programming, Richiami

Fondamenti di Informatica

Capitolo 10 - Strutture

Informatica Generale 07 - Sistemi Operativi:Gestione dei processi

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Puntatori. Marco D. Santambrogio Ver. aggiornata al 11 Marzo 2014

Cultura Tecnologica di Progetto

EUROPEAN COMPUTER DRIVING LICENCE SYLLABUS VERSIONE 5.0

dare un nome a una istruzione non denota un valore, quindi non c è tipo di ritorno void

Definizione di classi. Walter Didimo

Linguaggi di Programmazione

INFORMATICA A. Titolo presentazione sottotitolo. Laboratorio n 4 Dott. Michele Zanella Ing. Gian Enrico Conti

LE MASCHERE. Maschera standard. Maschera semplice. Questa maschera però non consente di nascondere alcuni campi e visualizza i record uno ad uno.

Laboratorio di Python

Formato dei file. Definizione del formato immagine pbm. Il formato immagine pbm

Excel 2. Master Universitario di II livello in MANAGER NELLE AMMINISTRAZIONI PUBBLICHE A.A Prof.ssa Bice Cavallo

Ingegneria degli Algoritmi (II parte pratica)

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)

Paolo Bison. Fondamenti di Informatica A.A. 2006/07 Università di Padova

Java SE 7. Programmazione ad oggetti (1)

Arch. Antonella Cafiero Studio di Architettura Lighting Design ss 275 km Miggiano -LEwww.cafieroarchitettura.it.

I Metodi. Fondamenti di Informatica A-K

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Funzioni e Procedure. Marco D. Santambrogio Ver. aggiornata al 11 Marzo 2014

Esercizi su Python. 14 maggio Scrivere una procedura che generi una stringa di 100 interi casuali tra 1 e 1000 e che:

Laboratorio di programmazione

Funzioni - Se non si sono mai viste si possono considerare il modo piu' semplice per poter creare del codice riutilizzabile.

Scope, Memoria e Tabella dei Simboli

Prime attività. Sperimentare alcuni strumenti (livello facile) Forme sovrapposte

Laboratorio di Programmazione Esercitazione 4

print((math.floor(1345/10)%10); print (Math.floor(1345/100)%10); Le funzioni in JavaScript

Programmazione orientata agli oggetti. Ivan Lanese

Fondamenti di Informatica. Ingegneria elettronica

Programmare. Condizioni logiche. Condizioni Logiche Costrutti Decisionali Costrutti di Ciclo

Programmazione orientata agli oggetti. Ivan Lanese e Cosimo Laneve

laboratorio di python

Transcript:

python procedure e funzioni

procedura o una procedura può essere rappresentata come una macchina in grado di eseguire un certo compito quando attivata o in un primo tempo la macchina deve essere costruita: la costruzione della macchina può essere paragonata con la dichiarazione e definizione della procedura o la macchina viene poi attivata per eseguire il suo compito: può essere attivata più volte e tutte le volte ritorna ad eseguire il compito per cui è stata costruita o l'avviamento della macchina può essere paragonato all'esecuzione della procedura

python - esempio #definizione def stampa(): print('*********************') print('classe 3A informatica') print('*********************') #esecuzione stampa() #esecuzione ripetuta for i in range(1,4): stampa()

esecuzione del codice o la chiamata di una funzione provoca o l interruzione momentanea dell esecuzione del codice, o l esecuzione del codice della funzione o al termine dell esecuzione di questa o la ripresa del codice inizialmente sospeso

scambio di informazioni fra programma e procedura o nell esempio precedente il programma e la procedura non avevano la necessità di scambiarsi informazioni o in generale è invece necessario uno scambio di informazioni fra programma e procedura (o fra varie procedure) o la definizione di una variabile fuori dal programma e dalla procedura (variabile globale) permette ad entrambi di vederla quindi di scambiarsi, attraverso questa, informazioni

python variabili globali def cubo(): ''' stampa il cubo della variabile globale x ''' global x c = x ** 3 print('cubo di',x,'=',c) for x in range(1,11): cubo()

variabili locali e globali o la possibilità da parte del programma e delle varie procedure di vedere e modificare il valore di una variabile globale è un aspetto o positivo: permetto lo scambio di informazioni o negativo: la modifica del valore di una variabile globale da parte di una procedura potrebbe alterare il comportamento dell intero programma (effetto collaterale) o esistono variabili che hanno significato solo all interno di una procedura o queste variabili sono locali alla procedura (variabili locali) e quindi essere visibili sono in questa

funzioni o anche per la funzione è valida l'analogia con la macchina o la macchina-funzione oltre ad eseguire il compito per il quale è stata costruita, restituisce il risultato o anche in questo caso avremo una fase di dichiarazione-costruzione ed una di chiamata-avviamento o nella fase di chiamata avremo la restituzione di un valore: il risultato della funzione o la funzione avrà una terminazione esplicita (return seguito da una espressione che rappresenta il valore della funzione)

python - funzione import random def lancia_dado(): n = random.randint(1,6) return n #esecuzione risultato = lancia_dado() print('il risultato del lancio è...',risultato) #esecuzione ripetuta for i in range(1,11): print('il risultato del lancio è...',lancia_dado())

scambio informazioni fra funzioni o la memoria globale permette lo scambio di informazioni fra funzioni o risulta però un metodo o complesso (necessità di sapere quali sono le variabili che servono a tutte le funzioni) o pericoloso (una funzione può alterare in modo inatteso una variabile globale) o l utilizzo dei parametri permette di ovviare al problema: o la funzione opera formalmente su variabili (parametri formali) che vengono associate a valori specifici al momento della chiamata (parametri attuali)

definizione di funzione o operatore, applicato a operandi, per ottenere un risultato o def per definire una funzione o return per terminare e restituire un risultato def ipotenusa(c1, c2): ip = (c1 ** 2 + c2 ** 2) ** 0.5 return ip

chiamata di funzione o def definisce una funzione, ma non la esegue! o per far eseguire una funzione è necessario «chiamarla» lato1 = float(input(primo cateto? )) lato2 = float(input(secondo cateto? )) lato3 = ipotenusa(lato1, lato2) print('lato3:, lato3)

parametri di funzioni o la definizione della funzione opera sui parametri formali o al momento della chiamata si definiscono i parametri attuali o le variabili definite nella funzione rimangono locali a questa import random def lancia_dado(): n = random.randint(1,6) return n risultato = lancia_dado() print('il risultato del lancio è...,n) #errore!!!

python procedure e funzioni esercizi

esercizi (1) 3.1 area di un'ellisse o definire una funzione area_ellisse che: o riceve come parametri i semiassi di una ellisse: a, b o restituisce come risultato l'area dell'ellisse: π a b o chiedere all utente due valori: o invocare la funzione area_ellisse con questi parametri o stampare il risultato ottenuto

esercizi (2) 3.2 cerchi concentrici o chiedere all'utente il numero di cerchi da disegnare o disegnare i cerchi con raggio decrescente, ma tutti con lo stesso centro o far variare il colore dei cerchi o dal rosso del livello più esterno o fino al nero del livello più interno cominciare a disegnare un grosso cerchio rosso poi, inserire l'operazione di disegno in un ciclo, togliendo ad ogni passo 10 (p.es.) al raggio e al livello di rosso infine, determinare automaticamente, prima del ciclo, le variazioni migliori per raggio e colore

esercizi (3) 3.3 griglia di colori o chiedere all'utente dei valori per righe e colonne o mostrare una griglia di rettangoli di dimensione righe colonne o partire da un rettangolo nero in alto a sinistra o in orizzontale aumentare gradatamente la componente di blu o in verticale aumentare gradatamente la componente di verde cominciare a creare una griglia di riquadri tutti neri con due cicli for annidati lasciare tra i riquadri un piccolo margine