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

description

esercizi di informatica

Transcript of Esercizi Informatica Politecnico Torino

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