Laboratorio di programmazione

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Laboratorio di programmazione"

Transcript

1 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 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(arg[]); dove arg è il nome che avrete dato al vettore unico argomento del main(). La parte in grassetto è quella inserita dall utente. java StampaRovescio Stampa in ordine con vettori Scrivete un programma analogo a quello dell esercizio precedente, ma che stampi i numeri in ordine di valore crescente. Possono venirvi utili i metodi della famiglia java.util.arrays.sort(). java StampaRovescio

2 Stampa a rovescio con liste Utilizzate la classe ArrayList per leggere una serie di interi terminata da - e stampare la lista in ordine inverso rispetto a quello di inserimento. Notate che dovrete usare la classe involucro Integer per creare un istanza di ArrayList che possa contenere interi. Per leggere una lista di interi terminata da -, utilizzate un ciclo di questo tipo, che mantiene in i un conteggio dei numeri letti fino a quel momento, e in x l ultimo numero letto: for(int i = ; ; i++) { int x = scanner.nextint(); if (x == -) break; // Qui fate qualcosa con n e i } Stampa in ordine con liste Utilizzate la classe ArrayList per leggere una serie di interi terminata da - e stampare la lista in ordine crescente di valore. Possono venirvi utili i metodi della famiglia java.util.collections.sort(). 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 *** T ** U * V * Z **

3 Suggerimenti Dato un carattere alfabetico c per trasformarlo nel corrispondente carattere maiuscolo potete usare il metodo statico Character.toUpperCase(char): 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). 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 (per la lettera A) e 5 (per la lettera Z). Utilizzando i suggerimenti precedenti, è facile utilizzare un vettore di 6 interi per contare le occorrenze dei caratteri nella stringa. 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 vettore di variabili booleane che rappresentano il valore di verità i è primo, inizializzato a vero. L algoritmo itera sugli elementi del vettore a partire dalla posizione, 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è p, 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. 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 sommati lettera per lettera. In pratica, questo corrisponde a identificare ogni lettera dell alfabeto con un numero fra e 5, e nell effettuare le somme modulo 6. Ad esempio, se il testo fosse ARRIVANOIRINFORZI e il verme fosse VERME: ARRIVANOIRINFORZI VERMEVERMEVERMEVE VVIUZVRFUVDRWAVUM 3

4 Infatti A+V=V (essendo A la -esima lettera e V la -esima lettera, A+V=+==V), R+E=V (R è la 7-esima lettera e E la quarta, R+E=7+==V) eccetera. Notate inoltre che lo stesso sistema si può usare anche per decifrare un testo cifrato: è sufficiente sostituire al verme usato per cifrare quello opposto (sostituendo a ogni A una A, a ogni B una Z, a ogni C una Y, a ogni D una X ecc.). Dovete scrivere un programma vigenere 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. Dopo aver scritto e provato il programma, provate a decodificare il seguente messaggio (sapendo che era stato codificato con il verme CANE, il cui opposto è YANW): KNIMCTRGKVRRVIXKFIAYVEYPC Verme: VERME Testo in chiaro: ARRIVANOIRINFORZI Testo cifrato: VVIUZVRFUVDRWAVUM Verme: FWJOW Testo in chiaro: VVIUZVRFUVDRWAVUM Testo cifrato: ARRIVANOIRINFORZI 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. 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. Massimo prefisso/suffisso comune Scrivete un programma che legga due stringhe dalla e ne stampi il massimo prefisso e il massimo suffisso comune. Il massimo prefisso comune di due stringhe s s s m e t t s t è la sequenza s s s j di massima lunghezza (cioè di massimo j) tale che s = t, s = t,..., s j = t j. Analogamente viene definito il massimo suffisso comune. Prima stringa: mamma Seconda stringa: madre Massimo prefisso: ma Massimo suffisso:

5 Prima stringa: pippo Seconda stringa: pappo Massimo prefisso: p Massimo suffisso: ppo Prima stringa: foo Seconda stringa: foo Massimo prefisso: foo Massimo suffisso: foo Frazioni continue Se a è un numero intero qualsiasi, e a, a,..., a n sono interi positivi, la notazione [a, a,..., a n ] sta per l espressione [a, a,..., a n ] = a +, a + a + a e viene chiamata frazione continua. Ad esempio, [, 5,, ] = Ovviamente, [a, a,..., a n ] è un numero razionale, e si può dimostrare che per ogni numero razionale esiste una sola frazione continua che lo rappresenti a meno di eventuali in fondo (poiché, ad esempio, [, 5,, ] = [, 5,, 3, ]). Inoltre, per ogni numero irrazionale esiste un unica frazione continua infinita che lo rappresenta. Scegliete un valore di n (p.es., n = ) e scrivete un programma che riceva in input a, a,..., a n e stampi in output [a, a,..., a n ]. In particolare, usate questo programma per calcolare [,,..., ]. Che valore ottenete? Riuscite a immaginare che celebre valore rappresenta la frazione infinita [,,,... ]? Suggerimento: Se chiamate x il valore della frazione continua [,,,... ], vale che e quindi... x = + x,. 5

LABORATORIO 8 ancora ARRAY

LABORATORIO 8 ancora ARRAY 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

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 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

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 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

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

LABORATORIO 6 METODI STATICI

LABORATORIO 6 METODI STATICI LABORATORIO 6 METODI STATICI Esercizio 1 - Primi gemelli e numeri amichevoli Provate a scrivere una soluzione ai problemi Primi Gemelli e Numeri Amichevoli (li trovate nelle scorse lezioni di laboratorio)

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

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

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

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

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 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

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

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

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

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

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

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

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

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

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

Note ed esercizi aggiuntivi

Note ed esercizi aggiuntivi Corso di Programmazione Anno Accademico 2013 2014 Prof. Giovanni Pighizzini Note ed esercizi aggiuntivi 6. Ancora uso dei cicli, tipi generici Esercizio 6.1 Scrivete un applicazione che legga un numero

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

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

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

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

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

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

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

III Appello - 4 giugno 2009

III Appello - 4 giugno 2009 Corso di laurea in Comunicazione digitale Fondamenti di architettura e programmazione AA 2008/09 III Appello - 4 giugno 2009 Cognome Matricola Nome 1 (4 punti) Scrivete il programma Java, Esercizio, che

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

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

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

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 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

Programmazione Preparazione al II Compitino

Programmazione Preparazione al II Compitino Programmazione Preparazione al II Compitino 15 gennaio 2015 Cognome House Nome Gregory Matricola 123456 Nei seguenti quesiti, quando vi è richiesto di scrivere un programma, potete limitarvi al corpo del

Dettagli

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO IV Indice

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO IV Indice LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2017 2018 4.IV.2018 VINCENZO MARRA Indice Parte 1. Caratteri e stringhe con la libreria Prog1 3 Esercizio

Dettagli

Fondamenti di Informatica T-1 Modulo 2

Fondamenti di Informatica T-1 Modulo 2 Fondamenti di Informatica T-1 Modulo 2 1 Obiettivi di questa esercitazione 1. Array e funzioni 2. Array e funzioni ricorsive 3. Array e confronto di array 2 Esercizio 1 Creare un programma che legga da

Dettagli

5. Quinta esercitazione autoguidata: liste semplici

5. Quinta esercitazione autoguidata: liste semplici 22 5. Quinta esercitazione autoguidata: liste semplici 5.1. Liste rappresentate mediante strutture e puntatori (LISTE1.C, LISTE2.C) Scrivere un programma che - costruisce una lista di k interi (con k letto

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

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Metodi statici e array Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2017/2018 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 14 METODI STATICI: Definizione Un metodo

Dettagli

Laboratorio di algoritmi e strutture dati

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

Dettagli

Capitolo 5. Array e collezioni. c 2005 Pearson Education Italia Capitolo 5-1 / 61

Capitolo 5. Array e collezioni. c 2005 Pearson Education Italia Capitolo 5-1 / 61 Capitolo 5 Array e collezioni c 2005 Pearson Education Italia Capitolo 5-1 / 61 Sommario: Array e collezioni 1 Array Array di oggetti Lunghezza di un array Accesso agli elementi di un array Array e cicli

Dettagli

Capitolo 16 Iterazione

Capitolo 16 Iterazione Capitolo 16 Accesso a sequenze I problemi esaminati in questo capitolo hanno lo scopo di accedere ed elaborare delle sequenze sequenze immesse dall utente lette dalla tastiera di lunghezza nota con un

Dettagli

Iterazione. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa E06. C. Limongelli Dicembre 2011

Iterazione. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa E06. C. Limongelli Dicembre 2011 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E06 C. Limongelli Dicembre 2011 1 Contenuti q Si vogliono formalizzare diverse tecniche per la risoluzione di problemi di: Accumulazione

Dettagli

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO III Indice

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO III Indice LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 18.III.2015 VINCENZO MARRA Indice Parte 1. L algoritmo euclideo 3 Esercizio 1 3 L algoritmo euclideo

Dettagli

Iterazione. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa E07. C. Limongelli Novembre 2007

Iterazione. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa E07. C. Limongelli Novembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E07 Iterazione C. Limongelli Novembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Iterazione 1 Contenuti Si vogliono formalizzare

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

ESERCITAZIONE N.2 LINGUAGGIO C. In preparazione alla prova in Itinere

ESERCITAZIONE N.2 LINGUAGGIO C. In preparazione alla prova in Itinere ESERCITAZIONE N.2 LINGUAGGIO C In preparazione alla prova in Itinere ORDINARE UN ARRAY INVERTIRE IL VALORE DI DUE VARIABILI Le due operazioni di assegnamento non possono essere contemporanee (deve esserci

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

ESERCIZIO 1 (STRINGHE)

ESERCIZIO 1 (STRINGHE) ESERCIZIO 1 (STRINGHE) Fornire N stringhe di caratteri in input al programma. Per ogni stringa: si stampi a video la stringa si sostituiscano tutte le occorrenze di un carattere ( old_char ) con un altro

Dettagli

Parte Input e output in linguaggio i C. 3. Programmazione strutturata 1 (if, switch, comunque segnalare dei warning

Parte Input e output in linguaggio i C. 3. Programmazione strutturata 1 (if, switch, comunque segnalare dei warning Obiettivi di questa esercitazione Fondamenti di Informatica T-1 Parte 2 Laboratorio 01 1. Input e output in linguaggio i C 2. Espressioni 3. Programmazione strutturata 1 (if, switch, do while) 1 2 Warning

Dettagli

Corso di Laurea Ingegneria Elementi di Informatica. Iterazione. C. Limongelli. Iterazione

Corso di Laurea Ingegneria Elementi di Informatica. Iterazione. C. Limongelli. Iterazione Corso di Laurea Ingegneria Elementi di Informatica C. Limongelli 1 Contenuti Si vogliono formalizzare diverse tecniche per la risoluzione di problemi di: Accumulazione Conteggio Verifica esistenziale Verifica

Dettagli

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO III Indice

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO III Indice LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2018 2019 20.III.2019 VINCENZO MARRA Indice Parte 1. L algoritmo euclideo 3 Esercizio 1 3 L algoritmo euclideo

Dettagli

Metodi statici. Dichiarazione e chiamata di metodi statici

Metodi statici. Dichiarazione e chiamata di metodi statici Metodi statici Dichiarazione e chiamata di metodi statici Cos è un metodo Un metodo è un blocco di istruzioni che fornisce una funzionalità e viene identificato con un nome Può avere dei parametri ed un

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

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 programmazione

Laboratorio di programmazione Laboratorio di programmazione 30 novembre 2007 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

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

2 Operatori matematici e costrutto if

2 Operatori matematici e costrutto if Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione delle operazioni tra numeri e del costrutto condizionale if. Si introducono anche le due funzioni

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

Oggi. La programmazione strutturata - II. Riassunto (1/2) Riassunto (2/2) Sequenza e selezione. if e while. Stefano Mizzaro 1

Oggi. La programmazione strutturata - II. Riassunto (1/2) Riassunto (2/2) Sequenza e selezione. if e while. Stefano Mizzaro 1 La programmazione strutturata - Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@uniud.it Programmazione, lezione 5 Oggi Video: http://code.org/

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 programmazione

Laboratorio di programmazione Laboratorio di programmazione Lezione II Tatiana Zolo zolo@cs.unipr.it 1 IL PROGRAMMA C++ Istruzioni (espressioni terminate da ; ) istruzioni di dichiarazione (es. int x = 0;); istruzioni di assegnamento

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

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

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

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

Esercitazione di Reti degli elaboratori

Esercitazione di Reti degli elaboratori Esercitazione di Prof.ssa Chiara Petrioli Christian Cardia, Gabriele Saturni Cosa vedremo in questa lezione? Gli Array Gli array multidimensionali Le stringhe I puntatori Esercizi Pagina 1 Gli Array Definizione

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

Stringhe in C. Alessandra Giordani Lunedì 23 aprile 2012

Stringhe in C. Alessandra Giordani Lunedì 23 aprile 2012 Stringhe in C Alessandra Giordani agiordani@disi.unitn.it Lunedì 23 aprile 2012 http://disi.unitn.it/~agiordani/ Stringhe Sono particolari array: Ogni elemento del vettore è di tipo char La stringa è terminata

Dettagli

Esercizi sulle stringhe

Esercizi sulle stringhe Esercizi sulle stringhe Esercizio 1 La cifratura è un processo di sostituzione, permutazione manuale ed automatica di simboli. Lo scopo di un criptosistema è di cifrare un testo intellegibile (in chiaro)

Dettagli

I/O e strutture di controllo

I/O e strutture di controllo Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2009/2010 I/O e strutture di controllo La presente dispensa e da utilizzarsi

Dettagli

Laboratorio 1. 15/16 marzo 2018

Laboratorio 1. 15/16 marzo 2018 Laboratorio 1. 15/16 marzo 2018 Attivitá Professionalizzante A.A. 2017/18 Premessa Quando avete finito gli esercizi, inviatemeli in un unico file compresso chiamato lab1 CognomeNome (zip, rar,...), all

Dettagli

I tipi strutturati e i record in C++

I tipi strutturati e i record in C++ I tipi strutturati e i record in C++ Docente: Ing. Edoardo Fusella Dipartimento di Ingegneria Elettrica e Tecnologie dell Informazione Via Claudio 21, 4 piano laboratorio SECLAB Università degli Studi

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

Il cifrario di Vigenère. Bizzoni Stefano De Persiis Angela Freddi Giordana

Il cifrario di Vigenère. Bizzoni Stefano De Persiis Angela Freddi Giordana Il cifrario di Vigenère Bizzoni Stefano De Persiis Angela Freddi Giordana Cifrari monoalfabetico e polialfabetico mono: cifrari a sostituzione o a trasposizione, associano ad ogni lettera dell alfabeto

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

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

Metodi statci. Dichiarazione e chiamata di metodi statci

Metodi statci. Dichiarazione e chiamata di metodi statci Metodi statci Dichiarazione e chiamata di metodi statci Cos è un metodo Un metodo è un blocco di istruzioni che fornisce una funzionalità e viene identificato con un nome Può avere dei parametri ed un

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

Tecniche iterative. Walter Didimo

Tecniche iterative. Walter Didimo Tecniche iterative Walter Didimo Tecniche iterative In questa lezione svolgeremo alcuni esercizi di definizione di classi con metodi che usano istruzioni condizionali istruzioni iterative Gli esercizi

Dettagli

Esame Laboratorio di Programmazione

Esame Laboratorio di Programmazione Esame Laboratorio di Programmazione 20 Giugno 2014 NOA Non è possibile usare le classi del package prog.io del libro di testo L obiettivo è scrivere una applicazione che permette di costruire delle torri

Dettagli

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro Laboratorio di Programmazione Lezione 2 Cristian Del Fabbro Prossima lezione GIOVEDÌ 29 OTTOBRE 14:00 Input da tastiera package input; import java.io.*; public class Input { public static void main(string[]

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

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

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 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 String Una stringa Java rappresenta uno specifico valore e come

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

Corso di Informatica Generale, I U.D. Esercizi di riepilogo delle prime quattro settimane di corso

Corso di Informatica Generale, I U.D. Esercizi di riepilogo delle prime quattro settimane di corso Corso di Informatica Generale, I U.D. Esercizi di riepilogo delle prime quattro settimane di corso Mauro Brunato Andrea Delai Questo foglio contiene esercizi risolvibili tramite le nozioni acquisite durante

Dettagli

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2013 2014 20.VI.2014

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2013 2014 20.VI.2014 APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2013 2014 20.VI.2014 VINCENZO MARRA Indice Esercizio 1 1 Leggere stringhe e caratteri 1 Esercizio 2 2

Dettagli

Laboratorio di Python

Laboratorio di Python Laboratorio di Python Matrici con Liste Lab09 5 Aprile 2017 Outline Correzione esercizi per oggi Matrici Teoria Esercizi Esercizi per casa Esercizio 1 per casa Scrivere una funzione che verifica se una

Dettagli

Lab 2 Info B. Diego Carrera Ing. Gian Enrico Conti 7 Novembre 2016

Lab 2 Info B. Diego Carrera Ing. Gian Enrico Conti 7 Novembre 2016 Lab 2 Info B Diego Carrera diego.carrera@polimi.it Ing. Gian Enrico Conti gianenrico.conti@mail.polimi.it 7 Novembre 2016 Per macchine PoliMI https://virtualdesktop.polimi.it 2 Richiami: Stringhe Le stringhe

Dettagli