introduzione alla programmazione. scrivere programmi per risolvere un problema, occorre specificare...
TRANSCRIPT
![Page 1: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/1.jpg)
Introduzione alla programmazione
![Page 2: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/2.jpg)
Scrivere programmi• Per risolvere un problema, occorre
specificare un algoritmo• Un algoritmo può essere scritto in diversi
linguaggi, compreso il linguaggio naturale usato per la comunicazione tra persone
• Un algoritmo deve essere scritto in un linguaggio comprensibile all’esecutore
• Se vogliamo che sia il computer ad eseguire un algoritmo, esso deve essere scritto in un linguaggio di programmazione
• Un algoritmo scritto in un linguaggio di programmazione si chiama programma
![Page 3: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/3.jpg)
Scelta di un opportuno linguaggio di programmazione
• Nello scrivere un programma, incontriamo esigenze contrastanti:– usare un linguaggio facilmente
comprensibile dal calcolatore, quindi dettagliato e preciso
– usare un linguaggio facilmente comprensibile dal programmatore, quindi sintetico, simile al linguaggio naturale
![Page 4: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/4.jpg)
0100 00000000 0010 001000000001 000000000010 001000010000 001000001100 000011010100 000000000110 001000010010 001000010000 001000000011 000000010010 001000001000 00000100 0000 001000010101 00000000 1111 00000000
La scelta del calcolatore:
![Page 5: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/5.jpg)
La scelta del programmatore:
1. Se il numero più piccolo dei due divide esattamente (cioè con resto 0) il più grande allora stop, quello è il MCD.
2. altrimenti, calcola il resto della divisione dei due numeri, e ripeti dal passo 2 usando come numeri il resto ed il minore dei numeri di partenza
![Page 6: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/6.jpg)
I linguaggi di programmazione ad alto livello
• Sono linguaggi che cercano un compromesso tra i due estremi
• Ogni calcolatore è caratterizzato da un linguaggio di programmazione di basso livello o linguaggio macchina, il cui testo è una sequenza di bit (0 e 1) che il calcolatore interpreta, eseguendo una sequenza di azioni
• I linguaggi di programmazione ad alto livello sono più vicini al linguaggio umano scritto e quindi facilitano la descrizione di algoritmi da parte dei programmatori
• Tali linguaggi hanno la proprietà di poter essere ricondotti, in maniera non ambigua, al linguaggio macchina. Questa riconducibilità è la base per la interpretazione o compilazione del linguaggio stesso
![Page 7: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/7.jpg)
La macchina astratta C
![Page 8: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/8.jpg)
Componenti della macchina C
• Un’ unità di memoria• Un’unità di ingresso, Standard Input
– dalla quale leggo dati• Un’unità di uscita, Standard Output
– sulla quale scrivo dati• La memoria (e anche Standard Input e Standard
Output) è divisa in celle elementari, contenenti ciascuna un dato
• Le celle di memoria sono i “contenitori” (le variabili) che avevamo introdotto parlando di algoritmi– le chiamiamo “variabili” perchè il loro contenuto
può cambiare durante l'esecuzione del programma
![Page 9: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/9.jpg)
Variabili e identificatori• I dati che posso mettere in una variabile (o che posso
leggere/scrivere da/a Standard Input ed Output) possono essere di vari tipi:– numeri– caratteri– stringhe (successioni finite di caratteri, immagazzinati in
celle consecutive)
• Facciamo le seguenti semplificazioni / idealizzazioni per la macchina C:– non c'è nessun limite al numero delle celle– non c'è nessun limite al valore numerico contenuto
• Indichiamo le variabili (e facciamo loro riferimento) mediante dei “nomi”, o, meglio detto, mediante identificatori simbolici (x, a, alfa, pippo…come in figura)
![Page 10: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/10.jpg)
Identificatori simbolici
• Un identificatore simbolico è una successione di lettere e cifre e segno con al primo posto una lettera– per esempio: a, x, alfa, pippo, a1, xy23, Giuseppe,
DopoDomani...– non sono identificatori invece:2abc, 4x, 7
• Le lettere maiuscole sono distinte dalle corrispondenti lettere minuscole– Var1, var1 e VAR1 sono tre diversi identificatori
• Per evitare ambiguità non è possibile usare lo stesso identificatore per indicare diversi elementi né usare diversi identificatori per lo stesso elemento
![Page 11: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/11.jpg)
Parole chiave• Alcuni identificatori sono predefiniti e riservati,
– sono predefiniti perché sono associati a priori a qualche elemento del linguaggio
– sono riservati perché non possono essere usati dal programmatore con significati differenti da quello predefinito
• Esempi di identificatori riservati:– scanf e printf: indicano operazioni elementari di
ingresso/uscita e non possono essere impiegate in un programma C per indicare, per esempio, una variabile
• Parola chiave: parola predefinita del linguaggio di programmazione; anch’essa riservata– non può fungere da normale identificatore
• Per facilitarne l’identificazione, le parole chiave saranno scritte in neretto
![Page 12: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/12.jpg)
Struttura di un programma C
• Un programma C è fatto di– una intestazione– una sequenza di istruzioni (racchiusa tra
parentesi graffe { })
• Intestazione:– identificatore predefinito main, seguito da
parentesi rotonde ()
• Istruzioni:– i “comandi” che noi diamo al computer, scritti
nel linguaggio C
![Page 13: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/13.jpg)
Scheletro di programma C
main() { ... ... ... ... ...
}
![Page 14: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/14.jpg)
Tipi di istruzioni in C• Vogliamo poter mettere dei valori nelle variabili (nei
“contenitori”)– istruzione di assegnamento
• Vogliamo poter “comunicare” con il mondo esterno (chiedere all'utente di immettere dei valori, fargli vedere dei risultati)– istruzioni di ingresso/uscita
• Vogliamo poter fare delle scelte su che cosa fare (quali passi eseguire) in base a certe condizioni(se ... allora ... altrimenti ...)– istruzione condizionale
• Vogliamo poter ripetere delle operazioni (fino a che non si verfica una qualche condizione)– istruzione iterativa
![Page 15: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/15.jpg)
Istruzioni di assegnamento
• Assegna a una variabile il valore di un’espressione • Consiste nel simbolo = preceduto
dall’identificatore di una cella di memoria e seguito da un’espressione che definisce un valore, e terminato da un ';':– identificatore = espressione;– NB: Il simbolo di '=' indica l'assegnamento, non
l'uguaglianza
• L’espressione può essere costituita da:– valori costanti– identificatori di variabili– una loro combinazione ottenuta mediante i normali
operatori aritmetici (+,-, *, /) e parentesi, come nelle consuete espressioni aritmetiche
![Page 16: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/16.jpg)
Esempi di assegnamento
• Esempi :– x = 23;– w = 'a';– y = z;– r3 = (alfa*43–xgg)*(delta–32*ijj);– x = x+1;
• Esecuzione di istruzione di assegnamento:– valutazione dell’espressione – memorizzazione del risultato nella variabile a
sinistra di '='
![Page 17: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/17.jpg)
Istruzioni di ingresso/uscita• L’istruzione scanf permette all’utente di
immettere un dato attraverso lo standard inputscanf(x);Il valore immesso dall’utente viene inserito nella variabile x
• L’istruzione printf permette al calcolatore di inviare allo standard output (tipicamente: il monitor) il valore di una variabile o di un’espressioneprintf(x);Il valore della variabile x viene inviato allo standard outputprintf((x+y)/10);Il valore dell’espressione (x+y)/10 viene inviato allo standard output
![Page 18: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/18.jpg)
a,b(a>b)
q x/yr x-q*y
r = 0?sì no
y è l’MCD
x yy r
x ay b
printf(y);
scanf(a);
scanf(b);
![Page 19: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/19.jpg)
Casi particolari di espressioni
• carattere: per evitare ambiguità con gli identificatori, i caratteri vengono racchiusi tra apici:printf('a');
• le stringhe, similmente vengono racchiuse tra doppi apici:printf("alfa");– questa è un'abbreviazione per la sequenzaprintf('a');printf('l');printf('f');printf('a');
![Page 20: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/20.jpg)
Esempi di programma• Un programma che stampa a video “Buongiorno a
tutti”:
main(){ printf(“Buongiorno a tutti”);}
• Un programma che legge da tastiera due numeri (che vengono memorizzati nelle variabili a e b), e ne stampa la somma a video:
main(){ scanf(a); scanf(b); printf(a+b);}
![Page 21: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/21.jpg)
Istruzioni semplici e complesse• Le istruzioni di assegnamento e di
ingresso/uscita eseguono un’operazione elementare
• Esistono istruzioni complesse la cui esecuzione consta del compimento di più operazioni in sequenza: le istruzioni condizionate e quelle iterative
• Istruzioni condizionali: controllo di condizione + eventuale esecuzione di istruzioni
• Istruzioni iterative: controllo di condizione + eventuale esecuzione ripetuta di istruzioni
![Page 22: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/22.jpg)
Istruzioni condizionali
• Le istruzioni condizionali consentono di eseguire due diverse sequenze di istruzioni in alternativa, in base al verificarsi o meno di una condizione
condizione?sì nosequenza
di istruzioni1
sequenzadi istruzioni
2
![Page 23: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/23.jpg)
Istruzioni condizionali in C
• La parola chiave è if:if (condizione)
{ sequenza di istruzioni }• Se la condizione è vera, la sequenza di
istruzioni viene eseguita, altrimenti no.• Altra parola chiave: else (altrimenti)• else introduce le istruzioni che devono
essere eseguite se la condizione è falsa
![Page 24: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/24.jpg)
Esempioif(y > 100)
{ x = 2; y = y+1; }else { y = 150; }
• Il ramo else può essere assente; se il ramo else non c'è, se la condizione è falsa non viene eseguita la sequenza di istruzioni 1, e si va avanti con il resto del programma.
• Per brevità, se le sequenze sono fatte di una sola istruzione, le graffe si possono omettere
y>100?
x=2;y = y+1; y = 150;
sì no (else)
![Page 25: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/25.jpg)
Specifica delle condizioni in C
• Solitamente le condizioni riguardano il valore di certe variabili
• == uguaglianza (simbolo diverso da quello dell’assegnamento)
• < (minore), > (maggiore), <= (minore o uguale) , >= (maggiore o uguale), != (diverso)
• if (x==0) x = x+1;• if (y > 100) { x = x*y; z = 4; }
![Page 26: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/26.jpg)
Condizioni composte
• Una condizione può essere semplice, come gli esempi precedenti, oppure composta da diverse sottocondizioni, unite tra loro tramite operatori logici
• ! negazione (non), && congiunzione (e), || disgiunzione (oppure)
• !(x==4) x NON è uguale a 4
• (x<10)&&(y>=100) x minore di 10 e y maggiore o uguale a 100
• (y==1)||(z!=2)y è uguale a 1 o z è diverso da 2
![Page 27: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/27.jpg)
Operatori logici
• Data una condizione C, !C ha il valore di verità opposto
• Date due condizioni C1 e C2, C1&&C2 è vera solo quando sia C1 sia C2 sono vere, ed è falsa in tutti gli altri casi
• Date due condizioni C1 e C2, C1||C2 è falsa solo quando sia C1 sia C2 sono false, ed è vera in tutti gli altri casi
![Page 28: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/28.jpg)
Tabelle di veritàC !C
V F
F V
operatore NOT
C1 C2 C1&&C2
V V V
V F F
F V F
F F Foperatore AND
C1 C2 C1||C2
V V V
V F V
F V V
F F F
operatore OR
![Page 29: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/29.jpg)
Precedenza tra gli operatori
• Data la condizione C1 && !C2 || C3, conoscendo i valori di verità di C1, C2, e C3, come si procede per il controllo?
• ! precede &&• && precede ||• Quindi le condizione composta equivale a
(C1 && (!C2))||C3• Usare le parentesi aiuta a eliminare i dubbi
e anche a modificare le precedenze• !( (C4||C5) && C6 )
![Page 30: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/30.jpg)
Esempi
• if sempliceif (x==0)&&(y<10)x=y;x=x+1;
• if...elseif (x==0)&&(y<10)
x=y;else
x=x+1;• I risultati che otteniamo sono diversi
![Page 31: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/31.jpg)
If semplice
(x==0)&&(y<10)?
x=y
x=x+1
sì no
if (x==0)&&(y<10)x=y;x=x+1;
![Page 32: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/32.jpg)
If … else
(x==0)&&(y<10)?
x=y x=x+1
sì no (else)
if (x==0)&&(y<10)x=y;elsex=x+1;
![Page 33: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/33.jpg)
Uso delle parentesi graffe
• Le parentesi graffe { } delimitano un blocco di istruzioni: un insieme di istruzioni che vengono considerate come un’unica istruzione
• Il loro uso può modificare la sequenza di istruzioni eseguita in un’istruzione condizionale
![Page 34: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/34.jpg)
Esempio
• if semplice con istruzioni sempliciif (x==0)&&(y<10) x=y;x=x+1;
• if semplice con blocco di istruzioniif (x==0)&&(y<10) {x=y;x=x+1; }
![Page 35: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/35.jpg)
If semplice
(x==0)&&(y<10)?
x=y
x=x+1
sì no
if (x==0)&&(y<10)x=y;x=x+1;
![Page 36: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/36.jpg)
If semplice con blocco di istruzioni
(x==0)&&(y<10)?
x=y;x=x+1;
sì no
if (x==0)&&(y<10) {x=y;x=x+1; }
![Page 37: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/37.jpg)
Esempio errato
• Il seguente esempio invece è scorretto, perché all’interno del blocco avremmo un else non associato ad alcun if
if (x==0)&&(y<10) {x=y;
elsex=x+1; }
![Page 38: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/38.jpg)
If innestati
• Le istruzioni che vengono eseguite all’interno di un costrutto if possono a loro volta essere istruzioni condizionali
if (x==0)&&(y<10)if (x != y)
x=x+1;
![Page 39: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/39.jpg)
Nota sull’istruzione if…else• if (C1) if (C2) S1; else S2;
significa:
if (C1)if (C2) S1;
else S2;
oppure
if (C1)if (C2) S1;else S2; ???
• Convenzione: l’else viene attribuito all’ultimo if.Altrimenti, scriviamo esplicitamente:if (C1) {if (C2) S1;} else S2;
![Page 40: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/40.jpg)
Istruzioni iterative in C
• La parola chiave è while:while (condizione)
{ sequenza di istruzioni }
![Page 41: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/41.jpg)
Esecuzione dell’istruzione iterativa
1.viene valutata la condizione2.se la condizione è falsa, non viene eseguito il
corpo del ciclo (la sequenza di istruzioni), e si passa all’istruzione successiva al while
3.altrimenti viene eseguito una volta il corpo del ciclo, quindi si ricomincia (viene valutata la condizione etc.)
condizione?sequenza
diistruzioni
nosi
![Page 42: Introduzione alla programmazione. Scrivere programmi Per risolvere un problema, occorre specificare un algoritmo Un algoritmo può essere scritto in diversi](https://reader034.vdocuments.pub/reader034/viewer/2022051400/5542eb4f497959361e8bf0a7/html5/thumbnails/42.jpg)
While
(x<0)?
x=x+1
x=y
sì no
while (x<0)x=x+1;x=y;