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

Basic Discussion :

QB64 - Saisie d'une fonction


Sujet :

Basic

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Superviseur de Hotline
    Inscrit en
    Avril 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Superviseur de Hotline

    Informations forums :
    Inscription : Avril 2016
    Messages : 1
    Points : 1
    Points
    1
    Par défaut QB64 - Saisie d'une fonction
    Salut,

    Premier post sur le forum. J'ai utilisé le BASIC et QBASIC il y a longtemps, quand j'étais au collège et au lycée. J'ai retrouvé une disquette contenant des programmes que j'avais fait alors et je souhaite les améliorer un peu. La plupart sont des programmes de maths. J'ai toujours été fan de Pocket computers et, il y a pas longtemps, j'ai acheté entre autres une Casio fx-850p avec son extension mémoire RP33. Première fois que je code en BASIC Casio et j'aime beaucoup. J'ai téléchargé QB64 sur le PC, et bien entendu, j'ai constaté des différences entre les deux langages, c'est pourquoi je suis ici.

    J'ai une tripotée de programmes de maths, et aujourd'hui, je fais un programme qui dessine des fonctions. Simple et efficace. Le programme me demande l'échelle du repère, puis dessine la fonction qui est stockée dans une routine FUNCTION... END FUNCTION. J'aimerais que le programme me demande de saisir la fonction, comme le reste car pour le moment il faut que j'édite le programme pour modifier la fonction en question. Pas toptop. Sur la Casio, il y a une fonction nommée VALF qui est intéressante. Je stocke la fonction dans une variable alphanumérique (par exemple F$), et VALF calcule sa valeur numérique et la stocke dans une variable numérique (par example Z : Z=VALF(f$)). Pour illustrer, voici le code pour ma Casio qui me permet de calculer des intégrales via la méthode des trapèzes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    10 CLS:PRINT "Calcul d'aires - Méthode des trapezes :"
    20 INPUT "Fonction f(x) "; F$
    30 INPUT "a "; A : INPUT "b "; B
    40 INPUT "Nombre d'iterations "; N
    50 H=(B-A)/N
    60 X=A : Z1=VALF(F$) : X=B : Z2=VALF(F$) : S=.5*(Z1+Z2)
    70 X=A
    80 FOR I=1 TO N-1
    90 X=X+H
    100 Z=VALF(F$) : S=S+Z
    110 NEXT I
    120 S=S*H
    130 PRINT CHR$(129); "f(x) dx ="; S
    140 END
    Ci-dessous, le code sur lequel je travaille aujourd'hui, en QB64, et qui me permet de tracer des fonctions :

    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
    'Draw Function
    1
    SCREEN 12
    COLOR 11
    CLEAR
    CLS
     
    DEFDBL A-Z
     
    PRINT
    PRINT TAB(20); " Tracé d'une fonction"
    PRINT
     
    PRINT " Echelle :"
    PRINT
    INPUT " Valeur minimale de x "; xmin
    INPUT " Valeur maximale de x "; xmax
    INPUT " Valeur minimale de y "; ymin
    INPUT " Valeur maximale de y "; ymax
     
    CLS
     
    WINDOW (xmin + xmin / 10, ymin + ymin / 10)-(xmax + xmax / 10, ymax + ymax / 10)
    LINE (xmin, 0)-(xmax, 0)
    LINE (0, ymin)-(0, ymax)
     
    FOR i = xmin TO xmax STEP 1
        PSET (i, xmax / 320)
    NEXT i
     
    FOR j = ymin TO ymax STEP 1
        PSET (ymin / 320, j)
    NEXT j
     
    FOR x = xmin TO xmax STEP 1 / 128
        IF x = xmin THEN PSET (x, f(x)), 14
        LINE -(x, f(x)), 14
    NEXT x
     
    LOCATE 28, 1
    INPUT " Encore (o/n) "; z$
    IF z$ = "o" THEN 1 ELSE END
     
    FUNCTION f (x)
    f = x ^ 3 - 3 * x ^ 2 + 2
    END FUNCTION
    Vous l'aurez compris, je cherche un équivalent à VALF dans QB64, afin de m'affranchir de FUNCTION... END FUNCTION, pour ne pas avoir à éditer le programme à chaque fois que je veux remplacer une fonction.
    Est-ce possible ?

    Merci.

    W.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 28
    Points : 43
    Points
    43
    Par défaut $INCLUDE: 'sourcefile' ?
    Bonjour,
    avez-vous essayé (cf http://www.qb64.net/wiki/index.php/$INCLUDE) ?
    Cordialement

Discussions similaires

  1. [Débutant] Saisie d'une fonction mathématique
    Par jacquesnathan dans le forum C#
    Réponses: 4
    Dernier message: 18/05/2014, 19h56
  2. faire une fonction de cotrole de saisie
    Par jack_1981 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 29/05/2007, 21h08
  3. Réponses: 1
    Dernier message: 23/02/2007, 08h49
  4. Réponses: 16
    Dernier message: 24/10/2006, 21h37
  5. Réponses: 3
    Dernier message: 21/12/2005, 11h55

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