3329 résultats trouvés

par C.Ret
15 févr. 2024 21:58
Forum : Général
Sujet : Migration
Réponses : 93
Vues : 11177

Re: Migration

Bonsoir,

C'est avec plaisir que je découvre que la bascule a pu s'effectuée.
Je suis agréablement surpris de voir que le forum n'a pas changé d'aspect.
Et j'imagine facilement le travail que cela représente. Mes félicitations à tous les acteurs, c'est du bon boulot !

Il y a cependant encore un peu de travail.

Effectivement, comme le signale Oliv!er en haut de chaque page, le bandeau de navigation ne suit pas.

Il y a aussi certaines images insérées dans les message qui ne s'affichent pas; on peut lire la taille de l'image et le nombre de consultations, mais l'image ne s'affiche pas. Curieusement, cela semble concerner surtout des images insérées récemment (dans les 10-15 jours avant la bascule) , les plus anciennes apparaissent bel et bien.

Il y a aussi les liens insérés dans certains messages vers d'autres posts du forum qui ne fonctionnent plus. Ce serait bien si ces liens pouvaient être rétablis. Par exemple dans le Sommaire des MPO plus aucun lien ne fonctionne. Mais le problème est le même dans les messages ou réponses dès que l'on fait référence à un autre post du forum ou à un autre message du même threat. Ainsi que les liens vers des messages du forum que certains ont mis dans leur signature (comme par exemple dans le mienne).

Voilà.
Si je vois d'autres anomalies, je ne manquerai pas de le signaler.

Bon courage :)
par C.Ret
12 févr. 2024 21:09
Forum : Tous les ordinateurs
Sujet : Enigme du dimanche en Basic
Réponses : 6
Vues : 725

Re: Enigme du dimanche en Basic

Super impression !

Du coup ma réalisation ressemble à un timbre post.
Tour Eiffel Ledudu.gif
Tour Eiffel Ledudu.gif (10.54 Kio) Vu 586 fois
Je donne ci-dessous le code utilisable par les collectionneurs pour afficher ce timbre de collection:

Code : Tout sélectionner

10 color 0,14:color 1,2:graphic 1,1:color 0,1
12 for y=49 to 142:x=115
14 :  for k=0 to 8
16 : : read b$ : b=dec(b) : x=x+8
19 : : for i=0 to 7
22 : : : if b and 2↑i then draw 1,x-i,y : else draw 0,x-i,y
23 next i,k,y
Idéalement, ce code marche le mieux sur un CBM 8-Bits ayant un BASIC Microsoft v7.0
par C.Ret
12 févr. 2024 19:55
Forum : Tous les Pockets
Sujet : Sharp PC 1500
Réponses : 10
Vues : 912

Re: Sharp PC 1500

pir2 a écrit : 12 févr. 2024 14:57Pourquoi le Grand-Est doit-il se limiter au 1211 :?:
Comment ça se limiter à un PC-1211, c'est mieux qu'un PC-1500 ça a toujours été mieux car bien moins cher.
par C.Ret
11 févr. 2024 20:30
Forum : Tous les ordinateurs
Sujet : Enigme du dimanche en Basic
Réponses : 6
Vues : 725

Re: Enigme du dimanche en Basic

Je vais attendre un peu avant de poster le résultat exact; D'abord parce qu'il est moins coloré que la photo ci-dessus, mais surtout, je veux savoir si d'autres forumeurs sont sur le coup !

Ca me laissera peut-être le temps de poster une version pour RPL.
par C.Ret
11 févr. 2024 18:58
Forum : Tous les ordinateurs
Sujet : Enigme du dimanche en Basic
Réponses : 6
Vues : 725

Re: Enigme du dimanche en Basic

Image
Bon d'accord, j'ai dû un peu extrapoler car dans les DATA de notre ami ledudu tout est bien plus binaire. Mais au moins il y a des oiseaux qui volent dans le ciel et des arbres aux pieds de la Tour.
par C.Ret
11 févr. 2024 16:44
Forum : Tous les Pockets
Sujet : Mes boîtes - Partie 4 - Hewlett-Packard
Réponses : 22
Vues : 1189

Re: Mes boîtes - Partie 4 - Hewlett-Packard

Wow! C'est une bonne idée d'avoir conserver toutes ces boites. Celles des Packs pour HP-67/97 avec leur illustrations forment une très belle série.
par C.Ret
11 févr. 2024 15:30
Forum : Tous les Pockets
Sujet : Sharp PC 1500
Réponses : 10
Vues : 912

Re: Sharp PC 1500

Joscelyn a écrit : 09 févr. 2024 19:15Je trouve pour ma part que c'est une très bonne idée !
Moi aussi, et cela m'a donné des ailes !
Andromede a écrit : 11 févr. 2024 00:31Je me demandais s'il ne serait pas amusant de modifier le BEEP qui signale la partie gagnée (ligne 310: BEEP 4) par une petite musique du genre STAR WARS ou autre :D
Je ne connais pas assez le PC-1500, mais si c'est comme sur les PC-1350/1360, il est possible de paramétrer l'instruction BEEP en durée et en fréquence et donc avec quelques DATA et un READ, un petit sous-programme permet de composer une petite mélodie.
badaze a écrit : 09 févr. 2024 22:30Pourquoi devoir saisir 2 nombres ?
C'est une autre version du jeu.
Ici, il faut focaliser...

Image

Dans cette version, l'histoire débute comme toutes les journées que vous passez au Service du Contrôle Aérien Régional quand tout à coup, suite à une panne de l'alimentation générale, les dispositifs de surveillance aérienne tombent en panne. Alors que quotidiennement vous utilisez normalement les écrans de contrôle, vous estes maintenant obligé d'utiliser le système de secours et piloter manuellement le radars principal à l'aide de votre PC-1500 (PC-1211 pour la région Grand-Est). Un coup de chance que cela marche, quelques coups de fer à souder ont permis de connecter l'engin au système qui fonctionne de façon très dégradée.

Image

Vous estes à peine arrivé à votre poste de travail que votre Chef de Service vous hurle aux oreilles de retrouver le vol AF-45236 en provenance du Sud et d'en déterminer avec précision l'altitude de vol afin qu'au plus vite il puisse transmettre aux pilotes les nouvelles directives afin de pouvoir poursuivre le vol en toute sécurité.

Avec toutes ces pannes, il vous faut pour chaque balayage indiquer au système du radar les limites à balayer entre une altitude minimale et maximale. Votre mission et de retrouver en un minium d'échos afin:
  1. d'économiser l'énergie,
  2. gagner du temps,
  3. éviter les complications,
  4. et surtout pour vous de tenter de vous faire bien voir (pour une fois) par votre irascible Chef de Service.
Votre détermination doit être exacte, c'est à dire qu'il vous faut déterminer l'altitude de l'avion dont on a perdu la trace au mètre près.
RADAR CONTROL PC-1211.gif
RADAR CONTROL PC-1211.gif (45.02 Kio) Vu 628 fois
Après avoir saisi sans erreur le code ci-dessus ou celui d'Andromede (selon votre l'équipement de votre région), pour lancer votre recherche et secourir l'avion perdu, entrer une semence comprise entre 0 et 1 (idéalement avec 4 ou 5 décimales) et faire Shift-Z en mode DEF pour lancer le générateur.

Image

Le Pocket affiche qu'un avion est perdu en altitude. Pressez sur a touche ENTER lorsque vous estes prêt et concentré.
Il vous faut ensuite saisir alternativement l'altitude minimale et maximale du balayage radar en espérant que l'avion sera trouvé dans cet intervalle d'altitudes.
Heureusement, du fait de l'effet Doppler, si l'écho de l'avion n'est pas trouvé dans l'intervalle indiqué, le radar est capable de signaler si l'avion est plus haut ou plus bas que l'intervalle des altitudes balayées. Vous pourrez donc corriger le prochain cycle des balayages radar.

Si par chance l'avion est détecté par le radar dans l'intervalle saisi, il vous faudra recommencer l'opération avec un intervalle plus petit afin de pouvoir focaliser le radar exactement sur l'altitude de l'avion.

Si sous le stress vous n'avez pas eut le temps de lire le résultat du balayage radar précèdent, pas de souci pressez sur ENTER sans entrer d'altitude, le dernier message sera répété. Mais faites attention à ce que votre Chef de Service ne vous voit pas faire cela trop souvent ou ça va encore gueuler. Il est à prendre avec des pincette aujourd'hui avec tous ces soucis techniques et le traffic de ce retour de W.E.; il ne faut surtout pas merder...

Image

Bonne chance.
par C.Ret
11 févr. 2024 12:20
Forum : Tous les Pockets
Sujet : Misez p'tit Optimisez n°96 : Combien de bits à un dans cet entier ?
Réponses : 74
Vues : 34012

Re: Misez p'tit Optimisez n°96 : Combien de bits à un dans cet entier ?

FLISZT a écrit : 10 févr. 2024 21:49

Code : Tout sélectionner

« IP DUP « 2 / DUP FP SIGN SWAP B° + » IFT » 'B°' STO

Code : Tout sélectionner

« IP IF DUP THEN 2 / DUP FP SIGN SWAP B° + END » 'B°' STO
Le 2ème code fait près d'un cm de plus !
LOL! J'adore ce type d'humour. Du coup, avec son centimètre surnuméraire, c'est difficile de dire qu'il est le plus court. Il est plus long mais moins lourds ! :mrgreen: :mrgreen: Excellent!
par C.Ret
10 févr. 2024 18:15
Forum : Tous les Pockets
Sujet : Fonction'sign'
Réponses : 14
Vues : 758

Re: Fonction'sign'

Je viens de vérifier, SGN est présent sur tout mes pockets BASIC.

Effectivement, il n'y a pas de SGN sur la CASIO fx-602p ni sur la NUMWORKS. J'ai pensé que c'était une sorte d'oubli. Mais en y réfléchissant c'est peut-être délibéré. Comme il n'existe apparemment aucun consensus ou du moins qu'il y a différentes approches au problème, cela oblige l'utilisateur à définir lui-même sa fonction signe.
par C.Ret
10 févr. 2024 10:35
Forum : Tous les Pockets
Sujet : Fonction'sign'
Réponses : 14
Vues : 758

Re: Fonction'sign'

Effectivement, le manuel d'utilisation est très clair à ce sujet et considère que zéro est positif.
Ti-95 PROCALC User's Guide US (SGN function definition).gif
Ti-95 PROCALC User's Guide US (SGN function definition).gif (26.43 Kio) Vu 740 fois
Ce serait donc une autre définition du signe d'un nombre; Contrairement à la convention habituelle qui considère trois cas possibles, il y aurait une norme (résultante d'une vison plus binaire de notre univers) où les nombres ne peuvent être que positifs ou négatifs sans alternative.

Ce qui expliquerai le comportement d'autres machines plus récentes comme les Ti-83 etc qui considèrent maintenant que zéro est à la fois positif et négatif.

Chaque machine semblent donc répondre à des considérations mathématiques qui évoluent en fonction de l'évolution de critères philosophiques et pédagogiques.
par C.Ret
10 févr. 2024 10:18
Forum : Tous les Pockets
Sujet : Fonction'sign'
Réponses : 14
Vues : 758

Re: Fonction'sign'

Salut,
Image
c'est effectivement très curieux, car la définition de la fonction signe est sans ambiguïtée et devrait renvoyer sans exception la valeur 0 pour tout argument nul.
Image
Je connaissais l'exception de l'implémentation de cette fonction SIGN sur les HP-41 et je n'ai découvert que SGN avait le même comportement qu'en lisant ton message dans ledit MPO.

Sur l'HP-41, 0 SIGN renvoi 1.0000 et non 0.0000 qui est le résultat réservé pour signaler une valeur alphanumérique. En effet [ALPHA]TOTO ASTO 01 met la chaine "TOTO" dans le registre R01. Alors RCL 01 SIGN renvoi effectivement 0.0000. Le prétexte de se comportement est qu'ainsi la fonction SIGN sert aussi à détecter des résultats alphanumériques.

Mais sur la TI-95 PROCALC, cela ne marche pas de la même façon. Est-ce un bug ou une fonctionnalité ?
par C.Ret
08 févr. 2024 18:50
Forum : Tous les Pockets
Sujet : Misez p'tit Optimisez n°96 : Combien de bits à un dans cet entier ?
Réponses : 74
Vues : 34012

Re: Misez p'tit Optimisez n°96 : Combien de bits à un dans cet entier ?

badaze a écrit : 07 févr. 2024 23:49Pour TI 57 LED. Pas optimisé. Je n’ai pas voulu m’inspirer de ce qui a déjà été publié.
Si badaze sort sa Ti-57 LED, alors je suis obligé de sortir ma Ti-57 LCD pour tenter de donner le change.
Et pour ne pas poster le même code que lui, je m'inspire vivement de ce qui a été publié depuis 4 ans pour présenter cette petite merveille:

Code : Tout sélectionner

 55       00           ÷
 02       01           2
 75       02           -
 59       03      2nd Frac
 61.85.00 04          STO+0
 61.85.00 05          STO+0
 95       06           =
-26       07  INV 2nd x≠t?
 21       08          RST
 71.00    09          RCL 0
 13       10          R/S
 76       11      2nd CM
 21       12          RST
Pour la première utilisation initialiser en effectuant 2ndCM et 2ndC.T puis RST.
Ensuite, pour chaque utilisation saisir l'entier et pressez sur R/S. La Ti-57 LCD mouline un peu et affiche le nombre de bits à un de cet entier.

Ainsi, vous trouverez qu'aujourd'hui 20240208 fait 12 bits à un.
tyann a écrit : 06 févr. 2024 20:0233 Octets pour cette version.
C.Ret a écrit : 07 févr. 2024 21:01Je n'essaie même pas de battre tyann avec mon SHARP qui n'a pas d'instruction FRAC. C'est peine perdue depuis quarante ans.
En fait, en m'inspirant très fortement du code de tyann j'arrive sur mon SHARP PC-1211 à 34 octets en trouvant un Ersatz à l'instruction FRAC:

Code : Tout sélectionner

1:PRINT B:CLEAR :INPUT A
2:A=INT A/2,B=B+ABS SIN A∏:GOTO 1+SGN A
A utiliser en mode RADIAN évidemment.
par C.Ret
07 févr. 2024 21:01
Forum : Tous les Pockets
Sujet : Misez p'tit Optimisez n°96 : Combien de bits à un dans cet entier ?
Réponses : 74
Vues : 34012

Re: Misez p'tit Optimisez n°96 : Combien de bits à un dans cet entier ?

Grrr...

Dès 1983 lorsqu'un de mes camarades de classe a sorti sa CASIO fx-702p de son cartable, j'ai compris qu'avec mon SHARP PC-1211 je n'étais plus à la hauteur.
Je n'essaie même pas de battre tyann avec mon SHARP qui n'a pas d'instruction FRAC. C'est peine perdue depuis quarante ans. Je peux éventuellement améliorer mon code personnel de quelques octets en utilisant une partie des astuces de notre ami. Mais je ne me bats pas à armes égales et n'arriverai pas à moins de 33 octets.

Par contre, 18 octets (avec le HLT final) suffisent pour résoudre cet MPO avec une Ti-95 PROCALC:
MPO 96  Ti-95 PROCALC.gif
MPO 96 Ti-95 PROCALC.gif (17.99 Kio) Vu 478 fois
Et il suffit de saisir 20240207 [RUN](F1) pour voir qu'il y a 15 bits à un dans la date d'aujourd'hui.
Ou de taper 1099511627775 (F1) pour compter 40 bits à un. Ce Ti-PROCALC est surprenant (et très rapide).

Attention, je ne revendique pas toutes les astuces utilisées dans ce code:
  1. CMS pour mettre à zéro les variables B et Z vient directement du VAC utilisé par tyann.
  2. Diviser par deux pour faire un shift des bits vers la droite provient d'une proposition lue dans les premiers messages.
  3. Doubler l'instruction arithmétique ST+ B provient de l'observation faite par Schraf Le résultat de la division est soit entier soit un entier et demi.
  4. Utiliser un registre Z pour faire un test x>0? en laissant une valeur nulle dans celui-ci est une technique que j'ai vu quelque part sur notre forum (ou dans un exemple de programme dans un manuel Texas Instrument).
  5. L'utilisation d'un saut direct GTO au lieu de labels plus couteux en octets provient d'une remarque faites il y quelques temps sur ce forum ou lors d'un (mini-)pokéticaire.
  6. Aucun registre utilisé pour la variable A qui est saisie, traitée et testée uniquement dans le registre d'affichage provient d'un contre-pied volontaire aux conseils de Chat-GPT3 qui a avoué finalement (après deux pages de dialogues) qu'il ne connait rien à propos du Ti-95 PROCALC.
La seule astuce que je revendique est que calculer la partie entière d'un nombre est plus court en lui soustrayant sa partie fractionnaire (trois opérations) que de directement utiliser l'instruction INT (une seule instruction) lorsque justement la partie fractionnaire en question doit servir par ailleurs à incrémenter un compteur de Bits.
0000 CMS
0001 /2- FRC ST+ B ST+ B = IF> Z GTO 0001
0015 RCL B HLT

(Ainsi listé, on voit immédiatement qu'il s'agit d'un code repompé sur celui de tyann) et qui utilise exactement le même algorithme que le code de cgh mais avec moins de registres.)

Si après avoir publié un tel code, personne ne trouve un équivalent pour TI-58, Ti-58c ou Ti-59 je vais devoir envisager d'y aller ...
par C.Ret
05 févr. 2024 21:09
Forum : Tous les Pockets
Sujet : Misez p'tit Optimisez n°96 : Combien de bits à un dans cet entier ?
Réponses : 74
Vues : 34012

Re: Misez p'tit Optimisez n°96 : Combien de bits à un dans cet entier ?

tyann a écrit : 05 févr. 2024 20:33Utiliser la fonction 'SIGNE' sur la partie fractionnaire de la division pour incrémenter le compteur de 1.
Excellente idée, surtout enchainée comme tu le fais avec la fonction FRAC; il n'y a pas besoin de parenthèses ce qui est court et direct.
Je cherche une autre machine où cette astucieuse combinaison pourrait être exploitée...

Par ailleurs, tu peux gagner encore quelques octets. Come je l'ai fait avec certain de mes BASIC, tu peux laisser la partie décimale dans la variable A et extraire la partie entière juste au moment de la division par deux. Tu gagnes alors une affectation (plus rapide et plus court):

Code : Tout sélectionner

10 VAC :INP A
12 IF A>0;A=INT A/2:B=B+SGN FRAC A:GOTO 12
14 PRT B
EDIT 1: Zut, nos messages se sont croisés, je n'avais pas vu ta version optimisée quand j'ai répondu. Tu peux retirer le INT dans le test, ça fait un octet de moins et juste une boucle de plus qui ne change pas le résultat.

EDIT 2: J'ai trouvé une autre machine qui a SIGN et FP qui per met d'utiliser cette même astuce:

Code : Tout sélectionner

« IP DUP                       @@ Prend partie entière et duplique pour test IF/THEN 
  « 2 / DUP FP SIGN            @@ Divise par deux et calcule retenue avec FP et SIGN
    SWAP B° + »                @@ Appel récursif et somme terminale
  IFT »                        @@ Test de sortie quand argument est nul
'B°' STO                       @@ J'ai utilisé B° car B# n'est pas un nom de variable valide
Petit exemple d'utilisation avec 1968 :

Code : Tout sélectionner

12:11:10: 9: 8: 7: 6: 5: 4: 3: 2: 1: CALLS:   Pending Operations:    
                                   1968    B°                       @ Appel inital
                                0  984     B° +                     @ Appels récursifs (phase montante)
                             0  0  492     B° + +
                          0  0  0  246     B° + + +
                       0  0  0  0  123     B° + + + +
                    0  0  0  0  1  61.5    B° + + + + +
                 0  0  0  0  1  1  30.5    B° + + + + + +
              0  0  0  0  1  1  0  15      B° + + + + + + +
           0  0  0  0  1  1  0  1  7.5     B° + + + + + + + +
        0  0  0  0  1  1  0  1  1  3.5     B° + + + + + + + + +
     0  0  0  0  1  1  0  1  1  1  1.5     B° + + + + + + + + + +
  0  0  0  0  1  1  0  1  1  1  1  .5      B° + + + + + + + + + + +
  0  0  0  0  1  1  0  1  1  1  1  0          + + + + + + + + + + + @ Phase descendante (additive) 	   
     0  0  0  0  1  1  0  1  1  1  1          + + + + + + + + + + 		
        0  0  0  0  1  1  0  1  1  2          + + + + + + + + + 
           0  0  0  0  1  1  0  1  3          + + + + + + + +
              0  0  0  0  1  1  0  4          + + + + + + +
                 0  0  0  0  1  1  4          + + + + + +
                    0  0  0  0  1  5          + + + + +
                       0  0  0  0  6          + + + +
                          0  0  0  6          + + +
                             0  0  6          + +
                                0  6          + 
                                   6                                @ Résultat final
Evidemment, même si la structure « tst « prg » IFT » illustre bien le principe de fonctionnement récursif, ce code est plus long que la version compacte utilisant une structure IF THEN END classique :

Code : Tout sélectionner

« IP IF DUP THEN 2 / DUP FP SIGN SWAP B° + END » 'B°' STO
par C.Ret
05 févr. 2024 18:56
Forum : Tous les Pockets
Sujet : Misez p'tit Optimisez n°96 : Combien de bits à un dans cet entier ?
Réponses : 74
Vues : 34012

Re: Misez p'tit Optimisez n°96 : Combien de bits à un dans cet entier ?

Ah! Du RPN sur des Ti ? Ca fait bizarre, mais effectivement les Ti-83 et Ti-84+ ont une touche ENTER. Alors je dis pourquoi pas :)

Mais, que fait-on des touches parenthèses ?? :mrgreen: :mrgreen:

P.S./ Je voulais juste confirmer que je trouve bien moi aussi 14 bits à un dans 20220903, mais aujourd'hui nous sommes le 20240205. Ca va aller, ça fait aussi 14 bits à un.

Aller à la recherche avancée