Esercizi per il corso di Programmazione I

Documenti analoghi
Moltiplicazione. Divisione. Multipli e divisori

Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:

Laboratorio di programmazione

Esercizi sugli Algoritmi numerici

Kangourou della Matematica 2017 Coppa Kangourou a squadre Semifinale turno A Cervia, 6 maggio Quesiti

Un monomio è in forma normale se è il prodotto di un solo fattore numerico e di fattori letterali con basi diverse. Tutto quanto sarà detto di

ESERCIZIARIO DI MATEMATICA

Esercitazione 3. Espressioni booleane I comandi if-else e while

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);

MAPPA MULTIPLI E DIVISORI

Frazioni. 8 Esercizi di Analisi Matematica Versione Argomenti: Operazioni sulle frazioni Tempo richiesto: Completare la seguente tabella: a b

APPUNTI DI MATEMATICA ALGEBRA \ CALCOLO LETTERALE \ MONOMI (1)

1 SIGNIFICATO DEL DETERMINANTE

1 Il polinomio minimo.

Parte Seconda. Prova di selezione culturale

Domande di Analisi Matematica tratte dai Test di autovalutazione o di recupero dei debiti formativi.

Si dice multiplo di un numero a diverso da zero, ogni numero naturale che si ottiene moltiplicando a per ciascun elemento di N.

Insiemistica. Capitolo 1. Prerequisiti. Obiettivi. Gli insiemi numerici di base Divisibilità e fattorizzazione nei numeri interi

Raccolta degli esercizi svolti in aula

Fondamenti di Informatica T-1 Modulo 2

PROGRAMMA SVOLTO DI INFORMATICA ANNO SCOLASTICO 2013/2014. DOCENTE: Villani Chiara

Gli insiemi e le relazioni. Elementi di logica

Conversione di base. Conversione decimale binario. Si calcolano i resti delle divisioni per due

= < < < < < Matematica 1

(x B x A, y B y A ) = (4, 2) ha modulo

Chi non risolve esercizi non impara la matematica.

Esempio B2.1: dire il grado del monomio seguente rispetto ad ogni lettera e il suo grado complessivo:

Corso di Geometria BIAR, BSIR Esercizi 2: soluzioni

Richiami di aritmetica (1)

A lezione sono stati presentati i seguenti passi per risolvere un problema:

Istituto d Istruzione Superiore Francesco Algarotti

Introduzione all algebra

Il calcolo letterale algebrico. (NLM teoria pag ; esercizi pag )

1 Multipli e sottomultipli. Divisibilità

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Matlab: esempi ed esercizi

algebra: insiemi numerici N e Q +, proprietà operazioni e calcolo linguaggio degli insiemi

Classi: Prime IA; IB; IC; ID; IE; IF Disciplina: MATEMATICA Ore settimanali previste: 4

Kangourou Italia Gara del 17 marzo 2016 Categoria Student Per studenti di quarta e quinta della scuola secondaria di secondo grado

z =[a 4 a 3 a 2 a 1 a 0 ] 10

CORSO ZERO DI MATEMATICA per Ing. Chimica e Ing. delle Telecomunicazioni MONOMI E POLINOMI Prof. Erasmo Modica

Definizione: Dato un sottoinsieme non vuoti di. Si chiama funzione identica o identità di in sé la funzione tale che.

Corso di Matematica e Statistica 3 Algebra delle matrici. Una tabella rettangolare: la matrice. Una tabella rettangolare: la matrice

Questo teorema era già noto ai babilonesi, ma fu il matematico greco Pitagora, intorno al 500 a.c., a darne una descrizione precisa.

PROGRAMMAZIONE DI MATEMATICA 2016/2017

ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi seconde

Prontuario degli argomenti di Algebra

Kangourou della Matematica 2016 Coppa a squadre Kangourou Semifinale turno A Cervia, 7 maggio Quesiti

Esercizi di programmazione in linguaggio C - Costrutto iterazione

Anno 4 Matrice inversa

Il Sistema di numerazione decimale

Chi non risolve esercizi non impara la matematica.

II Esonero di Matematica Discreta - a.a. 06/07. Versione B

Il teorema di Rouché-Capelli

ARITMETICA. Gli insiemi UNITA 1. Programma svolto di aritmetica e geometria classe 1 ^ D A.S

Precorso CLEF-CLEI, esercizi di preparazione al test finale con soluzioni

Esercizi Programmazione I

UNITÀ DIDATTICA 2 LE FUNZIONI

Ministero della Difesa Direzione Generale per il Personale Militare I Reparto

Strutture algebriche. Leggi di composizione. Leggi di composizione. Gruppi Insiemi di numeri Polinomi

Esercizi su algebra lineare, fattorizzazione LU e risoluzione di sistemi lineari

Matrici. Matrici.h Definizione dei tipi. Un po di esercizi sulle matrici Semplici. Media difficoltà. Difficili

SISTEMI LINEARI. x y + 2t = 0 2x + y + z t = 0 x z t = 0 ; S 3 : ; S 5x 2y z = 1 4x 7y = 3

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara

B7. Problemi di primo grado

Universita degli Studi di Ancona - Facolta di Ingegneria Laurea in Ing. Elettronica (VO) Ing. Informatica e Automatica - Ing. delle Telecomunicazioni

5) 1 2 essendo x1 e x2 due

Problema ( ) = 0,!

Individuazione di sottoproblemi

2. Risolvere con il metodo di eliminazione di Gauss con pivoting parziale il seguente sistema lineare:

Calcolo letterale. 1. Quale delle seguenti affermazioni è vera?

Introduzione alla programmazione Esercizi risolti

Esercizi di Algoritmi e Strutture Dati

Problemi, istanze, soluzioni

PROGRAMMA di MATEMATICA A. S. 2015/16 PRIVATISTI CLASSE PRIMA Aritmetica: Gli insiemi numerici N, Z, Q con le operazioni e le proprietà.

Competenza : 1. Comunicazione efficace Indicatore: 1.1 Comprensione

MATEMATICA CORSO A CORSO DI LAUREA IN SCIENZE BIOLOGICHE I PROVA IN ITINERE COMPITO PROVA 1

CURRICOLO DI MATEMATICA CLASSE PRIMA

Informatica B

2. Completa scrivendo il numeratore o il denominatore mancante in modo da avere frazioni tutte equivalenti.

Primo modulo: Aritmetica

RISPOSTE MOTIVATE QUIZ D AMMISSIONE MATEMATICA

SISTEMI DI RIFERIMENTO SU UNA RETTA E SU UN PIANO

Confronto tra stringhe. (modulo) Calcolo della media e della varianza. Ecco un elenco di codici Matlab: - Calcolo valore assoluto (modulo)

Kangourou Italia Gara del 28 marzo 2008 Categoria Student Per studenti di quarta o quinta della secondaria di secondo grado

SCUOLA PRIMARIA MATEMATICA (Classe 1ª)

Scelte ed alternative. Esercizi risolti

TEOREMA DEL RESTO E REGOLA DI RUFFINI

ESERCIZI DI PROGRAMMAZIONE DA SVOLGERE INDIVIDUALMENTE - parte 1 -

OBIETTIVI DI APPRENDIMENTO DI MATEMATICA-SCUOLA SECONDARIA DI PRIMO GRADO

Calcolo letterale. è impossibile (*) x y. per x = -25; impossibile per y= Impossibile. 15 y

Geometria Analitica Domande e Risposte

n deve essere maggiore di 0, altrimenti il metodo restituisce null.

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 4 - Polinomi e Interpolazione polinomiale

Matematica Discreta e Algebra Lineare (per Informatica)

( ) ( ) 2 + 3( a + b) = ( ) + b( x 1) = ( ) ( ) b( x + y) = ( ) x 2 ( a + b) y 2 + ( a + b) = ( ) + ( a b) = ( ) a( 4x + 7) = ( ) + 3a( 2 5y) =

Transcript:

Esercizi per il corso di Programmazione I Programmi senza IF e cicli Esercizio 1 Leggere da tastiera il raggio r di una circonferenza, calcolare area e lunghezza della circonferenza e visualizzare a video i risultati Esercizio 2 Leggere da tastiera i coefficienti a, b, c di un equazione di II grado ax 2 +bx+c = 0, calcolarne le soluzioni (nell ipotesi che il delta sia non negativo) e visualizzarle a video Esercizio 3 Leggere da tastiera i coefficienti a, b, c, d e i termini noti e, f di un sistema lineare di due equazioni e due incognite { ax + by = e cx + dy = f calcolare le soluzioni x, y (nell ipotesi che il determinante del sistema ad bc sia diverso da zero) e visualizzarle a video Esercizio 4 Leggere da tastiera i valori dell ipotenusa e di un cateto di un triangolo rettangolo, calcola la lunghezza dell altro cateto, il perimetro e l area del triangolo e visualizzare a video i risultati Esercizio 5 Leggere da tastiera il capitale C, il tasso i e il numero di anni t, calcolare il montante con la capitalizzazione semplice e quello con la capitalizzazione composta M s = C(1 + it), M c = C(1 + i) t e visualizzare i risultati Esercizio 6 Leggere da tastiera i tre lati di un triangolo a, b e c, calcolare il perimetro e l area, quest ultima con la formula di Erone ove p è il semiperimetro. Programmi con if/else S = p(p a)(p b)(p c) Esercizio 7 Estendere l esercizio 2, trattando il caso in cui il delta sia negativo e visualizzando un messaggio in tal caso Esercizio 8 Estendere l esercizio 3 trattando il caso in cui il determinante del sistema sia zero Esercizio 9 Leggere da tastiera due numeri interi e visualizzare il maggiore tra i due 1

Esercizio 10 Leggere da tastiera due numeri e visualizzare se i due numeri sono uguali, o se é maggiore il primo o il secondo Esercizio 11 Leggere da tastiera le lunghezze dei tre lati di un triangolo e indicare se il triangolo è equilatero (tre lati uguali), isoscele (due lati uguali e uno diverso) o scaleno (tre lati diversi) Esercizio 12 Leggere da tastiera tre numeri interi e visualizzare il maggiore Esercizio 13 Leggere da tastiera un intero A e dire se l anno A é bisestile (A divisibile per 4 e non divisibile per 100, oppure divisibile per 400) Esercizio 14 Leggere da tastiera il reddito I di un individuo, calcolare e visualizzare l imposta T secondo la formula 10% per redditi fino a 2000 euro 15% per redditi tra 2000 e 3000 euro 20% per redditi tra 3000 e 4500 euro 25% per redditi tra 4500 e 6000 euro 30% per redditi oltre 6000 euro Programmi con switch Esercizio 15 Leggere da tastiera un numero tra 0 e 9 e visualizzarlo come parola in inglese (ad es. inserendo 3 si ottiene three) Esercizio 16 Leggere da tastiera un numero tra 0 e 99 e visualizzarlo in numeri romani (ad es. 43 come XLIII) Esercizio 17 Leggere da tastiera un primo numero reale X, un carattere OP contenente il simbolo di un operazione matematica (+, -, *, /) e un secondo numero reale Y e calcolare X OP Y (cioè ad esempio se OP è + calcolare X + Y, se OP è calcolare X Y, ecc.) Esercizio 18 Leggere da tastiera una data (giorno e mese) e controllare se è una data valida, visualizzando un messaggio di conferma o di errore (ad esempio sono date corrette il 23/8, l 8/9 o il 13/11, sono invece errate le date 3/13, 31/4 e 30/2) Esercizio 19 Leggere da tastiera una data dell anno corrente sotto forma di giorno e mese e calcolare quanti giorni sono trascorsi dal primo gennaio (Sugg. aggiungere al giorno immesso dall utente il numero di giorni trascorsi tra il primo del mese e il primo gennaio) Programmi con while/do while Esercizio 20 Leggere da tastiera un numero intero assicurandosi che sia positivo, se invece è negativo o nullo far ripetere l immissione visualizzando un messaggio d errore. 2

Esercizio 21 Implementare l algoritmo di Euclide per calcolare il massimo comun divisore di due numeri interi: partendo dai due numeri iniziali si sostituisca il più grande con la differenza tra il più grande e il più piccolo fino a quando non si arriva ad avere due numeri uguali, che conterranno il MCD voluto. Esercizio 22 Migliorare l implementazione dell algoritmo di Euclide del MCD: partendo da due numeri iniziali si sostituisca uno dei due con il resto della divisione tra lui e l altro fino a quando il resto ottenuto non diventa zero, l altro numero rimasto è il MCD dei due numeri iniziali. Esercizio 23 Scrivere un programma che calcola la somma di un insieme illimitato di numeri: l utente immette un numero alla volta, alla fine inserisce zero, il programma si ferma visualizzando il totale Esercizio 24 Come il programma precedente, calcolare la media dei numeri immessi Esercizio 25 Scrivere un programma che legge una serie di numeri interi positivi fermandosi quando la somma dei numeri immessi supera un valore costante (ad esempio 100) Esercizio 26 Come il programma precedente, fermandosi però quando il numero immesso supera la somma dei numeri precedenti Esercizio 27 Calcolare la radice quadrata di un numero reale R con il metodo di ewton: si parta con X = R e ad ogni passo si aggiorni X con il valore 1 2 (X + R X ) e ci si fermi quando la differenza tra il vecchio valore di X e il nuovo non diventi in valore assoluto minore di una certa quantitá costante EPS. A quel punto X conterrá il valore approssimato di R. EPS serve ad indicare quante cifre esatte si vogliono di X, ad esempio per avere due cifre si pone EPS=0.01. Esercizio 28 Calcolare la costante di epero e tramite la formula e = n=0 sommando però solo un numero finito di termini: si aggiunga un addendo per volta a partire dal primo e si fermi il calcolo quando l addendo da aggiungere diventa più piccolo di una certa quantitá costante. Programmi con for Esercizio 29 Leggere da tastiera un numero e una stringa S e visualizzare volte la stringa S Esercizio 30 Leggere da tastiera un numero intero e calcolare il fattoriale di 1 n! 3

1 X i Esercizio 31 Leggere da tastiera due numeri interi e K calcolare il coefficiente binomiale ( ) K Esercizio 32 Leggere da tastiera un numero intero n e visualizzare tutti le coppie di numeri interi che hanno come somma n. Esercizio 33 Leggere da tastiera un numero intero K compreso tra 1 e 20 e visualizzare la tabella pitagorica dei numeri tra 1 e K. Esercizio 34 Leggere da tastiera un numero intero e successivamente numeri reali, calcolare a scelta una o più delle seguenti quantità la somma il prodotto la media aritmetica la media geometrica la media armonica i=1 X i [ i=1 X i ] 1 i=1 il massimo il minimo il campo di variazione (cioè il massimo meno il minimo) la varianza e visualizzare il risultato Esercizio 35 Leggere da tastiera un numero intero e successivamente coppie di numeri reali X, W e calcolare la media dei valori X pesata con i pesi W, ossia Xi W i Wi Esercizio 36 Leggere da tastiera un numero intero K e visualizzare a video il triangolo ( di Tartaglia di K righe, cioè quello che contiene i coefficienti binomiali i ) j, per i = 0,..., k, j = 0,..., i. Esercizio 37 Leggere da tastiera un numero intero n e determinare se è perfetto, cioè se la somma dei suoi divisori, tranne se stesso, è uguale a n 4

Programmi con gli array Esercizio 38 Leggere da tastiera un vettore di numeri reali e visualizzare il quadrato di ognuno Esercizio 39 Leggere da tastiera un vettore di stringhe e visualizzare il vettore in ordine inverso, cioè visualizzando prima l ultima stringa inserita, poi la penultima, ecc. fino alla prima inserita. Esercizio 40 Leggere da tastiera un vettore di numeri reali e calcolare una o più quantità dell esercizio 34. Esercizio 41 Leggere da tastiera un vettore di numeri reali e visualizzare le posizioni dell elemento minimo e dell elemento massimo. Esercizio 42 Leggere da tastiera un vettore di numeri reali e visualizzare gli elementi del vettore che differiscono in valore assoluto dalla media più di un valore costante (ad esempio 0.1) Esercizio 43 Leggere da tastiera un vettore X di numeri reali e visualizzare gli elementi del vettore X i tali che X i X s ɛ in cui X é la media di X, s é lo scarto quadratico medio e ɛ è una costante s = (xi X) 2 Esercizio 44 Leggere da tastiera un vettore di numeri interi e invertirlo (scambiare il primo con l ultimo, il secondo con il penultimo, ecc.) Esercizio 45 Leggere da tastiera e riempire un vettore con i primi numeri primi Esercizio 46 Leggere da tastiera un vettore ordinato A di interi, contenente elementi possibilmente duplicati, e memorizzare in un secondo vettore B tutti gli elementi di A senza duplicati, infine visualizzare B a video Esercizio 47 Svolgere l esercizio precedente senza l ipotesi che il vettore sia ordinato. Esercizio 48 Leggere da tastiera i coefficienti p i di un polinomio p di grado n (in totale sono n + 1 numeri) e un valore x e valutare il polinomio p nel punto x mediante la formula n p(x) = p i x i i=0 Studiare un modo per evitare di calcolare le potenze di x. 5

Esercizio 49 Partendo dai dati dell esercizio precedente, valutare il polinomio p derivata di p mediante la formula n p (x) = i p i x i 1 i=1 Anche in questo caso studiare un modo per evitare di calcolare le potenze di x. Esercizio 50 Leggere da tastiera due vettori A e B di interi di dimensione n e memorizzare in un vettore C di dimensione 2n l unione degli elementi dei due vettori, memorizzando una sola volta gli elementi in comune Esercizio 51 Leggere da tastiera due vettori A e B di interi di dimensione n e memorizzare in un vettore C di dimensione n l intersezione degli elementi dei due vettori Esercizio 52 Leggere da tastiera due vettori A e B di interi di dimensione n e memorizzare in un vettore C di dimensione n gli elementi di A che non stanno in B Esercizio 53 Leggere da tastiera i primi k elementi di un vettore A di interi di dimensione n (con k < n) e un intero x e inserire l elemento nella posizione centrale del vettore facendo scorrere di un posto verso destra tutti gli elementi successivi alla posizione centrale Esercizio 54 Leggere da tastiera un vettore A di interi di dimensione n e un intero x ed eliminare da A l elemento x nella prima posizione in cui si trova in A, facendo scorrere di un posto verso sinistra tutti gli elementi successivi alla posizione di x Programmi con le matrici Esercizio 55 Leggere da tastiera una matrice T di 7 righe e 3 colonne di numeri reali, contenente le temperature riportate in tre località negli ultimi sette giorni, e calcolare per ogni località la temperatura media, massima e minima. Esercizio 56 Leggere da tastiera una matrice A di 3 righe e 4 colonne di numeri reali e calcolare la matrice trasposta B, cioè ottenuta da A in cui le righe di A corrispondono alle colonne di B. Ovviamente B dovrà avere 4 righe e 3 colonne. Esercizio 57 Legge da tastiera una matrice di numeri reali e visualizzare la colonna della matrice con la somma degli elementi piú alta. Esercizio 58 (per chi già conosce la teoria delle matrici) Leggere da tastiera due matrici A e B di numeri reali e calcolare la somma C = A + B e il prodotto D = AB, visualizzando le due matrici ottenute Esercizio 59 (per chi già conosce la teoria delle matrici) Leggere da tastiera due matrici A e B di numeri reali e calcolare la matrice C = A t BA, ove per A t si intende la matrice trasposta di A. 6

Programmi con le stringhe Esercizio 60 Leggere da tastiera una stringa x e calcolare x, ossia la stringa inversa di x. Esercizio 61 Leggere da tastiera due stringhe x e y e calcolare la stringa x y x, ottenuta concatendo la stringa inversa di x, y e x. Ad esempio se x= gal e y= ri allora il programma deve visualizzare la stringa lagrilag Esercizio 62 Leggere da tastiera due stringhe X e Y e un intero n e calcolare due stringhe X e Y cosí definite: X ha i primi n caratteri di X e la parte di Y dal n + 1 esimo carattere in poi, Y ha i primi n caratteri di Y e la parte di X dal n + 1 esimo carattere in poi, Esercizio 63 Leggere da tastiera un aggettivo maschile singolare e visualizzare a video l aggettivo al maschile plurale, al femminile singolare e al femminile plurale Esercizio 64 Leggere da tastiera una stringa contenente un verbo all infinito in italiano e lo visualizza coniugato al presente indicativo (considerare solo i verbi regolari delle tre coniugazioni) Esercizio 65 Leggere da tastiera un numero intero n e calcolare la stringa di 0 e 1 rappresentazione binaria di n Esercizio 66 Leggere da tastiera due numeri interi n e b e calcolare la stringa rappresentazione di n in base b (attenzione alle basi maggiori di 10) Strutture e array di strutture Esercizio 67 Definire una struttura adatta a memorizzare una frazione, leggere da tastiera una frazione e semplificarla. Esercizio 68 Utilizzando la struttura della sezione precedente, leggere da tastiera due frazioni, calcolarne somma e prodotto e semplificarle Esercizio 69 Definire una struttura adatta a memorizzare un numero complesso, leggere da tastiera due numeri complessi e calcolarne somma e prodotto. Esercizio 70 Definire una struttura adatta a memorizzare una data, leggere da tastiera una data e visualizzarne la data successiva Esercizio 71 Definire una struttura dati adatta a memorizzare il cognome e lo stipendio dei dipendenti di un azienda, leggere da tastiera i dati e trovare il dipendente con lo stipendio più alto Esercizio 72 Definire il cognome l età e lo stipendio dei dipendenti di un azienda, leggere da tastiera i dati e visualizzare i dipendenti in ordine prima di stipendio e in caso di parità per età. 7

Esercizio 73 Definire una struttura dati adatta a memorizzare il nome, il numero di medaglie d oro, d argento e di bronzo delle squadre partecipante ad un olimpiade, leggere da tastiera i dati e visualizzare la classifica (prima contano gli ori, a parità gli argenti, a parità i bronzi) Esercizio 74 Definire una struttura dati adatta a memorizzare il cognome, il numero di conto e l importo degli ultimi movimenti dei correntisti di una banca, leggere da tastiera i dati e visualizzare per ogni correntista il numero di conto e la somma algebrica dei movimenti effettuati Esercizio 75 Definire una struttura adatta a memorizzare i dati degli esami di uno studente (nome materia, data, voto) e visualizzare un menù con cui è possibile inserire i dati di un nuovo esame, visualizzare la media e terminare il programma Esercizio 76 Definire una struttura adatta a memorizzare i dati degli studenti iscritti ad un corso di laurea (nome, cognome, matricola, numero e dati degli esami sostenuti) e visualizzare un menù con cui è possibile inserire i dati di un nuovo esame dato da uno studente, inserire un nuovo studente, eliminare uno studente, visualizzare gli esami e la media di uno studente e terminare il programma Procedure e funzioni on si forniscono esercizi esclusivi per le procedure e funzioni, ma si invita a risolvere gli esercizi precedenti sviluppando procedure o funzioni, che ricevono come parametri di ingresso i dati che invece nel testo originale dell esercizio sono letti da tastiera e che restituiscono in parametri di uscita (o come risultato, se si usa una funzione) gli eventuali risultati che nel testo originale dell esercizio sono visualizzati a video. Ad esempio l esercizio 39 diventa: Scrivere una procedura che riceve come parametro di ingresso un vettore di numeri reali e che restituisce in un parametro di uscita una delle quantità dell esercizio 34 Si eviti però di usare a tale scopo gli esercizi, come il 59, in cui ci sono troppi risultati Ricorsione Esercizio 77 Scrivere una funzione ricorsiva che calcola l elevamento a potenza di un numero reale X ad un esponente intero non negativo e Esercizio 78 Estendere l esercizio precedente al caso in cui l esponente sia anche negativo Esercizio 79 Scrivere una funzione ricorsiva che dato il numero di oggetti n e un numero intero k n calcola il numero di disposizioni D nk degli n oggetti a k a k secondo la formula D nk = n (n 1) (n 2)... (n k + 1) 8

Esercizio 80 Scrivere una funzione ricorsiva che conta il numero delle cifre di un numero intero (Sugg. se si prende un numero intero, ad esempio =12345, allora div 10=1234 è il numero tranne l ultima cifra, cioè ha un numero di cifre diminuito di uno rispetto a, da ciò... ). Esercizio 81 Scrivere una funzione ricorsiva che calcola la somma delle cifre di un numero intero. Ad esempio se il numero è 345 la somma delle cifre è 3 + 4 + 5 = 12. Esercizio 82 Scrivere una funzione ricorsiva che calcola, dati e K, il coefficiente binomiale secondo le ben note proprietà ( ) ( ) n n = = 1 0 n ( ) ( ) ( ) n n 1 n 1 = + k k 1 k Esercizio 83 Scrivere una funzione ricorsiva che controlla se una stringa è palindroma, cioè è indifferente leggerla da sinistra a destra o viceversa (ad es. anna, esse, onano, abccba, ecc.) Esercizio 84 Scrivere una funzione ricorsiva che dato un vettore X di interi e un numero intero n calcola il massimo dei primi n elementi di X Esercizio 85 Scrivere una funzione ricorsiva che dato un vettore A di interi, un numero intero n e un intero X restituisce true se X é presente tra i primi n elementi di A, false viceversa Liste Esercizio 86 Scrivere una funzione che calcola il massimo di una lista di interi Esercizio 87 Scrivere una procedura che ricevendo come parametro di ingresso una lista L di interi e due interi k1 e k2 restituisce in un parametro di uscita una seconda lista di interi che contiene gli elementi di L che sono compresi tra k1 e k2. Esercizio 88 Scrivere una procedura che data (come parametro di ingresso) una lista di interi restituisce come parametri di uscita la somma degli elementi di posto pari e la somma degli elementi di posto dispari Esercizio 89 Scrivere una procedura che date (come parametri di ingresso) due liste A e B di interi restituisce come parametro di uscita una lista che contiene tutti gli elementi di A che non sono contenuti in B Esercizio 90 Scrivere una procedura che data una lista ordinata L di interi, contenente elementi possibilmente duplicati, restituisce in un parametro di uscita una lista (ordinata) contenente tutti gli elementi di L senza duplicati. Esercizio 91 Scrivere una funzione che data una lista ordinata L di interi e un numero intero k restituisce come risultato la somma degli elementi di L minori di k 9

Alberi Esercizio 92 Scrivere una funzione che dato un albero binario R di interi e un intero X restituisce true se esiste un nodo di R con chiave pari a X, false altrimenti. Esercizio 93 Scrivere una funzione che dato un albero binario di ricerca R di interi e un intero X restituisce come risultato il numero di nodi di R con chiave superiore a X. Esercizio 94 Scrivere una funzione che dato un albero binario A restituisce come risultato il numero di nodi con un solo figlio Esercizio 95 Scrivere una funzione che dato un albero binario A restituisce true se ogni nodo ha una chiave maggiore delle chiavi dei suoi figli, false altrimenti File on si forniscono ulteriori esercizi per i file, ma si invita a risolvere gli esercizi delle sezioni relative agli array e agli array di strutture leggendo i dati da file e registrando su file gli eventuali risultati (sullo stesso file da cui si è letto per i casi in cui si richiede di modificare i dati iniziali). 10