Nos chère BASIC

Tout sur les ordinateurs, liens, infos...Avec un thread par machine. Si la machine n'y est pas , créez le premier post la concernant dans ce forum

Modérateur : Politburo

Avatar de l’utilisateur
Pocket
Administrateur
Administrateur
Messages : 6204
Inscription : 24 mai 2002 16:55
Localisation : Toulouse
Contact :

Re: Nos chère BASIC

Message par Pocket » 13 nov. 2017 22:06

Salut,

Quand on programme 'sérieusement', on ne fait pas de boucles avec des flottants ... ;)

A+
Pocket, voit tout, sait tout, lit l'avenir dans les entrailles d'une base phpBB ...
Image

Avatar de l’utilisateur
Fabrice Montupet
Administrateur
Administrateur
Messages : 11474
Inscription : 17 mai 2002 11:39
Localisation : Nevers - France

Re: Nos chère BASIC

Message par Fabrice Montupet » 13 nov. 2017 23:32

Pourquoi donc?
Après, dans l'exemple, on peut très bien réaliser une boucle classique avec condition de sortie.

Avatar de l’utilisateur
Pocket
Administrateur
Administrateur
Messages : 6204
Inscription : 24 mai 2002 16:55
Localisation : Toulouse
Contact :

Re: Nos chère BASIC

Message par Pocket » 14 nov. 2017 10:00

Salut,

Parce que t'es dépendant de l'implémentation, et donc en fonction du langage ou du compilo le comportement peux varier.
Une des rêgles de l'art consiste à utiliser des entiers pour tout ce qui est boucles, compteurs ...

Je dis ça, je dis rien, chacun est libre de se créer de la charge de déverminage ;)

A+
Pocket, voit tout, sait tout, lit l'avenir dans les entrailles d'une base phpBB ...
Image

Avatar de l’utilisateur
Ythunder
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 6101
Inscription : 09 août 2008 17:46
Localisation : 03

Re: Nos chère BASIC

Message par Ythunder » 14 nov. 2017 10:13

Pocket a écrit :
14 nov. 2017 10:00
Je dis ça, je dis rien, chacun est libre de se créer de la charge de déverminage ;)
Oui d'ailleurs ces types sont étranges et forment une sorte de communauté.
Ils se rassemblent tout les hiver d'ailleurs je crois :lol: :lol: :lol:
Je suis CHARLIE
Tell me boy, do you have a room, in your heart, for the Computer boom...

Avatar de l’utilisateur
bernouilli92
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4629
Inscription : 21 nov. 2012 14:03
Localisation : Ile de France

Re: Nos chère BASIC

Message par bernouilli92 » 14 nov. 2017 10:24

Pocket a écrit :
13 nov. 2017 22:06
Salut,

Quand on programme 'sérieusement', on ne fait pas de boucles avec des flottants ... ;)

A+J
Ou plus généralement quand on teste des flottants, il faut tester un intervalle avec marge d'erreur et non une valeur exacte
Dernière édition par bernouilli92 le 14 nov. 2017 12:55, édité 1 fois.
HP, Casio, Sharp, Psion, quelques TI et divers autres

Avatar de l’utilisateur
Ben
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 868
Inscription : 21 août 2016 19:04

Re: Nos chère BASIC

Message par Ben » 14 nov. 2017 10:43

Pocket a écrit :
14 nov. 2017 10:00
Salut,

Parce que t'es dépendant de l'implémentation, et donc en fonction du langage ou du compilo le comportement peux varier.
Une des rêgles de l'art consiste à utiliser des entiers pour tout ce qui est boucles, compteurs ...

Je dis ça, je dis rien, chacun est libre de se créer de la charge de déverminage ;)

A+
Sur Commodore en tout cas, une boucle FOR ne peut pas avoir un entier

Code : Tout sélectionner

FOR I%=1 TO 20
Ca donne une erreur de syntaxe.

Avatar de l’utilisateur
Pocket
Administrateur
Administrateur
Messages : 6204
Inscription : 24 mai 2002 16:55
Localisation : Toulouse
Contact :

Re: Nos chère BASIC

Message par Pocket » 14 nov. 2017 12:04

Salut,
Ben a écrit :
14 nov. 2017 10:43
Sur Commodore en tout cas, une boucle FOR ne peut pas avoir un entier
Je ne suis pas expert du C64, mais je doute fort de cette affirmation.

A+
Pocket, voit tout, sait tout, lit l'avenir dans les entrailles d'une base phpBB ...
Image

Avatar de l’utilisateur
rogeroge
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4696
Inscription : 14 mai 2010 21:41
Localisation : Entre Nancy et Bercy : à Torcy

Re: Nos chère BASIC

Message par rogeroge » 14 nov. 2017 13:17

A ma connaissance (donc faible), dans le listing de Ben, le problème vient du pas de 0.2 qui n'est pas entier.
Xjano dans son listing multiplie la variable I et le pas par 10, ce qui rend les valeurs successives de I entières.
Et à cette condition, le programme fonctionne, la boucle s'effectuant avec des nombres entiers exclusivement.
Il faut être fou pour venir sur ce site mais encore plus fou pour ne pas y revenir !
Partager à 75 bauds en 2018 autorise le bon temps de boire une bière ou un café.

Avatar de l’utilisateur
bernouilli92
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4629
Inscription : 21 nov. 2012 14:03
Localisation : Ile de France

Re: Nos chère BASIC

Message par bernouilli92 » 14 nov. 2017 14:05

Pocket a écrit :
14 nov. 2017 12:04
Salut,
Ben a écrit :
14 nov. 2017 10:43
Sur Commodore en tout cas, une boucle FOR ne peut pas avoir un entier
Je ne suis pas expert du C64, mais je doute fort de cette affirmation.

A+
Je viens de tester et effectivement en utilisant I% comme variable de boucle, cela renvoit une erreur de syntaxe.
HP, Casio, Sharp, Psion, quelques TI et divers autres

Avatar de l’utilisateur
pir2
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4708
Inscription : 31 oct. 2006 16:08
Localisation : 67310 Westhoffen
Contact :

Re: Nos chère BASIC

Message par pir2 » 14 nov. 2017 15:08

Oauis, enfin le programme original montre seulement que l'addition de flottants donne un résultat flottant, quoi de plus normal :?:

;)
Image
Image

jxano
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2771
Inscription : 17 févr. 2008 00:34
Localisation : Paris 20ème

Re: Nos chère BASIC

Message par jxano » 16 nov. 2017 15:17

Pour être propre, on aloute DEFINT I en débit de programme (ça doit être possible sur C64) et on utilise I sans suffixe.
Programmeur abscons.

Avatar de l’utilisateur
rogeroge
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4696
Inscription : 14 mai 2010 21:41
Localisation : Entre Nancy et Bercy : à Torcy

Re: Nos chère BASIC

Message par rogeroge » 16 nov. 2017 16:38

jxano a écrit :
16 nov. 2017 15:17
Pour être propre, on aloute DEFINT I en débit de programme (ça doit être possible sur C64) et on utilise I sans suffixe.
Tout à fait et à la condition que le pas reste aussi un nombre entier en GW>-BASIC : .2 ---> 2
Ton idée de tout multiplier par 10 est bonne quitte à rediviser par 10 pour répondre au programme.
Il faut être fou pour venir sur ce site mais encore plus fou pour ne pas y revenir !
Partager à 75 bauds en 2018 autorise le bon temps de boire une bière ou un café.

Avatar de l’utilisateur
Ben
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 868
Inscription : 21 août 2016 19:04

Re: Nos chère BASIC

Message par Ben » 16 nov. 2017 18:14

jxano a écrit :
16 nov. 2017 15:17
Pour être propre, on aloute DEFINT I en débit de programme (ça doit être possible sur C64) et on utilise I sans suffixe.
Sur C64, on ne sait pas déclarer les variables. Elles se déclarent au fur et à mesure de leur utilisation. Une variable prend 6 bytes, pas plus.

Répondre

Revenir vers « Tous les ordinateurs »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 3 invités