I parametri e il sovraccarico
|
|
- Gaetana Spinelli
- 4 anni fa
- Visualizzazioni
Transcript
1 I arametri e il sovraccarico Vediamo dei dettagli sul assaggio dei arametri. Parametri formali e attuali class Esemio { static void rimo(int x) { int y; rimo(24+3); variabile locale y è una variabile che viene creata quando si invoca il metodo rova arametro attuale 24+3 è il valore che viene trasmesso al metodo arametro formale x è una variabile del metodo rimo, il cui valore iniziale è quello del arametro attuale I arametri formali sono come le variabili locali tranne che er il valore iniziale. Il arametro attuale è un valore, non una variabile. Memoria degli oggetti Ogni metodo ha una sua zona di memoria in cui ci sono le variabili. Queste zone non comrendono gli oggetti, che stanno da un altra arte. class Esemio { static void rova() { int x; q; q=new (); int a; ; =new (); 1
2 rova q x 3 a 12 main variabili: una zona er ogni metodo oggetti: zona comune a tutti i metodi (hea) Una zona er ogni metodo, iù una zona comune a tutti er gli oggetti. Passare un oggetto a un metodo In generale: assare un arametro=assegnare al arametro formale quello attuale Nel caso in cui il arametro sia un oggetto: assegnare=assegnare l indirizzo gli oggetti stanno in una zona accessibile a tutti i metodi Mettendo insieme: nel arametro formale ci va a finire l indirizzo dell oggetto assato. Quindi: l oggetto si uò modificare nel metodo, e questa modifica è visibile al metodo chiamante. Passare un oggetto: esemio Cosa stama questo rogramma? imort java.awt.*; class Modifica { static void azzera(int x, ) { x=0;.x=0;.y=0; int x=12; =new ();.x=10;.y=20; 2
3 azzera(x, ); System.out.rintln(x); System.out.rintln(); Memoria, rima di invocare il metodo x 12 main variabili: una zona er ogni metodo oggetti: zona comune a tutti i metodi (hea) Esiste solo la zona delle variabili di main La zona er azzera viene creata solo quando si invoca azzera Memoria, quando si invoca il metodo Viene creata la nuova zona in cui ci sono i arametri formali x e e le variabili locali (in questo caso, nessuna) Nei arametri formali vengono messi i valori assati. 3
4 azzera x 12 x 12 main variabili: una zona er ogni metodo oggetti: zona comune a tutti i metodi Valori assati: valore di x, e valore di Il valore di è l indirizzo in cui si trova l oggetto. L esecuzione del metodo x=0 mette 0 nella variabile locale..x=0; e.y=0; modificano l oggetto il cui indirizzo sta in azzera x 0 x 12 main variabili: una zona er ogni metodo 0 0 oggetti: zona comune a tutti i metodi Cosa viene stamato? Quando il metodo termina, viene eliminata la sua zona di memoria. 4
5 x 12 main variabili: una zona er ogni metodo 0 0 oggetti: zona comune a tutti i metodi L effetto globale Quando asso una variabile, questa non viene modificata: x mantiene il valore 12 Quando asso un oggetto, questo uò venire modificato.x diventa 0 Non è questa la regola! È una conseguenza della regola dei untatori. Il sovraccarico Definire iù metodi con lo stesso nome. Serve quando la stessa oerazione si uò fare con diversi tii di dato. Regola sui arametri Nella invocazione, i arametri devono essere del tio usato nella dichiarazione. static void sbaglio(int x)... sbaglio(...) Fra le arentesi ci devo mettere un int Regola generale Il arametro attuale va messo nel arametro formale. 5
6 I tii devono oter ermettere questo assegnamento. Esemio: se il arametro formale è double, osso assare un intero. Se il arametro formale è intero, non osso assare un double, erchè l assegnamento non si uò fare. Metodi sovraccarichi System.out.rintln() è un metodo Però funziona su tutti i tii! Intuitivamente: otrei dover fare le stesse cose su tii diversi. Come definire un metodo che lavora su iù tii diversi: definire un metodo er ognuno dei tii Esemio: stamare le coordinate di un unto Passo un come arametro: ublic class UnPunto { static void stamapunto( ) { System.out.rintln("Punto: (",.x, ",",.y, ")");... Se ho due interi? Voglio stamare le coordinate del unto. Devo rima creare un oggetto unto. =new ();.x=12;.y=43; stamapunto(); Oure: faccio un nuovo metodo Alternativa: creo un metodo diverso: static void stamapuntodueinteri (int x, int y) { System.out.rintln("Punto: (", x, ",", y, ")"); 6
7 Il sovraccarico due metodi ossono anche avere lo stesso nome, basta che il numero degli argomenti o il tio di un argomento sia diverso Dato che i due metodi er disegnare un unto hanno argomenti diversi, osso usare lo stesso nome. Posso usare il nome stamapunto er tutti e due. imort java.awt.*; ublic class MetPunto { static void stamapunto( ) { System.out.rintln("Punto: (",.x, ",",.y, ")"); static void stamapunto(int x, int y) { System.out.rintln("Punto: (", x, ",", y, ")"); =new ();.move(12,43); stamapunto(); stamapunto(12, 32); Si uò fare se il numero di argomenti è diverso. Oure se il tio di almeno un argomento è diverso. Qualche argomento uò anche avere lo stesso tio. L invocazione di un metodo Il comilatore va a vedere il numero e il tio dei arametri attuali (i valori che il rogramma manda al metodo) Fra tutti i metodi con quel nome, sceglie quello che ha arametri di ari numero e tio. I valori di ritorno I valori di ritorno dei metodi ossono anche essere diversi. 7
8 class Prova { static int metodo(int x) { return 0; static double metodo(double x) { return 0;... Però... Cosa non si uò fare I valori di ritorno ossono anche essere diversi. Però... Non si ossono definire due metodi che differiscono solo er il valore di ritorno. // errore! int metodo() {... double metodo() {... Non fatevi ingannare dal nome In generale: metodi sovraccarichi sono metodi diversi con lo stesso nome. Dato che hanno lo stesso nome, er caire quale sto invocando, guardo il tio/numero degli argomenti. È er questo che esiste la regola che due metodi con lo stesso nome devono avere numero e/o tio diverso di argomenti. Esercizio Definire un metodo che calcola la somma di due numeri. I due numeri ossono essere reali o interi (il valore di ritorno è di conseguenza) Soluzione Mi servono due metodi, uno er sommare interi e uno er sommare reali. Le firme: static int somma(int, int) static double somma(double, double) 8
9 I tii dei valori di ritorno non hanno imortanza. I tii degli argomenti si. Sono diversi: si ossono usare i due metodi. Soluzione Scrivo il coro dei due metodi. class DueSomme { static int somma(int x, int y) { return x+y; static double somma(double x, double y) { return x+y; System.out.rintln(somma(12,23)); System.out.rintln(somma(12.3,23.1)); System.out.rintln(somma(12,23.1)); Nota: osso anche usare gli stessi nomi er i arametri formali (x e y) nei due metodi (ogni metodo vede solo le sue variabili). Chi viene invocato da somma(12,23.1)? Ho un intero e un reale. Viene invocato quello dei reali. Regola generale: viene invocato quello che ha esattamente gli stessi tii, se c è, altrimenti quello che li uò assegnare tutti ai arametri formali. In questo caso: non sono due interi, er cui non osso usare il metodo con i due interi. Posso assegnare 12 e 23.1 a due reali, er cui uso il metodo con due reali. Posso fare iù di due metodi con lo stesso nome? Si Posso fare due metodi con lo stesso nome che fanno cose comletamente diverse? Si: sono a tutti gli effetti due metodi diversi: 9
10 class Diversi { static void aaa(int x) { System.out.rintln("Questa e una stringa"); static void aaa(double x) { System.out.rintln(x+2); aaa(1); aaa((double) 1); Non è erò consigliabile farlo. (il rogramma non si caisce iù) Numero degli argomenti Si ossono fare due metodi diversi se hanno numero di argomenti diverso. Esemio: metodo che stama la somma di interi, al quale osso assare da zero a tre interi. Soluzione Devo fare quattro metodi diversi. class SommaInt { static int somma() { return 0; static int somma(int x) { return x; static int somma(int x, int y) { return x+y; static int somma(int x, int y, int z) { return x+y+z; System.out.rintln(somma(2,3)); System.out.rintln(somma(2,3,4)); System.out.rintln(somma()); System.out.rintln(somma(2)); 10
11 Posso invocare questo metodo dall altro? Si uò fare. Se ho un oggetto, osso invocare tutti i metodi della classe (oi vedremo i modificatori di accesso). class SommaStesso { static int somma() { return 0; static int somma(int x) { return x; static int somma(int x, int y) { return x+y; static int somma(int x, int y, int z) { return somma(x,y)+z; System.out.rintln(somma(2,3)); System.out.rintln(somma(2,3,4)); System.out.rintln(somma()); System.out.rintln(somma(2)); 11
Puntatori in C. Fondamenti di Informatica. Daniele Loiacono
Puntatori in C Fondamenti di Informatica Puntatori Come è fatta la memoria del calcolatore? Un modello concettuale della memoria q La memoria centrale di un calcolatore è una sequenza di celle numerate
DettagliI costruttori. Il costruttore standard. Esempio di valori di default. Alterare il costruttore standard
I costruttori Servono a inizializzare i valori dei campi degli oggetti. Vengono invocati automaticamente dopo che l oggetto è stato creato. Il costruttore standard Questo tipo di costruzione mette dei
DettagliLaboratorio di Informatica I
Struttura della lezione Lezione 15: Puntatori e stringhe Vittorio Scarano Corso di Laurea in Informatica Puntatori Relazione con gli arrays Aritmetica dei untatori Allocazione dinamica di memoria Puntatori
DettagliListe. Marco Alberti Programmazione e Laboratorio, A.A
Liste Marco Aberti Programmazione e Laboratorio, A.A. 016-017 Diartimento di Matematica e Informatica - Università di Ferrara Utima modifica: 16 dicembre 016 Lista Raresenta una sequenza di entità deo
DettagliProblemi legati all'uso dei Puntatori
Problemi legati all'uso dei Puntatori 1. Aree inutilizzabili: Possibilità di erdere l'indirizzo di aree di memoria allocate al rogramma che uindi non sono iù accessibili. (v. esemio recedente). 2. Riferimenti
DettagliDefinizione di classi. Walter Didimo
Definizione di classi Walter Didimo Definizione di classi Fino ad ora abbiamo imparato a: creare oggetti da classi già pronte usare gli oggetti creati, invocando metodi la creazione e l uso di oggetti
DettagliConcetto di Funzione e Procedura METODI in Java
Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile
Dettagliargomenti (Sezione 9.1 e Capitolo 13 Savitch) puntatori puntatori I PUNTATORI E LE STRUTTURE DATI DINAMICHE 1. dichiarazioni di puntatori
argomenti (Sezione 9. e Caitolo Savitch). dichiarazioni di untatori I PUNTATORI E LE STRUTTURE DATI DINAMICHE Cosimo Laneve. le oerazione su untatori (NULL, new, delete, &, *). untatori assati come arametri
DettagliMETODI in Java. Prof.Angela Bonifati. Metodi e Sottoprogrammi
Fondamenti di Informatica METODI in Java Prof.Angela Bonifati 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile definire nuovi tipi di dati, tramite i metodi è possibile
DettagliL editor vi da linea comandi
L editor vi da linea comandi L editor con interfaccia a caratteri, iù usato comunemente fin dalle rime versioni del sistema oerativo Unix, è vi. Il nome vi sta er visual editor, infatti è ossibile vedere
DettagliLe Funzioni in C. Fondamenti di Informatica Anno Accademico 2010/2011. Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia
Le Funzioni in C Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2010/2011 docente: prof. Michele Salvemini 1/24 Sommario Le funzioni Il
DettagliProgrammazione ad oggetti
Programmazione ad oggetti OOP La programmazione orientata agli oggetti (Object Oriented Programming) ha l obiettivo di formalizzare gli oggetti del mondo reale e di costruire con questi un mondo virtuale.
DettagliDo...While() Break Continue Concetto di Funzione e Procedura METODI in Java
Fondamenti di Informatica Do...While() Break Continue Concetto di Funzione e Procedura METODI in Java Prof.Angela Bonifati 1 Istruzione while int vet1[] = new int[20]; int vet2[] = new int[20]; for(int
Dettagli14 - Metodi e Costruttori
14 - Metodi e Costruttori 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
DettagliVariabili e Funzioni. Informatica 1 / 19
Variabili e Funzioni Informatica 1 / 19 Programmi C e Un programma C e composto da funzioni e variabili Variabile: memorizza valori appartenenti ad un insieme di definizione (dipendente dal tipo) Funzione:
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA2 2.1- Funzioni 1 Prerequisiti Programmazione elementare in Java Tecnica top-down Concetto matematico di funzione Compilazione e link di programmi Esecuzione di funzioni
DettagliIntroduzione alla Programmazione in Java attraverso un esempio commentato
Corso di Studi in Informatica Programmazione 1 corso B prof. Elio Giovannetti Introduzione alla Programmazione in Java attraverso un esempio commentato Programmazione 1 B - a.a. 2002-03 53 Modello di memoria
Dettagli7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari
7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa
DettagliLaboratorio di algoritmi e strutture dati
Laboratorio di algoritmi e strutture dati Docente: Violetta Lonati mercoledì 5 novembre 2008 1 Esercizi introduttivi 1.1 La vostra malloc Scrivete una funzione my_malloc che allochi memoria usando la funzione
DettagliFunzioni. Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna
Funzioni Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Funzioni 2 Ringraziamenti prof. Stefano Mizzaro, Università di Udine
Dettaglicout << "Inserisci un numero:" << endl; cin >> n; ris = n*2; cout << "Il doppio di " << n << " e " << ris << endl;
Funzioni int n, ris; cout n; ris = n*2; cout
DettagliProgrammazione M.A. Alberti. Comunicazione digitale AA 2009/ Classi in Java 1. Le classi in Java. Oggetti. Classi. Classi. Visibilità dei dati
Oggetti Le classi in Java Corso di laurea in Un oggetto è definito dal suo stato - descrive le sue caratteristiche comportamento - quello che può fare Ad esempio: il modello di una moneta Una moneta può
DettagliClassi e array. Viene ora affrontato un problema di definizione di una classe in cui una variabile d istanza è di tipo array
Classi e array Viene ora affrontato un problema di definizione di una classe in cui una variabile d istanza è di tipo array Si vuole definire una classe Polinomio per la rappresentazione di polinomi a
DettagliModello procedurale versus modello O-O
Modello procedurale versus modello O-O Quando si scrive un programma si crea dentro il calcolatore un modello di una porzione del mondo reale. I linguaggi di programmazione procedurali consentono di costruire
DettagliScrivere un funzione ricorsiva che stampa a video i valori di una lista di elementi con campo info di tipo intero.
Esercizio 1 Fondamenti di Informatica - Esercitazione n.13 1 Scrivere un funzione ricorsiva che stama a video i valori di una lista di elementi con camo info di tio intero. stama(elem* ); 1 chiamata stama(=);
Dettagli6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
6 - Blocchi e cicli Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it
DettagliIntroduzione al linguaggio C Puntatori
Introduzione al linguaggio C Puntatori Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica 19 ottobre 2016
DettagliCalcolo delle Probabilità e Statistica, Ing. Informatica e dell Automazione, a.a. 2009/10 Prova scritta del 21/7/2010
Calcolo delle Probabilità e Statistica, Ing. Informatica e dell Automazione, a.a. 009/0 Prova scritta del /7/00 Nota. E obbligatorio sia scegliere le risoste (numeriche, o le formule nali a seconda del
DettagliJava Gli array. Array
Java Gli array 1 Gli array In generale un array è una sequenza di locazioni di memoria, che contengono entità dello stesso tipo, e a cui si può fare riferimento con un nome comune Le entità che compongono
DettagliFunzioni, 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,
DettagliOggetti. Definizioni di Classi II
Programmazione a Oggetti Definizioni di Classi II Sommario Costruzioni di oggetti Campi e metodi di classe Overloading Istanziazione di oggetti Costruzione di un oggetto Processo complesso che comprende
DettagliProgrammazione a Oggetti Lezione 7. Il linguaggio Java: aspetti generali
Programmazione a Oggetti Lezione 7 Il linguaggio Java: aspetti generali Sommario Obiettivi di JAVA Portabilità: produrre codice eseguibile su più piattaforme (JVM) Affidabilità: Evitare il più possibile
DettagliFunzioni, Stack e Visibilità delle Variabili in C
Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7
DettagliIl linguaggio C. Puntatori e dintorni
Il linguaggio C Puntatori e dintorni 1 Puntatori : idea di base In C è possibile conoscere e denotare l indirizzo della cella di memoria in cui è memorizzata una variabile (il puntatore) es : int a = 50;
DettagliMetodi. Un metodo è una porzione di codice a cui si associa un nome. Un istruzione eseguita da un metodo può essere:
Metodi Un metodo è una porzione di codice a cui si associa un nome. Un istruzione eseguita da un metodo può essere: invocazione: esecuzione di un metodo assegnamento: cambia lo stato di un campo ripetizione:
DettagliC: panoramica. Violetta Lonati
C: panoramica 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 Violetta Lonati
Dettaglila parola binaria che è è la parola di dati e p venuta fuori, in trasmissione, a seguito dell esecuzione delle 4 prove di parità;
Aunti di Elettronica Digitale Circuiti er il codice Hamming Circuito er la decodifica Hamming Vogliamo realizzare un circuito cominatorio che rilevi e corregga l errore singolo su arole di codice Hamming.
DettagliFunzioni. Libro cap. 5. Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna
Funzioni Libro cap. 5 Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Funzioni 2 Ringraziamenti prof. Stefano Mizzaro, Università
DettagliIntroduzione al linguaggio C Puntatori
Introduzione al linguaggio C Puntatori Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica 19 ottobre 2017
DettagliPassare argomenti al programma
Passare argomenti al programma Quando si invoca un programma è possibile passare degli argomenti ad esso durante la chiamata. Gli argomenti ricevuti saranno stringhe (array di char) quindi l insieme di
DettagliLe classi in java. Un semplice programma java, formato da una sola classe, assume la seguente struttura:
Le classi in java Un semplice programma java, formato da una sola classe, assume la seguente struttura: class Domanda static void main(string args[]) System.out.println( Quanti anni hai? ); La classe dichiarata
DettagliLaboratorio di algoritmi e strutture dati
Laboratorio di algoritmi e strutture dati Docente: Violetta Lonati 1 Esercizi su array frastagliati 1.1 Indice della arola iù iccola Scrivete una funzione con rototio int smallest_word_index( char *s[],
DettagliLB5 FUNZIONI cap. 7 del testo
LB5 FUNZIONI cap. 7 del testo 1 necessità di strutturare i programmi main() {......... N...... O...............} main() {... } funz1 funz2 funz3 funz4 SI funz5 funz6 2 Funzioni Una funzione è un pezzo
DettagliFondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Paradigma OO Oggetti e Classi Metodi Parametri Variabili di istanza Costruttori Esercizi Paradigma Object-Oriented Il paradigma OO
DettagliUso di metodi statici. Walter Didimo
Uso di metodi statici Walter Didimo Metodi di istanza Fino ad ora abbiamo imparato a creare oggetti e ad invocare metodi su tali oggetti i metodi venivano eseguiti dagli oggetti un metodo invocato su un
DettagliIntroduzione all uso degli oggetti in Java (parte II) Walter Didimo
Introduzione all uso degli oggetti in Java (parte II) Walter Didimo Esercizio all uso di oggetti Nel corso viene fornita una classe i cui oggetti permettono di leggere dati immessi dalla tastiera la classe
DettagliCorso di Informatica A.A
Corso di Informatica A.A. 2009-2010 Lezione 11 Corso di Informatica 2009-2010 Lezione 11 1 Utilizzo dei puntatori Funzioni Perche i Puntatori? I puntatori hanno tre importanti applicazioni: 1. Passaggio
DettagliCorso di Informatica
Corso di Informatica Modulo T1 B1 Il concetto di classe 1 Prerequisiti Programmazione elementare Conoscenza dell uso delle funzioni Utilizzo della UML 2 1 Introduzione Gli oggetti reali sono una infinità
DettagliStrutture Dati. Elisa Marengo. Università degli Studi di Torino Dipartimento di Informatica. Elisa Marengo (UNITO) Strutture Dati 1 / 16
Strutture Dati Elisa Marengo Università degli Studi di Torino Dipartimento di Informatica Elisa Marengo (UNITO) Strutture Dati 1 / 16 Introduzione Fino ad ora nei nostri programmi abbiamo usato Variabili;
DettagliAmbienti 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
DettagliDIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Puntatori. Marco D. Santambrogio Ver. aggiornata al 11 Marzo 2014
Puntatori Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 11 Marzo 2014 Immagini Struttura dati: typedef struct{ int R; int G; int B; } pixel pixel img[0][24]; Ma quanto è grossa
Dettaglise invoco un metodo di Object che è ridefinito in Point, viene invocato il metodo definito in Point
Gli HashSet Tipo predefinito che rappresenta insiemi di Object Cosa succede se... Posso mettere un riferimento a un Point in una variabile Object Object o=new Point(12,3); è quasi tutto come se l oggetto
DettagliGestione dei sottoprogrammi. temporaneo passaggio del controllo dal programma in esecuzione ad un sottoprogramma
Gestione dei sottoprogrammi temporaneo passaggio del controllo dal programma in esecuzione ad un sottoprogramma programma CALL sottoprogramma RETURN Subroutine linkage CALL: viene salvato l indirizzo di
DettagliEsercizio 3. Oppure fare queste operazioni nel metodo main all interno della classe Persona.
Esercizio 3 Scrivere un programma con i seguenti requisiti. Utilizzare una classe Persona che dichiara le variabili nome, cognome, età. Si dichiari inoltre un metodo dettagli() che restituisce in una stringa
DettagliDIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Funzioni e Procedure. Marco D. Santambrogio Ver. aggiornata al 11 Marzo 2014
Funzioni e Procedure Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 11 Marzo 2014 Obiettivi Funzioni Scope delle variabili 2 La calcolatrice! Problema Si scriva un programma in C
DettagliFormato dei file. Definizione del formato immagine pbm. Il formato immagine pbm
Formato dei file Il formato immagine pbm Il formato immagine pbm consente di rappresentare immagini in bianco e nero. Ogni file rappresenta una immagine come un file testo. Definizione del formato immagine
DettagliFUNZIONI. Esempi (pseudo-c): dare un nome a una espressione rendere tale espressione parametrica. float f(){ * sin(0.75); } float f1(int x) {
Spesso può essere utile avere la possibilità di costruire nuove istruzioni che risolvano parti specifiche di un problema Una funzione permette di dare un nome a una espressione rendere tale espressione
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Input/Output e Interi Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2018/2019 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 19 TUTOR Angelo Feraudo Email: angelo.feraudo2@unibo.it
DettagliI Metodi. Fondamenti di Informatica A-K
I Metodi Fondamenti di Informatica A-K Esercitazione 3 Introduzione al calcolatore e Java Linguaggio Java, basi e controllo del flusso I metodi: concetti di base Stringhe ed array Classi e oggetti, costruttori,
DettagliFunzioni in C. Funzioni. Strategie di programmazione. Funzioni in C. Come riusare il codice? (2/3) Come riusare il codice? (1/3)
Funzioni Il concetto di funzione Parametri formali e attuali Il valore di ritorno Definizione e chiamata di funzioni Passaggio dei parametri Corpo della funzione 2 Strategie di programmazione Riuso di
DettagliFondamenti di Informatica
Programmazione modulare (top-down) Fondamenti di Informatica 15. Funzioni in C++ (parte 1) Problemi complessi Conviene suddividere il programma in sottoprogrammi piu semplici mediante la metodologia di
DettagliCorso di Fondamenti di Informatica Il sistema dei tipi in C++
Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Anno Accademico Francesco Tortorella Struttura di un programma C++ // Programma semplice in C++ #include int main() { cout
DettagliUna funzione riceve dati di ingresso in corrispondenza ai parametri
FUNZIONI Spesso può essere utile avere la possibilità di costruire nuove istruzioni che risolvano parti specifiche di un problema Una funzione permette di dare un nome a una espressione rendere tale espressione
DettagliDIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Puntatori. Marco D. Santambrogio Ver. aggiornata al 20 Aprile 2016
Puntatori Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 20 Aprile 2016 Come rappresento un pixel? Il pixel è Il colore Come ottengo il verde? Con il formato RGB R: 91 G: 191 B:
DettagliOCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO
CENTRO STUDI ULISSE Via Buccino, n. 22 - C.a.p. 84018 - Scafati (SA) Tel. Fax. 081.19970299-339.2365416-349.4152010 E-mail: info@centrostudiulisse.it - www.centrostudiulisse.it OCA JAVA 7 SE PROGRAMMER
DettagliProgrammazione 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
Dettaglia 11 s 1 + a 12 s a 1n s n = b 1 a 21 s 1 + a 22 s a 2n s n = b 2..
Matematica II 020304 Ogni sistema di m equazioni lineari in n incognite x 1 x 2 x n si uo raresentare nella forma a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + + a 2n x n = b 2 a m1 x 1
DettagliLaboratorio di programmazione
Laboratorio di programmazione Lezione VI Tatiana Zolo zolo@cs.unipr.it 1 Dichiarazione (forma generale): LE STRUCT struct nome_struttura { tipo var1; tipo var2;... tipo vark; } variabili_struttura; (soltanto
DettagliProprietà delle Classi e degli Oggetti in Java
Fondamenti di Informatica Proprietà delle Classi e degli Oggetti in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Proprietà object-oriented di Java Definendo le caratteristiche e le operazioni di
DettagliPROGRAMMAZIONE: I sottoprogrammi
PROGRAMMAZIONE: I sottoprogrammi Prof. Enrico Terrone A. S: 2008/09 Definizione Un sottoprogramma è un blocco di istruzioni a sé stante con un proprio nome. Il main (= sottoprogramma principale) è un caso
Dettagliint main(){ int numero; /* numero di cui voglio calcolare il fattoriale */ int fatt; /* memorizzo il fattoriale di numero */ int somma=0;
Problema: CALCOLARE LA SOMMA DEI FATTORIALI DEI PRIMI 100 NUMERI NATURALI 0!+1!+2! + 99! #include int fattoriale(int); Calcolo fattoriale int main(){ int numero; /* numero di cui voglio calcolare
DettagliUniversità degli Studi di Cassino
Corso di Gestione dei sottoprogrammi Anno Accademico 2007/2008 Francesco Tortorella Gestione dei sottoprogrammi temporaneo passaggio del controllo dal programma in esecuzione ad un sottoprogramma programma
DettagliCORSO DI PROGRAMMAZIONE
ISTITUTO TECNICO INDUSTRIALE G. M. ANGIOY SASSARI CORSO DI PROGRAMMAZIONE PROGETTAZIONE DEI METODI DISPENSA 07.02 07-02_Metodi_Progettazione_[ver_15] Questa dispensa è rilasciata sotto la licenza Creative
DettagliIl linguaggio C Funzioni e procedure
Il linguaggio C Funzioni e procedure modello cliente-servitore risultato Ambiente condiviso cliente servitore richiesta di servizio Sottoprogrammi Spesso può essere utile avere la possibilità di costruire
DettagliESEMPIO PROCEDURE. return IN UNA PROCEDURA. Disegnare, per un dato n, la seguente figura * *** ***** ******* ********* ***********
Sottoprogrammi I sottoprogrammi possono servire per creare nuovi operatori: funzioni, che possono essere usati nelle espressioni, forniscono un valore di ritorno =4*potenza(2+y,3); nuove istruzioni: procedure,
DettagliSchedulazione di dettaglio Macchine in parallelo
Lezione 8 Schedulazione di dettaglio Macchine in arallelo Dati: Una lista di lotti (job) che devono essere rocessati da un sistema roduttivo comosto da un set di macchine in arallelo. Siano i lotti caratterizzati
DettagliParadigmi della PO. Incapsulamento. Ereditarietà. Polimorfismo. Software per TLC - AA 2008/2009 1
Incapsulamento Paradigmi della PO Ereditarietà Polimorfismo Software per TLC - AA 2008/2009 1 Incapsulamento Una classe contiene dati e metodi Filosofia Ai dati si accede solo attraverso i metodi I metodi
DettagliOggetti e classi. La classe è un modello (un contenitore) che definisce la forma di un oggetto, specificando:
Classi Oggetti e classi La classe è un modello (un contenitore) che definisce la forma di un oggetto, specificando: Come è fatto (i dati) Quali operazioni si possono fare con- e sull oggetto (le funzioni)
DettagliInterfacce. Dichiarazioni di tipi riferimento che descrivono oggetti in modo astratto Specificano solo le firme dei metodi.
Interfacce Interfacce Dichiarazioni di tipi riferimento che descrivono oggetti in modo astratto Specificano solo le firme dei metodi tralasciando tutti gli aspetti di implementazione Interfacce interface
DettagliJava Le stringhe. Stringhe
Java Le stringhe 1 Le stringhe in Java In Java le stringhe non sono semplicemente array di caratteri terminati con zero come avviene in C In Java le stringhe sono oggetti appartenenti alla classe String
DettagliProprietà delle Classi e degli Oggetti in Java
Fondamenti di Informatica Proprietà delle Classi e degli Oggetti in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Proprietà object-oriented di Java Definendo le caratteristiche e le operazioni di
DettagliDIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Puntatori. Marco D. Santambrogio Ver. aggiornata al 4 Aprile 2013
Puntatori Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 4 Aprile 201 WAT? WAT Lab Troppi exe, ne volevo di meno Vacanze W A Giovedì 28, Venerdì 29 e Lunedì 1 ma anche Martedì 2
DettagliUniversità degli Studi di Cassino e del Lazio Meridionale
di Cassino e del Lazio Meridionale Corso di Gestione dei sottoprogrammi Anno Accademico Francesco Tortorella Gestione dei sottoprogrammi temporaneo passaggio del controllo dal programma in esecuzione ad
DettagliCorso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona
Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona Sommario tipi di dati condizioni cicli cicli annidati per alcuni tipi di dati Java mette a disposizione una rappresentazione
DettagliClassi ed Oggetti. Fondamenti di Informatica A-K
Classi ed Oggetti Fondamenti di Informatica A-K Esercitazione 5 Introduzione al calcolatore e Java Linguaggio Java, basi e controllo del flusso I metodi: concetti di base Stringhe ed array Classi e oggetti,
DettagliLaboratorio Progettazione Web Le funzioni in PHP. Angelica Lo Duca IIT-CNR 2012/2013
Laboratorio Progettazione Web Le funzioni in PHP Angelica Lo Duca IIT-CNR angelica.loduca@iit.cnr.it 2012/2013 Funzioni Una funzione è una sequenza di istruzioni che implementano una specifica funzionalità
DettagliLe strutture /1. struct temp {char titolo[200]; char autore[100]; int pagine; } ; typedef struct temp libro;
Le strutture /1 Le strutture rappresentano un tipo di variabile che, diversamente dagli array, consente di gestire in modo compatto, mediante un'unico identificatore, un insieme di valori che non possiedano
DettagliPuntatori e array. Violetta Lonati
Puntatori e array Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Violetta Lonati Puntatori e array
DettagliQuesti lucidi provengono dal capitolo 2 di:
Questi lucidi provengono dal capitolo 2 di: Cay S. Horstmann Concetti di informatica e fondamenti di Java quarta edizione Oggetti e classi Gli oggetti sono entità di un programma che si possono manipolare
DettagliDefinizione di metodi
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 9 Definizione di metodi Carla Limongelli Novembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Definizione di metodi 1 Contenuti
DettagliJava secondo contatto. Nel tunnel una luce
Java secondo contatto Nel tunnel una luce 1 Esercizio - Contatore Definire la classe Contatore con le seguenti caratteristiche: Il metodo getvalore ritorna il valore attuale (intero) Il metodo contasu
DettagliProblemi sulle equazioni parametriche
A Problemi sulle equazioni arametriche Le soluzioni di un equazione letterale sono funzioni dei arametri che in essa comaiono e ci si uò chiedere er quali valori di tali arametri un equazione ha delle
DettagliParametri by reference. Funzioni. Passaggio dei parametri. Parametri by reference. Soluzione. Problemi
Funzioni Introduzione Operatori & e * Passaggio by reference Passaggio di vettori Esercizio strcpy 2 Passaggio dei parametri Il linguaggio C prevede il passaggio di parametri by value Il chiamato non può
Dettagli