• Non ci sono risultati.

Costrutti iterativi:

N/A
N/A
Protected

Academic year: 2021

Condividi "Costrutti iterativi: "

Copied!
12
0
0

Testo completo

(1)

Costrutti iterativi:

Costrutti iterativi:

while

while, do , do while while e e for for while

while, do , do while while e e for for

Alessandra Giordani agiordani@disi.unitn.it Lunedì 2 aprile 2012

http://disi.unitn.it/~agiordani/

(2)

Il ciclo while

Il ciclo while

(3)

Esempio: somma dei primi n numeri

Esempio: somma dei primi n numeri

(4)

Esempio: fattoriale di n

Esempio: fattoriale di n

(5)

Nota:

Nota:

 Abbiamo dato per scontato che l’utente immettesse correttamente un numero positivo!

positivo!

 Sarebbe meglio controllare usando un if if (n<1) printf(“Errore\n”);

else {…}

(6)

Il ciclo do..while

Il ciclo do..while

(7)

Esempio: conta numero di spazi Esempio: conta numero di spazi

 Leggiamo una stringa carattere per carattere

getchar() prende un carattere dal buffer input

confronto se è uguale a spazio (o acapo)

(8)

Il ciclo for

Il ciclo for

(9)

Esempio: fattoriale di n, vers.2

Esempio: fattoriale di n, vers.2

(10)

Esempio: da stringa ad intero Esempio: da stringa ad intero

 Leggi una stringa di cifre

 Convertila in un numero intero

(11)

Esempio: da stringa ad intero Esempio: da stringa ad intero

 Usando un ciclo while…

 Migliore: una sola chiamata a getchar()

(12)

exit VS return exit VS return

 return

È un’istruzione (restituire un valore di funz.)

Anche il main è una funzione int main() { return 0; } int main() { return 0; }

 exit()

È una funzione (della libreria standard)

Si può usare solo nel main

#include <stdlib.h>

int main() { exit(0); }

Riferimenti

Documenti correlati

Descrittore coda des_coda: typedef struct { p_des primo, ultimo; }des_coda; Inserimento e prelievo in/da coda: !void Inserimento p_des proc,des_coda coda; p_des Prelievo des_coda

CREATE VIEW PICCOLI_FORNITORI AS SELECT CodF, NomeF, NSoci, Sede..

può concludersi con un successo o un insuccesso in caso di successo, il risultato delle operazioni eseguite deve essere memorizzato in modo permanente nella base di dati. in caso

in caso di insuccesso, la base di dati deve ritornare allo stato precedente l’inizio della transazione.. DB M G 11

Il DBMS genera il piano di esecuzione dell’istruzione se è già stato predefinito deve solo

Le operazioni bancarie richiedono di accedere alla base di dati e di modificarne il contenuto.. esecuzione di

Il metodo del gradiente coniugato converge in meno iterazioni rispetto agli al- tri metodi (solo 5 iterazioni, ma si osservi il test d’arresto differente).. Essendo la matrice

randsvd Random matrix with pre-assigned singular values and specified bandwidth. redheff Matrix of 0s and 1s