comprensione e modifica di codice

Slides:



Advertisements
Presentazioni simili
INFORMATICA Altre Istruzioni di I/O
Advertisements

1 Automazione dellalgoritmo ricorsivo di permutazione eseguita da Mariano Melchiorri.
Selezione multipla e tipo di dato carattere
MATLAB.
La ricorsione Simulazione. Il Main /* Programma che usa una funzione ricorsiva*/ #include #define MAX_N 8 main() int valore, dato; printf(Introduci n:
Tail recursion: esempio
Prof.ssa Chiara Petrioli -- corso di programmazione 1, a.a. 2006/2007 Corso di Programmazione 1 a.a.2007/2008 Prof.ssa Chiara Petrioli Corso di Laurea.
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
CORSO DI PROGRAMMAZIONE II
CORSO DI PROGRAMMAZIONE II
APPUNTI SUL LINGUAGGIO C
Procedure e funzioni nei linguaggi di alto livello Lab Programmazione - turno /2006.
Esempi di riuso del codice nei linguaggi di alto livello Lab Programmazione - turno /2006.
INFORMATICA Esercizi.
Esercizi FUNZIONI Passaggio di parametri per valore, variabili e tipi locali e globali, prototipo.
TIPI DI DATO Un tipo di dato T è definito come: un dominio di valori, D un insieme di funzioni F 1,..,F n sul dominio D un insieme di predicati P 1,..,P.
void binario(int n); …………………
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.
Ricerca sequenziale in un array di interi
s STRINGHE DI CARATTERI a p e \0
Flusso Statico e Dinamico 20/03/2006. Codice da Interpretare int valore; valore = funz(); if( valore > 0 ) { [codice1] } else { [codice2] } return valore;
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 5 -Test e verifica Ernesto Damiani Università degli Studi di Milano.
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
Stringhe Una stringa è un vettore di char con un carattere costante \0 che indica la fine della stringa il terminatore rende differenti gli array di char.
1 ELEMENTI DI INFORMATICA Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica Linguaggio C A.A. 2011/2012
Alberi. Gli alberi sono una generalizzazione delle liste che consente di modellare delle strutture gerarchiche come questa: Largo Fosco Dora Drogo Dudo.
Esercitazioni di Prog. II (esercizi su alberi ennari)
Tutorato Elementi di Informatica 2013
Divide et Impera Quicksort Mergesort Charles Antony Richard Hoare
SWITCH – CASE LINGUAGGIO C.
Commenti Ogni riga che comincia con il simbolo # non viene letta dall’interprete per cui rappresenta un modo per commentare il listato # Questo è un esempio.
Approcci nella soluzione di un problema
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
iterazione o ricorsione nel pensare per OGGETTI
Programmazione e Laboratorio di Programmazione
Fondamenti di Informatica
Programmazione e Laboratorio di Programmazione
Alberi n-ary Lezioni di C.
Process synchronization
APPUNTI SUL LINGUAGGIO C
Gestione di un banco di magliette
Gestione di un ristorante
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
esercizi alberi binari
APPUNTI SUL LINGUAGGIO C
comprensione e modifica di codice
APPUNTI SUL LINGUAGGIO C Esercizi sugli array e strutture
APPUNTI SUL LINGUAGGIO C Esercizi su File e Alberi Binari
APPUNTI SUL LINGUAGGIO C
APPUNTI SUL LINGUAGGIO C Simulazione Prima Prova Intermedia
Programmazione e Laboratorio di Programmazione
Corso di Algoritmi e Strutture Dati APPUNTI SUL LINGUAGGIO C
APPUNTI SUL LINGUAGGIO C Alberi Binari – primi esercizi
Esercizio Dato un albero binario, definiamo altezza minimale di un nodo v la minima distanza di v da una delle foglie del suo sottoalbero, definiamo invece.
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Fondamenti di Informatica
APPUNTI SUL LINGUAGGIO C
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Process synchronization
Programmazione e Laboratorio di Programmazione
Script su vettori Realizza uno script che chiede in input una dimensione d e crea un vettore di d numeri interi casuali. Poi calcola la somma dei due numeri.
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Corso di Fondamenti di Informatica
Transcript della presentazione:

comprensione e modifica di codice Esercitazione: comprensione e modifica di codice Dato un codice, bisogna comprendere cosa fa modificare tale codice secondo certe condizioni

comprensione e modifica di codice Esercitazione: comprensione e modifica di codice int f1(int N1, int N2){ int x = N1; N1++; while (N2 >= N1) { x += N1; } return x;

comprensione e modifica di codice Esercitazione: comprensione e modifica di codice Dato un codice, bisogna comprendere cosa fa assegnati due interi N1 e N2, f1 restituisce la somma di tutti gli interi compresi tra N1 e N2 (compresi) modificare tale codice secondo certe condizioni scrivere la versione ricorsiva f1_r di f1

comprensione e modifica di codice Esercitazione: comprensione e modifica di codice int f1_r(int N1, int N2){ if (N2 == N1) return N2; else { int x = N1; N1++; return x + f1_r(N1,N2); }

comprensione e modifica di codice Esercitazione: comprensione e modifica di codice int f2(int a[], int N){ int x = a[0]; int i = 1; for (i = 1; i < N; i++) if (a[i] > x) x = a[i]; return x; }

comprensione e modifica di codice Esercitazione: comprensione e modifica di codice Dato un codice, bisogna comprendere cosa fa Dato un vettore A di interi di dimensione N, f2 calcola il massimo valore degli elementi di A modificare tale codice secondo certe condizioni scrivere la versione ricorsiva f2_r di f2

comprensione e modifica di codice Esercitazione: comprensione e modifica di codice int f2_rr(int a[], int x, int N){ if (N == 0) return x; else {if (a[N] > x) x = a[N]; return f2_rr(a,x,N-1);} } int f2_r(int a[], int N) { int x = a[0]; return f2_rr(a,x,N-1);

comprensione e modifica di codice Esercitazione: comprensione e modifica di codice int f3(char a[], char c){ int i = 0; int x = 0; while (a[i] != '\0'){ if (a[i] == c) x++; i++; } return x;

comprensione e modifica di codice Esercitazione: comprensione e modifica di codice Dato un codice, bisogna comprendere cosa fa Data una stringa A ed un carattere c, f3 calcola le occorrenze di c in A modificare tale codice secondo certe condizioni scrivere la versione ricorsiva f3_r di f3

comprensione e modifica di codice Esercitazione: comprensione e modifica di codice int f3_rr(char a[], int i, char c){ if (a[i] == '\0') return 0; else if (a[i] == c) return 1 + f3_rr(a,i+1,c); else return f3_rr(a,i+1,c); } int f3_r(char a[], char c){ return f3_rr(a,0,c);