Fondamenti di Informatica T-1. Classi e array

Documenti analoghi
Fondamenti di Informatica T-1. Classi & vettori

Gestione degli impegni Requisiti generali Si fissi come ipotesi che la sequenza di impegni sia ordinata rispetto al tempo,, e che ogni lavoratore abbi

5 - Istruzioni condizionali

n deve essere maggiore di 0, altrimenti il metodo restituisce null.

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Fondamenti di Informatica T-1. Costruttori Ereditarietà

18 - Vettori. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari

Strutture dati e loro organizzazione. Gabriella Trucco

Informatica B

Fondamenti di Informatica T-1. Selezione Stringhe

STRINGHE IN JAVA In Java, le stringhe non sono pezzi di memo-ria con dentro dei caratteri, come in C: sono oggetti appartenenti alla classe

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale

Stringhe e Array. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni

Laboratorio di Programmazione 1 [Java]

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a I scritto Febbraio 11 Febbraio 2011

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

Fondamenti di Informatica. Algoritmi di Ricerca e di Ordinamento

3. Terza esercitazione autoguidata: progetto gestione voli

Creazione, eliminazione, lettura e scrittura di file di testo

Stringhe e allocazione dinamica della memoria

Finestre di dialogo. Corso di Laboratorio di Programmazione Web. Controllo dell input e window.alert. prompt di stringhe!

Fondamenti di Informatica 2

Fondamenti di Informatica T-1

Compito di Programmazione, 22 marzo 2007 INFORMATICI E MULTIMEDIALI

Esercizi di Algoritmi e Strutture Dati

ESERCITAZIONE MICROECONOMIA (CORSO B) ESEMPI DI ESERCIZI DI TEORIA DEI GIOCHI

Matematica - SMID : Programmazione 22 Gennaio 2004 Testo e Risposte

ARRAY BIDIMENSIONALI float [][] mx = new float[3][4]; (float []) [] mx = new float[3][4];

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 17/01/2014/ Foglio delle domande / VERSIONE 1

Caratteri e stringhe

Le funzioni, e le istruzioni di input/output

MANUALE GESTIONE DELLE UTENZE - PORTALE ARGO

Problema: calcolare il massimo tra K numeri

Programmazione 1 A.A. 2015/2016

Studente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a Primo scritto 11 Gennaio 2008

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 30/06/2016/ Foglio delle domande / VERSIONE 1

ESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 27 Gennaio 2015

Lab 10 Gestione file di testo

Inside C : Puntatori. Indirizzo: operatore & p = &v; x = a; Puntatori Referenziazione e Dereferenziazione Arrays

Array multidimensionali e stringhe

Strutture di controllo iterative

Esercitazione 6. Array

Proprietà delle Classi e degli Oggetti in Java

Studente (Cognome Nome):

Stringhe. In C le stringhe ben formate sono in realtà array di caratteri terminati sempre da un carattere speciale, \0, detto anche

Lezione 9 Esercizi d esame

MANUALE PROGRAMMA GESTIONE PASTI

Esercizio 1 - Componente Matrice (1/3) Esercizio 1 - Componente Matrice (3/3) Esercizio 1 - Componente Matrice (2/3)

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Esercizi sui metodi. Carla Limongelli. Maggio Esercizi 1

Programmazione Orientata agli Oggetti in Linguaggio Java

13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti

ESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 10 Settembre 2013

Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano

Informatica 3 secondo recupero 13 Settembre 2002

Variabili e Istruzioni

Università degli studi di Bergamo. Informatica II. Programmazione Object Oriented Tutorato. Lezione 1. Dott. Marco Guarnieri Dott. Eros Magri

4 Le liste collegate 4.0. Le liste collegate. 4 Le liste collegate Rappresentazione di liste 4.1 Rappresentazione di liste

L Allocazione Dinamica della Memoria

Puntatori. Fondamenti di Programmazione

IL CONCETTO DI CLASSE

HOMEWORKS. in modo che il programma stampi N ripetizioni della stringa HelloWorld (su righe diverse), con N inserito dall utente.

Informatica B

Programmazione in Java (I modulo)

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre Negli esercizi proposti si utilizzano le seguenti classi:

Corso di Fondamenti di Informatica. Dispensa 3: Espressioni artimetico-logiche e costrutti di decisione. Prof. Domenico Rosaci

Introduzione alla Programmazione in Java attraverso un esempio commentato

Corso di Fondamenti di Informatica

COMPITO DI LABORATORIO DI PROGRAMMAZIONE Luglio Soluzione degli Esercizi

Algoritmi di Ricerca. Esempi di programmi Java

Corso sul linguaggio Java

L accesso ai dispositivi esterni (tastiera, monitor, file,...) viene gestito mediante canali di comunicazione.

RETI DI CALCOLATORI Linguaggio Java: Eccezioni

Esame Informatica Generale 13/04/2016 Tema A

Puntatori. Obiettivi: Richiamare quanto noto sui puntatori dal modulo A Presentare l analogia tra puntatori e vettori e l aritmetica dei puntatori

giapresente( ) leggi( ) char * strstr(char * cs, char * ct) NULL

Programmazione 1 A.A. 2015/2016

Prova di Laboratorio di Programmazione

Soluzioni degli esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)

Gestione di files Motivazioni

T 1 =1. n 6 n. T n =3 T. Esercizio 1 (6 punti)

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Gestore di Stringhe 1

ARRAY E STRINGHE. G. Frosini Slide 1

Introduzione al linguaggio C Gli array

Programmazione I. 11 gennaio Considerate la seguente gerarchia di classi (rappresentata mediante un diagramma UML): +f(double x):

Lezione 6 Selection/Insertion Sort su interi e stringhe

ORDINAMENTO DI UN VETTORE TRAMITE L ALGORITMO BUBBLE SORT

Obiettivi di questa esercitazione

Esonero del corso di Programmazione a Oggetti

Esercitazione n.1 13 Ottobre Obiettivi:

Oggetti e classi. Cos è un oggetto

Uso di metodi statici. Walter Didimo

Corso di Fondamenti di Informatica. Puntatori e Allocazione Dinamica

Programmazione ad oggetti

Spazio riservato ai docenti

Array e puntatori in C

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a giugno 2013

Laboratorio di Matematica e Informatica 1

Transcript:

Classi e array

2 Classi e metodi statici Una classe è un costrutto linguistico che permette di modellare un'entità di un sistema, definendone le caratteristiche (variabili interne) e le azioni (metodi). Un metodo statico permette di eseguire operazioni su un'insieme di variabili (parametri di ingresso), producendo un risultato (parametro di uscita). static int somma(int x, int y){ return x+y; } Un metodo statico può anche non produrre un risultato (metodo void): static void stampasomma(int x, int y){ System.out.println(x+y); }

3 Array Un vettore (array) è un insieme ordinato, di dimensione fissa, di oggetti dello stesso tipo. Esempio: array capace di contenere al più 10 numeri interi int[] arrayinteri = new int[10]; La dimensione dell array è definita all atto della inizializzazione (con la new) e memorizzata nell attributo length. Ad esempio l array arrayinteri appena creato può contenere non più di 10 elementi! Non si può estendere dinamicamente un array (bisogna ricrearlo). Per fare questo esistono delle classi apposite che vedremo più avanti nel corso.

4 Array L'array è definibile e utilizzabile come variabile: <tipo>[] <nome> = new <tipo>[<dimensione>] Per accedere agli elementi: <nome>[<indice>] Esempio, inserire un intero di valore 3 in posizione 0: arraydiinteri[0]=3; Un array è sempre creato vuoto: ogni posizione, se l'array contiene oggetti o stringhe, contiene il valore "null", altrimenti contiene il valore 0 (o il valore false nel caso di un array di boolean).

5 Esempio: Tris Si scriva un programma Java che realizzi, tramite opportune classi e metodi statici, il gioco del tris. Si realizzi lo schema del tris come matrice 3x3. I due giocatori sono rappresentati dai simboli "O" e "X". Il programma deve chiedere alternativamente al giocatore "O" e al giocatore "X" di inserire la posizione in cui porre il simbolo (riga e colonna della matrice), finchè uno dei due giocatori non vinca oppure la partita non finisca in parità. Ad ogni turno, il programma deve mostrare a video lo stato del gioco.

6 Esercizio: prenotazioni Si scriva un programma Java che realizzi un sistema di prenotazione per un laboratorio di informatica, aperto dal lunedì al venerdì dalle 9 alle 18. Le informazioni relative alle prenotazioni sono contenute in una tabella prenotazioni, costituita da una matrice 5x9, contentente per i 5 giorni di apertura settimanale del laboratorio le prenotazioni relative ai 9 slot corrispondenti alle 9 ore giornaliere. Si definiscano i seguenti metodi statici, all interno dei quali non è consentita l immissione di valori da standard input (escluso il programma principale o se diversamente specificato)(n.b.: svolgere tutti i punti nel modo più efficiente e, quando possibile, riutilizzare metodi già definiti): 1. Metodo controlladisponibilità, che data un giorno settimanale, l'indice di uno slot e il numero di ore necessarie verifica se nel giorno richiesto ci sono, a partire dallo slot richiesto, sufficienti ore libere per la lezione indicata. 2. Metodo richiediprenotazione, che data una lezione, il numero di ore richieste un giorno e uno slot relativo all'orario minimo di inizio, verifica se nel giorno richiesto e dallo slot richiesto in poi il laboratorio ha orari disponibili, e in caso positivo aggiorna la tabella con la nuova prenotazione. 3. Metodo stampaprenotazioni, che dato un giorno settimanale, mostri a video l'elenco delle prenotazioni di quel giorno (per gli slot liberi, si mostri la scritta "<libero>") Il programma principale deve, infine, realizzare un menu che chieda ciclicamente all'utente di scegliere fra le seguenti opzioni: a) Prenotare una lezione, inserendo il nome della lezione, il numero di ore richieste, il giorno richiesto e lo slot minimo di inizio richiesto; b) Stampare l'orario del laboratorio, inserendo il giorno da mostrare; c) Uscire

7 Esercizio: prenotazioni