IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez Pascal Discussion :

Exemples de code pour Algebrus XPascal


Sujet :

Contribuez Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 261
    Billets dans le blog
    10
    Par défaut Exemples de code pour Algebrus XPascal
    Je me propose de réunir ici quelques exemples de code pour Algebrus XPascal. Si vous voulez contribuer, n'hésitez pas !

    Qu'est-ce qu'Algebrus ? Pour résumer, je dirais que c'est une sorte de calculatrice programmable en Pascal. Cette calculatrice a des fonctions graphiques. Elle peut lire et écrire des fichiers.

    Quant au langage XPascal, pour ce que j'en ai vu, il ajoute au Pascal classique 1° des fonctions d'affichage amélioré 2° des types de variable, comme le type Vector.

    Le programme suivant calcule des valeurs approchées de racine de 2 jusqu'à ce que la meilleure approximation soit atteinte. Les résultats sont ajoutés au fur et à mesure dans un vecteur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    // Algebrus XPascal
     
    program racine_de_2;
     
    function U(a, n: Integer): Real;
    // Approximations de la racine carrée de a
    // "n" est le nombre d'itérations
    var
      i: Integer;
      temp: Real;
    begin
      temp := a;
      for i:= 1 to n do
      begin
        temp := 0.5 * (temp + a / temp);
      end;
      result := temp;
    end;
     
    var
      resultat, precedent: Real;
      i                  : Integer;
      stop               : Boolean;
      vecteur            : Vector;
     
    begin
      precedent := 0;
      i := 0;
      stop := False;
      SetLength(vecteur, 0);
      //
      repeat
        resultat := U(2, i);// racine de 2
        if resultat = precedent then
          begin
            stop := True;
          end
        else
          begin
            vecteur := Append(vecteur, resultat);
            precedent := resultat;
            i := i + 1;
          end;
      until stop;
      //
      Write(vecteur);
    end.
    Ce qui donne l'affichage suivant :

    {2, 1.5, 1.4166667, 1.4142157, 1.4142136, 1.4142136}
    On peut remplacer write() par ShowVec() pour un affichage en colonne avec certaines options.

    Un bémol toutefois. Comme Simicro l'a déjà signalé dans sa présentation, le produit n'est plus mis à jour et il a quelques bugs. Je me suis enregistré pour pouvoir essayer toutes les fonctionnalités : certaines sont restées bloquées malgré la clé. Ce n'était pas une très bonne idée, apparemment.

  2. #2
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    8 098
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 8 098
    Billets dans le blog
    2
    Par défaut
    Très bonne initiative !

    La dernière version date déjà de 2006 et je pense que la boîte (Astrise Corporation) elle-même a dû couler il y a quelques années, puisque les dernières news sur le site datent également de 2006.
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  3. #3
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 261
    Billets dans le blog
    10
    Par défaut Procédure ayant une fonction pour argument
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    // Exemple Algebrus XPascal
     
    program demoPlot;
     
    function f ( x : real ) : real;
    begin
      result := abs ( sin ( x ) );
    end;
     
    begin
      plot ( f, {0, 2 * Pi} );
    end.
    La procédure plot() admet comme argument une fonction. Etonnant, non ?

    P.-S. En cherchant des informations sur le XPascal, j'ai l'impression qu'il y a plusieurs langages ou dialectes qui portent ou ont porté le même nom. J'ai ainsi trouvé des choses sur un langage de script qui aurait un rapport avec le XML, mais je n'ai pas compris lequel.

    Savez-vous quelque chose sur cet autre (?) XPascal qui figure sur la liste des types MIME ?

  4. #4
    Membre confirmé Avatar de Simicro
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Mai 2012
    Messages : 136
    Par défaut
    Citation Envoyé par Roland Chastain Voir le message
    La procédure plot() admet comme argument une fonction. Etonnant, non ?
    Etonnant et en même temps naturel : "dessiner la courbe de la fonction f(x)", donc bien fait

  5. #5
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 261
    Billets dans le blog
    10
    Par défaut
    Citation Envoyé par Simicro Voir le message
    Etonnant et en même temps naturel : "dessiner la courbe de la fonction f(x)", donc bien fait
    Si j'avais l'honneur de rencontrer le docteur Apostolyuk, je lui demanderais volontiers comment il a écrit cette procédure.

    En attendant je viens de télécharger l'un de ses ouvrages, qui s'intitule Excitation of Primary Oscillations in Micromechanical Vibratory Gyroscopes.

  6. #6
    Membre confirmé Avatar de Simicro
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Mai 2012
    Messages : 136
    Par défaut
    Dis Roland, je trouve que tu as une sacrée soif d'apprendre

Discussions similaires

  1. Réponses: 0
    Dernier message: 21/04/2010, 15h48
  2. Exemple de code pour créer un menu accordeon
    Par stefsas dans le forum ASP.NET
    Réponses: 2
    Dernier message: 07/04/2010, 08h58
  3. Réponses: 1
    Dernier message: 03/10/2008, 21h34
  4. Exemple de code pour appeler un Web Service
    Par ericw78 dans le forum Wildfly/JBoss
    Réponses: 6
    Dernier message: 21/05/2008, 19h58
  5. Réponses: 1
    Dernier message: 30/08/2006, 18h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo