C'est la nuit qu'il est beau de croire à la lumière.
Edmond Rostand (sur mon T shirt!)
Magic 500 n'est que le jeu où l'on devine un nombre, après essais successifs (trop grand, trop petit...)
Développé par les membres de Microloges, le club d'informatique de Beaumetz les loges, Magic 500 présente l'interêt d'offrir des sources quickbasic qui peuvent servir d'exemples aux débutants...
Le fichier principal:
DECLARE SUB jeu (moinsbon!) DECLARE SUB regle () DECLARE SUB beethov () DECLARE SUB init (e$) DECLARE SUB texte (a$, li!, co!, couleur!, t$) DECLARE SUB espace (w!) DECLARE SUB elise () CONST nbnb = 5 'nb de nb à trouver CONST nbch = 3 'nb de chiffre à trouver CONST nbenr = 30 TYPE sov chnom AS STRING * 20 chnbes AS INTEGER END TYPE DIM joueur AS sov joueur.chnom = "Adam" ' Page de garde... '__________________________________________________ DO WIDTH 40, 25 CLS texte "MICRoLoGES", 12, 5, 3, "non" elise texte "PRESENTE:", 14, 10, 4, "oui" CLS texte " M A G I C 5 0 0", 12, 1, 5, "non" SLEEP 2 '_______________________________________________ 'page 2 WIDTH 80, 50 CLS OPEN "score.wou" FOR RANDOM AS #1 LEN = LEN(joueur) i = 1 texte "MEILLEURS SCORES", 1, 25, 2, "non" texte "NOM", 5, 15, 3, "non" texte "ESSAIS", 5, 50, 3, "non" max = LOF(1) / LEN(joueur) IF max > nbenr THEN max = nbenr FOR i = 1 TO max GET #1, i, joueur LOCATE 7 + i, 2 COLOR 1 PRINT i LOCATE 7 + i, 15 PRINT joueur.chnom LOCATE 7 + i, 50 COLOR 5 PRINT joueur.chnbes NEXT CLOSE #1 moinsbon = joueur.chnbes IF moinsbon = 0 OR max < nbenr THEN moinsbon = 9999 LOCATE 50, 35 COLOR 2 PRINT "J"; COLOR 1 PRINT "ouer/"; COLOR 2 PRINT "R"; COLOR 1 PRINT "ègles/"; COLOR 2 PRINT "Q"; COLOR 1 PRINT "uitter"; DO init e$ 'on initialise la liste de nb aleatoires LOOP UNTIL INSTR("jJrRqQ", e$) > 0 AND e$ <> "" SELECT CASE UCASE$(e$) CASE "J" jeu moinsbon CASE "Q" fin$ = "oui" CASE "R" regle END SELECT LOOP UNTIL fin$ = "oui" SUB jeu (moinsbon) DIM joueur AS sov DIM j AS sov CLS WIDTH 80, 50 BEEP FOR no = 1 TO nbnb nbcach = INT(RND * 9 * 10 ^ (nbch - 1)) + 10 ^ (nbch - 1) DO essai = essai + 1 PRINT COLOR 3 PRINT "Encore "; nbnb - no + 1; "nombre"; IF nbnb - no + 1 > 1 THEN PRINT ("s"); PRINT " ...trouver. "; COLOR 3 PRINT " Essai nø "; COLOR 4 PRINT essai; COLOR 3 PRINT " > "; t = 0 FOR y = 1 TO nbch t$ = "" DO t$ = INKEY$ LOOP UNTIL INSTR("0123456789q", t$) > 0 AND t$ <> "" IF t$ = "q" THEN STOP PRINT t$; t = t * 10 + VAL(t$) t$ = "" NEXT y IF t > nbcach THEN PRINT " trop grand " IF t < nbcach THEN PRINT " trop petit " LOOP UNTIL t = nbcach COLOR 4 PRINT " BRAVO !" IF no <nbnb THEN elise ELSE beethov espace (5) NEXT no PRINT " Mission accomplie !" SLEEP 3 ' ici on regarde le score et on le sauve si il est bon IF essai < moinsbon THEN PRINT " Bravo ! Vous entrez dans le top "; nbenr PRINT BEEP INPUT "Entrez votre nom : "; nom$ OPEN "score.new" FOR RANDOM AS #2 LEN = LEN(joueur) OPEN "score.wouf" FOR RANDOM AS #1 LEN = LEN(joueur) ok$ = "non" i2 = 0 max = LOF(1) / LEN(joueur) IF max = 0 THEN ok$ = "oui" j.chnom = nom$ j.chnbes = essai i2 = i2 + 1 PUT #2, i2, j END IF FOR i = 1 TO max GET #1, i, joueur IF (essai < joueur.chnbes OR joueur.chnbes = 0) AND ok$ = "non" THEN ok$ = "oui" j.chnom = nom$ j.chnbes = essai i2 = i2 + 1 PUT #2, i2, j END IF i2 = i2 + 1 PUT #2, i2, joueur NEXT IF ok$ = "non" THEN ok$ = "oui" j.chnom = nom$ j.chnbes = essai i2 = i2 + 1 PUT #2, i2, j END IF CLOSE #2 CLOSE #1 KILL "score.wou" NAME "score.new" AS "score.wou" END IF END SUB SUB regle WIDTH 40, 25 CLS texte "Règles", 5, 10, 5, "non" texte "du jeu", 5, 23, 5, "oui" espace (5) COLOR 4 PRINT "Il s'agit de découvrir "; PRINT nbnb; PRINT " nombres cachés en dépensant" PRINT "le moins d'essais possibles." PRINT PRINT " Les nombres sont des entiers de "; nbch; " chiffres" PRINT PRINT " plus petit, ou plus grand" PRINT "seront mes seules indications" PRINT texte "BONNE CHANCE", 23, 12, 3, "oui" LOCATE 25, 10 COLOR 4 PRINT " presser une touche"; SLEEP END SUB
Et ce fichier externe, comme un "include"...
SUB beethov ECOUTE$ = "T180 o2 P2 P8 L8 GGG L2 E-" SUITE$ = "P24 P8 L8 FFF L2 D" PLAY ECOUTE$ + SUITE$ END SUB SUB elise PLAY ON lise$ = "o3 L8 E D+ E D+ E o2 B o3 D C L2 o2 A" PLAY "MB X" + VARPTR$(lise$) END SUB SUB espace (w) FOR i = 1 TO w PRINT NEXT END SUB SUB init (e$) DO e$ = INKEY$ z = z + 1 LOOP UNTIL e$ <> "" RANDOMIZE (z) END SUB SUB texte (a$, li, co, couleur, t$) LOCATE li, co COLOR couleur FOR i = 1 TO LEN(a$) PRINT (MID$(a$, i, 1)); " "; IF t$ = "oui" THEN SLEEP 1 NEXT END SUB
Quick Basic est téléchargeable: qb45fr.zip
Un autre exemple sur Wikipedia: Exemple de programme sous Qbasic
L'Unicode est un standard informatique international dont l'objectif est de donner à chaque caractère de n'importe quelle langue un numéro unique, indépendamment de la plateforme, du logiciel ou de la langue utilisée.
Dans un monde de plus en plus connecté, les ressources éducatives sont souvent destinées à un public diversifié. L'Unicode permet d'inclure nativement des contenus dans n'importe quelle langue, qu'il s'agisse de l'arabe pour l'enseignement de la calligraphie, du chinois pour des cours de sinologie, ou même des langues minoritaires. Cela signifie que les manuels, les cours en ligne et les documents peuvent être conçus pour être véritablement multilingues, sans les problèmes d'affichage de caractères manquants ou corrompus qui étaient fréquents avant l'avènement de l'Unicode. Une publication pédagogique sur l'histoire de l'écriture, par exemple, peut montrer des exemples de hiéroglyphes égyptiens, de caractères cunéiformes ou de scripts dévanagari, le tout dans un même document et affiché correctement sur n'importe quel appareil compatible Unicode
L'Unicode joue un rôle pivot pour l'intégration et l'affichage des mathématiques au sein des Environnements Numériques de Travail (ENT). Sa capacité à représenter une vaste gamme de symboles offre des avantages cruciaux pour l'enseignement et l'apprentissage des sciences.
Traditionnellement, l'affichage de formules mathématiques complexes sur le web ou dans des documents numériques était un défi. On avait souvent recours à des images ou à des langages de balisage spécifiques comme LaTeX, qui nécessitaient une compilation pour être visualisés correctement. L'Unicode change la donne en intégrant directement des milliers de symboles mathématiques (opérateurs, lettres grecques, flèches, symboles relationnels, etc.). Cela permet aux professeurs de saisir des équations comme x2+y2=r2, ∑i=1ni=2n(n+1) ou ∫abf(x)dx directement sous forme de texte.
Cette approche basée sur l'Unicode offre plusieurs avantages dans un ENT :
Les ENT sont des plateformes dynamiques conçues pour l'interactivité. L'Unicode, combiné à des technologies web modernes comme MathML (Mathematical Markup Language) ou des bibliothèques JavaScript comme MathJax/KaTeX, permet de rendre les mathématiques pleinement interactives. Un enseignant peut intégrer une formule Unicode dans un quiz, et l'élève pourra y répondre en saisissant des caractères mathématiques précis, ou manipuler des expressions directement dans des champs de texte.
Cette intégration native permet le développement d'outils pédagogiques plus sophistiqués :
En somme, l'Unicode est un fondement essentiel pour faire des mathématiques une composante à part entière et interactive des ENT, garantissant que le langage des chiffres et des symboles est aussi clair et manipulable que n'importe quel autre texte.
L'Unicode offre une solution élégante et universelle pour la représentation des exposants, un élément fondamental en mathématiques, en sciences et même dans l'écriture quotidienne (pensez aux mètres carrés ou cubes). Plutôt que de recourir à des systèmes complexes ou à des artifices de mise en forme, l'Unicode intègre des caractères spécifiques pour les chiffres et certaines lettres en position supérieure.
Historiquement, l'affichage d'exposants comme dans x2 ou 103 nécessitait l'utilisation de balises HTML (<sup>
), de langages de balisage mathématique comme LaTeX, ou simplement des caractères non formatés (comme x2
). Ces méthodes présentaient des inconvénients majeurs : le texte n'était pas directement lisible ou copiables, et la compatibilité entre différentes plateformes n'était pas garantie.
L'Unicode résout ce problème en proposant des caractères d'exposants dédiés. Par exemple :
²
(U+00B2) au lieu de ^2
ou <sup>2</sup>
.³
(U+00B3) au lieu de ^3
ou <sup>3</sup>
.⁰¹⁴⁵⁶⁷⁸⁹
), ainsi que pour certaines lettres (ᵃᵇᶜᵈᵉᶠᵍʰᶦʲᵏˡᵐⁿᵒᵖʳˢᵗᵘᵛʷˣʸᶻ
).Ces caractères sont de véritables caractères textuels, au même titre que n'importe quelle lettre ou chiffre. Cela signifie qu'ils peuvent être utilisés dans n'importe quelle application compatible Unicode (navigateurs web, traitements de texte, logiciels de communication), garantissant une uniformité d'affichage et une fidélité sémantique du contenu.
L'un des avantages les plus pratiques des exposants Unicode est la facilité de manipulation. Lorsque vous voyez un exposant affiché grâce à l'Unicode sur une page web, dans un document PDF ou dans un environnement numérique de travail (ENT), il suffit généralement d'un simple clic de souris pour le sélectionner, puis d'un Ctrl+C
(ou Cmd+C
sur Mac) pour le copier dans le presse-papiers.
Par exemple : Si vous rencontrez la formule E=mc²
dans un cours en ligne, le "²" est un caractère Unicode. En le sélectionnant et le copiant, vous collez précisément le caractère ²
dans votre document ou votre calculatrice, sans aucune perte de formatage ou de signification. C'est direct, intuitif et ne nécessite aucune connaissance technique particulière.
Cette simplicité est un atout majeur dans un contexte pédagogique. Les étudiants peuvent rapidement intégrer des formules ou des unités de mesure précises dans leurs travaux, et les enseignants peuvent créer des exercices et des corrections avec une clarté irréprochable, sans se soucier des problèmes de compatibilité ou d'affichage.
Un clic colle le caractère (exposant) dans le presse papier :
Chiffres :
Symboles :
Lettres latines disponibles :
Lettres minuscules spécifiques :
Vous cherchez un logiciel gratuit?
est joignable en cliquant sur "Liens" puis sur "Plus".