• Non ci sono risultati.

9. ESERCIZI funzioni e procedure ricorsive su array a una dimensione

N/A
N/A
Protected

Academic year: 2021

Condividi "9. ESERCIZI funzioni e procedure ricorsive su array a una dimensione"

Copied!
2
0
0

Testo completo

(1)

9. ESERCIZI funzioni e procedure ricorsive su array a una dimensione

Gli esercizi hanno lo scopo di esercitarsi nell’utilizzo dei i costrutti del linguaggio visti a lezione, nella fattispecie:

i tipi int e float con le operazioni aritmetiche, le dichiarazioni di variabili, l’assegnamento, le funzioni printf e scanf e le costanti, le istruzioni condizionali e gli iteratori, gli array a una o pi`u dimensioni, i puntatori, le funzioni e le procedure (Eccetto specifici casi in cui qualche costrutto `e esplicitamente vietato). Si raccomanda allo studente di non usare costrutti non ancora spiegati perch`e lesercizio perderebbe il suo scopo pedagogico. `E anche vietato usare funzioni di libreria non esplicitamente richiamate nel testo.

Nelle descrizioni delle funzioni, la specifica dei parametri non `e esaustiva, ulteriori parametri possono essere aggiunti se necessario. Tutti gli esercizi che richiedono la scrittura di funzioni devono essere completati con un programma principale che permetta di verificare la correttezza della funzione.

ESERCIZIO 9.1

Si scriva in C una procedura ricorsiva con un parametro A array di interi, che legge dall’input K (con K dimensione di A) valori interi e li memorizza in A.

ESERCIZIO 9.2

Si scriva in C una procedura ricorsiva con un parametro A array di interi, che stampa in output gli elementi di A separati da uno spazio e chiusi tra parentesi.

ESERCIZIO 9.3

Si scriva in C una funzione ricorsiva con un parametro A array di interi che calcola il valore massimo contenuto nell’array.

ESERCIZIO 9.4

Si scriva in C una procedura ricorsiva, con 2 parametri A e B di tipo array di interi con lo stesso numero di elementi, che copia in B gli elementi contenuti in A.

ESERCIZIO 9.5

Si scriva in C una procedura ricorsiva, con un parametro A di tipo array di interi, che modifica A spostando a destra (shift) di una posizione tutti gli elementi, eccetto l’ultimo che deve essere spostato nella prima posizione ESERCIZIO 9.6

Si scriva in C una procedura ricorsiva, con un parametro A di tipo array di interi, che modifica A spostando a sinistra (shift) di una posizione tutti gli elementi, eccetto il primo che deve essere spostato in ultima posizione.

ESERCIZIO 9.7

Si scriva in C una procedura ricorsiva con un parametro A array di interi, che modifica A in modo che i suoi elementi compaiano in ordine inverso. Ad esempio, la funzione applicata all’array seguente:

3   -­‐2   12   2   0   8    

3   -­‐2   12   2   0   8  

A  

modifica A come segue:

    8  

A   0   2   12   -­‐2   3  

ESERCIZIO 9.8

Si scriva in C una funzione ricorsiva con un parametro A array di interi, contenente un numero pari di elementi, ed un parametro X di tipo int che calcola true (1) se la somma di ogni coppia contigua di elementi `e uguale ad X, false altrimenti. Ad esempio, la funzione applicata all’array seguente con X= 7, calcola true.

3   4   5   2   -­‐1   8    

La funzione applicata all’array seguente, con X=7 calcola false.

(2)

3   2   5   2   1   8    

ESERCIZIO 9.9

Si definisca in C un funzione ricorsiva con un parametro A array di interi e due valori interi X e Y che calcola true (1) se tutte le occorrenze di X sono seguite da un’occorrenza di Y, false (0) altrimenti. Ad esempio la funzione calcola true se X vale 5 e Y vale 4 e A contiene i seguenti valori:

5   4   3   5   4   2    

Cosa calcola la funzione se X non occorre?

ESERCIZIO 9.10

Si definisca in C un funzione ricorsiva con un parametro A array di tipo array di interi che calcola true se l’array contiene almeno un elemento positivo e restituisce nel parametro p (passato per indirizzo) il valore del primo elemento positivo contenuto in A.

Riferimenti

Documenti correlati

dove numero_elementi deve essere o un valore intero, o un’espressione costante oppure una variabile che sia stata però istanziata prima della definizione dell'array; ad esempio,

I: riempimento; il valore di ciascun elemento dello array Pi: il numero degli elementi da inserire (riempimento) non può essere maggiore della cardinalità dell’array. U:

● Se gli estremi degli scaglioni e/o le percentuali cambiano, devo cambiare solo l'array e non il programma che fa la ricerca!.. Algoritmi su

 Evitare l'uso di array paralleli trasformandoli in array Evitare l'uso di array paralleli trasformandoli in array di oggetti:.

¨  L’espressione a[i] restituisce il valore della variabile con indice i, quindi il tipo di questa espressione è il tipo base dell'array. Accesso agli elementi di

• Un costruttore che consente di definire una nuova TabellaVoti; il costruttore deve prendere in ingresso un array di stringhe che definisce la sequenza dei nomi degli studenti,

codice strumento prezzo FLT flauto 2500 VLN violino 8000. $inv_art

[r]