Piero Scotto - C141 C14 #7 Do While – Break Funzioni ricorsive.

Slides:



Advertisements
Presentazioni simili
Fondamenti di Informatica
Advertisements

1 Automazione dellalgoritmo ricorsivo di permutazione eseguita da Mariano Melchiorri.
Uso avanzato di C.
Ricorsione Procedure e funzioni ricorsive. Definizioni Un oggetto si dice ricorsivo se è definito totalmente o parzialmente in termini di sé stesso La.
Iterazione A. Ferrari.
Interazione con lutente I menu. Menu La forma più semplice di interazione con lutente è il menu che fornisce una serie di opzioni tra le quali lutente.
Procedure e funzioni ricorsive
3TC – 5/11/2010 Cicli while e do.. While Contatori e Totalizzatori.
La ricorsione Simulazione. Il Main /* Programma che usa una funzione ricorsiva*/ #include #define MAX_N 8 main() int valore, dato; printf(Introduci n:
ESERCITAZIONE N. 5 ESERCIZIO N. 1 Autore: Biagio Brattoli S I Corso.
INFORMATICA Strutture iterative
Introduzione agli algoritmi. Definizione Sistema di regole e procedure di calcolo ben definite che portano alla soluzione di un problema con un numero.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Usa la tecnica del.
Tail recursion: esempio
Alberi binari Definizione della struttura dati: struct tree { };
Esercizi su alberi binari di ricerca
Esercizi su strutture dinamiche Fondamenti di Programmazione Canale AD a.a. 2009/2010.
Prof.ssa Chiara Petrioli -- corso di programmazione 1, a.a. 2007/2008 Corso di Programmazione 1 a.a.2007/2008 Prof.ssa Chiara Petrioli Corso di Laurea.
Laboratorio di Linguaggi lezione IX: Dentro le Librerie Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese.
1 Corso di Informatica (Programmazione) Lezione 11 (19 novembre 2008) Programmazione in Java: controllo del flusso (iterazione)
Corso di Informatica (Programmazione)
Corso di Laurea in Biotecnologie Informatica (Programmazione)
CORSO DI PROGRAMMAZIONE II
CORSO DI PROGRAMMAZIONE II
Algoritmi e Strutture Dati Valutazione del tempo di esecuzione degli algoritmi.
Progetto di algoritmi: metodologia "Divide et Impera"
APPUNTI SUL LINGUAGGIO C
ITERAZIONE e RICORSIONE (eseguire uno stesso calcolo ripetutamente) ITERAZIONE: ripetere piu volte una sequenza di operazioni istruzioni: for, while, do.
Esercizi su pile Scrivere una funzione che restituisca una nuova pila che contiene i valori di una pila in ingresso in ordine inverso. La pila originale.
Esercizi su code Date due code in ingresso a valori interi in ordine crescente, scrivere una funzione che restituisca una terza coda che contenga i valori.
INFORMATICA Altre Istruzioni di I/O. © Piero Demichelis 2 Funzioni di I/O Per la lettura e la scrittura da videoterminale il C prevede numerose istruzioni.
Iterazioni (for, do, while). Lab.Calc. AA2005/062 Iterazioni 3 istruzioni che consentono di eseguire un loop (ciclo): 1. while 2. do...while 3. for con.
Esercizio: Copiare un file in un nuovo file mediante le funzioni read e write.
Strutture di controllo nel C
Esercizi C su array e matrici
Lezione III Laboratorio di Programmazione. while e do while do S1; while(E); //S1 e eseguita almeno 1 volta E = vero? SI NO S1 while (E) S1; E = vero?
C14 #12 Verso le olimpiadi Piero Scotto - C14.
Piero Scotto - C141 C14 #6 I VETTORI (#define e const)
Piero Scotto - C141 C14 #14 Puntatori e file. Il problema dellordinamento. Debug.
Equazione di secondo grado.
1.Scrivere una funzione per cercare un numero x in una lista circolare di interi. La funzione deve restituire NULL se il numero non esiste. 2.Scrivere.
1. 2 Struct Al fine di illustrare luso del tipo struct, utilizzando le struct descritte nella lezione precedente, mostriamo come si scrive un programma.
Piero Scotto - C141 C14 #09 Gestione stringhe: esercizio. Switch case. Variabili logiche.
Programmazione di Calcolatori
void binario(int n); …………………
21 marzo 2002 (ri-)Avvisi: Giovedi 28 marzo la lezione e sospesa. Nuovo indirizzo di Spedire messaggi e esercizi solo.
Esercizi su File.
1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14.
Piero Scotto - C141 C14 SINTASSI DEL C VARIABILI e COSTANTI.
Gestione dei file di testo, matrici e struct
C14 #5 I cicli FOR e WHILE Piero Scotto - C14.
Piero Scotto - C141 C14 #8 Stringhe e relative funzioni.
Piero Scotto - C141 C14 #10 Il programma Dev-c++ Gestione dei file.
Soluzioni e commenti esercizi 1 e 2
Registro a scorrimento
Modifica Crivello di Eratostene
Tail recursion: esempio
Esercizi La distanza di hamming tra due interi x e y si definisce come il numero di posizioni nella rappresentazione binaria di x e y aventi bit differenti.
Esercizi su alberi binari di ricerca
Alberi binari Definizione della struttura dati: struct tree { };
ALGORITMI Un algoritmo è un insieme di istruzioni: -ordinate -non ambigue -effettivamente computabili.
L’iterazione while La sintassi è la seguente: while (condizione) {
Ripetizione La vera potenza dei programmi per computer risiede nella capacità di ripetere lo stesso calcolo o sequenza di istruzioni più volte, ogni volta.
4/5/20151 Metodi formali nello sviluppo software a.a.2013/2014 Prof. Anna Labella.
Corso JAVA Lezione n° 03 Istituto Statale di Istruzione Superiore “F. Enriques”
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
Quick sort void quick_sort (int a[],int l, int r) { int i, j,v, t; if (r>l) { v=a[r];//L’elemento “pivot” è quello più a dx i=l-1; j=r; // i scorre da.
Corso di Algoritmi e Strutture Dati APPUNTI SUL LINGUAGGIO C Esercizi su Alberi.
Esercizi.
Dalla programmazione tradizionale al paradigma OO
Transcript della presentazione:

Piero Scotto - C141 C14 #7 Do While – Break Funzioni ricorsive

Finalità del corso Piero Scotto - C142

3

4

5

6

7

8

9

10

Piero Scotto - C1411

Piero Scotto - C1412

Piero Scotto - C1413

Piero Scotto - C1414

Piero Scotto - C1415

Piero Scotto - C1416

Piero Scotto - C1417

Piero Scotto - C1418 7OL Esercizio N° 19 Olimpiadi 2010– La risposta vale 3 punti. Si consideri il seguente frammento di programma: int succ(int i) { if (i<=2) return(1); else return(3*succ(i-1)+2*succ(i-2)-succ(i-3)); } main() { printf("num=%d\n",succ(7)); } Cosa viene visualizzato a video dallesecuzione di main()?

Piero Scotto - C1419 int succ(int i) { if (i<=2) return(1); else return(3*succ(i-1)+2*succ(i-2)-succ(i-3)); } main() { printf("num=%d\n",succ(7)); } La funzione succ è ricorsiva perché richiama se stessa. Per capirne il funzionamento possiamo inserire il numero 7 (che rappresenta i)

Piero Scotto - C1420 int succ(int i) { if (i<=2) return(1); else return(3*succ(i-1)+2*succ(i-2)-succ(i-3)); } se i=7 (3*succ(6)+2*succ(5)-succ(4)) Ora ciascuna succ(n) richiama se stessa: succ(6)=3*succ(5)+2*succ(4)-succ(3) succ(5)=3*succ(4)+2*succ(3)-succ(2) con succ(2)=1 succ(4)=3*succ(3)+2*succ(2)-succ(1) con succ(1)=1 succ(3)=3*succ(2)+2*succ(1)-succ(0) con succ(0)=1 succ(3)=3*1+2*1-1=4 da cui si calcolano le altre