Demandes associées au chapitre-notebook: "Structures de contrôle"

Pour accéder au code relatif à un exemple, double-cliquer sur le triangle du crochet icônique à droite.

Exemple 1

?Switch

\(With[{donnee = Input[]}, 
      Switch[donnee, 
rouge, "passage interdit", 
vert, 
        "c'est bon", 
noir, Expand[\((2\ x + 1)\)\^4], 
12, 
        "c'est une douzaine?", 
_, "dernier cas, fourre tout"]]\)

\(With[{donnee = Input[]}, 
      Switch[donnee, 
rouge, "passage interdit", 
vert, 
        "c'est bon", 
noir, Expand[\((2\ x + 1)\)\^4], 
12, 
        "c'est une douzaine?", 
_, "dernier cas, fourre tout"]]\)

\(With[{donnee = Input[]}, 
      Switch[donnee, 
rouge, "passage interdit", 
vert, 
        "c'est bon", 
noir, Expand[\((2\ x + 1)\)\^4], 
12, 
        "c'est une douzaine?", 
_, "dernier cas, fourre tout"]]\)

Exemple 2

f[x_] := 
      Which[x < -2, (x + 2) Exp[x], -2 < x && x < 3, -(x^4), 
        x == 3, 5, True, 0]

Exemple 3

?If

signeBinaire[x_] := If[x ≥ 0, "+", "-"]

signeBinaire[I]

signeTrivalué[x_] := 
      If[x ≥ 0, "+", "-", "?"]

Exemple 4

?While

serieWhile[n_] := 
      (h = 0; k = 1; While[k ≤ n, h = N[h + (1/k)]; k++]; h)

Timing[serieWhile[50]]

Timing[serieWhile[32767]]

serieWhileBis[n_] := 
      (h = 0; k = 1; While[k ≤ n, h = h + N[(1/k)]; k++]; h)

Timing[serieWhileBis[50]]

Timing[serieWhileBis[32767]]

Exemple 5

?For

h = 0;

serieFor[n_] := 
      For[k = 1, k ≤ n, k++, Print[h = N[h + (1/k)]]]

serieFor[3]

h = 0;

serieForBis[n_] := 
      (For[k = 1, k ≤ n, k++, h = N[h + (1/k)]]; h)

serieForBis[3]

serieForTer[n_] := 
      (For[h = 0; k = 1, k ≤ n, k++, h = N[h + (1/k)]]; h)

serieForTer[3]

Exemple 6

?Do

h = 0;

serieDo[n_] := (Do[h = N[h + (1/k)], {k, 1, n, 1}]; h)

serieDo[3]

serieDoBis[n_] := Do[Print[h = N[h + (1/k)]], {k, 1, n, 1}]

h = 0;

serieDoBis[3]

Timing[h = 0; serieForBis[50]]

Timing[h = 0; serieForBis[32767]]

Timing[h = 0; serieForTer[50]]

Timing[h = 0; serieForTer[32767]]

Timing[h = 0; serieDo[50]]

Timing[h = 0; serieDo[32767]]

\(
\)