Fondamenti di Informatica - PowerPoint PPT Presentation

About This Presentation
Title:

Fondamenti di Informatica

Description:

Fondamenti di Informatica Riassunto Utilizzo di PUNTATORI Utilizzo di MALLOC Array multidimensionali Esercitazione 4 Cosa vedremo oggi? Funzioni Passaggio di ... – PowerPoint PPT presentation

Number of Views:229
Avg rating:3.0/5.0
Slides: 15
Provided by: johnlo151
Category:

less

Transcript and Presenter's Notes

Title: Fondamenti di Informatica


1
Fondamenti di Informatica
  • Riassunto
  • Utilizzo di PUNTATORI
  • Utilizzo di MALLOC
  • Array multidimensionali

2
Esercitazione 4
  • Cosa vedremo oggi?
  • Funzioni
  • Passaggio di parametri
  • Funzioni ricorsive
  • Puntatori come valore di ritorno da funzione

3
Funzioni
  • Cosè una funzione?
  • Le funzioni permettono di scomporre problemi
    complessi in moduli più semplici, sfruttabili
    anche singolarmente per la risoluzione di
    problemi diversi

4
Funzioni
  • Come si definisce una funzione?

tipo_ritornato nome_funzione(tipo_param
nome_param, tipo_param1 nome_param1)
5
Funzioni
  • Come si usa una funzione?
  • Esempiocostruiamo un programma C che gestisca
    le 4 operazioni aritmetiche utilizzando le
    funzioni

6
Funzioni
  • Vediamo il codice allinterno dellambiente Dev C
  • In particolare notiamo
  • Come viene scritta la funzione

float somma(int a_somma, int b_somma) float
c_somma c_sommaa_sommab_somma
return c_somma
Parametri della funzione
Valore di ritorno
7
Funzioni
  • Come viene chiamata la funzione
  • Attenzione alla funzione errore_divisione

risultatosomma(primo_operando,secondo_operando)
int errore_divisione(void) printf("Non si
puo' dividere per 0!!!\n") return 1
8
Funzioni Ricorsive Fibonacci
  • E se una funzioen richiama se stessa?
  • Attuo un processo di ricorsione
  • Vediamo un esempio matematico

La successione di Fibonacci
9
Funzioni Ricorsive Fibonacci
Definizione F(m) 0 con mlt0 F(1) 1F(2)
1F(n) F(n-1) F(n-2) con ngt0 Per chiarezza i
primi 8 numeri della serie di Fibonacci sono 1
1 2 3 5 8 13 21 Come si realizza una
funzione in grado di svolgere tale conteggio???
10
Funzioni Ricorsive Fibonacci
  • include ltstdio.hgt
  • void main(void)
  • int risultato
  • int numero
  • printf("Inserisci un numero intero\n")
  • scanf("d",numero)
  • risultatofibonacci(numero) /chiamo la
    funzione passando un valore e prendo il valore
    restituito/
  • printf("nella posizione d della sequenza di
    fibonacci c'e' d\n",numero,risultato)
  • system("pause")
  • int fibonacci(int n)
  • int ris /dichiaro un intero che
    rappresenta il risultato/
  • if (nlt0)
  • return 0

11
Funzioni
  • Adesso sappiamo definire una funzione con dei
    parametri in ingresso ed un valore in uscita,
    inoltre sappiamo invocarla anche in modo
    ricorsivo
  • e se la mia funzione utilizzasse dei puntatori???

12
Funzioni ricerca in un vettore
  • Prendiamo lesempio già visto della ricerca di un
    elemento in un vettore
  • Scriviamo una funzione che prende in ingresso un
    puntatore a char e un intero e restituisce il
    puntatore alla posizione dellarray desiderata

13
Funzioni ricerca in un vettore
char cerca_in_vettore(char puntatore, int
ingresso) puntatorepuntatoreingresso
/sposto il puntatore / return puntatore
/ritorno il puntatore/
Il tipo di ritorno è un puntatore a char
Il primo parametro della funzione è un puntatore
a char
14
Funzioni ricerca in un vettore
includeltstdio.hgt void main(void) char
vettore" abcdefghilmnopqrstuvz"
/dichiaro e inizializzo un vettore !!!ATTENZIONE
ALLO SPAZIO INIZIALE!!!/ char ptr
/dichiaro un puntatore a intero/ int
input /dichiaro la mia variabile di
input/ int risposta /dichiaro una
variabile condizione di uscita dal do while/
ptrvettore0 /faccio puntare ptr
all'indirizzo di inizio del vettore/
/oppure/ / ptrvettore0 /
do printf("Inserisci un valore compreso
tra 1 e 21\n") scanf("d",input)
/catturo da tastiera la posizione da cercare/
ptrcerca_in_vettore(vettore0,input)
/passo alla funzione l'indirizzo di inizio
vettore e l'inetro catturato e ritono il valore
del puntatore/ printf("c", ptr)
/visualizzo il risultato/
printf("\nVuoi cercare un'altra lettera? 0SI -
1NO\n") scanf("d",risposta)/risposta per
iterazione/ while(risposta0)
system("pause")
Write a Comment
User Comments (0)
About PowerShow.com