esercizi informatica politecnico torino

240
ESERCIZI QUELLI DI INFORMATICA PER L’ESAME ELEMENTI DI INFORMATICA Esercizio 1 Siano assegnati in ingresso, da tastiera, un vettore di interi V ed il suo riempimento n. Si progetti una funzione RICERCA_PARI che riceva in ingresso V e restituisca come valore di ritorno un valore booleano indicante se esiste nel vettore V almeno un elemento pari. Nel main bisognerà leggere, con una opportuna funzione, V ed n e bisognerà stampare un opportuno messaggio per comunicare l'esito della funzione RICERCA_PARI. Esempio: INPUT: n=7 V=1 3 4 5 7 8 9 OUTPUT: Esiste un elemento pari nel vettore Esercizio 2 Siano assegnati in ingresso, da tastiera, una parola ed un carattere. Si progetti una funzione CONTA che riceva in ingresso la parola ed il carattere e restituisca come valore di ritorno il numero di occorrenze del carattere nella parola. Nel main bisognerà leggere, con una opportuna funzione, la parola ed il carattere e bisognerà stampare un opportuno messaggio per comunicare l'esito della funzione CONTA. Esempio INPUT: Parola: supercalifragilissimevolmente Carattere: e OUTPUT: Il carattere compare 4 volte Esercizio 3 Siano dati in ingresso da tastiera il riempimento n e gli elementi di un vettore di interi V1. Si progetti una funzione COPIA che riceva in ingesso V1 ed n, e restituisca in un secondo vettore V2 gli elementi di posizione dispari del

Upload: gennarorende

Post on 24-Sep-2015

39 views

Category:

Documents


3 download

DESCRIPTION

esercizi di informatica

TRANSCRIPT

ESERCIZI QUELLI DI INFORMATICA PER LESAME ELEMENTI DI INFORMATICA

ESERCIZI QUELLI DI INFORMATICA PER LESAME ELEMENTI DI INFORMATICA

Esercizio 1

Siano assegnati in ingresso, da tastiera, un vettore di interi V ed il suo riempimento n. Si progetti una funzione RICERCA_PARI che riceva in ingresso V e restituisca come valore di ritorno un valore booleano indicante se esiste nel vettore V almeno un elemento pari. Nel main bisogner leggere, con una opportuna funzione, V ed n e bisogner stampare un opportuno messaggio per comunicare l'esito della funzione RICERCA_PARI.

Esempio: INPUT: n=7 V=1 3 4 5 7 8 9 OUTPUT: Esiste un elemento pari nel vettore

Esercizio 2 Siano assegnati in ingresso, da tastiera, una parola ed un carattere. Si progetti una funzione CONTA che riceva in ingresso la parola ed il carattere e restituisca come valore di ritorno il numero di occorrenze del carattere nella parola. Nel main bisogner leggere, con una opportuna funzione, la parola ed il carattere e bisogner stampare un opportuno messaggio per comunicare l'esito della funzione CONTA.

Esempio INPUT: Parola: supercalifragilissimevolmente Carattere: e OUTPUT: Il carattere compare 4 volte

Esercizio 3 Siano dati in ingresso da tastiera il riempimento n e gli elementi di un vettore di interi V1. Si progetti una funzione COPIA che riceva in ingesso V1 ed n, e restituisca in un secondo vettore V2 gli elementi di posizione dispari del vettore V1. Nel main bisogner leggere, con una opportuna funzione, V1 ed n e bisogner stampare con una opportuna funzione il vettore V2.

Esempio: INPUT: n=7 V1=1 3 4 5 7 8 9 OUTPUT: V2=3 5 8

Esercizio 4 Siano assegnati in ingresso, da tastiera, un vettore di interi V ed il suo riempimento r. Si progetti una funzione CERCA che riceva in ingresso V ed r ed individui valore e posizione del primo elemento di V il cui valore maggiore di quello dell'elemento che lo precede. Tale funzione deve anche restituire come valore di ritorno un valore booleano che indica se esista o meno un elemento di V maggiore di quello che lo precede. Nel main bisogner leggere, con una opportuna funzione, V ed r, e bisogner stampare con una opportuna funzione valore e posizione dell'elemento individuato o un opportuno messaggio nel caso in cui tale elemento non esista.

Esempi: INPUT: r = 7 V = 5 3 2 7 9 4 1 OUTPUT: posizione = 3 valore = 7

INPUT: r = 7 V = 18 12 8 7 5 4 1 OUTPUT: Non esiste nessun elemento di V maggiore del precedente.

Esercizio 5 Si progetti un programma per effettuare la conversione di un numero intero in base 10 alla base b. La conversione viene effettuata applicando l'algoritmo per divisioni successive. Si stabilisca in quali e quante funzioni opportuno suddividere il programma (suggerimento: si utilizzi una stringa per rappresentare il risultato della conversione).

Esempi:

Dammi il numero in base 10 da convertire: 328 Dammi la base: 2 Il numero dopo la conversione di base e': 101001000

Dammi il numero in base 10 da convertire: 429 Dammi la base: 3 Il numero dopo la conversione di base e': 120220

Dammi il numero in base 10 da convertire: 239 Dammi la base: 16 Il numero dopo la conversione di base e': EF

Esercizio 6 Si realizzi una libreria per effettuare le seguenti operazioni su matrici di numeri interi: Lettura e stampa di una matrice Calcolo della trasposta di una matrice Calcolo della somma di due matrici Calcolo del prodotto riga per colonna. Si stabilisca in quali e quante funzioni opportuno suddividere il programma e su quanti file organizzare il progetto.

*/date due liste di interi precedute dai loro riempimenti,creare un sottoprogramma che concatena la seconda alla prima nel seguente modo: se unl numero nella seconda uguale a 1 o pi numeri della prima ,mettere questo numero alla destra del suo uguale nella lista uno;mentre per gli elementi della lista 2 che non sono uguali a nessun elemento della uno,metterli in coda alla prima.Stampare la prima lista( modificata ).

per esempio: lista 1 = 1 2 3 4 lista 2 = 2 3 5 6

la lista 1 diventa: 1 2 2 3 3 4 5 6

void inserisci_doppi(int e1[], int &n, int e2[], int m) { int i, j, k;

// Ripeto per ogni elemento del secondo elenco for(i=0; ik; l--) v2[l] = v2[l-1]; v2[k] = v1[i]; n2++; i++; k++; } else if (v1[i] == v2[k]) { // In questo caso, bisogna conservare v1[i] // (spostandolo indietro per occupare // il posto di elementi cancellati prima) // e lasciar stare v2[k] dov'e'. v1[j] = v1[i]; i++; j++; k++; } else { // In questo caso bisogna scavalcare v[k] k++; } }

// Fine del while, tutti i rimanenti elementi di v1 vanno in // coda a v2 while (i n;

//inserisce elementi in v for (int i=0; i a[j]) {

scambia(a,j-1,j);

bubble = true;

}

i++;

}

}

bool ricerca_lineare1(int n, const int v[], int x){ //Ricerca di un valore in un array di interi mediante l'algoritmo della ricerca lineare (prima versione)

bool trovato=false;

int i=0;

while((i