Esempio: somma di due numerirossano/DIDATTICA/MDAMS-0607/lab-mdams-7.pdf · 30 Fondamenti di...

28
23 Fondamenti di Informatica Fondamenti di Informatica -- -- R.Gaeta R.Gaeta Esempio: somma di due numeri Scrivere l’algoritmo che esegue la somma di due numeri <HTML> <HEAD> <TITLE>ESEMPIO: somma di due numeri</TITLE> </HEAD> <BODY> <SCRIPT> <!-- Inizio script JavaScript var X; var Y; var Z; X = window.prompt("Inserisci il primo numero"); Y = window.prompt("Inserisci il secondo numero"); X = X*1; Y=Y*1; Z = X + Y; window.alert("Somma = " + Z); // Fine script --> </SCRIPT> </BODY> </HTML>

Transcript of Esempio: somma di due numerirossano/DIDATTICA/MDAMS-0607/lab-mdams-7.pdf · 30 Fondamenti di...

23

Fondamenti di Informatica Fondamenti di Informatica ---- R.GaetaR.Gaeta

Esempio: somma di due numeri• Scrivere l’algoritmo che esegue la somma di due numeri

<HTML><HEAD><TITLE>ESEMPIO: somma di due numeri</TITLE></HEAD><BODY>

<SCRIPT><!-- Inizio script JavaScript

var X;var Y;var Z;

X = window.prompt("Inserisci il primo numero");Y = window.prompt("Inserisci il secondo numero");X = X*1; Y=Y*1;

Z = X + Y;

window.alert("Somma = " + Z);// Fine script --></SCRIPT></BODY></HTML>

24

Fondamenti di Informatica Fondamenti di Informatica ---- R.GaetaR.Gaeta

Esempio: massimo tra due numeri

Dati due numeri, dire qual è il massimo tra i due.

startread Xread Yif (X > Y) then

max := Xelse

max := Yend ifwrite max

endend

read X

read Y

start

X > Yvero falso

write max

max := X max := Y

25

Fondamenti di Informatica Fondamenti di Informatica ---- R.GaetaR.Gaeta

Esempio: massimo tra due numeri<HTML><HEAD><TITLE>ESEMPIO: massimo tra due numeri</TITLE></HEAD><BODY><SCRIPT><!-- Inizio script JavaScriptvar X;var Y;var max;X = window.prompt("Inserisci il primo numero");Y = window.prompt("Inserisci il secondo numero");X = X*1; Y=Y*1;if (X>Y){max = X;

}else{max = Y;

}window.alert("Massimo = " + max);// Fine script --></SCRIPT></BODY></HTML>

26

Fondamenti di Informatica Fondamenti di Informatica ---- R.GaetaR.Gaeta

Strutture di controllo: iterazione

……azioniwhile (condizione logica)

azioni da ripetereend whileazioni seguenti ……

condizionelogica

azioni seguenti

azioni daripetere

vero

falso

azioni

27

Fondamenti di Informatica Fondamenti di Informatica ---- R.GaetaR.Gaeta

Iterazioni while

• Istruzione “while”while (condizione logica)

{

azioni da ripetere

}

• Se il blocco di istruzioni contengono una sola istruzione le parentesi graffe non sono necessarie (ma voi usatele comunque!)

• Come al solito le istruzioni vanno sempre terminate con un punto e virgola

28

Fondamenti di Informatica Fondamenti di Informatica ---- R.GaetaR.Gaeta

Esercizio: massimo di una sequenza

startmax := -1read numerowhile (numero > 0)

if (numero > max) thenmax := numero

end ifread numero

end whilewrite max

end

end

read numero

start

vero

falso

max := -1

numero >0 write max

numero > max

max := numero

read numero

vero

falso

29

Fondamenti di Informatica Fondamenti di Informatica ---- R.GaetaR.Gaeta

Esercizio: massimo di una sequenza<HTML><HEAD><TITLE>ESEMPIO: massimo tra due numeri</TITLE></HEAD><BODY><SCRIPT><!-- Inizio script JavaScriptvar numero;var max;

max = -1;numero = window.prompt("Inserisci un numero");numero = numero * 1;while (numero > 0){if (numero > max){max = numero;

}numero = window.prompt("Inserisci un numero");numero = numero * 1;

}window.alert("Massimo = " + max);// Fine script --></SCRIPT></BODY></HTML>

30

Fondamenti di Informatica Fondamenti di Informatica ---- R.GaetaR.Gaeta

Esercizio: massimo di una sequenzastart

max := -1read numerowhile (numero <> 0)

if (numero < 0) thenwrite “solo positivi!!”

elseif (numero > max) then

max := numeroend if

end ifread numero

end whilewrite max

end

end

read numero

start

vero

falso

max := -1

numero <> 0 write max

numero > max

max := numero

read numero

vero

falso

write "solo positivi!!"

numero < 0vero

falso

31

Fondamenti di Informatica Fondamenti di Informatica ---- R.GaetaR.Gaeta

Esercizio: massimo di una sequenza<HTML><HEAD><TITLE>ESEMPIO: massimo di una sequenza</TITLE></HEAD><BODY><SCRIPT><!-- Inizio script JavaScriptvar numero;var max;max = -1;numero = window.prompt("Inserisci un numero");numero = numero * 1;while (numero != 0){if (numero < 0){window.alert("Solo numeri positivi!");

}else {if (numero > max){max = numero;

}}

numero = window.prompt("Inserisci un numero");numero = numero * 1;

}window.alert("Massimo = " + max);// Fine script --></SCRIPT></BODY></HTML>

32

Fondamenti di Informatica Fondamenti di Informatica ---- R.GaetaR.Gaeta

Esercizio: moltiplicazione

end

read A,B

start

vero

falso

P := 0

A <> 0 write P

P := P + B

vero

falso

A := A / 2

B := B * 2

A è dispari

startP := 0read A,Bwhile (A <> 0)

if (A è dispari) thenP := P + B

end ifA := A / 2B := B * 2

end whilewrite P

end

33

Fondamenti di Informatica Fondamenti di Informatica ---- R.GaetaR.Gaeta

Esercizio: moltiplicazione<HTML><HEAD><TITLE>ESEMPIO: moltiplicazione</TITLE></HEAD><BODY><SCRIPT><!-- Inizio script JavaScriptvar P;var A;var B;A = window.prompt("Inserisci il primo fattore");A = A * 1;B = window.prompt("Inserisci il secondo fattore");B = B * 1;while (A != 0){if (A%2 == 1){P = P + B;

}A = A / 2;B = B * 2;

}window.alert("Prodotto = " + P);// Fine script --></SCRIPT></BODY></HTML>

34

Fondamenti di Informatica Fondamenti di Informatica ---- R.GaetaR.Gaeta

Esercizio: moltiplicazione<HTML><HEAD><TITLE>ESEMPIO: moltiplicazione</TITLE></HEAD><BODY><SCRIPT><!-- Inizio script JavaScriptvar P;var A;var B;P = 0;A = window.prompt("Inserisci il primo fattore");A = A * 1;B = window.prompt("Inserisci il secondo fattore");B = B * 1;while (A != 0){if (A%2 == 1){P = P + B;

}A = Math.floor(A / 2);B = B * 2;

}window.alert("Prodotto = " + P);// Fine script --></SCRIPT></BODY></HTML>

35

Fondamenti di Informatica Fondamenti di Informatica ---- R.GaetaR.Gaeta

Esercizio: dispari-pari

startread Nwhile (N > 1)

N := N – 2end whileif (N = 0) then

write “pari”else

write “dispari”end if

end

Dato un numero, verificare se è pari o dispari e stampare il relativo messaggio

end

start

read N

N > 1N := N - 2

N = 0

write "pari" write "dispari"

vero

falso

vero falso

36

Fondamenti di Informatica Fondamenti di Informatica ---- R.GaetaR.Gaeta

Esercizio: dispari-pari<HTML><HEAD><TITLE>ESEMPIO: pari o dispari</TITLE></HEAD><BODY><SCRIPT><!-- Inizio script JavaScriptvar N;

N = window.prompt("Inserisci il numero");N = N * 1;while (N > 1){N = N - 2;

}if (N==0){window.alert("Il numero è pari");

}else{window.alert("Il numero è dispari");

}// Fine script --></SCRIPT></BODY></HTML>

37

Fondamenti di Informatica Fondamenti di Informatica ---- R.GaetaR.Gaeta

Esercizio: dispari-pari (controllo input)

startread Nif (N < 0) then

N := -Nend ifwhile (N > 1)

N := N – 2end whileif (N = 0) then

write “pari”else

write “dispari”end if

end

Dato un numero stampare se è pari o dispari

end

start

read N

N > 1N := N - 2

N = 0

write "pari" write "dispari"

vero

falso

vero falso

N < 0 N := -Nvero

falso

38

Fondamenti di Informatica Fondamenti di Informatica ---- R.GaetaR.Gaeta

Esercizio: dispari-pari (controllo input)<HTML><HEAD><TITLE>ESEMPIO: pari o dispari</TITLE></HEAD><BODY><SCRIPT><!-- Inizio script JavaScriptvar N;N = window.prompt("Inserisci il numero");N = N * 1;if (N < 0){N = -N;

}while (N > 1){N = N - 2;

}if (N==0){window.alert("Il numero è pari");

}else{window.alert("Il numero è dispari");

}// Fine script --></SCRIPT></BODY></HTML>

39

Fondamenti di Informatica Fondamenti di Informatica ---- R.GaetaR.Gaeta

Esercizio: minimo di una sequenza di K numeristart

read Kread numeromin := numeroinseriti := 1while (inseriti < K)

read numeroif (numero < min) then

min := numeroend ifinseriti := inseriti + 1

end whilewrite min

end

end

read numero

start

vero

falsoinseriti < K write min

K

min := numero

inseriti := 1

read numero

numero < min

min := numero

inseriti := inseriti + 1

vero

falso

40

Fondamenti di Informatica Fondamenti di Informatica ---- R.GaetaR.Gaeta

Esercizio: minimo di una sequenza di K numeri

var K;var numero;var min;var inseriti;

K = window.prompt("Inserisci la lunghezza della sequenza");K = K * 1;numero = window.prompt("Inserisci un numero");numero = numero * 1;min = numero;inseriti = 1;while (inseriti < K){numero = window.prompt("Inserisci un numero");numero = numero * 1;if (numero < min){min = numero;

}inseriti = inseriti + 1;

}window.alert("Minimo = " + min);

41

Fondamenti di Informatica Fondamenti di Informatica ---- R.GaetaR.Gaeta

Esercizio: minimo di una sequenza di K numeri (controllo input)

startread Kif ( K <= 0) then

write “K deve essere positivo!”else

read numeromin := numeroinseriti := 1while (inseriti < K)

read numeroif (numero < min) then

min := numeroend ifinseriti := inseriti + 1

end whilewrite min

end ifend

end

read numero

start

vero

falsoinseriti < K write min

K

min := numero

inseriti := 1

read numero

numero < min

min := numero

inseriti := inseriti + 1

vero

falso

K <= 0 write "K deve essere positivo!"

vero

falso

42

Fondamenti di Informatica Fondamenti di Informatica ---- R.GaetaR.Gaeta

Esercizio: minimo di una sequenza di K numeri (controllo input)

var K;var numero;var min;var inseriti;K = window.prompt("Inserisci la lunghezza della sequenza");K = K * 1;if (K <= 0){window.alert("K deve essere positivo!");

}else{numero = window.prompt("Inserisci un numero");numero = numero * 1;min = numero;inseriti = 1;while (inseriti < K){numero = window.prompt("Inserisci un numero");numero = numero * 1;if (numero < min){min = numero;

}inseriti = inseriti + 1;

}window.alert("Minimo = " + min);

}

43

Fondamenti di Informatica Fondamenti di Informatica ---- R.GaetaR.Gaeta

Esercizio: elevamento a potenza

Data la base e l’esponente calcolare l’elevamento a potenza

startpotenza := 1read B,Ewhile (E > 0)

potenza := potenza * BE := E - 1

end whilewrite potenza

end

end

read B,E

start

vero

falso

potenza:= 1

E > 0 write potenza

potenza:= potenza * B

E := E -1

44

Fondamenti di Informatica Fondamenti di Informatica ---- R.GaetaR.Gaeta

Esercizio: elevamento a potenza<HTML><HEAD><TITLE>ESEMPIO: elevamento a potenza</TITLE></HEAD><BODY><SCRIPT><!-- Inizio script JavaScriptvar potenza;var B;var E;

potenza = 1;B = window.prompt("Inserisci la base");B = B * 1;E = window.prompt("Inserisci l'esponente");E = E * 1;

while (E > 0){potenza = potenza * B;E = E - 1;

}window.alert("Risultato = " + potenza);// Fine script --></SCRIPT></BODY></HTML>

45

Fondamenti di Informatica Fondamenti di Informatica ---- R.GaetaR.Gaeta

Esercizio: elevamento a potenza (controllo input)

Data la base e l’esponente calcolare l’elevamento a potenzastart

read B,Eif (E >= 0) then

potenza := 1while (E > 0)

potenza := potenza * BE := E - 1

end whilewrite potenza

elsewrite “esponente negativo!”

end ifend

end

read B,E

start

vero

falsoE > 0 write potenza

potenza:= potenza * B

E := E -1

E >= 0vero

falso write"esponentenegativo!"

potenza := 1

46

Fondamenti di Informatica Fondamenti di Informatica ---- R.GaetaR.Gaeta

Esercizio: elevamento a potenza (controllo input)

var potenza;var B;var E;

potenza = 1;B = window.prompt("Inserisci la base");B = B * 1;E = window.prompt("Inserisci l'esponente");E = E * 1;

if (E >= 0){while (E > 0){potenza = potenza * B;E = E - 1;

}window.alert("Risultato = " + potenza);

}else{window.alert("Esponente negativo!");

}

47

Fondamenti di Informatica Fondamenti di Informatica ---- R.GaetaR.Gaeta

Esercizio: fattoriale

Dato un numero calcolare il suo fattoriale

startfattoriale := 1read Nwhile (N > 0)

fattoriale := fattoriale * NN := N - 1

end whilewrite fattoriale

end

end

read N

start

vero

falso

fattoriale:= 1

N > 0 write fattoriale

fattoriale:= fattoriale * N

N:= N -1

48

Fondamenti di Informatica Fondamenti di Informatica ---- R.GaetaR.Gaeta

Esercizio: fattoriale<HTML><HEAD><TITLE>ESEMPIO: fattoriale</TITLE></HEAD><BODY>

<SCRIPT><!-- Inizio script JavaScript

var fattoriale;var N;

fattoriale = 1; N = window.prompt("Inserisci il numero");N = N * 1;while (N > 0){fattoriale = fattoriale * N;N = N - 1;

}window.alert("Risultato = " + fattoriale);

// Fine script --></SCRIPT></BODY></HTML>

49

Fondamenti di Informatica Fondamenti di Informatica ---- R.GaetaR.Gaeta

Esercizio: fattoriale (controllo input)

Dato un numero calcolare il suo fattorialestart

read Nif (N >= 0) then

fattoriale := 1while (N > 0)

fattoriale := fattoriale * NN := N - 1

end whilewrite fattoriale

elsewrite “numero negativo!”

end ifend

end

read N

start

vero

falsoN > 0 write fattoriale

fattoriale:= fattoriale * N

N := N -1

vero

falso

fattoriale:= 1

N >= 0 write"numeronegativo!"

50

Fondamenti di Informatica Fondamenti di Informatica ---- R.GaetaR.Gaeta

Esercizio: fattoriale (controllo input)<HTML><HEAD><TITLE>ESEMPIO: fattoriale</TITLE></HEAD><BODY><SCRIPT><!-- Inizio script JavaScriptvar fattoriale;var N;N = window.prompt("Inserisci il numero");N = N * 1;if (N >= 0){fattoriale = 1; while (N > 0){fattoriale = fattoriale * N;N = N - 1;

}window.alert("Risultato = " + fattoriale);

}else{window.alert("Numero negativo!");

}// Fine script --></SCRIPT></BODY></HTML>