3342 résultats trouvés

par C.Ret
12 févr. 2024 19:55
Forum : Tous les Pockets
Sujet : Sharp PC 1500
Réponses : 10
Vues : 1015

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 : 816

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 : 816

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 : 1371

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 : 1015

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 731 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 : 34345

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 : 809

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 : 809

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 791 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 : 809

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 : 34345

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 : 34345

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 526 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 : 34345

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 : 34345

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.
par C.Ret
03 févr. 2024 09:51
Forum : Tous les Pockets
Sujet : Misez p'tit, Optimisez - N°115 : Evaluation de la fonction d'Olivette Barthelaine
Réponses : 76
Vues : 7523

Re: Misez p'tit, Optimisez - N°115 : Evaluation de la fonction d'Olivette Barthelaine

Trypilec a écrit : 03 févr. 2024 05:52Je cherchais depuis longtemps une fonction qui générerait une erreur. Et il n'a pas du tout prêté attention à une solution simple :).
C'est une bonne idée, finir sur une erreur ou simplement faire clignoter l'affichage ?
C.Ret a écrit : 22 mars 2023 22:58Pour rester dans la course, j'ai dû retirer Label et instruction de fin de programme.

Code : Tout sélectionner

001-   43 16    g ABS
002-       2       2
003-43,30, 7    g x>y? (Test 7)
004-43, 4, 9    g SF 9
005-      14      y^x
006-       2       2
007-      30       -
Utilisation :
Saisir le code. Faire f CLR PRGM ou g RTN pour remettre le pointeur au début du code.
Entrer la valeur de l'abscisse x puis presser sur R/S. La valeur de la fonction f(x) s'affiche. Si l'affichage clignote, c'est que f n'est pas définie à cette positon.
Bon, comme il nous en a donné l'habitude, le très bien code de Trypilec devrait nous inspirer quelque idée pour optimiser encore un peu tout cela.

Pour ma part, je n'ai pas réussi à faire mieux que:

Code : Tout sélectionner

001-   43 11    g x²
002-       4       4
003-43,30, 7    g x>y? (Test 7)
004-43, 4, 9    g SF 9
005-      11      √x
006-      30       -
C'est insuffisant, mais ce code est plus court d'un pas par rapport à ma précédente version. J'ai lu quelque part un vieux dicton disant que "N'importe quel programme peut être raccourci d'une pas"; c'est peut-être vrai ?

Il me tarde que Trypilec se présente (en postant un petit message dans la partie présentation) afin d'en savoir plus sur ce personnage encore fort mystérieux et ses compétences à programmer nos vieilles machines.

Code : Tout sélectionner

┌──────┬────────────┬──────────┬──────┬──────┬────────┬──────────────┬─────────────────────┐
│   X  │    -875.3  │ -14.23   │  -17 │  -11 │  -6    │      -4      │          -.02       │
├──────┼────────────┼──────────┼──────┼──────┼────────┼──────────────┼─────────────────────┤
│ f(X) │ 766'148.09 │ 200.4929 │  287 │  119 │  34    │      14      │         **.****     │
└──────┴────────────┴──────────┴──────┴──────┴────────┴──────────────┴─────────────────────┘
┌──────┬────────────┬──────────┬──────┬──────┬────────┬──────────────┬─────────────────────┐
│   X  │       0    │   1      │    2 │    6 │  12.3  │     452.38   │      7'451.2357     │
├──────┼────────────┼──────────┼──────┼──────┼────────┼──────────────┼─────────────────────┤
│ f(X) │      **    │  **      │    2 │   34 │ 149.29 │ 204'645.6644 │ 55'520'911.45695449 │
└──────┴────────────┴──────────┴──────┴──────┴────────┴──────────────┴─────────────────────┘
par C.Ret
02 févr. 2024 19:25
Forum : Tous les Pockets
Sujet : Misez p'tit, Optimisez - N°115 : Evaluation de la fonction d'Olivette Barthelaine
Réponses : 76
Vues : 7523

Re: Misez p'tit, Optimisez - N°115 : Evaluation de la fonction d'Olivette Barthelaine

Trypilec a écrit : 02 févr. 2024 17:48Ce sont des polynômes symétriques.
De quels polynômes parles-tu ? Je ne vois aucun polynômes symétrique chez Olivette.
Trypilec a écrit : 02 févr. 2024 18:33À l'aide de polynômes symétriques, il est possible de trouver une solution à un système d'équations du troisième degré et plus.
Hors sujet ! Que viens faire tout cela dans ce MPO ?

Aller à la recherche avancée