Gli ingredienti di base
Di cosa si parla
Il ping-pong e il calcio per introdurre i concetti fondamentali dell’informatica. Le mappe, le carte e le monete per imparare i suoi ingredienti di base.
Incipit
- Apri il rubinetto.
- Controlla che la temperatura dell’acqua sia giusta.
- Togli tutti i vestiti.
- Entra sotto la doccia.
- Insaponati.
- …
![](https://www.pilucrescenzi.it/wp/pac/wp-content/uploads/sites/3/2021/04/problema.png)
Dato un insieme di giocatori, di cui si conosce il valore, come possiamo determinare il campione?
![](https://www.pilucrescenzi.it/wp/pac/wp-content/uploads/sites/3/2021/04/algorithm.png)
Svolgere un torneo a eliminazione diretta dove il giocatore che vince (ovvero che ha il valore maggiore) procede a incontrare uno dopo l’altro i giocatori che non hanno mai giocato prima.
![](https://www.pilucrescenzi.it/wp/pac/wp-content/uploads/sites/3/2021/04/julia-1024x662.png)
function trovamax(s)
max = s[1]
for i = 2:length(s)
if s[i]>max
max = s[i]
end
end
return max
end
![](https://www.pilucrescenzi.it/wp/pac/wp-content/uploads/sites/3/2021/04/problema.png)
Eseguire tante ricerche di valori numerici o alfabetici in un insieme che non cambia nel tempo (come, ad esempio, un elenco telefonico).
![](https://www.pilucrescenzi.it/wp/pac/wp-content/uploads/sites/3/2021/04/algorithm.png)
Ordinare l’insieme una volta per tutte. Eseguire poi le ricerche confrontando il valore cercato con l’elemento centrale dell’insieme e procedendo “ricorsivamente” a sinistra o a destra nell’insieme a secondo di quale sia il valore più grande.
![](https://www.pilucrescenzi.it/wp/pac/wp-content/uploads/sites/3/2021/04/julia-1024x662.png)
function ricBin(a,k)
s = 1
d = length(a)
t = false
i = 0
while (s<=d && !t)
c = div(s+d,2)
if s[c]>k
d = c-1
elseif s[c]<k
s = c+1
else
i = c
t = true
end
end
return i
end