Input / Output

Output Linguaggio Scrivi… Scrivi e vai a capo C printf(“…”, …); printf(“…\n”, …); C++ cout << …; cout << … << endl ; Java System.out.print(…); System.out.println(…); Pascal Write(…); WriteLn(…); Python print(…, end=”) print(…) Small Basic TextWindow.Write(…) TextWindow.WriteLine(…) Input Linguaggio Leggi una linea Leggi un intero C scanf(“%i”, &x); C++ cin >> x; Java x=java.util.Scanner.nextLine(); x=java.util.Scanner.nextInt(); … Leggi tutto

Ordinare 3 dati

Prova con i numeri

In generale

Per ordinare 3 dati sono necessari 3 confronti ed eventualmente 3 scambi Codifica

Algorithmic art

Arte visuale (…) nella quale l’opera è generata da un algoritmo. L’artista scrive il codice, il computer esegue il codice e produce l’opera (sullo schermo, stampa, plotter, …). Temi Animazioni 2D – Animazioni 3D – Arte NFT – Automi cellulari – Chaos Game – Curve celebri – Frattali – Ricorsione – Teoria del caos – … Leggi tutto

Fattoriale

Dopo aver analizzato gli algoritmi risolutivi consideriamo i pro e i contro di ognuno Metodo risolutivo Pro Contro Ricorsivo Codifica elegante ~n chiamate ricorsive~n moltiplicazioni Iterativo Codifica elementare ~n moltiplicazioni Con formula Numero di operazioni costante Difficile da ricordareNumeri irrazionaliValore approssimato Conclusioni Per il calcolo del fattoriale di n esistono più algoritmi Al crescere di … Leggi tutto

Numeri di Fibonacci

Dopo aver analizzato il problema e individuati i 3 algoritmi discutiamo la loro complessità in tempo. Algoritmo ricorsivo Il tempo di attesa può essere considerato proporzionale al numero di chiamate ricorsive T(1) = 1 T(2) = 1 T(3) = 1+T(2)+T(1) = 1+1+1 = 3 > 22-1 T(4) = 1+T(3)+T(2) = 1+3+1 = 5 > 22-1 T(5) = … Leggi tutto