Demandes associées au chapitre-notebook: "fonctions-II"

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

Attributs

?+

Exemple 1

f[x_] := 3 (x^2) Cos[x]

f[(π/2)]

f[{(π/4), ((3 π)/2)}]

f[Table[((k π)/6), {k, 1, 8}]]

Exemple 2

borne[variable_] := 3 /; OddQ[variable]

borne[variable_] := variable

borne[5682]

borne[5683]

borne[{333, 437, 5258}]

SetAttributes[borne, Listable]

borne[{333, 437, 5258}]

Exemple 3

equivalent[P_, Q_] := Implies[P, Q] && Implies[Q, P]

G[A_, B_, C_] := 
      Implies[A, 
        equivalent[
          B && ! A || 
            ! C && A, 
          A || Implies[A, ! B]]];

A = False; B = True;

equivalent[Implies[A, B], Implies[B, A]]

CC = False;

equivalent[A, CC]

equivalent[A, CC] || equivalent[B, CC]

{A, B, CC}

G[A, B, CC]

G[True, True, True]

G[! A, B, ! CC]

G[A, B, CC]

A = {False, False, False, False, True, True, True, True};

B = {False, False, True, True, False, False, True, True};

CC = {False, True, False, True, False, True, False, True};

G[A, B, CC]

\(Implies[{False, False, False, False, True, True, True, True}, 
      Implies[{False, False, True, True, False, False, True, True} && 

              			\(! {False, False, False, False, True, 
                  True, True, True}\) || 
            \(\(! {False, True, False, True, False, True, 
                  False, True}\)\) && {False, False, False, False, True, 
                True, True, True}, {False, False, False, False, True, True, 
              True, True} || 
			
            Implies[{False, False, False, False, True, True, True, True}, 
              \(\(! {False, False, True, True, False, False, 
                  True, True}\)\)]] && 
        Implies[{False, False, False, False, True, True, True, True} || 

            				Implies[{False, False, False, False, True, True, True, 
                True}, \(\(! {False, False, True, True, 
                  False, False, True, True}\)\)], {False, False, True, True, 
                False, False, True, True} && 
              \(\(! {False, False, False, False, True, True, 
                  True, True}\)\) || 
            \(\(! {False, True, False, True, False, True, 
                  False, True}\)\) && {False, False, False, False, True, 
                True, True, True}]]\)

?? Implies

Implies [False,  False]

Implies [{False,  True}, {False,   False}]

SetAttributes[G, Listable]

G[A, B, CC]

% /. {True -> 1, False -> 0}

Clear[A, B, CC, G, equivalent]

Exemple 4

f[x_] := If[N[x] < N[(π/2)], f1[x], f2[x]]

f1[x_] := 2 Cos[x - (π/2)] + (π/3)

f2[x_] := (π/3) + 2 + (Sqrt[x - (π/2)])

f1[(π/2)]

f2[(π/2)]

f[{-(π/4), -((2 π)/3), 0, (π/3), 
        ((5 π)/12), ((3 π)/2), ((24 π)/5)}]

SetAttributes[f, Listable]

f[{-(π/6), -((2 π)/3), 0, (π/3), 
        ((5 π)/12), ((3 π)/2), ((17 π)/6)}]

Exemple 5

?Map

Map [borne,  {333, 437, 5258}]

borne/@{333, 437, 5258}

Map[
      borne, {333, {{{{45, 87}, 157, 12}}}, {437, {1245}, 70}, {5257, 12}}, 3]

Map [f, 
       {-(π/6), -((2 π)/3), 0, (π/3), 
        ((5 π)/12), ((3 π)/2), ((17 π)/6)}]

Map [Print,  %];

Exemple 6

M1 = {1, 2}; M2 = {3, 5}; M3 = {5, 6}; M4 = {7, 8}; M5 = {5, 9}; M6 = {0, 2}; M7 = {1, 4}; M8 = {1, -2}; M9 = {1, 5}; M10 = {1, 3};

cercleRayon1[M_] := Graphics[Circle[M, 1]]

Exemple 7

\(\(Show\ [
      cercleRayon1\ /@
        \ {M1, \ M2, \ M3, \ M4, \ M5, \ M6, \ M7, \ M8, \ M9, \ M10}, 
	
      AspectRatio\  -> \ Automatic, \ Frame\  -> \ True]; \)\)

\(Show\ [
      \(Graphics\ [Circle\ [#1, \ 1]]&\)\ /@
        \ \ {M1, \ M2, \ M3, \ M4, \ M5, \ M6, \ M7, \ M8, \ M9, \ M10}, 
	
      AspectRatio\  -> \ Automatic, \ Frame\  -> \ True]\)

\(\(Show\ [
      \(Graphics\ [Circle\ [M1, \ #1]]&\)\ /@\ Table\ [i, \ {i, \ 1, \ 10}], 
      
	AspectRatio\  -> \ Automatic, \ Frame\  -> \ True]; \)\)

\(\(Show[
	
      MapThread[Graphics[
			Circle[#1, #2]]&, 

        		{{M1, M2, M3, M4, \ M5, \ M6, \ M7, \ M8, \ M9, \ M10}, 
			
          Table[i, {i, 1, 10}]}], AspectRatio -> Automatic, 
      Axes -> True]; \)\)

M1 = {4, 0}; M2 = {4, 4}; M3 = {-4, 4}; M4 = {-4, -4};

Show[
      MapThread[
        Graphics[Circle[#1, #2]]&, {{M1, M2, M3, M4}, Table[i, {i, 1, 4}]}], 
      AspectRatio -> Automatic, Axes -> True];

Clear[M1, M2, M3, M4, M5, M6, M7, M8, M9, M10]

Sélection

?Select

Exemple 8

Select[Flatten[Table[salaire[x, y], {x, 1, 3}, {y, 1, 3}]], #1 > 7150&]

Exemple 9

couleur[M1] ^= rouge; coordonnées[M1] ^= {2, 3}; couleur[M2] ^= bleu; coordonnées[M2] ^= {4, 5}; couleur[M3] ^= vert; coordonnées[M3] ^= {5, 6}; couleur[M4] ^= noir; coordonnées[M4] ^= {7, 8}; couleur[M5] ^= orange; coordonnées[M5] ^= {9, 10}; couleur[M6] ^= bleu; coordonnées[M6] ^= {11, 12}; couleur[M7] ^= jaune; coordonnées[M7] ^= {13, 14}; \(couleur[M8] ^= blanc; coordonnées[M9] ^= {16, 3}; 

    coordonnées[M10] ^= {2, 7}; \)

couleur/@{M1, M2, M3, M4, M5, M6, M7, M8, M9, M10}

Map [couleur,  {M1, M2, M3, M4, M5, M6, M7, M8, M9, M10}]

\({rouge, bleu, vert, noir, orange, bleu, jaune, blanc, couleur[M9], 

        	couleur[M10]}\)

coordonnées/@{M1, M2, M3, M4, M5, M6, M7, M8, M9, M10}

Map [coordonnées,  {M1, M2, M3, M4, M5, M6, M7, M8, M9, M10}]

\({{2, 3}, {4, 5}, {5, 6}, {7, 8}, {9, 10}, {11, 12}, {13, 14}, 
	
      coordonnées[M8], {16, 3}, {2, 7}}\)

Exemple 10

L = {1, 1, 2, 2, 3, 3, 4, 5};

LL = {3, 4, 4};

Union[LL]

DeleteCases[L, 3]

DeleteCases[L, 4]

chirurgieDeListes[L__, {}] := L

chirurgieDeListes[L__, LL__] := 
      With[{aEnlever = First[Union[LL]]}, 
        chirurgieDeListes[DeleteCases[L, aEnlever], Rest[LL]]]

chirurgieDeListes[L, LL]

chirurgieDeListesBis[L_, LL_] := 
      With[{aEnlever = First[Union[LL]]}, 
        chirurgieDeListes[DeleteCases[L, aEnlever], Rest[LL]]]

chirurgieDeListesBis[L, LL]

Jeu trigonométrique

jeu := 
      Catch[menuJeu[
          Input["Quel scénario? Répondre 1 ou 2; Q pour \
quitter"]]; jeu]

\(menuJeu[choix_] := 
      Switch[choix, 
q, Throw["Fin du jeu"], 
Q, 
        Throw["Fin du jeu"], 
1, scénario1, 
2, 
        scénario2, 
_, jeu]\)

scénario1 := 
      Catch[menu1[Input["Donner une fraction; Q pour quitter"]]; 
        scénario1]

\(menu1[choix_] := 
      Switch[choix, 
q, Throw[{}], 
Q, Throw[{}], 
_Rational, 
        situeToi[choix\ *\ π], 
_, scénario1]\)

\(scénario2\  := 
\ \ 
      \(($angle$\  = \ angle; 
\ \ \ 
        Catch\ [menu2\ [
            Input\ [ColumnForm
                \ [{$angle$, 

                  \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "quadrant1, 2, 3 ou 4?", \ 

                  \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "Q pour quitter"}]]]; 
\ \ \ \ \ \ \ \ \ \ 
          scénario2])\)\)

\(menu2[choix_] := 
      Switch[choix, 
q, Throw[{}], 
Q, Throw[{}], 
_, 
        If[choix =!= quadrant[$angle$\ *\ π], 
          situeToi[$angle$\ *\ \ π], scénario2]]\)

situeToi[x_] := 
      Show[Graphics[{Circle[{0, 0}, 1], Text[x, {Cos[x], Sin[x]}]}], {
          AspectRatio -> Automatic, Axes -> True}]

\(quadrant[x_] := 
	
      Which[
		N[Sin[x]] > 0 && N[Cos[x]] > 0, 

        		\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ quadrant1, N[Sin[x]] > 0 && N[Cos[x]] < 0, 

        		\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ quadrant2, 
		N[Sin[x]] < 0 && N[Cos[x]] < 0, 

        		\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ quadrant3, N[Sin[x]] < 0 && N[Cos[x]] > 0, 

        		\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ quadrant4, N[Cos[x]] == 0 || N[Sin[x]] == 0, 
		
        Print[x, " est un multiple entier de π/2"]]\)

angle := Random[Integer, {-45, 50}]/Random[Integer, {1, 50}]

jeu

Lecture et manipulations de données

?*Read*

Mettre le fichier Data au niveau de Mathematica, ou sinon modifier le chemin d'accès en conséquence, avant de valider la ligne suivante:

ELEVES = ReadList ["Data", Table [Word, {3}]]

TableForm [%]

NOMS = Map [Part [#, 2] &, ELEVES]

TableForm [%]

TableForm [Map [Part [#, 2] &, ELEVES]]

PRENOMS = Map [Part [#, 3] &, ELEVES]

TableForm [%]

MapThread [List,  {NOMS, PRENOMS}]

TableForm [%]

NOMSPRENOMS = 
  Flatten [MapThread [List,  {NOMS, PRENOMS}]]

TableForm [%]

Map [Part [#, 1] &, ELEVES]

ToExpression [%]

NUMEROS = %;

Min  [NUMEROS]

Min [Select [NUMEROS, NumberQ [#] &]]

Max [Select [NUMEROS, NumberQ [#] &]]

Apply [Plus, NUMEROS] / Length [NUMEROS]

Apply [Plus, Select [NUMEROS, NumberQ [#] &]]/ 
 Length [ Select [NUMEROS, NumberQ [#] &]]

N [%]