LABORATORIO 8 ancora ARRAY

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "LABORATORIO 8 ancora ARRAY"

Transcript

1 LABORATORIO 8 ancora ARRAY Esercizio 1 - Stampa a rovescio con array (detti anche vettori) Scrivete un programma che legge da riga di comando un intero n, quindi legge da tastiera n interi (inseriti su una unica linea o su n linee), li inserisce in un vettore di interi e infine li stampa in ordine inverso rispetto a quello di inserimento. Per leggere il numero da riga di comando utilizzate int n = Integer.parseInt(myInput[0]); dove myinput è il nome che avete dato all array (unico argomento del metodo main()!!!) che raccoglie gli argomenti passati da linea di comando. La parte in grassetto è quella inserita dall utente. >java StampaRovescio array stampato in ordine inverso Nel seguente esempio i numeri sono inseriti dall utente su più linee (notate che, usando il metodo nextint() della classe Scanner, non fa alcuna differenza: nextint() cerca il prossimo intero, sia che esso sia sulla stessa linea, sia che esso sia su più linee) >java StampaRovescio array stampato in ordine inverso Esercizio 2 - Stampa circolare di array Scrivete un programma che legge da riga di comando un intero n, quindi legge da tastiera n interi (inseriti su una unica linea o su n linee), li inserisce in un array di interi e stampa l array partendo dal primo elemento, saltando poi all ultimo, tornando indietro al secondo elemento, stampando poi il penultimo,. e così via La parte in grassetto è quella inserita dall utente. >java Esercizio >java Esercizio2 12 1

2 >java Esercizio >java Esercizio >java Esercizio >java Esercizio >java Esercizio Esercizio 3 - Stampa in ordine crescente con vettori Scrivete un programma analogo a quello dell esercizio precedente, ma che stampi i numeri in ordine di valore CESCENTE. Per ordinare l array potete usare qualsiasi metodo vi venga in mente (potreste ad esempio usare un algoritmo simile a quello usato nell esercizio di ordinamento di stringhe per inserzione, descritto tra gli esercizi dello scorso laboratorio). >java Esercizio array stampato in ordine crescente: Esercizio 4 - Stampa in ordine decrescente con vettori Scrivete un programma analogo a quello dell esercizio precedente, ma che stampi i numeri in ordine di valore DECRESCENTE. 2

3 Esercizio 5 Vicini più vicini Scrivere un programma che riceve come argomento da linea di comando due interi: n>0 e r>=0. Il programma: - legge dal flusso di input n valori double, - man mano che li legge, arrotonda i valori letti alla r-esima cifra decimale e li salva in un array arr. - stampa arr - cerca in arr i due valori contigui che hanno la minore distanza (per distanza intendiamo il modulo della differenza dei due valori). In altre parole, il programma cerca nell array arr i due elementi arr(i) e arr(i+1) tali che il modulo della loro differenza è il minore rispetto a tutte le altre coppie consecutive in arr (per calcolare il modulo usate Math.abs(arr(i)-arr(i+1)). L ultimo elemento dell array è visto come l elemento che precede il primo. - Trovati i valori il programma stampa l indice della loro posizione nell array. Esempio di esecuzione >java Lez8_Es vicini piu' vicini a indici:5,6 >java Lez8_Es vicini piu' vicini a indici:0,1 >java Lez8_Es vicini piu' vicini a indici:0,1 >java Lez8_Es vicini piu' vicini a indici:3,4 Esercizio 6 Stampa a rovescio con liste Scrivere un programma che utilizzi la classe ArrayList per salvare una serie di interi positivi inseriti dall utente; la lettura termina al primo numero negativo inserito. Il programma stampa la lista in ordine inverso rispetto a quello di inserimento. Ricordate che ArrayList è una classe parametrica: dovrete usare la classe involucro Integer per creare un istanza di ArrayList che possa contenere interi. ArrayList<Integer> myalist=new ArrayList<Integer>(); Per leggere una lista di interi terminata dal primo numero negativo, utilizzate un ciclo che salva in una variabile, ad esempio x, l ultimo numero letto: Scanner sc=new Scanner(System.in); int x=0; 3

4 boolean flag=true; while (sc.hasnextint() && flag){ x=sc.nextint(); if x>0 ArrayList.add(x); else flag=false; } Oppure: Scanner sc=new Scanner(System.in); int x=0; do { x = sc.nextint(); if (x > 0) mylist.add(x); } while (x > 0); Esercizio 7 Stampa in ordine con ArrayList Come nell esercizio precedente, utilizzate la classe ArrayList per leggere una serie di interi positivi terminata dal primo numero negativo, e stampate la lista in ordine crescente di valore. Per ordinare un oggetto arrl, di classe ArrayList, usate il comando java.util.collections.sort(arrl) dell interfaccia Collection. Esercizio 8 Istogrammi di frequenza Scrivete un programma che legga una frase e che visualizzi degli istogrammi con il numero di occorrenze di ciascun carattere alfabetico. Il programma non deve fare distinzione fra maiuscole e minuscole, e non deve visualizzare gli istogrammi delle lettere che non compaiono. : Frase: C era un RAGAZZO che come ME amava i Beatles e I rolling StoneS A ******* B * C *** E ******** G ** H * I *** L *** M *** N *** O **** R *** S *** 4

5 T ** U * V * Z ** Suggerimenti Ricordate che, dato un carattere alfabetico c, per trasformarlo nel corrispondente carattere maiuscolo potete usare il metodo statico Character.toUpperCase(char ch): esso restituisce il carattere maiuscolo corrispondente a c (se c è già maiuscolo, restituisce c stesso). Per sapere se un carattere è una lettera, potete utilizzare il metodo statico Character.isLetter(char ch). Nella codifica ASCII, i caratteri alfabetici sono consecutivi, cioè A è seguito da B eccetera. Per questo motivo, se c è un carattere alfabetico maiuscolo, c- A è un valore compreso fra 0 (per la lettera A) e 25 (per la lettera Z). Utilizzando i suggerimenti precedenti, è facile utilizzare un array di 26 interi per contare le occorrenze dei caratteri nella stringa. Esercizio 9 il crivello di Eratostene Il crivello di Eratostene è un algoritmo antico per determinare i numeri primi fino a un dato intero n. L algoritmo utilizza un array di variabili booleane che rappresentano il valore di verità i è primo. All inizio l array è inizializzato a vero. L algoritmo itera sugli elementi del vettore a partire dalla posizione 2, e ogni volta che trova in posizione p il valore vero (cioè il numero p è fino a quel punto stimato primo) imposta a falso i valori del vettore in posizioni multiple di p, cioè 2p, 3p, eccetera (fino al limite n). Alla fine, si scandisce il vettore a partire dalla posizione due e si stampano tutte le posizioni il cui valore è vero. >java Eratostene Suggerimenti Il programma richiede due cicli annidati: il primo scandisce le posizioni del vettore alla ricerca di quelle impostate a vero; il secondo mette a falso le posizioni multiple di quelle trovate. Esercizio 10 il codice di Vigénère Un sistema di cifratura molto diffuso fin dal XVI secolo è il cosiddetto codice di Vigénère, una variante polialfabetica del cifrario di Cesare. Supponete di avere un testo in chiaro, costituito semplicemente da una sequenza di caratteri alfabetici. Per applicare il codice di Vigénère, occorre anche avere una chiave di cifratura, spesso chiamata verme. Il testo in chiaro e il verme vengono scritti uno sopra l altro (il verme viene, se necessario, ripetuto più volte e/o troncato, in modo che le due sequenze di caratteri abbiano la stessa lunghezza). Quindi i due testi vengono 5

6 sommati lettera per lettera. In pratica, questo corrisponde a identificare ogni lettera dell alfabeto con un numero fra 0 e 25, e nell effettuare le somme modulo 26. Ad esempio, se il testo fosse ARRIVANOIRINFORZI e il verme fosse VERME: Si eliminano tutti i caratteri non alfabetici dalla frase, ottenendo: ARRIVANOIRINFORZI Si ripete la parola VERME, eventualmente troncandola, fino ad avere lo stesso numero di caratteri della frase da convertire: VERMEVERMEVERMEVE Si sommano le lettere corrispondenti: ARRIVANOIRINFORZI + VERMEVERMEVERMEVE Si ottiene quindi il risultato: VVIUZVRFUVDRWAVUM E si ristampa il risultato inserendo gli spazi che erano stati rimossi. Per spiegare meglio, notate che nell esempio sopra: A+V=V (essendo A la 0-esima lettera e V la 21-esima lettera, A+V=0+21=21=V), R+E=V (R è la 17-esima lettera e E la quarta, R+E=17+4=21=V) eccetera. Notate inoltre che lo stesso algoritmo si può usare anche per decifrare un testo cifrato: è sufficiente sostituire al verme usato il suo opposto (sostituendo a ogni A una A, a ogni B una Z, a ogni C una Y, a ogni D una X ecc.) oppure si modifica l algoritmo sottraendo le lettere del verme (nella codifica viene effettuata la somma). Scrivete un programma che legga da tastiera un verme (costituito solo da lettere maiuscole), poi legga il testo in chiaro (anch esso costituito solo da lettere maiuscole) e stampi il testo cifrato. Notate che il programma crittografa solo i caratteri alfabetici; i caratteri non alfabetici (ad.es. spazi, virgole, etc..) devono rimanere tali e quali. Dopo aver scritto e provato il programma, provate a scrivere un programma per la decodifica di un testo cifrato con il codice di Vigénère: >java Soluzione Verme: VERME Testo in chiaro: ARRIVANO I RINFORZI Testo cifrato: VVIUZVRF U VDRWAVUM >java Soluzione Verme: FWJOW Testo in chiaro: VVIUZVRF U VDRWAVUM Testo cifrato: ARRIVANO I RINFORZI Suggerimenti Utilizzando il metodo String.toCharArray() potete convertire una stringa in un vettore di caratteri. È molto più comodo scrivere il cifratore utilizzando un vettore contenente il verme e uno contenente il messaggio. 6

7 Se il verme è lungo m caratteri, il carattere di posto i del messaggio deve essere cifrato utilizzando il carattere di posto i mod m del verme. Esercizio 11 Chiocciole quadrate di Numeri Scrivere un programma che legga da linea di comando due interi n e startnum e stampi i numeri da startnum in poi, disponendoli secondo la forma di una chiocciola quadrata di dimensione nxn come mostrato negli esempi. (Notate che nella stampa i numeri sono separati da caratteri di tabulazione ( \t ). >java Lab08_Es >java Lab08_Es >java Lab08_Es Esercizio 12 Chiocciole RETTANGOLARI di Numeri Scrivere un programma che legga da linea di comando tre interi n, m e startnum e stampi i numeri da startnum in poi, disponendoli secondo la forma di una chiocciola rettangolare di larghezza n e altezza m, come mostrato negli esempi. (Notate che nella stampa i numeri sono separati da caratteri di tabulazione ( \t ). >java Lab08_Es

8 >java Lab08_Es >java Lab08_Es >java Lab08_Es >java Lab08_Es

Laboratorio di programmazione

Laboratorio di programmazione Laboratorio di programmazione 5 novembre 5 Stampa a rovescio con vettori Scrivete un programma che legge da riga di comando un intero n, legge da tastiera n interi, li inserisce in un vettore di interi

Dettagli

LABORATORIO 7 ARRAY. ATTENZIONE: argomenti da linea di comando!!!

LABORATORIO 7 ARRAY. ATTENZIONE: argomenti da linea di comando!!! LABORATORIO 7 ARRAY Esercizio Minimo Massimo Media Scrivere un programma che chieda all'utente di inserire un numero intero n, e quindi chieda di inserire n numeri interi. Dopo aver salvato i numeri inseriti

Dettagli

Laboratorio di algoritmi e strutture dati

Laboratorio di algoritmi e strutture dati Laboratorio di algoritmi e strutture dati Docente: Violetta Lonati Giovedì 6 ottobre 206 Esercizi introduttivi. Rovescia Scrivete un programma che legga una sequenza di numeri interi terminata da 0 e li

Dettagli

LABORATORIO 4 - Iterazioni

LABORATORIO 4 - Iterazioni LABORATORIO 4 - Iterazioni Ripassiamo l utilizzo della classe Scanner Scrivete un programma che, chiede all utente di inserire un numero intero n e quindi chiede all utente di inserire n numeri interi

Dettagli

Laboratorio di programmazione

Laboratorio di programmazione Laboratorio di programmazione 25 ottobre 2017 Da questo laboratorio, lo scheletro dei vostri programmi deve essere import java.io.*; import java.util.*; public class NomeClasse { public static void main(

Dettagli

Laboratorio di programmazione

Laboratorio di programmazione Laboratorio di programmazione 23 novembre 2016 Primi gemelli e numeri amichevoli Provate a scrivere una soluzione dei problemi suddetti dell ultimo laboratorio utilizzando un metodo statico boolean primo(int)

Dettagli

Laboratorio di programmazione

Laboratorio di programmazione Laboratorio di programmazione 9 novembre 2016 (Trump Day!) Lo scheletro dei vostri programmi deve essere import java.io.*; import java.util.*; public class... { public static void main( String[] args )

Dettagli

Lezione 6 programmazione in Java

Lezione 6 programmazione in Java Lezione 6 programmazione in Java Nicola Drago drago@sci.univr.it Dipartimento di Informatica Università di Verona Anteprima Le costanti I vettori Cos è un vettore Come si usa I vari tipi di vettori Esempi

Dettagli

Laboratorio 26/09/2000

Laboratorio 26/09/2000 Laboratorio 26/09/2000 Note Il compilatore usato è il DJGPP, un compilatore C/C++ a 32 bit ANSI C. Documentato e supportato via Internet (www.delorie.com). Per compilare utilizzare un comando del tipo

Dettagli

Prof. Pagani Corrado ALGORITMI ESERCITAZIONI ARRAY

Prof. Pagani Corrado ALGORITMI ESERCITAZIONI ARRAY Prof. Pagani Corrado ALGORITMI ESERCITAZIONI ARRAY ESERCIZI ARRAY 1 1. Dato un vettore composto da 10 numeri interi (assegnati direttamente da codice o letti da tastiera) determinare somma e media. 2.

Dettagli

Laboratorio di programmazione

Laboratorio di programmazione Laboratorio di programmazione 17 novembre 2014 Spaziate Scrivete un programma che legga una riga introdotta dall utente e ne stampi i caratteri a spaziatura doppia. Ma Ugo, non l abbiamo mai fatto! M a

Dettagli

Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Programmazione Assembly

Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Programmazione Assembly Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Programmazione Assembly Scrivere il codice ARM che implementi le specifiche richieste e quindi verificarne il comportamento usando il simulatore

Dettagli

Lezione 2 Primi programmi

Lezione 2 Primi programmi Lezione 2 Primi programmi Barbara Rita Barricelli Corso di Laboratorio di Programmazione -Turno B (Cognomi M-Z) CdL in Informatica per la Comunicazione Digitale A.A. 2017-2018 Riassunto di quanto visto

Dettagli

Laboratorio 1. 2) All interno della directory c:\temp\cognome\codici creare il file sorgente hello.c contenente il seguente codice:

Laboratorio 1. 2) All interno della directory c:\temp\cognome\codici creare il file sorgente hello.c contenente il seguente codice: Corso di Ingegneria Biomedica Corso di Ingegneria Elettronica Insegnamento di Informatica I a.a. 2007-08 Laboratorio 1 Durante le esercitazioni verra utilizzato il compilatore a riga di comando DJGPP,,

Dettagli

Alcuni Soluzioni. Fornire la specifica di un algoritmo risolutivo utilizzando lo pseudocodice visto a lezione.

Alcuni Soluzioni. Fornire la specifica di un algoritmo risolutivo utilizzando lo pseudocodice visto a lezione. Alcuni Soluzioni ESERCIZIO 1 Data una sequenza di interi di dimensione dim, determinare se esistono esattamente cont occorrenze del valore val, utilizzando per questo una variabile booleana check. Stato

Dettagli

Lab 04 Programmazione Strutturata"

Lab 04 Programmazione Strutturata Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 04 Programmazione Strutturata" Lab04 1 Valutazione in cortocircuito (1)" In C, le espressioni booleane sono valutate

Dettagli

Programmazione. 23 novembre 2016

Programmazione. 23 novembre 2016 Programmazione (Vers. B) 23 novembre 2016 Cognome... Nome... Matricola... Anno di corso... Alcune delle seguenti domande riguardano il vostro numero di matricola. Scrivete il vostro numero nel seguente

Dettagli

Laboratorio di programmazione

Laboratorio di programmazione Laboratorio di programmazione 9 novembre 2016 Sequenze di Collatz Considerate la seguente regola: dato un numero intero positivo n, se n è pari lo si divide per 2, se è dispari lo si moltiplica per 3 e

Dettagli

Parte 1: tipi primitivi e istruzioni C

Parte 1: tipi primitivi e istruzioni C Parte 1: tipi primitivi e istruzioni C Esercizio 1 Scrivere un programma che stampa la somma di una sequenza di N numeri inseriti dall utente. Esercizio 2 Scrivere un programma che stampa la somma di una

Dettagli

ERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} }

ERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} } ERRATA CORRIGE Pulizia del buffer di input: come fare? (1) Dopo aver richiamato getchar() per prelevare un carattere dal buffer di input, inseriamo una seconda chiamata a getchar(), senza assegnare il

Dettagli

a.a Codice corso: 21012

a.a Codice corso: 21012 Esercizio 1 Si acquisisca da tastiera una sequenza (a priori illimitata) di caratteri terminata da '\n'. Per poter acquisire ed elaborare anche eventuali caratteri di spaziatura, è necessario utilizzare

Dettagli

Programmazione. 23 novembre 2016

Programmazione. 23 novembre 2016 Programmazione (Vers. A) 23 novembre 2016 Cognome... Nome... Matricola... Anno di corso... Alcune delle seguenti domande riguardano il vostro numero di matricola. Scrivete il vostro numero nel seguente

Dettagli

Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona

Corso 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

Dettagli

Informatica (A-K) 5. Algoritmi e pseudocodifica

Informatica (A-K) 5. Algoritmi e pseudocodifica Vettori e matrici #1 Informatica (A-K) 5. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile & Ambientale A.A. 2011-2012 2 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

Dettagli

Fondamenti di Informatica T1. Lab 03 Istruzioni. Lab03 1

Fondamenti di Informatica T1. Lab 03 Istruzioni. Lab03 1 Fondamenti di Informatica T1 Lab 03 Istruzioni Lab03 1 Esercizio 1 Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media. Lab03 2 #include main()

Dettagli

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

Fondamenti di Informatica 6. Algoritmi e pseudocodifica Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

Dettagli

Esercitazione 4. Comandi iterativi for, while, do-while

Esercitazione 4. Comandi iterativi for, while, do-while Esercitazione 4 Comandi iterativi for, while, do-while Comando for for (istr1; cond; istr2) istr3; Le istruzioni vengono eseguite nel seguente ordine: 1) esegui istr1 2) se cond è vera vai al passo 3 altrimenti

Dettagli

Laboratorio di Architettura degli Elaboratori A.A. 2014/15 Programmazione Assembly

Laboratorio di Architettura degli Elaboratori A.A. 2014/15 Programmazione Assembly Laboratorio di Architettura degli Elaboratori A.A. 2014/15 Programmazione Assembly Scrivere il codice ARM che implementi le specifiche richieste e quindi verificarne il comportamento usando il simulatore

Dettagli

Esercizi. Stringhe. Stringhe Ricerca binaria

Esercizi. Stringhe. Stringhe Ricerca binaria Politecnico di Milano Esercizi Stringhe Stringhe Array di caratteri Funzioni: strcpy() strcmp() strlen() char stringaa[10], stringab[10]; strcpy(stringaa, stringab); Copia if (strcmp(stringaa, stringab)

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Vettori e matrici #1 Le variabili definite come coppie sono dette variabili scalari Fondamenti di Informatica 5. Algoritmi e pseudocodifica Una coppia è una variabile

Dettagli

Fondamenti di Informatica T1. Lab 03 Istruzioni. Lab03 1

Fondamenti di Informatica T1. Lab 03 Istruzioni. Lab03 1 Fondamenti di Informatica T1 Lab 03 Istruzioni Lab03 1 Esercizio 1 Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media. Lab03 2 scanf: STRINGA DI FORMATO

Dettagli

Esercizio 1" input tre numeri interi e stampi a video la loro somma e la media. n Realizzare un programma che legga da. Lab03 2

Esercizio 1 input tre numeri interi e stampi a video la loro somma e la media. n Realizzare un programma che legga da. Lab03 2 Fondamenti di Informatica e Laboratorio T-AB e Fondamenti di Informatica T1 Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2011/2012 Lab 03 Istruzioni" Lab03 1 Esercizio

Dettagli

Programmazione II Compitino (Vers. B)

Programmazione II Compitino (Vers. B) Programmazione II Compitino (Vers. B) 17 dicembre 2015 Cognome Jackson Nome Michael Matricola 696969 Anno di corso 1 Nei seguenti quesiti, quando vi è richiesto di scrivere un programma, potete limitarvi

Dettagli

Esercizi

Esercizi Esercizi Si implementi una funzione che riceve in input una matrice NxM di float. Definito picco un numero circondato in tutte le posizioni intorno solo da numeri strettamente inferiori alla sua metà,

Dettagli

1 Massimo pari e dispari di una sequenza

1 Massimo pari e dispari di una sequenza Laboratorio di programmazione, 18 Novembre 2016 1 Massimo pari e dispari di una sequenza Si scriva un programma (sequenza_max_pari_dispari.java) che legga in input una sequenza di interi terminata da 0.

Dettagli

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

INFORMATICA A. Titolo presentazione sottotitolo. Laboratorio n 2 Dott. Michele Zanella Ing. Gian Enrico Conti INFORMATICA A Titolo presentazione sottotitolo A.A. 2018-19 Milano, XX mese 20XX Laboratorio n 2 Dott. Michele Zanella Ing. Gian Enrico Conti Info Logistiche Contatti: michele.zanella@polimi.it (Squadra

Dettagli

Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano

Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano 2033 Milano (Italia) Piazza Leonardo da Vinci, 32 Tel. (+39) 02-2399.3400 Fax (+39) 02-2399.34 Informatica ed Elementi di

Dettagli

Esercizi in Python. Docente: Domenico Daniele Bloisi

Esercizi in Python. Docente: Domenico Daniele Bloisi Esercizi in Python Docente: Domenico Daniele Bloisi http://profs.scienze.univr.it/~bloisi/asl/asl.html Esercizio 1 Utilizzare il linguaggio di programmazione Python per stampare a video la scritta "prima

Dettagli

LABORATORIO DI PROGRAMMAZIONE TURNO 3 (SERALE)

LABORATORIO DI PROGRAMMAZIONE TURNO 3 (SERALE) LABORATORIO DI PROGRAMMAZIONE 2008 2009 TURNO 3 (SERALE) 5.XI.2008 VINCENZO MARRA Indice Esercizio 1 2 Unicode 2 2 Esercizio 2 2 Categorie di caratteri 2 Tempo: 30 min. 2 Esercizio 3 3 Massimi e minimi

Dettagli

Programmazione. 20 novembre 2017

Programmazione. 20 novembre 2017 Programmazione (Vers. A) 20 novembre 2017 Cognome... Nome... Matricola... Anno di corso... Alcune delle seguenti domande riguardano il vostro numero di matricola. Scrivete il vostro numero nel seguente

Dettagli

public static boolean occorre (int[] a, int n) { int i = 0; boolean trovato = false;

public static boolean occorre (int[] a, int n) { int i = 0; boolean trovato = false; Metodi iterativi con array monodimensionali 1. Scrivere un metodo che, dato un array di interi a, restituisce il valore minimo in a. public static int minimo (int[] a) { int min = a[0]; for (int i=1; i

Dettagli

Le basi del linguaggio Java

Le basi del linguaggio Java Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una

Dettagli

Programmazione II Compitino (Vers. B)

Programmazione II Compitino (Vers. B) Programmazione II Compitino (Vers. B) 15 gennaio 2015 Cognome Jackson Nome Michael Matricola 696969 Anno di corso 1 Nei seguenti quesiti, quando vi è richiesto di scrivere un programma, potete limitarvi

Dettagli

a.a Codice corso: 21012, HOMEWORKS

a.a Codice corso: 21012, HOMEWORKS HOMEWORKS Questi esercizi saranno proposti ogni 2 settimane e forniti sempre SENZA soluzioni. Come materiale complementare ai libri di testo e alle lezioni frontali e di esercitazione, si consiglia di

Dettagli

Liste di Liste Matrici

Liste di Liste Matrici Liste di Liste Matrici Una lista annidata è una lista che compare come elemento di un'altra lista. Nell'esempio seguente il quarto elemento della lista (elemento numero 3 dato che il primo ha indice 0)

Dettagli

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 9 - Array 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 Corso di Laurea

Dettagli

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso Obiettivi Di seguito vengono riportate una serie di domande che possono essere poste durante la prova formale del corso. Le seguenti domande non sono da ritenersi esaustive ma esemplificative. 1. Architettura

Dettagli

Programmazione II Compitino (Vers. A)

Programmazione II Compitino (Vers. A) Programmazione II Compitino (Vers. A) 15 gennaio 2015 Cognome... Nome... Matricola... Anno di corso... Nei seguenti quesiti, quando vi è richiesto di scrivere un programma, potete limitarvi al corpo del

Dettagli

Introduzione al linguaggio C Funzioni

Introduzione al linguaggio C Funzioni Introduzione al linguaggio C Funzioni Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Violetta Lonati

Dettagli

Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media.

Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media. Esercizio 1 Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media. #include Esercizio 1 - Soluzione int main() int num1, num2, num3, somma; float

Dettagli

Variabili e input/ Alessandra Giordani Lunedì 18 marzo

Variabili e input/ Alessandra Giordani Lunedì 18 marzo Variabili e input/ output da tastiera Alessandra Giordani agiordani@disi.unitn.it Lunedì 18 marzo 2013 http://disi.unitn.it/~agiordani/ Es. compilazione helloworld.c 2 Variabili e valori Una variabile

Dettagli

Laboratorio di Crittografia

Laboratorio di Crittografia Laboratorio di Crittografia Scuola Secondaria Inferiore Attività n. 1: Divisi a coppie, ognuno scriva sulla propria scitala un messaggio e consegni al compagno la striscia di carta srotolata. Il compagno

Dettagli

ESERCIZI DI PROGRAMMAZIONE C/C++ (con alcune tracce di soluzioni) aa e , prof. Garzotto

ESERCIZI DI PROGRAMMAZIONE C/C++ (con alcune tracce di soluzioni) aa e , prof. Garzotto ESERCIZI DI PROGRAMMAZIONE C/C++ (con alcune tracce di soluzioni) aa. 2000-01 e 2001-02, prof. Garzotto PARTE 1: Programmazione in the small I.1 a) Dire brevemente che problema risolve il seguente programma

Dettagli

Esercizi su strutture dati

Esercizi su strutture dati Esercizi su strutture dati Marco Alberti Programmazione e Laboratorio, A.A. 2016-2017 Dipartimento di Matematica e Informatica - Università di Ferrara Ultima modifica: 21 dicembre 2016 Liste collegate

Dettagli

Esercizio Filtro Rombi di Lettere

Esercizio Filtro Rombi di Lettere Esercizio Filtro Rombi di Lettere Scrivere un programma che legga da linea di comando un intero n>=0 e quindi stampi un rombo di altezza 2n-1 composto da lettere maiuscole, come indicato negli esempi.

Dettagli

Rappresentazione degli algoritmi

Rappresentazione degli algoritmi Rappresentazione degli algoritmi Universitá di Ferrara Ultima Modifica: 21 ottobre 2014 1 1 Diagramma di flusso Utilizzare il diagramma di flusso per rappresentare gli algoritmi che risolvono i seguenti

Dettagli

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 18. Iterazione. Maggio Iterazione

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 18. Iterazione. Maggio Iterazione Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 18 Maggio 2010 1 Contenuti Si vogliono formalizzare diverse tecniche per la risoluzione di problemi di: Accumulazione Conteggio Verifica

Dettagli

Calcolo su Polinomi ===================

Calcolo su Polinomi =================== Calcolo su Polinomi =================== Descrizione Implementare la classe Monomio le cui istanze rappresentano generici monomi a valori reali del tipo: m(x) = c* x d ovvero monomi contenenti una sola

Dettagli

Fondamenti di informatica T-1 (A K) Esercitazione 4: controllo del flusso

Fondamenti di informatica T-1 (A K) Esercitazione 4: controllo del flusso Fondamenti di informatica T-1 (A K) Esercitazione 4: controllo del flusso AA 2018/2019 Tutor: Lorenzo Rosa lorenzo.rosa@unibo.it 2 Esercitazione 4 Introduzione al calcolatore e Java Linguaggio Java, basi

Dettagli

Esercitazioni del Corso di Fondamenti di Informatica ARRAY. Prof. Giuseppe Manco. A cura di Ing. Andrea Tagarelli

Esercitazioni del Corso di Fondamenti di Informatica ARRAY. Prof. Giuseppe Manco. A cura di Ing. Andrea Tagarelli Esercitazioni del Corso di Fondamenti di Informatica ARRAY Prof. Giuseppe Manco A cura di Ing. Andrea Tagarelli ESERCIZIO 1 public static int[] elaboravettore (int[] v) che verifica che gli elementi di

Dettagli

Fondamenti di informatica T-1 (A K) Esercitazione 2: Linguaggio Java, basi e controllo del flusso

Fondamenti di informatica T-1 (A K) Esercitazione 2: Linguaggio Java, basi e controllo del flusso Fondamenti di informatica T-1 (A K) Esercitazione 2: Linguaggio Java, basi e controllo del flusso AA 2015/2016 Tutor: Vincenzo Lomonaco vincenzo.lomonaco@unibo.it Programma Introduzione al calcolatore

Dettagli

TERZA ESPERIENZA DI LABORATORIO. Programmazione con controllo di flusso FOR e SWITCH

TERZA ESPERIENZA DI LABORATORIO. Programmazione con controllo di flusso FOR e SWITCH CORSO DI LABORATORIO DI INFORMATICA CORSO DI LAUREA IN SDM ANNO ACCADEMICO 2018-2019 Docente: R. Sparvoli Esercitazioni: R. Sparvoli, F. Palma TERZA ESPERIENZA DI LABORATORIO Programmazione con controllo

Dettagli

a.a Codice corso: 21012

a.a Codice corso: 21012 ESERCIZIO 1 Scrivere un programma in linguaggio C che lette dallo standard input due sequenze vettoriali ordinate di interi V1[n], V2[m] ne crei una terza V3[n+m] anch essa ordinata, che contenga tutti

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica Laboratorio di Informatica Ingegneria Meccanica Esercitazione 5, 6 novembre 2007 versione 10 novembre 2007 Da Esercitazione 3 (I) 5. Scrivere un programma che, acquisito da stdin un valore intero (int)

Dettagli

import java.io.*; public class EU4_11 { private double larghezza; private double lunghezza; private double superficie;

import java.io.*; public class EU4_11 { private double larghezza; private double lunghezza; private double superficie; Un terreno rettangolare ha una superficie complessiva di metri quadrati 15.498 e una base di metri 126. Determina l altezza impiegando un applet. SUGGERIMENTO: progettare e realizzare una classe Rettangolo

Dettagli

Fondamenti di Informatica T-1 Modulo 2

Fondamenti di Informatica T-1 Modulo 2 Fondamenti di Informatica T-1 Modulo 2 Obiettivi di questa lezione 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli Valutazione in cortocircuito In C, le espressioni booleane sono

Dettagli

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

HOMEWORKS. in modo che il programma stampi N ripetizioni della stringa HelloWorld (su righe diverse), con N inserito dall utente. HOMEWORKS Questi esercizi saranno proposti di tanto in tanto e forniti sempre SENZA soluzioni. Come materiale complementare ai libri di testo e alle lezioni frontali e di esercitazione, si consiglia di

Dettagli

Programmazione II Compitino (Vers. A)

Programmazione II Compitino (Vers. A) Programmazione II Compitino (Vers. A) 17 dicembre 2015 Cognome... Nome... Matricola... Anno di corso... Nei seguenti quesiti, quando vi è richiesto di scrivere un programma, potete limitarvi al corpo del

Dettagli

Laboratorio di algoritmi e strutture dati

Laboratorio di algoritmi e strutture dati Laboratorio di algoritmi e strutture dati Docente: Violetta Lonati mercoledì 15 novemb017 L esercitazione di oggi prevede di utilizzare gli alberi binari e in particolare gli alberi binari di ricerca.

Dettagli

A. Ferrari. informatica. Java basi del linguaggio. Alberto Ferrari Informatica

A. Ferrari. informatica. Java basi del linguaggio. Alberto Ferrari Informatica informatica Java basi del linguaggio Alberto Ferrari Informatica struttura di un programma Java /** * Classe EsempioProgramma * Un esempio di programmazione in Java * @author 4A Informatica */ public class

Dettagli

ESERCIZIO allochi staticamente un vettore V1 di 10 float e allochi dinamicamente un vettore V2 di 10 double;

ESERCIZIO allochi staticamente un vettore V1 di 10 float e allochi dinamicamente un vettore V2 di 10 double; ESERCIZIO 1 Si realizzi un programma C che: 1. allochi staticamente un vettore V1 di 10 float e allochi dinamicamente un vettore V2 di 10 double; 2. chieda all utente di inserire gli elementi dei due vettori

Dettagli

Programmazione. Cognome... Nome... Matricola... Compitino del 24 novembre 2008

Programmazione. Cognome... Nome... Matricola... Compitino del 24 novembre 2008 Cognome................................ Nome................................... Matricola............................... Programmazione Compitino del 24 novembre 2008 Negli esercizi fate riferimento alle

Dettagli

Esempio: quanto mi piace questo corso! qufuafantofo mifi pifiafacefe qufuefestofo coforsofo!

Esempio: quanto mi piace questo corso! qufuafantofo mifi pifiafacefe qufuefestofo coforsofo! Esercizio 1 Scrivere un programma che acquisisca da tastiera una sequenza di caratteri terminata da! e riporti sul monitor una sequenza derivata dalla precedente secondo le regole dell alfabeto farfallino

Dettagli

Tipi strutturati in C. Stringhe

Tipi strutturati in C. Stringhe Tipi strutturati in C Stringhe Stringhe Una stringa di caratteri in C è un array di caratteri terminato dal carattere \0 Un vettore di N caratteri può dunque ospitare stringhe lunghe al più N-1 caratteri,

Dettagli

Laboratorio di informatica Ingegneria meccanica

Laboratorio di informatica Ingegneria meccanica Laboratorio di informatica Ingegneria meccanica Esercitazione 6 7 novembre 2007 Correzione di un programma Un programma può contenere errori sintattici e/o errori logici. Gli errori sintattici vengono

Dettagli

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

Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna: Prova di Laboratorio del 12.1.2005 [durata 90 min.] Corso A-B di Programmazione (A.A. 2004/05) 1. Leggere da tastiera un insieme di numeri interi ed inserirli in un vettore A 2. Calcolare tramite una funzione

Dettagli

Note ed esercizi aggiuntivi

Note ed esercizi aggiuntivi Corso di Programmazione Anno Accademico 2015 2016 Prof. Giovanni Pighizzini ed esercizi aggiuntivi Gli esercizi proposti sono utili per rivedere gli esempi riportati, alcuni dei quali sviluppati e discussi

Dettagli

LEZIONE 11 IMPARIAMO A PROGRAMMARE: I DATI E LE VARIABILI Laboratorio di Informatica per l Educazione A. A. 2014/2015

LEZIONE 11 IMPARIAMO A PROGRAMMARE: I DATI E LE VARIABILI Laboratorio di Informatica per l Educazione A. A. 2014/2015 1 LEZIONE 11 IMPARIAMO A PROGRAMMARE: I DATI E LE VARIABILI A. A. 2014/2015 PRIMI PASSI La più semplice sequenza di istruzioni che possiamo scrivere è quella costituita da un solo comando. come si fa a

Dettagli

Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)

Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Selezione di prove di esame al calcolatore Esercizio 1 (esame del 13/01/2006) La classe Matrice definisce oggetti che rappresentano matrici

Dettagli

Array Tipi di dato semplici e strutturati strutturati array elementi omogenei numero d ordine indice lunghezza dimensione

Array Tipi di dato semplici e strutturati strutturati array elementi omogenei numero d ordine indice lunghezza dimensione Array Tipi di dato semplici e strutturati i tipi di dato visti finora erano tutti semplici: int, char, float,... i dati manipolati sono spesso complessi (o strutturati) con componenti elementari o strutturate

Dettagli

Introduzione alla programmazione Esercizi risolti

Introduzione alla programmazione Esercizi risolti Esercizi risolti 1 Esercizio Si determini se il diagramma di flusso rappresentato in Figura 1 è strutturato. A B C D F E Figura 1: Diagramma di flusso strutturato? Soluzione Per determinare se il diagramma

Dettagli

Laboratorio di algoritmi e strutture dati

Laboratorio di algoritmi e strutture dati Laboratorio di algoritmi e strutture dati Mercoledì 8 ottobre 2008 Nota: ricordate le opzioni principali del comando gcc (per eventuali dubbi, consultate il manuale on-line man gcc): -o per salvare l output

Dettagli

Laboratorio di Programmazione Laurea in Bioinformatica

Laboratorio di Programmazione Laurea in Bioinformatica Laboratorio di Programmazione Laurea in Bioinformatica 15 dicembre 2008 1 Programmazione strutturata 1.1 Esercizio 1 Si scriva lo pseudocodice di un programma che calcola la media di due numeri reali.

Dettagli

LABORATORIO DI PROGRAMMAZIONE TURNO 3 (SERALE)

LABORATORIO DI PROGRAMMAZIONE TURNO 3 (SERALE) LABORATORIO DI PROGRAMMAZIONE 2008 2009 TURNO 3 (SERALE) 22.X.2008 VINCENZO MARRA Indice Esercizio 1 1 Lunghezza di una stringa 1 2 Commento 1 2 Esercizio 2 2 Conversione in maiuscole e minuscole 2 2 Esercizio

Dettagli

SECONDA ESPERIENZA DI LABORATORIO. Programmazione con controllo di flusso IF e WHILE

SECONDA ESPERIENZA DI LABORATORIO. Programmazione con controllo di flusso IF e WHILE CORSO DI LABORATORIO DI INFORMATICA CORSO DI LAUREA IN SDM ANNO ACCADEMICO 2018-2019 Docente: R. Sparvoli Esercitazioni: R. Sparvoli, F. Palma SECONDA ESPERIENZA DI LABORATORIO Programmazione con controllo

Dettagli

Variabili intere, funzioni e input/ Alessandra Giordani Lunedì 19 marzo

Variabili intere, funzioni e input/ Alessandra Giordani Lunedì 19 marzo Variabili intere, funzioni e input/ output da tastiera Alessandra Giordani agiordani@disi.unitn.it Lunedì 19 marzo 2012 http://disi.unitn.it/~agiordani/ Variabili e valori Una variabile è un nome logico

Dettagli

// Costante utilizzata per ddefinire la lunghezza massima (in caratteri) di un nome.

// Costante utilizzata per ddefinire la lunghezza massima (in caratteri) di un nome. import java.io.*; import java.util.arraylist; * * Questo programma rappresenta un tentativo di implementare un algoritmo per l'ordinamento alfabetico di una serie di stringhe (ad esempio i cognomi di un

Dettagli

Rappresentazione degli algoritmi

Rappresentazione degli algoritmi Rappresentazione degli algoritmi Universitá di Ferrara Ultima Modifica: 21 ottobre 2014 1 1 Diagramma di flusso Utilizzare il diagramma di flusso per rappresentare gli algoritmi che risolvono i seguenti

Dettagli

Lezione 8 Liste. Rossano Venturini. Pagina web del corso.

Lezione 8 Liste. Rossano Venturini. Pagina web del corso. Lezione 8 Liste Rossano Venturini rossano.venturini@unipi.it Pagina web del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start Esercizio 1 Prova del 18/05/2009 Scrivere un programma

Dettagli

Lezione 10 Liste. Rossano Venturini. Pagina web del corso.

Lezione 10 Liste. Rossano Venturini. Pagina web del corso. Lezione 10 Liste Rossano Venturini rossano@di.unipi.it Pagina web del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start Esercizio 1 Prova del 18/05/2009 Scrivere un programma che legga

Dettagli