Algorithme niveau seconde

Bonjour,

Je suis en seconde et je dois écrire un algortihme et même avec beaucoup de réfléxion, je n'y arrive pas. L'énoncé est le suivant : Ecrire un algorithme et le programmer sur Algobox (un site spécialisé pour les algorithmes), qui permet de tracer point par point le courbe représentative de f sur l'intervalle [-0,5;10] avec un pas de 0,1. Sachant que la fonction f est [(1/(x+1))-3].
Si vous une solution à me proposer, merci d'avance.

5 réponses

  1. Modérateur
    Regarde l'algorithme de tracé de la courbe représentative d'une fonction.
    Il y a très peu de chose à modifier pour obtenir ce que tu veux
    1. Si je suis cet algortihme en modifiant certaine chose, arriver à la fin de la boucle "TANT QUE", algobox détecte une erreur, donc je vais essayer de chercher encore. Merci beaucoup pour votre aide.
    2. Modérateur
      Voici ce que tu devrais obtenir avec les modifications :

      VARIABLES
        pas EST_DU_TYPE NOMBRE
        xdepart EST_DU_TYPE NOMBRE
        xfin EST_DU_TYPE NOMBRE
      DEBUT_ALGORITHME
        pas PREND_LA_VALEUR 0.1
        xdepart PREND_LA_VALEUR -0.5
        TANT_QUE (xdepart<10) FAIRE
          DEBUT_TANT_QUE
          xfin PREND_LA_VALEUR xdepart+pas
          TRACER_SEGMENT (xdepart,F1(xdepart))->(xfin,F1(xfin))
          xdepart PREND_LA_VALEUR xfin
          FIN_TANT_QUE
      FIN_ALGORITHME
      
      Fonction numérique utilisée :
      F1(x)=1/(x+1)-3
  2. En espérant que tu saches t'en servir, voici une pise:

    Variables
    x est_du_type nombre (si tu as décimal, mets le au lieu de nombre)

    Algo:
    x prend_la_valeur 0,5
    tant_que(x<10)faire
    debut_tant_que
    y prend la valeur ((1/(x+1))-3)
    si tu as une instruction pour tracer, ou écrire y, marques sur cette ligne
    x prend_la_valeur (x+0,1)
    fin_tant_que

    Ca doit ressembler à ça. Je te laisse comprendre et faire en sorte que ça marche ?
    1. Voici une solution en Pascal et un tracé de l'exécution du programma, si c'est bien le cas l'algorithme de Varaldi Q répond à ton problème.

      program TraceDeFonction;

      var

      X, F : Real;

      begin
      X := 0.1;
      while X <= 10 do begin
      F := (1 /(x + 1))- 3;
      WriteLn(X:5:2, ' ---> ', F:10:6);
      X := X + 0.1;
      end;
      Readln;
      end.
      -------------------------
      0.10 ---> -2.090909
      0.20 ---> -2.166667
      0.30 ---> -2.230769
      0.40 ---> -2.285714
      0.50 ---> -2.333333
      0.60 ---> -2.375000
      0.70 ---> -2.411765
      0.80 ---> -2.444444
      0.90 ---> -2.473684
      1.00 ---> -2.500000
      1.10 ---> -2.523810
      1.20 ---> -2.545455
      1.30 ---> -2.565217
      1.40 ---> -2.583333
      1.50 ---> -2.600000
      1.60 ---> -2.615385
      1.70 ---> -2.629630
      1.80 ---> -2.642857
      1.90 ---> -2.655172
      2.00 ---> -2.666667
      2.10 ---> -2.677419
      2.20 ---> -2.687500
      2.30 ---> -2.696970
      2.40 ---> -2.705882
      2.50 ---> -2.714286
      2.60 ---> -2.722222
      2.70 ---> -2.729730
      2.80 ---> -2.736842
      2.90 ---> -2.743590
      3.00 ---> -2.750000
      3.10 ---> -2.756098
      3.20 ---> -2.761905
      3.30 ---> -2.767442
      3.40 ---> -2.772727
      3.50 ---> -2.777778
      3.60 ---> -2.782609
      3.70 ---> -2.787234
      3.80 ---> -2.791667
      3.90 ---> -2.795918
      4.00 ---> -2.800000
      4.10 ---> -2.803922
      4.20 ---> -2.807692
      4.30 ---> -2.811321
      4.40 ---> -2.814815
      4.50 ---> -2.818182
      4.60 ---> -2.821429
      4.70 ---> -2.824561
      4.80 ---> -2.827586
      4.90 ---> -2.830508
      5.00 ---> -2.833333
      5.10 ---> -2.836066
      5.20 ---> -2.838710
      5.30 ---> -2.841270
      5.40 ---> -2.843750
      5.50 ---> -2.846154
      5.60 ---> -2.848485
      5.70 ---> -2.850746
      5.80 ---> -2.852941
      5.90 ---> -2.855072
      6.00 ---> -2.857143
      6.10 ---> -2.859155
      6.20 ---> -2.861111
      6.30 ---> -2.863014
      6.40 ---> -2.864865
      6.50 ---> -2.866667
      6.60 ---> -2.868421
      6.70 ---> -2.870130
      6.80 ---> -2.871795
      6.90 ---> -2.873418
      7.00 ---> -2.875000
      7.10 ---> -2.876543
      7.20 ---> -2.878049
      7.30 ---> -2.879518
      7.40 ---> -2.880952
      7.50 ---> -2.882353
      7.60 ---> -2.883721
      7.70 ---> -2.885057
      7.80 ---> -2.886364
      7.90 ---> -2.887640
      8.00 ---> -2.888889
      8.10 ---> -2.890110
      8.20 ---> -2.891304
      8.30 ---> -2.892473
      8.40 ---> -2.893617
      8.50 ---> -2.894737
      8.60 ---> -2.895833
      8.70 ---> -2.896907
      8.80 ---> -2.897959
      8.90 ---> -2.898990
      9.00 ---> -2.900000
      9.10 ---> -2.900990
      9.20 ---> -2.901961
      9.30 ---> -2.902913
      9.40 ---> -2.903846
      9.50 ---> -2.904762
      9.60 ---> -2.905660
      9.70 ---> -2.906542
      9.80 ---> -2.907407
      9.90 ---> -2.908257
      10.00 ---> -2.909091
      1. Merci metarefsalem !

        Par contre, algobox, je connaissais pas, en gros ça permet de programmer sans véritable langage... mais à l'aide de mots...

        Mais c'est vrai, on a raison ;)
        1. Modérateur
          Les mots, en soit, c'est déjà un langage ;)

          Les mots-clés sont en français et il y a des fonctions d'assez haut niveau...mais ça reste un langage de programmation !
        2. Le Pascal est un langage évolué, proche du langage humain il est presque un algorithme en soi
        3. Oui, c'est vrai. c'est un niveau de prog très élevé... dans le sens où on est très loin de l'assembleur... ^^