• Non ci sono risultati.

9. ESERCIZI ricorsione

N/A
N/A
Protected

Academic year: 2021

Condividi "9. ESERCIZI ricorsione"

Copied!
1
0
0

Testo completo

(1)

9. ESERCIZI ricorsione

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

i tipi int e float con le operazioni aritmetiche, le dichiarazioni di variabili, lassegnamento, le funzioni printf e scanf e le costanti, le istruzioni condizionali e gli iteratori, le funzioni. (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. Per ogni esercizio definito di seguito per cui si chiede di definire una funzione, lo studente deve completare il programma aggiungendo un programma principale che invochi la funzione, leggendo quando ragionevole i dati in input.

ESERCIZIO 9.1

Si scriva in C una funzione ricorsiva con 2 parametri interi n ed m che calcola il MCD di m ed n. Si utilizzi lalgoritmo di Euclide. Si scriva un programma in C che verifichi il corretto funzionamento di tale funzione, leggendo dall’input due interi positivi, invocando la funzione e stampando il risultato calcolato.

ESERCIZIO 9.2

Si scriva una funzione C ricorsiva con un parametro n di tipo intero che calcola l’n-esimo numero della serie di Fibonacci. Si scriva nel commento introduttivo al codice, cosa calcola la funzione nel caso che il numero sia negativo. Si scriva un programma in C che verifichi il corretto funzionamento di tale funzione, leggendo dall’input un intero positivo, invocando la funzione e stampando il risultato calcolato.

ESERCIZIO 9.3

Si scriva una funzione ricorsiva n C con 2 parametri n ed m interi positivi, che calcola la divisione intera di n ed m senza usare l’operatore /, ma usando solo le operazioni di somma, sottrazione e gli operatori relazionali. Si scriva un programma in C che verifichi il corretto funzionamento di tale funzione, leggendo dall’input un intero positivo, invocando la funzione e stampando il risultato calcolato.

ESERCIZIO 9.4

Si scriva in C una funzione ricorsiva che dato un numero positivo n controlla se n `e un numero primo. Si scriva un programma in C che verifichi il corretto funzionamento di tale funzione, leggendo dall’input un intero positivo, invocando la funzione e stampando un opportuno messaggio.

ESERCIZIO 9.5

Si riscrivano le funzioni iterative che hanno come parametro un array in versione ricorsiva, aggiungendo se necessario uno o pi`u parametri. Si scriva per ognuna di tali funzioni un programma in C che verifichi il corretto funzionamento di tale funzione, Si leggano dall’input i valori dell’array ed eventuali altri dati necessari, si invochi la funzione e si stampi il risultato.

Riferimenti

Documenti correlati

Da allora, i monaci del tempio si alternano per spostare i dischi dal piolo originario ad un altro piolo, seguendo le rigide regole di Brahma: i dischi vanno ma- neggiati uno

Analogamente, una funzione (o una procedura) viene detta ricorsiva quando all’interno del corpo della funzione vi è una chiamata alla funzione (o procedura)

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

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 che verifica la seguente

• Scrivere una funzione ricorsiva (in C) che, avendo in input un array di n interi di interi positivi, dia in output TRUE se tutti gli elementi sono maggiori di 10, FALSE altrimenti..

[r]

L’insertion Sort è uno algoritmo di ordinamento molto efficiente per ordinare un piccolo numero di elementi. L’idea di ordinamento è simile al modo che un giocatore di bridge

L’insertion Sort è uno algoritmo di ordinamento molto efficiente per ordinare un piccolo numero di elementi.. L’idea di ordinamento è simile al modo che un giocatore di bridge