π
<-

News 2024
October (12)
August (9)
July (10)
June (20)
May (14)
April (16)
March (7)
January (20)

News 2023
October (19)
August (14)
July (13)
June (21)
May (29)
April (24)
March (24)
January (24)

News 2022
October (23)
August (14)
July (15)
June (17)
May (31)
April (27)
March (28)
January (34)

News 2021
October (24)
August (37)
July (50)
June (32)
May (48)
April (61)
March (35)
January (34)

News 2020
October (17)
August (43)
July (43)
June (45)
May (60)
April (78)
March (36)
January (39)

News 2019
October (13)
August (18)
July (23)
June (28)
May (31)
April (26)
March (38)
January (37)

News 2018
October (13)
August (32)
July (23)
June (64)
May (63)
April (45)
March (43)
January (45)

News 2017
October (26)
August (39)
July (52)
June (88)
May (51)
April (43)
March (37)
January (33)

News 2016
October (25)
August (42)
July (34)
June (109)
May (55)
April (34)
March (37)
January (24)

News 2015
October (22)
August (56)
July (22)
June (94)
May (56)
April (32)
March (40)
January (21)

News 2014
October (26)
August (18)
July (23)
June (101)
May (57)
April (59)
March (54)
January (31)

News 2013
October (67)
August (50)
July (43)
June (193)
May (93)
April (102)
March (45)
January (50)

News 2012
October (64)
August (63)
July (53)
June (132)
May (88)
April (73)
March (57)
January (58)

News 2011
October (56)
August (31)
July (27)
June (71)
May (61)
April (32)
March (36)
January (24)

News 2010
October (11)
August (8)
July (14)
June (10)
May (3)
April (3)
March (1)

News 2009
August (3)
July (1)
June (2)
May (1)
April (2)
March (1)

[Concours] Grand Prix de Programmation TI-Planet 2014-2015

New postby Adriweb » 01 Oct 2014, 21:10



TI-Planet est heureux de lancer aujourd'hui...
son concours "Grand Prix de Programmation" 2014-2015
TI-Planet is proud to launch...
its 2014-2015 "Programming Grand Prix" contest


Image


Le grand prix de programmation est un concours grand public, ouvert à tous/toutes, ayant pour objectif de produire des programmes éducatifs utiles aux élèves au Lycée :bj:
C'est un concours qui va nécessiter un peu plus de réflexion que d'autres, plus petits, que nous organis(er)ons dans l'année, car il est d'une plus grosse envergure, comme vous allez le voir avec le sujet de cette année ;)
Nous avons d'ailleurs décidé d'étendre ses dates pour mieux couvrir l'année scolaire, ce qui devrait en ravir plus d'un :)
The programming grand prix contest is open to everybody, and aims at producing educational programs useful for high school pupils :bj:
This contest will require more thought than some other, smaller contests which we'll organize later over the school year, because it has wider scope, as you'll see with the description below ;)
We have therefore decided to use a wide timespan for the contest, which should make people happier :)



Production attendue et règles:
Expected output and rules:


Réaliser un programme (dans les langages autorisés par TI *) pour une des 2 catégories suivantes : TI-Nspire ou TI-82/83/84 monochromes (pas uniquement compatible 84+CSE **).
Thème : les molécules de chimie organique (Terminale S).
Make a program (using the programming languages officially supported by TI *) for one of the two following categories: either TI-Nspire or TI-82/83/84 with a B/W screen (not exclusively targeted at the 84+CSE **)


Votre programme devra proposer le maximum possible de fonctionnalités parmi :
  • saisie de la molécule (via texte/menus ou graphiquement...)
  • divers outils/options associés couvrant au moins le niveau TS :
    • identification de la famille (avec justification: rappel ou mise en évidence des éléments caractéristiques)
    • nommage de la molécule selon les règles de nomenclature
    • recherche des isomères de la même famille ou de toutes les familles (avec indication du type d'isomérie éventuel, ou possibilité de se limiter à certains types d'isomérie: diastéréoisomères, Z/E, énantiomères)
    • ...
  • affichage:
    • semi-développé
    • développé
    • vue 3D
Your program will have to provide as many functionalities as possible among:
  • entering the molecular item (through text/menu or graphical input...)
  • a variety of associated tools and options covering at least the teaching content of the last high school year:
    • identifying the family (with a justification: reminder or highlight of the main elements for the identification)
    • naming the molecular item through ""nomenclature"" rules
    • finding isometric variants of the same family or other families (with an indication of the isomeric variant type if any, or possibility to select a subset of isometric variants: diastereomers, Z / E, enantiomers)
    • ...
  • display:
    • semi-developed
    • fully developed
    • 3D representation


Rappel de ce qui est vu au niveau 1ère/Term. S : alcanes, alcènes, alcools, acides carboxyliques, esters, aldéhydes, cétones, amines, amides...

En bref, un outil aussi complet que possible de chimie organique :)
Reminder of the chemistry teaching content of the two last years of high school: alkanes, alkenes, alcohols, carboxylic acids, esters, aldehydes, ketones, amines, amides ...

To sum up, a helper tool for organic chemistry, and of course, it should be as complete as possible :)


* Sur TI-Nspire, Lua et Basic; sur 82/83/84, langage de votre guise, la calculatrice etant ouverte au developpement tiers.
** Si votre programme fonctionne sur 84+CSE et sur les versions non-couleurs (84+ par exemple), alors il n'y a pas de problème, mais la compatibilite non-couleurs est obligatoire.
* on the Nspire, Lua and basic; on the 82/83/84, any programming language of your choice, as the platform is open to third-party development.
** If your program works on both the 84+CSE and the B/W calculators (e.g. 84+), it's OK, but compatibility with B/W models is mandatory.



Modalités d'évaluation:
Judging rules:

Les productions de chacune des 2 catégories (Nspire et 82/83/84) seront évaluées sur des machines identiques munies des dernières versions du moment et avec leurs réglages d’usine. Outre le respect des consignes précédentes, il sera tenu compte par ordre d’importance des critères suivants :
  1. le nombre de fonctionnalités présentes et en état de fonctionnement correct
  2. le nombre de types de molécules organiques reconnues
  3. le design et l'utilisabilité de l'interface graphique
The entries in each category (Nspire and 82/83/84) will be evaluated on identical calculators running the latest OS versions (at the time of evaluation) and under factory settings. Besides fulfilling the aforementioned guidelines, the ordered list of criteria is as follows:
  1. the number of available functionalities which work properly
  2. the count of types of molecular forms handled by the program
  3. UI design and usability


En cas d’égalité, les participations seront départagés avec les critères complémentaires suivants, dans cet ordre :
  1. le temps de "calcul" / fluidité du programme
  2. la taille du/des fichier(s) calculatrice
  3. la qualité logicielle du code
  4. la date exacte de réception de la participation: une participation antérieure sera plus "prioritaire"
Should the list of criteria from the previous paragraph yield equality among some entries, the following additional criteria (in an ordered list, again) will be used to sort equal entries:
  1. the execution performance (computations) / program responsiveness
  2. the binary size of the files suitable for the calculator
  3. the software engineering quality of the code
  4. the exact timestamp for receiving the contest entry: earlier participations will take precedence over later participations.



Modalités de participation:
Ways to send contest entries:

Afin de participer, vous devrez envoyer votre production à l'adresse e-mail info [@] tiplanet [.] org (ou info [@] upecs [.] org) avant le dimanche 31 mai 2015 à 23h59 heure française (GMT+2, CEST).
Votre e-mail comportera les informations et fichiers suivants (compressés ou non) :
  • Votre nom, prénom et adresse complète (pour l'envoi du lot si vous gagnez)
  • Votre fichier (ou vos fichiers) de participations (par exemple un fichier .tns sur Nspire, ou .8xp sur 82/83/84)
  • Un fichier 'lisezmoi' (en français) et/ou un fichier 'readme' (en anglais) listant les fonctionnalités du programme et expliquant si besoin son fonctionnement
  • Tout autre document que vous jugerez nécessaire d'inclure
Comme d'habitude, vous pouvez envoyer plusieurs versions (enfin, pas trop quand même ^^), et seule la dernière sera prise en compte.
In order to participate in this contest, you need to submit your entry to info [@] tiplanet [.] org (or info [@] upecs [.] org) before Sunday 31st May 2015, 11.59 P.M GMT+2 (CEST).
Your e-mail will contain the following pieces of information and files (compression is up to you):
  • First name, last name, full postal address (for us to be able to send the contest prize to winners)
  • The file(s) making up the entry, e.g. a .tns file for the Nspire or a .8xp file for the 82/83/84
  • A 'lisezmoi' file (in French) and/or a 'readme' file (in English) listing the program's functionalities, and explaining the way it can be used, if necessary
  • Any other document you'll deem relevant to your submission
As usual, you can send multiple versions (hey, not too many of them ^^), and only the latest one will be taken into account.



Lots à gagner :
Contest prizes:


Pour chacune des 2 catégories (Nspire et 82/83/84), voici les lots à gagner :
Note : Seules les participations qui obtiendront une note supérieure à 10/20 pourront accéder au premier prix.
For each category (Nspire and 82/83/84), here are the prizes:


  • 1er prix : 1 TI-Nspire CX CAS + 4 stickers TI-Planet + compte Premium TI-Planet
  • 2ème prix : 1 TI-84 Plus C Silver Edition + 3 stickers TI-Planet + compte Premium TI-Planet
  • 3ème prix : 1 TI-83 Plus.fr USB + 2 stickers TI-Planet + compte Premium TI-Planet
  • 4ème prix : 1 TI-82 Plus + 2 stickers TI-Planet + compte Premium TI-Planet
  • 5ème prix : 1 clé USB TI + 2 stickers TI-Planet + compte Premium TI-Planet
  • 6ème prix : 1 poster TI au choix + 2 stickers TI-Planet
  • 7ème prix : 1 porte documents + 2 stickers TI-Planet
  • 8ème prix : 2 stickers TI-Planet
  • 1st prize: 1 TI-Nspire CX CAS + 4 TI-Planet stickers + TI-Planet Premium account
  • 2nd prize: 1 TI-84 Plus C Silver Edition + 3 TI-Planet stickers + TI-Planet Premium account
  • 3rd prize: 1 TI-83 Plus.fr USB + 2 TI-Planet stickers + TI-Planet Premium account
  • 4th prize: 1 TI-82 Plus + 2 TI-Planet stickers + TI-Planet Premium account
  • 5th prize: 1 TI-branded USB stick + 2 TI-Planet stickers + TI-Planet Premium account
  • 6th prize: 1 TI poster of your choice + 2 TI-Planet stickers
  • 7th prize: 1 document container + 2 TI-Planet stickers
  • 8th prize: 2 TI-Planet stickers



Calculatrices à gagner :
Calculators to win:

3316 2112 3381


Goodies à gagner :
Goodies to win:

2573 2571 3312
3313 3314 2343



Téléchargements:
Downloads:

Pour créer un script Nspire Lua :
In order to create a Nspire Lua script :
- Logiciel TI-Nspire 3.2 enseignant (gratuit pendant 90 jours): pour Windows, et pour Mac
- Logiciel TI-Nspire 3.2 étudiant (gratuit pendant 30 jours): pour Windows, et pour Mac
- TI-Nspire 3.2 Teacher Software (free for 90 days): for Windows, et for Mac
- TI-Nspire 3.2 Student Software (free for 30 days): for Windows, et for Mac

Remarque: Installer la version étudiant après avoir épuisé les 90 jours de la version enseignant ou inversement, vous permettra de cumuler 120 jours d'utilisation ;-)
Note: installing the student version after having gone over the 90 days trial of the teacher version or vice versa, will get you 120 more trial days which should be enough for the contest ;)



Bonne chance à tous ! :D
We wish good luck to everyone ! :D



Mentions légales:
Règlement complet du concours multi-sessions 2014-2015 organisé sur TI-Planet disponible : sur upecs.org ou ici en archive.

Les données personnelles récoltées font l'objet d'une déclaration CNIL et sont protégées selon la loi du 6 janvier 1978. Vous disposez à tout moment d'un droit d'accès, de modification et de suppression.
Legal stuff:
Full description/rules of the multi-session contest organized on TI-Planet in 2014-2014 available from upecs.org or from the archives.

The set of personal identification data gathered as part of the contest is declared to the French CNIL and are protected under the law from January 6th, 1978. At any time, you have the right to access such data, and ask for modification and deletion thereof.

mViewer GX Creator convertit maintenant tes eBook au complet

New postby critor » 02 Oct 2014, 22:32

Jusqu'à présent, mViewer GX Creator, notre convertisseur d'images et documents PDF pour calculatrices graphiques, gérait jusqu'à un maximum de 99 pages.

Nous pensions initialement que c'était largement suffisant, mais nombre d'utilisateurs ont tenté des conversions de volumes de données plus importants, notamment des livres numériques (eBooks). Il fallait alors convertir en plusieurs fois, en précisant la 2ème fois de commencer à la page 100 du document, la 3ème fois à la page 199, la 4ème fois à la page 298, etc...

Alors bonne nouvelle aujourd'hui, mViewer GX Creator a été amélioré et gèrera désormais des documents d'au plus 999 pages ! :bj:
Il devient donc possible dorénavant de convertir en un seul clic des documents de plusieurs centaines de pages comme des livres.

Note : ceci ne marchera pas forcément sur tous vos gros documents : si la conversion n'a pas l'air de fonctionner, essayez de réduire le nombre de pages à la fois, il se peut que des documents avec beaucoup d'images, par exemple, demandent trop de ressources - un nombre de pages moins élevé résout ce problème :)



Dans le cas d'un livre numérique protégé par des DRM, il vous faudra d'abord obtenir un document au format PDF avant de le convertir en ligne, ce qui est très facile si la fonctionnalité d'impression n'a pas été bloquée - il suffit tout simplement d'installer une imprimante PDF virtuelle et d'y imprimer tout le livre. ;)


Rappelons toutefois quelques règles de bonne conduite concernant la conversion de livres.
Sous réserve que vous soyez propriétaire de votre exemplaire, vous disposez selon la loi française sous laquelle tombe notre serveur, d'un droit à la copie privée, à des fins de sauvegarde ou de transfert sur un autre support de lecture, ici la calculatrice graphique.

Notez bien toutefois les termes "copie privée". La conversion de livres numériques ne doit se faire qu'en privé, ce qui chez nous nécessitera l'achat d'un compte 'Premium'. Toute conversion de livres non libres de droits en public est un délit, et vous pouvez en conséquence être banni du service gratuit sur TI-Planet si vous ne respectez pas ceci.

Navigation eBooks plus facile avec mViewer GX Lua

New postby critor » 04 Oct 2014, 22:01

Hier nous vous offrions une grande avancée en repoussant la limite technique de notre convertisseurs d'images et documents PDF pour calculatrices graphiques de 99 à 999 pages. Désormais vous pouviez donc convertir des livres électroniques (eBooks) au complet.

La gestion des eBooks veut dire beaucoup plus de pages, et donc beaucoup plus de fichiers à transférer sur votre calculatrice et entre lesquels il vous faudra naviguer.

Dans ce contexte, c'était particulièrement pénible sur TI-Nspire, avec:
  • les numéros de pages à la fin du nom de fichier qui bien souvent étaient illisibles car débordant de l'écran
  • la nécessité de faire défiler manuellement plusieurs 10aines ou 100aines de fichiers avant de trouver le numéro de page voulu

Afin de remédier à ces problèmes, le mode de génération TI-Nspire Lua a été amélioré:
  • les noms des fichiers tns générés sont désormais réduits aux numéros de pages, ce qui permet:
    • de garantir leur lisibilité à l'écran :)
    • de permettre d'utiliser les touches numériques comme raccourcis de navigation dans l'explorateur de fichiers :bj:
      (la touche 2 par exemple permettra ci-contre d'atteindre instantanément la page 200, et ensuite plus rapidement les pages 150 à 250 ;))
  • les noms de fichiers étant dorénavant génériques, pour les distinguer ces fichiers seront fournis dans un sous-dossier qui portera lui le titre du document


C'est donc ce sous-dossier du fichier zip téléchargé qu'il vous suffira de transférer désormais.


N'hésitez pas à nous faire part de vos retours et suggestions éventuelles.
Nous prévoyons en effet d'étendre cette amélioration aux autres modes ciblant une calculatrice supportant les dossiers, pour vous permettre là aussi une meilleure accessibilité aux données de vos 'gros' documents :
  • TI-Nspire Ndless
  • Casio fx-CG10/20 Prizm
  • Casio Classpad II fx-CP400
  • TI-89/92/Voyage 200

KuroRPG, crée puis joue tes RPG sur TI-Nspire

New postby critor » 04 Oct 2014, 23:42

Dans un article précédent, Hikari no Uiharu de la communauté chinoise sCalc.org nous impressionnait déjà avec son moteur de jeux "Visual Novel" pour TI-Nspire.

Aujourd'hui, Hikari no Uiharu frappe à nouveau avec sa nouvelle création, KuroRPG, ciblant comme son nom l'indique un nouveau genre de jeux, les RPG [pour Role Playing Game - soit jeu de rôle).

Le projet KuroRPG est composé de deux éléments:
  • KuroRPG Player, moteur de jeux RPG pour calculatrices TI-Nspire munies de Ndless
    Image
  • KuroRPG Creator, le logiciel permettant sur ton ordinateur de créer tes propres jeux RPG, ou bien de convertir des RPG existants à condition de pouvoir en récupérer les fichiers ressources
    Image

Une fois de plus des outils d'une excellente qualité que nous t'invitons à découvrir dans la démo ci-dessous : :bj:



Lien : http://www.uiharu.pw/KuroRPGHome/
Source : http://scalc.org/forum.php?mod=viewthread&tid=107
Link to topic: KuroRPG, crée puis joue tes RPG sur TI-Nspire (Comments: 1)

Python TI-Nspire : Programmes éducatifs / STEM programming

New postby Adriweb » 05 Oct 2014, 20:43



Introduction
Nous vous avons déjà parlé par deux fois du premier portage de Micro Python sur Nspire et de l'intérêt croissant d'un tel portage pour un usage scolaire. En effet, Python est de plus en plus répandu dans les cursus scolaires, alors que le Lua y est quasiment inconnu. Nous allons maintenant nous concentrer sur l'utilisation détaillée de Micro Python :)
We already mentioned (in English) twice (French only, more focused on the French educational system) the initial port of Micro Python to the Nspire platform and the ever growing educational interest of such a port. Indeed, Python's usage keeps raising in school classes, whereas Lua is virtually unknown for such a use case. Let's now focus on detailed usage of Micro Python :)


Un peu d'histoire
A bit of history
Tout d'abord, un petit rappel s'impose: pour pouvoir accéder à toute la puissance de la Nspire, Micro Python nécessite le célèbre Ndless, et donc l'OS 3.1.0.392 ("3.1") ou l'OS 3.6.0.546/550 ("3.6"). Il n'est malheureusement pas toujours facile, ou même possible à l'heure où ces lignes sont écrites, de revenir à ces versions plus anciennes que les OS 3.9.0.461/463 actuels. Les différents cas de figure sont décrits dans le spoiler ci-après:
First of all, a small reminder: in order to leverage the full power of the Nspire platform, Micro Python requires the famous Ndless jailbreak, and therefore the OS 3.1.0.392 ("3.1") or OS 3.6.0.546/550 ("3.6") versions. Unfortunately, it's not always easy, or even possible at the time of this writing, to get back to versions older than the current 3.9.0.461/463 OS versions. A description of the set of situations follows, inside the spoiler:

Ndless est requis pour pouvoir profiter de Micro Python. Veuillez bien suivre le tutorial... Mais attention, si vous avez une CX (CAS) avec un OS 4.0 ou ultérieure, ce qui est le cas de toutes les machines CX (CAS) neuves récemment, Ndless n'y existant pas, vous pouvez continuer à envoyer un mail de protestation contre le verrouillage de la plate-forme à ti-cares@ti.com et en faveur de son ouverture... un modèle est proposé à la fin de la news précédente à propos de Micro Python.
Ndless is required to enjoy Micro Python. Please follow the tutorial(s) ... But beware, if you have an Nspire CX (CAS) with OS 4.0 or later, which is the case of all recent CX (CAS) devices, Ndless not existing for this OS, you can continue to send an email of protest against the locking of the platform and ti-cares@ti.com and wish for a more open view... a template is proposed at the end of the previous Micro Python news article.



Les programmes pour Micro Python sont des programmes Python
Micro Python programs are Python programs
On peut les écrire sur l'ordinateur avec tout éditeur de texte / environnement de développement gérant le Python, puis les transférer sur la calculatrice avec TINC(L)S ou TILP (après avoir rajouté l'extension .tns nécessaire au transfert), et/ou les écrire et modifier sur calculatrice grâce à des éditeurs comme nTxt.
They can be written on the computer with any text editor / IDE that supports Python, then transferred to the calculator using TINC(L)S or TILP (after adding the .tns extension required for the transfer process), and/or modify them on the calculator side thanks to editors such as nTxt.


Commençons par un exemple classique: le calcul récursif des termes de la suite de Fibonacci. Le code est très simple, mais le nombre d'appels internes est une fonction exponentielle de l'argument passé à la fonction, donc Fibonacci récursif est très souvent utilisé comme benchmark simple. En pratique, le calcul itératif des termes de la suite de Fibonacci, dont le code est à peine plus complexe, est beaucoup plus efficace que le calcul récursif, car de complexité linéaire.
Rien de compliqué dans l'écriture du programme.
Let's start with a well-known example: recursive computation of the Fibonacci sequence's terms. The code is very simple, but the number of inner calls is exponential in the argument passed to the function, which makes the recursive Fibonacci computation a highly classic simple benchmark. For practical purposes, an iterative computation of the Fibonacci sequence's terms, whose code is barely more complex, is much more efficient than the recursive computation, as it has linear complexity.
Nothing fancy in the program's code.

Basic
Lua
Python
Code: Select all
Define fibo(n)
Func
    If (n <= 1) Then
        return n
    Else
        return fibo(n-1)+fibo(n-2)
    EndIf
EndFunc

fibo(30)
Code: Select all
function fibo(n)
    if (n <= 1) then
        return n
    else
        return fibo(n-1)+fibo(n-2)
    end
end

print(fibo(30))
Code: Select all
def fibo(n):
    if (n <= 1):
        return n
    else:
        return fibo(n-1)+fibo(n-2)

print(fibo(30))

Sans surprise, la performance à l'exécution du programme Python est compétitive avec la performance du programme Lua équivalent; le Basic est loin derrière.
Unsurprisingly, the execution performance of the Python program is similar to that of the equivalent Lua program; the Basic program is far behind.



D'autres exemples...
Other examples

Changement de base numérique
Numerical base conversion
Renvoie une liste des "chiffres" de l'écriture de n en base b / Returns list of the "figures" of the representation of n in the b base
Le chiffre de poids le plus fort est le plus à gauche / The most significant figure is leftmost

Basic
Lua
Python
Code: Select all
Define baseb(n,b)=
Func
Local rep
{}->rep
While n>0
  augment({mod(n,base)},rep)->rep
  intdiv(n,base)->n
EndWhile
Return rep
EndFunc
Code: Select all
function baseb(n, b)
    local t = {}
    local tmp = 0
    while n > 0 do
        n, tmp = math.floor(n/b), n%b
        table.insert(t, 1, tmp)
    end
    return t
end
Code: Select all
def baseb(n, b):
    t = []
    while n > 0:
        n, tmp = divmod(n, b)
        t = [tmp] + t
    return t


Calcul de Pi (algorithme du compte-goutte)
Compute Pi digits
Renvoie une chaîne contenant les n premières décimales de Pi / Returns a string containing the n first digits of Pi
Basic
Lua
Python
Code: Select all
Define cpi(n)=
Func
Local a,b,a1,b1,a0,b0,s,p,q,d,d1
4->a:1->b
12->a1:4->b1
""->s
1->p:3->q
While n >= 0
  p+q->p: q+2->q
  a->a0: b->b0
  a1->a: b1->b
  p*a0+q*a1->a1
  p*b0+q*b1->b1
  intdiv(a,b)->d
  intdiv(a1,b1)->d1
  While d = d1 and n >= 0
    s & string(d)->s
    n-1->n
    10*mod(a,b)->a
    10*mod(a1,b1)->a1
    intdiv(a,b)->d
    intdiv(a1,b1)->d1
  EndWhile
EndWhile
Return left(s,1)&","&mid(s,2)
EndFunc
Code: Select all
local floor = math.floor

function cpi(n)
    -- Faux à partir de la 25ème décimale !
    --  / Wrong starting from the 25th digit !
    -- Plante TINCS si > 109 ! / Crashes TINCS if > 109 !
    local a, b, a1, b1 = 4, 1, 12, 4
    local s = ""
    local p, q = 1, 3
    while n >= 0 do
        p, q = p+q, q+2
        a, b, a1, b1 = a1, b1, p*a+q*a1, p*b+q*b1
        d, d1 = floor(a/b), floor(a1/b1)
        while d == d1 and n >= 0 do
            s = s .. d
            n = n-1
            a, a1 = 10*(a%b), 10*(a1%b1)
            d, d1 = floor(a/b), floor(a1/b1)
        end
    end
    return s:sub(1,1) .. "," .. s:sub(2)
end
Code: Select all
def cpi(N):
    a, b, a1, b1 = 4, 1, 12, 4
    s = ""
    p, q = 1, 3
    while N >= 0:
        p, q = p+q, q+2
        a, b, a1, b1 = a1, b1, p*a+q*a1, p*b+q*b1
        d, d1 = a//b, a1//b1
        while d == d1 and N >= 0:
            s += str(d)
            N -= 1
            a, a1 = 10*(a%b), 10*(a1%b1)
            d, d1 = a//b, a1//b1
    return s[0] + "," + s[1:]


Liste des premiers nombres premiers (crible d'Eratosthène)
List of the first prime numbers (Eratostenes' sieve)
Renvoie la liste des nombres premiers inférieurs ou égaux à n par le crible d'Ératosthène / Returns the list of the prime numbers <= n using Eratostenes' sieve
Basic
Lua
Python
Code: Select all
Define primes_list(n)=
Func
Local t,r,i,j
seq(when(i=1 or (mod(i,2)=0 and i>2),_,i),i,1,n)->t
floor(sqrt(n))->r
3->i
While i <= r
  If not(isvoid(t[i])) Then
    For j,i^2,n,i
      _->t[j]
    EndFor
  Endif
  i+2->i
EndWhile
Return delvoid(t)
EndFunc
Code: Select all
-- Modified from http://rosettacode.org
function primes_list(n)
    if n < 2 then return {} end
    local t = {false} -- init
    local max = math.sqrt(n)
    for i = 2, n do
        t[i] = true
    end
    for i = 2, max do
        if t[i] then
            for j = i*i, n, i do
                t[j] = false
            end
        end
    end
    local primes = {}
    for i = 2, n do
        if t[i] then
            primes[#primes+1] = i
        end
    end
    return primes
end
Code: Select all
# From http://rosettacode.org
def primes_upto(limit):
    is_prime = [False] * 2 + [True] * (limit - 1)
    for n in range(int(limit**0.5 + 1.5)):
        if is_prime[n]:
            for i in range(n*n, limit+1, n):
                is_prime[i] = False
    return [i for i, prime in enumerate(is_prime) if prime]


Au niveau de la vitesse d'exécution, le Basic reste loin derrière les Python et le Lua... Ces deux derniers sont relativement égaux (généralement, le Python peut être plus rapide), mais si le Python est en mode "JIT" (émission de code natif), alors il devient le plus rapide.

Vous pourrez remarquer la forte ressemblance des langages Python et Lua. Le Python a parfois une longueur d'avance grâce à quelques sucres syntaxiques permettant de faire des choses en une seule ligne...
As far as the execution speed of the programs is concerned, the Basic is still way behind Lua and Python. Those two are quite equal on that (generally Python can be a bit faster), though, but when the "JIT"-like mode is enabled (native code emission), Python takes the lead.

Notice the similarity of the Python and Lua languages. Python has some extra syntactic sugar which makes it possible to use single statements / lines for some operations...


Le BASIC des Nspire a toujours été une exception dans les BASIC de calculatrices graphiques, au grand désespoir des programmeurs: pas de commandes de dessin graphique, pas de lecture directe des touches du clavier... En 2011, le Lua est venu bien combler ce manque, même si il aurait pu être plus puissant encore. En 2014, Micro Python peut aller plus loin, notamment avec l'affichage plein écran. Vogtinator a commencé à faire une petite API graphique, et à l'appliquer au dessin d'une fractale de Mandelbrot (code source) :
The Nspire's BASIC has always been an exception among graphing calculators' respective languages, much to programmers' chagrin: no pixel drawing commands, no direct keyboard reading... In 2011, Lua plugged this hole, even if it could have been made more powerful. In 2014, Micro Python can do better, for instance with access to the full screen area. Vogtinator started making a small graphical API, and applying it to the drawing of a Mandelbrot fractal (source code):

Image



Comparaison des langages disponibles sur TI-Nspire (à l'heure de ce post) :
Comparison between the programming languages available on the Nspire (at the time of this writing):

Nspire-Basic
Nspire-Lua
Micro Python
C/C++
Supporté officiellement par TI
OuiOui
(OS 3.x+ requis)
Non
(Ndless requis)
Non
(Ndless requis)
Répandu dans l'informatique en général
Non
(calculatrices TI seulement)
Oui (plugins)
Faiblement (standalone)
Très
(tous domaines)
Très
(tous domaines)
Intérêt potentiel de professeurs
BonMoyen +ElevéMoyen -
Vitesse d'exécution
BasseMoyenneMoyenne +La plus élevée
Commandes graphiques
NonOuiOuiOui
Lecture du clavier
Non
(sauf popup d'input)
Oui
(une touche à la fois)
Non
(console pour le moment)
Oui
(multi-touches possible)
Lecture du touchpad
NonNon
(sauf clics)
Non
(pour le moment)
Oui
Intégration au moteur de calcul & CAS
OuiOuiNon (*)Non (*)
Editable directement sur calculatrice
OuiOui
(éditeurs tiers)
Oui
(console interactive et éditeur tiers)
Non
(nécessiterait un compilateur)
Peut utiliser des fichiers externes
NonNonOuiOui
Idéal pour apprendre à programmer
Oui
(algorithmes)
OuiOuiMoyennement
(plus bas niveau, plus difficile)
Nspire-Basic
(Nspire-)Lua
Micro Python
C/C++
Official support by TI
YesYes
(OS 3.x+ required)
No
(Ndless required)
No
(Ndless required)
Widely used in general computer science
No
(TI calculators only)
Yes (plugins)
Low (standalone)
Very
(everywhere)
Very
(everywhere)
Potential interest for teachers
GoodAverage +HighAverage -
Execution speed
LowAverageAverage +Highest
Graphical commands
NoYesYesYes
Keyboard input
No
(except input popup)
Yes
(single key at a time)
No
(console only for now)
Yes
(multiple keys at a time)
Touchpad reading
NoNo
(except clicks)
No
(for now)
Yes
Integration to the built-in
computation engine & CAS
YesYesNo (*)No (*)
Direct calculator-side edit
YesYes
(third-party editors)
Yes
(interactive console
and third-party editors)
No
(would require a compiler)
Can use external files
NoNoYesYes
Good choice for first programming language
Yes
(algorithms)
YesYesMidly
(lower level, harder)

(*): intégration au CAS difficile à réaliser sans doc de TI, même s'il y a eu les PoC de Lionel Debroux et Excale.
(*): CAS integration is hard without documentation from TI, even if Lionel Debroux and Excale made PoC programs.


Nous espérons vous avoir donné un aperçu convenable des possibilités offertes par Micro Python dans un cadre éducatif, et vous avoir donné envie de l'utiliser. Du moins, ceux qui le peuvent parce qu'ils ne sont pas passés à l'OS 3.9 et ne peuvent plus downgrader (facilement ou du tout)...
We hope to have provided a decent overview of the venues offered by Micro Python in STEM, and have made you eager to use it. At least, those of you who can because they're not using OS 3.9 yet and cannot downgrade anymore (easily, or at all)...



Dans le futur...
Looking forward...
Les contributions communautaires pour améliorer l'utilisation de Micro Python Nspire (bug reports, feature requests, participation au code) sont bien entendu les bienvenues. On est beaucoup plus libres sur les features et l'implémentation que le Lua de TI. On pourrait imaginer:
  • une API graphique plus étendue;
  • un éditeur de code Python mieux intégré à l'OS, comme une variante Python de Jens' Script (Lua) Editor qui utiliserait une extension Lua en code natif pour pouvoir lire et écrire librement des fichiers (fonctionnalité de base dont le Lua fourni par TI est, rappelons le, incapable).
  • même une interopérabilité plus poussée avec le code Lua à travers le code natif, au moins dans un sens ?
Community contributions to improve the use of Micro Python Nspire (bug reports, feature requests, code contributions) are of course welcome. We're far less restricted on features and implementation than with TI's Lua. We could dream of:
  • an expanded graphical API;
  • a Python code editor sporting better integration into the OS, such as a Python variant of Jens' Script (Lua) Editor using a Lua native code extension to read and write files freely (basic functionality which TI's Lua simply cannot do);
  • even an interoperability with Lua code through native code, at least one-way interoperability ?






Comme nous l'avons déjà indiqué, nous rêvons également que TI propose officiellement le Python aux utilisateurs, possiblement sous forme de plugin, comme le dictionnaire anglais/chinois pour CX-C. Bien entendu, il serait encore mieux que TI opère un virage à 180° par rapport à la politique Nspire de ces 7 dernières années, et cesse de combattre la puissance de la programmation en code natif sur Nspire - pour le bien des étudiants !
We already indicated that we're also dreaming of TI officially offering Python to users, possibly under plugin form, like the English-Chinese dictionary for CX-C is. Of course, it would be even better if TI made a U-turn from the way the Nspire was handled over the past 7 years and quit fighting the power of native code on the Nspire - for the students' sake !



Liens :
- MicroPython pour TI-Nspire (Note : une version non-stable avec l'API de dessin et l'émission de code natif ("JIT") est disponible via la description sur la page d'archive)
- Code source du fork pour Nspire : sur GitHub
Links :
- MicroPython for the TI-Nspire (Note : an unstable version with the drawing API and native code emission is available via the description in the archive page)
- Source code of the Nspire fork : on GitHub



Image


Article écrit principalement par Lionel Debroux et Adriweb, traduit par Lionel. Codes des programmes: Adriweb, Bisam.
Article written mainly by Lionel Debroux and Adriweb, translated by Lionel. Example program source codes: Adriweb, Bisam.

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
724 utilisateurs:
>699 invités
>18 membres
>7 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)