Vai al contenuto

Esercizi

Questa pagina contiene una serie di risorse per esercitarsi con la programmazione in Python e C. Oltre agli esercizi proposti nei libri di testo consigliati

è possibile trovare ulteriori esercizi online, soprattutto in inglese.
In generale il miglior modo per escitarsi è quello di provare a risolvere un problema o creare un progetto personale, magari partendo da un problema di fisica.

Python

C

Algoritmi

Questa lista fa riferimento ad esercizi il obiettivo non è quello di esercitare la sintassi di un linguaggio specifico, ma di esercitare la capacità di risolvere problemi attraverso algoritmi.

  • Project Euler: Project Euler è una piattaforma online che propone una serie di problemi matematici e di programmazione. Gli esercizi sono divisi in livelli di difficoltà crescente e coprono una vasta gamma di argomenti, tra cui teoria dei numeri, combinatoria, algebra, geometria e molto altro. È un'ottima risorsa per migliorare le proprie capacità di problem solving e di programmazione. Il sito fornisce la possibilità di risolvere i problemi in diversi linguaggi di programmazione, tra cui Python e C e di verificare la correttezza della soluzione proposta. Consigliamo di ordinare i problemi per numero di soluzioni, in modo da affrontare prima quelli più semplici.
  • Advent of Code

Idee per progetti personali

Questi progetti sono più complessi e richiedono più tempo per essere risolti, ma sono un ottimo modo per mettere in pratica le proprie conoscienze di programmazione e gestione del codice. Le idee sono solo spunti, è possibile modificarle o crearne di nuove a piacimento, l'importante è che vi ispirino.
Se riuscite a portare a termine un progetto personale fatecelo sapere, saremo felici di darvi un feedback.

  • Simulazione di un pendolo semplice
  • Trovare il massimo ed il minimo di una funzione
  • Implementare il Game of Life
  • Implementare un Self-avoiding walk
  • Implementare delle funzioni per algebra lineare (prodotto scalare, prodotto vettoriale, matrice inversa, determinante, autovettori, ...)
  • Implementare un algoritmo di ordinamento (bubble sort, merge sort, quick sort, ...)
  • Scrivere una funzione che effettui una regressione lineare (inclusa la stima degli errori sui parametri)
  • Scrivere una funzione che calcoli l'errore di un valore a partire tramite propogazione degli errori