Deutsch   English   Français   Italiano  
<JtD5DXvL7NDvvWKyJU07lj22UOo@jntp>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!news.mixmin.net!aioe.org!pasdenom.info!from-devjntp
Message-ID: <JtD5DXvL7NDvvWKyJU07lj22UOo@jntp>
JNTP-Route: news2.nemoweb.net
JNTP-DataType: Article
Subject: Re: FORTH =?UTF-8?Q?s=27=C3=A9toffe=20en=20Maths?=
References: <tih82e$1637$1@gioia.aioe.org>
Newsgroups: fr.comp.sys.atari
JNTP-HashClient: S3xQsfX7111GirPkMKlyEfTgMgI
JNTP-ThreadID: tih82e$1637$1@gioia.aioe.org
JNTP-Uri: http://news2.nemoweb.net/?DataID=JtD5DXvL7NDvvWKyJU07lj22UOo@jntp
User-Agent: Nemo/0.999a
JNTP-OriginServer: news2.nemoweb.net
Date: Sun, 16 Oct 22 21:23:35 +0000
Organization: Nemoweb
JNTP-Browser: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:105.0) Gecko/20100101 Firefox/105.0
Injection-Info: news2.nemoweb.net; posting-host="a51577cf7e91f49999bdcbfa64ffa1a2b6cefa90"; logging-data="2022-10-16T21:23:35Z/7339449"; posting-account="69@news2.nemoweb.net"; mail-complaints-to="newsmaster@news2.nemoweb.net"
JNTP-ProtocolVersion: 0.21.1
JNTP-Server: PhpNemoServer/0.94.5
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-JNTP-JsonNewsGateway: 0.96
From: OL <ol.google@lutece.net>
Bytes: 4164
Lines: 114

Salut Guillaume

Le FORTH pour moi c'est comme toi avec le C (sans doute bien pire!) cela 
me semble une autre planète mais en tous les cas bravo, cela avance bien.

Olivier
> Coucou,
> 
> j'avais déjà une routine SOLVE et une GAUSS pour résoudre une équation 
> ou intégrer une fonction.
> 
> Après un démarrage hier, j'ai pris le temps de finaliser aujourd'hui.
> Voilà trois nouvelles routines pour tracer des courbes:
> GR_Y(X)		pour les fonctions standard de x
> GR_XY(T)	pour les courbes paramétrées
> GR_R(T)		pour les courbes polaires.
> 
> A cela s'ajoutent:
> GR_WINDOW	pour fixer les limites de la fenêtre mathématique
> GR_AXES		pour tracer les axes.
> 
> A titre d'exemple, voici un petit programme qui se propose d'étudier 
> l'influence du paramètre k dans ces deux situations:
> 1) y = sin(k.x)
> 2) y = k.sin(x)
> 
> Voici le résultat à l'écran (sur la Vampire):
> 
> https://gtello.pagesperso-orange.fr/temp/graph.jpg
> 
> On peut bien sûr changer les couleurs des courbes ou des axes, je n'ai 
> pas ajouté ceci pour rester simple.
> 
> Guillaume.
> 
> Le programme pour ceux qui aiment lire le FORTH:
> 
> ; les deux variables x et PARAM (qui représente k)
> &float x
> &float PARAM
> 
> ; les trois zones écran
> &page COM
> &page DRAW1
> &page DRAW2
> 
>  >comp
> 
> ; COM sera la colonne de gauche, zone de commande
> 
> 2 1 page0 setsubpage
> 0 page0 getsubpage COM defpage
> 
> ; DRAW1 et 2 seront les deux zones de tracé à droite
> 
> 2 2 page0 setsubpage
> 1 page0 getsubpage DRAW1 defpage
> 3 page0 getsubpage DRAW2 defpage
> 
>  >comp
> 
> ; ici on définit les deux fonctions
> 
> :: FN1
>     x f@ PARAM f@ f* sin
> ;
> 
> :: FN2
>     x f@ sin PARAM f@ f*
> ;
> 
> ; dessin sur le cadre du haut
> 
> : show1
>     DRAW1 setpage				; fixe ma zone de sortie
>     cls						; efface l'écran
>     ." y=sin(k.x)"				; affiche le texte
>     ( %f-3.14 %f3.14 %f-2.2 %f2.2 )  gr_window	; limites des axes
>     ( %f0 %f0 0 )                    gr_axes	; trace les deux axes
>     %f1 PARAM f!					; initialise k à 1
>     7 ndo					; bouclera 7 fois
>        ( 'FN1 x %f-3.14 %f3.14 100 ) gr_y(x)	; on trace une courbe
>        ( PARAM f@ %f0.1 f+ ) PARAM f!		; on augmente k de 0.1
>     nloop
>     COM setpage					; retour aux commandes
> ;
> 
> ; dessin en bas, même procédure sur DRAW2
> ; et avec la fonction FN2
> 
> : show2
>     DRAW2 setpage
>     cls
>     ." y=k.sin(x)"
>     ( %f-3.14 %f3.14 %f-2.2 %f2.2 )  gr_window
>     ( %f0 %f0 0 )                    gr_axes
>     %f1 PARAM f!
>     7 ndo
>        ( 'FN2 x %f-3.14 %f3.14 100 ) gr_y(x)
>        ( PARAM f@ %f0.1 f+ ) PARAM f!
>     nloop
>     COM setpage
> ;
> 
>  >comp
> 
> ; au démarrage, efface l'écran et donne la main
> ; sur la page de commande
> 
> cls
> COM setpage
> 
> ; je n'ai plus qu'à lancer show1 et show2