<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://didawiki.cli.di.unipi.it/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>DidaWiki - fisica:informatica:201718:esercitazioni</title>
        <description></description>
        <link>https://didawiki.cli.di.unipi.it/</link>
        <lastBuildDate>Wed, 15 Jul 2026 20:35:56 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>https://didawiki.cli.di.unipi.it/lib/exe/fetch.php/wiki/dokuwiki.svg</url>
            <title>DidaWiki</title>
            <link>https://didawiki.cli.di.unipi.it/</link>
        </image>
        <item>
            <title>Esercitazione 1</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/fisica/informatica/201718/esercitazioni/esercitazione1</link>
            <description>Esercitazione 1

Dove si inizia ad interagire con la shell.

Esercizio 1

	*  A partire dalla vostra home directory, creare una cartella temp;
	*  Entrare nella cartella appena creata (ovvero rendere la cartella appena creata la vostra directory corrente</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 15 Jan 2020 17:20:32 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazione 2</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/fisica/informatica/201718/esercitazioni/esercitazione2</link>
            <description>Esercitazione 2

Dove si editano, compilano ed eseguono i primi programmi C

Esercizio 1: Ciao Mondo

Scrivere ed eseguire il seguente programma C, che stampa sullo standard output la stringa “Ciao Mondo!”.


#include &lt;stdio.h&gt;

int main(void) {
  printf(&quot;Ciao mondo!\n&quot;);
  return 0;
}</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 16 Jan 2020 13:47:01 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazione 2</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/fisica/informatica/201718/esercitazioni/esercitazione3</link>
            <description>Esercitazione 2

Dove si sviluppano semplici programmi C che utilizzano i costrutti di controllo if e while e gli array.

Esercizio 1: Asterischi

Leggere un numero intero N da standard input e stampare su standard output N caratteri asterisco (*) seguiti da newline (\begin{align}\label{eq:fibonacci}
 x! = x·(x−1)·(x−2)···1.
\end{align}\begin{align}\label{eq:math}
 f(x) = 3 · x^2 + 2·x + ln(42)
\end{align}\begin{align}\label{eq:integrale}
f(x) = 5x^3 + 4x^2 + 7x + 5:
\end{align}$f(x)$$[a, b]$$\f…</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 16 Jan 2018 14:17:09 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazione 3</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/fisica/informatica/201718/esercitazioni/esercitazione4</link>
            <description>Esercitazione 3

Dove si sviluppano semplici programmi C che utilizzano i costrutti di controllo e gli array e si comincia a parlare di tempo impiegato per risolvere un problema.

Esercizio 1: Filtrare un array

Scrivere un programma C che legge da tastiera una array di 20 valori reali, trova la media e stampa sullo standard output solo i valori maggiori della media.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 30 Jan 2020 13:33:15 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazione 4</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/fisica/informatica/201718/esercitazioni/esercitazione5</link>
            <description>Esercitazione 4

Tipi di dato e rappresentazione.

ATTENZIONE: per le informazioni relative ai tipi di dato fare riferimento a [questi lucidi].


Esercizio 0: Convertire da base 10 a base $b$

Scrivere un programma C che legge da standard input un numero intero positivo $x$$b$$x$$b$</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 29 Jan 2018 09:46:31 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazione funzioni</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/fisica/informatica/201718/esercitazioni/esercitazione6</link>
            <description>Esercitazione funzioni

Esercizio 1: funzione fattoriale (iterativa e ricorsiva)

Scrivere una funzione C che calcola il fattoriale di un intero n e ne restituisce il risultato. Implementare la funzione in modo iterativo e ricorsivo.

Quando il programma e` corretto e funzionante sperimentare cosa
succede su numeri grandi. Provare per$a_1 \ldots a_k$$k$$n$$a_i + a_{k−(i−1)} = n $</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 30 Jan 2020 12:59:50 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazione</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/fisica/informatica/201718/esercitazioni/esercitazione6tipididato</link>
            <description>Esercitazione

Tipi di dato .

ATTENZIONE: per le informazioni relative ai tipi di dato fare riferimento a [questi lucidi].


Esercizio 1: Lunghezza dei tipi in C

Data la seguente lista non esaustiva, dei nomi accettati per i tipi di base in C: 


char
unsigned char
short
unsigned short
int
unsigned int
long
unsigned long
long long
float
double
long double</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 18 Feb 2019 12:23:44 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazione: Array e puntatori</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/fisica/informatica/201718/esercitazioni/esercitazione7</link>
            <description>Esercitazione: Array e puntatori

Esercizio 1: Ricerca in un array

Scrivere una funzione di prototipo


int cerca (int * vec, int lung, int x);


che cerca se l&#039;elemento x e&#039; presente nell&#039;array vec di lung elementi e restituisce 1 se lo trova e 0 se non lo trova.$n$</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 28 Feb 2019 15:06:18 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazione allocazione dinamica</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/fisica/informatica/201718/esercitazioni/esercitazione8</link>
            <description>Esercitazione allocazione dinamica

Esercizio 1: Sequenze e VLA

Realizzare un programma C che legge e memorizza in un VLA una sequenza di double di lunghezza non nota a tempo di compilazione (ma nota all&#039;utente a tempo di esecuzione).
Richiedere all&#039;utente di specificare la lunghezza prima di immettere la sequenza.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 06 Mar 2019 13:53:09 +0000</pubDate>
        </item>
        <item>
            <title>Esercizi strutture e file</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/fisica/informatica/201718/esercitazioni/esercitazione9</link>
            <description>Esercizi strutture e file

Esercizio 1: Archivio studenti

Scrivere un programma C che legge una sequenza di studenti dal file anagrafe_studenti.txt.
Ogni studente e&#039; memorizzato su file in una singola linea contenente tre stringhe di caratteri separate da &#039;:&#039; e terminata da &#039;\n&#039; secondo il formato</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 12 Mar 2018 12:05:20 +0000</pubDate>
        </item>
        <item>
            <title>Esercizi liste</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/fisica/informatica/201718/esercitazioni/esercitazione10</link>
            <description>Esercizi liste

Esercizio 1: Sequenze di double (discusso a lezione)

Consideriamo il problema di leggere da standard input una sequenza di valori reali terminata da 0.0 creando la lista corrispondente di tipo


typedef struct lista_d {
  double val;
  struct lista_d * next;
} lista_d_t ; 

\[
l(i + 1) = 2*l(i)
\]$l(i)$</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 19 Mar 2018 09:44:32 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazione alberi</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/fisica/informatica/201718/esercitazioni/esercitazione11</link>
            <description>Esercitazione alberi

Esercizio 1: conta occorrenze

Definire il tipo albero_s_t di un albero binario in cui le etichette sono stringhe di al piu&#039; 20 caratteri. Scrivere una funzione


int conta_occorrenze ( albero_s_t * root, char * s );


che conta le occorrenze della stringa $n$$$ E(n_{sx}) \leq E(n) \leq E(n_{dx}) $$$n_{sx}$$n_{dx}$$n$$2n$\[
h(x) = ((ax + b)\%p)\%2 n
\]$p$$999149$$a$$b$$2n$$n$</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 12 Apr 2018 11:11:22 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazione debugging</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/fisica/informatica/201718/esercitazioni/esercitazionedeb</link>
            <description>Esercitazione debugging

I [lucidi introduttivi] per il debugging.
Eseguire con i debugger ddd e/o gdb e trovare il problema nei seguenti programmi.

Esercizio 1: Aggiornamenti


#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;unistd.h&gt;
#include &lt;time.h&gt;
#define N 5

/* globali */
int z[N+1];
int a[N-1];
int i;
 
void aggiorna (int k);

int main(void)
{
  srand(time(NULL));
  i=0;
  while (i&lt;N)
    {
 
      aggiorna(i);
      
      printf(&quot;iterazione %d\n&quot;,i);
      i++;
    } 
  printf(&quot;exit…</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 12 Mar 2018 12:01:09 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazione numeri casuali</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/fisica/informatica/201718/esercitazioni/esercitazionerand</link>
            <description>Esercitazione numeri casuali

Per gli esercizi che seguono ricordatevi di includere gli header corretti


#include &lt;stdlib.h&gt;


per rand(), srand() e


#include &lt;time.h&gt;


per la funzione time().

Gli header corretti e le eventuali opzioni di compilazione da aggiungere per usare la time() sono nella sezione 2 del manuale$x_i$$x_0$$x_{i + 1}$\begin{align}\label{eq:generatore}
  x_{i + 1} &amp;= (a * x_i + b) \% M\\
\end{align}$a$$b$$M$$M$$M$$a$$b$$M=2^{31}$$ a = (int) (\pi * 10^8)$$b= 453806245$$M=2^…</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 07 Feb 2019 15:00:20 +0000</pubDate>
        </item>
        <item>
            <title>Sommario lezioni ed esercitazioni</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/fisica/informatica/201718/esercitazioni/start</link>
            <description>Sommario lezioni ed esercitazioni

Per ogni esercitazione verificare gli esercizi sulla  piattaforma online di autovalutazione.
  Data   Ore  Descrizione    Materiale    Commenti/Pattaforma online     09/01/2018  2 Lezione: introduzione, struttura di massima di un calcolatore, concetto di programma ed algoritmo, un primo programma C</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 23 Jan 2020 12:21:58 +0000</pubDate>
        </item>
    </channel>
</rss>
