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