Nouveau logiciel éducatif
Modérateurs : Papy.G, fneck, Carl
Re: Nouveau logiciel éducatif
En effet la OCRification à commis beaucoup d'erreurs un peu partout sans compter les fautes de frappe et autres inutilités. Cependant, il reste un bon casse-tête pour ceux qui aiment
Cependant je rencontre toujours des difficultés avec le choix des nombres NB1 et NB2
Sachant que NB1=INT(RND*T) et T=1 le resultat est forcément 0 pour que l'aléatoirité fonctionne il faudrait T=100 mais cela bloque le programme à la recherche de NB2 en boucle à cause de LIMIT(N) avec N=1. Si on conserve T=1, NB2=-2 car NB2=INT(RND*LIMIT(N)-2) sachant que LIMIT(N)=0
Bon, j'avance un peu tout de même mais à petit pas... à suivre.
Cependant je rencontre toujours des difficultés avec le choix des nombres NB1 et NB2
Sachant que NB1=INT(RND*T) et T=1 le resultat est forcément 0 pour que l'aléatoirité fonctionne il faudrait T=100 mais cela bloque le programme à la recherche de NB2 en boucle à cause de LIMIT(N) avec N=1. Si on conserve T=1, NB2=-2 car NB2=INT(RND*LIMIT(N)-2) sachant que LIMIT(N)=0
Bon, j'avance un peu tout de même mais à petit pas... à suivre.
Re: Nouveau logiciel éducatif
Toutes les opérations de mise au point de programme, création de disquette ou de cassette, simulation de frappe au clavier à partir du presse-papier ou d'un fichier texte, impression du listing de programme BASIC dans un fichier texte, etc. sont extrêmement simples dans Windows avec l'émulateur dcmoto.
Pour les utilisateurs de Linux, il doit être possible de profiter des mêmes avantages grâce à Wine.
Pour les utilisateurs de Linux, il doit être possible de profiter des mêmes avantages grâce à Wine.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Re: Nouveau logiciel éducatif
Ça m'a pris «que» une journée complète à taper
Merci de ton intérêt.jasz a écrit : ↑16 sept. 2018 16:17 Cependant je rencontre toujours des difficultés avec le choix des nombres NB1 et NB2
Sachant que NB1=INT(RND*T) et T=1 le resultat est forcément 0 pour que l'aléatoirité fonctionne il faudrait T=100 mais cela bloque le programme à la recherche de NB2 en boucle à cause de LIMIT(N) avec N=1. Si on conserve T=1, NB2=-2 car NB2=INT(RND*LIMIT(N)-2) sachant que LIMIT(N)=0
Bon, j'avance un peu tout de même mais à petit pas... à suivre.
Re: Nouveau logiciel éducatif
Autant que je sache, c'est pas un système automatisable, je me trompe?Daniel a écrit : ↑16 sept. 2018 17:06 Toutes les opérations de mise au point de programme, création de disquette ou de cassette, simulation de frappe au clavier à partir du presse-papier ou d'un fichier texte, impression du listing de programme BASIC dans un fichier texte, etc. sont extrêmement simples dans Windows avec l'émulateur dcmoto.
Pour les utilisateurs de Linux, il doit être possible de profiter des mêmes avantages grâce à Wine.
Re: Nouveau logiciel éducatif
Tu nous cites Daniel, puis "Autant que je sache, c'est pas un système automatisable, je me trompe?"
Parles-tu de Windows, linux, DCmoto ou de la conversion ?
Avant de connaitre DCmoto, j'ai créé un logiciel pour créer des fichiers K7 à partir de fichiers texte... (http://dskcenter.free.fr/TO7/)
L'idée me semblait bonne, mais pour le débogage, il était nécessaire de recharger la K7, alors que l'ajout d'une seule ligne, ou d'un groupe de lignes était plus rapide avec un "copier/coller" sur l'émulateur.
L'OCR est merveilleux, mais pour certains listings de mauvaise qualité, il faut "améliorer" les images...
Et il est impératif de relire entièrement le listing, alors qu'une frappe directe est plus ou moins exploitable directement.
Une saisie en une journée, c'est combien d'heures? 2,4 ou 8 heures.
Parles-tu de Windows, linux, DCmoto ou de la conversion ?
Avant de connaitre DCmoto, j'ai créé un logiciel pour créer des fichiers K7 à partir de fichiers texte... (http://dskcenter.free.fr/TO7/)
L'idée me semblait bonne, mais pour le débogage, il était nécessaire de recharger la K7, alors que l'ajout d'une seule ligne, ou d'un groupe de lignes était plus rapide avec un "copier/coller" sur l'émulateur.
L'OCR est merveilleux, mais pour certains listings de mauvaise qualité, il faut "améliorer" les images...
Et il est impératif de relire entièrement le listing, alors qu'une frappe directe est plus ou moins exploitable directement.
Une saisie en une journée, c'est combien d'heures? 2,4 ou 8 heures.
Dernière modification par Xavier_AL le 16 sept. 2018 19:29, modifié 1 fois.
Re: Nouveau logiciel éducatif
La création d'une disquette à partir d'un fichier texte. Pour la partie qui serait dans DCMoto, ça serait d'ouvrir une nouvelle session, de coller tout le texte dans l'émulateur, de sauver ça sur une image de disquettes.
«OCR», haha, c'est tout tapé à la main. Ya aucun programme d'OCR qui réussissait à prendre en compte les impressions délavées d'une imprimante matricielle datant de 30 ans.Xavier_AL a écrit : ↑16 sept. 2018 19:17 Avant de connaitre DCmoto, j'ai créé un logiciel pour créer des fichiers K7 à partir de fichiers texte...
L'idée me semblait bonne, mais pour le débogage, il était nécessaire de recharger la K7, alors que l'ajout d'une seule ligne, ou d'un groupe de lignes était plus rapide avec un "copier/coller" sur l'émulateur.
L'OCR est merveilleux, mais pour certains listings de mauvaise qualité, il faut "améliorer" les images...
Et il est impératif de relire entièrement le listing, alors qu'une frappe directe est plus ou moins exploitable directement.
Le scan des pages est dans github:
https://github.com/hadess/inondation-d- ... er/Listing
Presque 10 heures.
Re: Nouveau logiciel éducatif
J'ai tapé 746 listings Hebdogiciel... tous en OCR de listings retravaillés.
(de 4 à 6 heures de travail en moyen par programme avec débogage sur émulateur)
Les OCRs sont très bon...
Et j'utilise celui-ci maintenant : https://www.onlineocr.net/
Ocr brut... j'ai vu pire.
Il faut faire des remplacements groupés GOSUB et 00SUB ... etc..
Mais, la vérification est plus rapide et plus sûre, car l'oublie de lignes est réduit!
(de 4 à 6 heures de travail en moyen par programme avec débogage sur émulateur)
Les OCRs sont très bon...
Et j'utilise celui-ci maintenant : https://www.onlineocr.net/
Ocr brut... j'ai vu pire.
Il faut faire des remplacements groupés GOSUB et 00SUB ... etc..
Mais, la vérification est plus rapide et plus sûre, car l'oublie de lignes est réduit!
Code : Tout sélectionner
0 CLS: SCREENO, 0%3: CLEARI 000,55 ttGOSUBB500 GOSUB235001
6 CLS: LG=0: 00,911920000,: SCREEN4,4,5
10 LIMITS=STR$(LIMIT(N))
20 LIM=LEN(LIMITS)-1 0 AS=(LIM,35)
40 ESS=1:0P=J:0Pa=0:0PF=0:COU=0:W.0
50 ATT5pOt eepLOR7,4
55 GOSUD80.(WOOSUB9000' -
60 GOSUB1100:00SUB1200:GOSUB1300
70 GOSUB2100:00FU91792
BO GOSUBB700:SOL=0:UR=0:DROICR=0:MR.--0:GOSUB1500:
95 GOSU91792:GOSUB1BCO:GOSUB1792
90 GOSUB19&0:00SUB1792:00T060
1100 'RECHERCHE DE N31
1101 IFOP=1THEN1115ELSE
1105 NB1=INT(RND*(LIMIT(N)-2))
1110 MR1$=STRS(NB1):LNB1=LEN(N91$)-1:LX=LNB1:XBlii:II-4:GOSUB1400:RETURN
1115 NB1=INT(RND*T) GOT01110
1200 'RECHERCHE DE N92
1201 NB2=0:RESULT=0
1210 N92=INTŒND*((LIMIT(N))-2)):
1215 PMI! T=(N81+ND2)
1217 IFRESULT>LIMIT(N)THEN GOTO
1200 ELSE
1220 N92$=STRS(ND2):LNB2=LEN(NB2e)-1:LX,:LMB2:)($=NB2$:I=2:GOSUB1400
1230 IFCHS(N)="SANS"THEN1232ELSERETURN
Dernière modification par Xavier_AL le 16 sept. 2018 20:34, modifié 3 fois.
Re: Nouveau logiciel éducatif
Merci pour les scans ça peut effectivement aider
Re: Nouveau logiciel éducatif
Les étapes pour la préparation d'un Ocr :
- Convertir en niveaux de gris. -Recentrer les couleurs.
- Modifier la résolution 21x29,7 en 300dpi
- Accentuer le contraste. Parfois, il faut tout traiter sur une seule colonne.
Pour la correction en mode texte, les erreurs sont pratiquement toutes les même... et peuvent être traitées en modifications groupées...
Puis, relecture minutieuse.
- Convertir en niveaux de gris. -Recentrer les couleurs.
- Modifier la résolution 21x29,7 en 300dpi
- Accentuer le contraste. Parfois, il faut tout traiter sur une seule colonne.
Pour la correction en mode texte, les erreurs sont pratiquement toutes les même... et peuvent être traitées en modifications groupées...
Puis, relecture minutieuse.
Re: Nouveau logiciel éducatif
Finalement, j'ai tout de même obtenu un bon début
Cependant même avec un OCR il y a des choses difficiles à comprendre comme la ligne 30. Qu'a voulu dire l'auteur avec son A$=(LIM,35)?
A$ que l'on retrouve en ligne 2205 sous PRINTUSINGA$;NB1 de même qu'en 2222 pour NB2. En toute probabilité A$ devait contenir des # ce qui est vrai avec A$=STRING$(LIM,35) (Enfin ici un seul #). Mais la syntaxe reste incorrect. A$ ne sert donc à rien
Rassure toi ce n'est pas la seule erreur du genre
Cependant même avec un OCR il y a des choses difficiles à comprendre comme la ligne 30. Qu'a voulu dire l'auteur avec son A$=(LIM,35)?
A$ que l'on retrouve en ligne 2205 sous PRINTUSINGA$;NB1 de même qu'en 2222 pour NB2. En toute probabilité A$ devait contenir des # ce qui est vrai avec A$=STRING$(LIM,35) (Enfin ici un seul #). Mais la syntaxe reste incorrect. A$ ne sert donc à rien
Rassure toi ce n'est pas la seule erreur du genre
Re: Nouveau logiciel éducatif
Ca me fait penser à un piège, quand on porte un programme BASIC d'une machine à l'autre, ou même d'un BASIC à un autre sur la même machine. Il n'y a pas le même jeu d'instructions dans le BASIC 1.0 des TO et celui des MO, et encore moins entre le BASIC 512, le BASIC 128, le BASIC-DOS, le BASIC-QDOS et le BASIC 1.0.
Donc si on porte le programme et qu'un token du Basic d'origine n'a pas de correspondance dans le Basic de destination, ce token disparaît. C'est peut être ce qui explique la disparition du token STRING$, qui existe en BASIC 512 mais pas en BASIC 1.0.
Si mon hypothèse est exacte, elle peut expliquer des dizaines d'autres erreurs dans ce programme, en particulier l'absence d'instruction après les ELSE, mais aussi plein d'autres erreurs incompréhensibles autrement. Malheureusement, sans la version originale, il sera difficile de tout reconstituer.
Donc si on porte le programme et qu'un token du Basic d'origine n'a pas de correspondance dans le Basic de destination, ce token disparaît. C'est peut être ce qui explique la disparition du token STRING$, qui existe en BASIC 512 mais pas en BASIC 1.0.
Si mon hypothèse est exacte, elle peut expliquer des dizaines d'autres erreurs dans ce programme, en particulier l'absence d'instruction après les ELSE, mais aussi plein d'autres erreurs incompréhensibles autrement. Malheureusement, sans la version originale, il sera difficile de tout reconstituer.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Re: Nouveau logiciel éducatif
Il y a beaucoup d'erreurs de programmation et surtout d'énormes lourdeurs dont voici un échantillon
Cette séquence est appelée en ligne 60 par un GOSUB
Il aurait pu la simplifier ainsi
C'est plus propre, plus net et plus facile à comprendre.
Je pense qu'il s'agit d'un brouillon inachevé mais toutefois bien avancé. Il voulait sans doute le rendre compatible avec le BASIC1.0 dans un but scolaire.
Code : Tout sélectionner
1100 'RECHERCHE DE NB1
1101 IFOP=1THEN1115
1105 NB1=INT(RND*(LIMIT(N)-2))
1110 NB1$=STR$(NB1):LNB1=LEN(NB1$)-1:LX=LNB1:X$=NB1$:I=1:GOSUB1400:RETURN
1115 NB1=INT(RND*T)
1118 GOTO1110
Il aurait pu la simplifier ainsi
Code : Tout sélectionner
1100 'RECHERCHE DE NB1
1105 IFOP=1THEN NB1=INT(RND*T) ELSE NB1=INT(RND*(LIMIT(N)-2))
1110 NB1$=STR$(NB1):LNB1=LEN(NB1$)-1:LX=LNB1:X$=NB1$:I=1:GOSUB1400
1115 RETURN
Je pense qu'il s'agit d'un brouillon inachevé mais toutefois bien avancé. Il voulait sans doute le rendre compatible avec le BASIC1.0 dans un but scolaire.
Dernière modification par jasz le 17 sept. 2018 20:47, modifié 1 fois.
-
- Messages : 7924
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: Nouveau logiciel éducatif
Il y a une époque ou le basic n'acceptait que des numéros de lignes après le THEN. Il me semble même que le ELSE était absent de certains basics (il suffisait de mettre un goto à la ligne suivante).
Le style de codage que je lis me fait penser à cette époque des THEN-à-numéros-de-lignes.
Le style de codage que je lis me fait penser à cette époque des THEN-à-numéros-de-lignes.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Re: Nouveau logiciel éducatif
Il est vrai que la quasi majorité des programmes de l'époque utilisaient ce schéma. Pourtant le BASIC1.0 tolérait tout de même des conditions à conséquences multiples sans saut de lignes. Pour preuve, Initiation au BASIC TO7/TO7-70 page 57 (mon premier livre de chevet)
Comme l'a dit Daniel, l'auteur devait bien mal connaître le BASIC Thomson au regard des nombreuses erreurs...
Comme l'a dit Daniel, l'auteur devait bien mal connaître le BASIC Thomson au regard des nombreuses erreurs...