Mostrare l'evoluzione dello stato (ambiente di classi, heap, pila, System.out) dopo ciascuna istruzione del main: public class Up extends Object { public.

Slides:



Advertisements
Presentazioni simili
Puntatori Linguaggio C.
Advertisements

Interfacce Java.
Oggetti Java.
Programmazione Ingegneria TLC
1 Semantica Operazionale di un frammento di Java: lo stato.
Alcune Classi Standard Object, Vettori. Esercizio dellultima volta Superclasse Persona Sottoclasse Libro.
Classi ed Oggetti in Java (Cenni). Richiami Ruolo delle Classi in Java Oggetti.
Esercizio 2. Mostrare l'evoluzione dello stato (ambiente di classi, heap, pila, System.out) durante la valutazione delle seguenti dichiarazioni di classe.
LIP: 19 Aprile Contenuto Soluzione Compitino Tipo di dato MultiSet, estensione con sottoclasse.
Si consideri il seguente programma: class Up extends Object { public static int x; public int y; public static void metodo(Up o) {Up w=o.metodo1(x); o.y=w.y+6;}
Mostrare l'evoluzione dello stato (ambiente di classi, heap, pila, System.out) dopo ciascuna istruzione del main: public class Up extends Object { public.
PRIMO ESERCIZIO (del ) Mostrare l'evoluzione dello stato (ambiente di classi, heap, pila, System.out) dopo ciascuna istruzione del main: public.
LIP: 1 Marzo 2005 Classe Object e Vettori. Partiamo da Lesercizio dellultima esercitazione realizzato tramite array Vedremo come si puo fare in modo piu.
Layouts and Graphics. component - container - layout Un Container contiene [0 o +] Components Il Layout specifica come i Components sono disposti nel.
1 struct Pila { private: int size; int defaultGrowthSize; int marker; int * contenuto; void cresci(int increment); public: Pila(int initialSize) ; Pila();
Esempio: Tombola! Parte seconda.
Unified Modeling Language class C {…} class B extends C {…} Esiste una notazione grafica per mostrare le relazioni di ereditarietà. Object StringC B Tutte.
Modificatori: static Variabili e metodi associati ad una Classe anziche ad un Oggetto sono definiti static. Le variabili statiche servono come singola.
Sezione: Costruttori Costruttori. Definizione dei costruttori Se per una classe A non scrivo nessun costruttore, il sistema automaticamente crea il costruttore.
prompt> java SumAverage
1 struct Pila { private: int size; int defaultGrowthSize; int marker; int * contenuto; void cresci(int increment); public: Pila(int initialSize) ; Pila();
Introduzione alla Object Oriented Programming, OOP E.Mumolo. DEEI
E.Mumolo. DEEI Introduzione alla programmazione ad oggetti in C++ Object Oriented Programming, OOP E.Mumolo. DEEI
Costruzione di Interfacce Lezione 10 Dal Java al C++ parte 1
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Introduzione a JAVA Anno Accademico 2009/2010.
1 Corso di Informatica (Programmazione) Lezione 12 (19 novembre 2008) Programmazione in Java: i metodi statici.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) JAVA: i commenti Anno Accademico 2009/2010.
Soluzione Esercizio - Classe Vettore
Robot Puma 560 Caratteristiche
Selezione (=scelta) con “if-else”
Lezione IX Laboratorio di Programmazione. Le Classi Una classe C++ è definita come segue: class Nomeclasse { private: // metodi e attrib. visibili solo.
GESTIONE DEGLI ERRORI Spesso vi sono istruzioni critiche, che in certi casi possono produrre errori. Lapproccio classico consiste nellinse- rire controlli.
Robot Puma 560 prodotto da RP Automation, Inc.
1 Lucidi delle esercitazioni di Sistemi di Elaborazione in Rete Università degli Studi della Calabria Corso di Laurea in Ingegneria Informatica A.A. 2003/2004.
30 ottobre Mergesort F. Bombi 30 ottobre 2002.
I Metodi in Java Il termine "metodo" è sinonimo di "azione". Quindi, affinché un programma esegua qualche istruzione, deve contenere metodi.
Diagramma di flusso del problema del Supermercato.
void binario(int n); …………………
Ese 2 (del 31 Marzo 2004). Mostrare l'evoluzione dello stato (ambiente di classi, heap, pila, System.out) durante la valutazione delle seguenti dichiarazioni.
Soluzioni 1.Struttura base soluzione 2.Lettura dei tasti 3.Identificazione dei tasti 4.Accensione dei LED 5.Rotazione dei LED 6.Rotazione dei tasti fino.
Diagramma di flusso del problema del Calcolo del Bollo di Circolazione
Università degli Studi di BresciaA.A. 2012/2013 Fondamenti di Programmazione Docente: Alessandro SaettiA.A. 2012/2013 Università degli Studi di Brescia.
Conversione da base 10 a base X (Utilizzo della pila)
Corso di Programmazione in Java – Esercizio n° 001
Diagramma di flusso del problema dello stipendio del rappresentante.
1 Applet ed HTML Fondamenti di Informatica Corso D.
Lezione n° 07 - Esercitazione
Esercizi.
Esercitazione Ereditarietà Polimorfismo. Entita’ Geometrica PuntoCerchioPoligono TriangoloQuadrilatero Rettangolo Quadrato.
15/11/2004Laboratorio di Programmazione - Luca Tesei1 Costrutto condizionale Scelte, blocchi.
Una "vera" classe.. ..un esempio pratico: la calcolatrice
Definizione di classi Capitolo 18 febbraio 2004 Definizione di classi.
Esercizio Si legga una sequenza di numeri interi da tastiera (terminatore: 0), quindi: Creare lista L1 con inserimento in testa; cons Creare lista L2 con.
Fondamenti di informatica Oggetti e Java Luca Cabibbo Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies.
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
1 Eccezioni in Java. 2 Ricordiamo che 4 una procedura può terminare –normalmente, ritornando un risultato –in modo eccezionale ci possono essere diverse.
CORSO DI PROGRAMMAZIONE II
Gestione dei thread in Java
Programmazione in Java
Primo Compitino Primo esercizio Identificare gli errori segnalati dal compilatore Verifica statica del codice Regole di binding per i nomi (quelle.
Metodologie di Programmazione Esercizi sulla semantica di Java.
Esercizio 2. Si mostri l’evoluzione dello stato (ambiente di classi, heap, pila) durante la valutazione delle seguenti dichiarazioni di classe nei punti.
Ese 1 e 3 (del 6 Aprile 2005). Primo Ese Si identifichino gli errori che il compilatore segnalerebbe per il seguente programma Tipi Legami tra dichiarazioni.
Ex.1 - Semantica dell’Assegnamento Com := Path Ide = Expr (assegnamento) Com * Cenv * Heap * Astack  com Heap * Astack * Cenv Una soluzione parziale:
1 Java secondo contatto Nel tunnel una luce…. 2 Esercizio - Contatore Definire la classe Contatore con le seguenti caratteristiche:  Il metodo getValore.
10. Programmazione Ricorsiva Ing. Simona Colucci
Ricorsione 16/01/2019 package.
Ese 2 (del 31 Marzo 2004).
Esercizio 2.
Ese 3 (del 3 Aprile 2003).
Transcript della presentazione:

Mostrare l'evoluzione dello stato (ambiente di classi, heap, pila, System.out) dopo ciascuna istruzione del main: public class Up extends Object { public static int x; public int z; public Up met1() {z=z+5; return this;} public void met2() {z=x+4; x=x+i;} {z=x+1;} } public class Down extends Up { public Up y; public Up met1() { z=y.z+2; Down p1=new Down(); p1.met2(); Up p2=p1.y.met1(); return p2; } {y=new Up();} } public class Princ extends Object { public static void main() { Up p1 = new Down(); Up.x = 3; Up p2=p1.met1(); } }

Ambiente delle classi 0 Object Up Down Princ non static staticClasse ereditataNome classe Object Up Object main z0x0 z0 y DownDescr Down met1Descr' met1 met2Descr met2 UpDescr Up met1Descr met1 met2Descr met2

Descr met1 = Descr met2 = Descr Up = Descr' met1 = <-, {z=y.z+2; Down p1=new Down(); p1.met2(); Up p2=p1.y.met1(); return p2;}, Down> Descr Down = Ambiente delle classi 0

Stato iniziale: : Ambiente delle classi : Heap vuota : Contiene il record di attivazione di main Princ Pila dei Frames vuota!

Prima Istruzione del main: Up p1 = new Down(); com l1l1 Princ l1l1 p1p1 ' Down z1 yl2l2 l2l2 ' Up z1

Seconda Istruzione del main: Up.x = 3; com Modifica solo l'ambiente delle classi. Frame delle variabili statiche di UP: 1 x0 1 ' x3

Terza Istruzione del main: Up p2 = p1.met1(); com ' (met1) = < -, {z=y.z+2; Down p1=new Down(); p1.met2(); Up p2=p1.y.met1(); return p2;},l 1 > l1l1 ' Down z1 yl2l2 l2l2 ' Up z1 z=y.z+2; ' l1l1 ' Down z3 yl2l2 l2l2 ' Up z1

Terza Istruzione del main: Up p2 = p1.met1(); com ' (met1) = < -, {z=y.z+2; Down p1=new Down(); p1.met2(); Up p2=p1.y.met1(); return p2;},l 1 > Down p1=new Down(); '' l3l3 Princ l3l3 p1p1 ' '' Down z4 yl4l4 l4l4 '' Up z4 /// l2l2 l1l1

Terza Istruzione del main: Up p2 = p1.met1(); com ' (met1) = < -, {z=y.z+2; Down p1=new Down(); p1.met2(); Up p2=p1.y.met1(); return p2;},l 1 > p1.met2(); '' l3l3 Princ l3l3 p1p1 ' '' Down z7 yl4l4 l4l4 '' Up z4 /// l2l2 l1l1 1 ' x3 1 '' x4 2

Terza Istruzione del main: Up p2 = p1.met1(); com ' (met1) = < -, {z=y.z+2; Down p1=new Down(); p1.met2(); Up p2=p1.y.met1(); return p2;},l 1 > Up p2=p1.y.met1(); return p2; l3l3 Princ l3l3 p1p1 '' Down z7 yl4l4 l4l4 '' Up z9 /// l2l2 l1l1 l4l4 p2p2