Programmer avec le langage Linotte
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Programmer avec le langage LinotteConnexion

Besoin d'un conseil sur la programmation en Linotte ?

Le Deal du moment : -20%
Drone Dji DJI Mini 4K (EU)
Voir le deal
239 €

descriptionbogues Emptybogues

more_horiz
a moins que je n'ai fait une erreur dans ce livre , voici 2 petits trucs qui ne marchent pas.

Livre : quelques actions impossibles
Grands rôles :
casier1 est un casier de nombres avec 0 , 1 , 2 , 3
casier2 est un casier de nombres avec 4 , 5 , 6 , 7
casier3 est un casier de nombres avec 8 , 9 , 10 , 11
acteur1 est un texte avec casier
acteur2 est un nombre avec 2
acteur3 est un nombre

Paragraphe : p1
Actions :
tu concatènes "casier" , acteur2 dans acteur1
tu copies <
acteur1>
{acteur2} dans acteur3
tu affiches acteur3
tu vas vers p2

Paragraphe : p2
Actions :
Tu crées "acteur4" un acteur texte depuis "C:\montexte.txt"
tu termines

descriptionbogues Emptybogues

more_horiz
Tu me cherches toi ! ;
-)

Le premier cas est bien un bogue... je n'avais pas testé cette combinaison ! Par contre, il ne va pas être simple à corriger !

Le deuxième, je ne l'ai pas encore prévu. Est-ce que c'est utile ? Je ne pense pas pour l'instant.

En passant, j'ai ajouté pour la prochaine version la possibilité d'agrandir ou réduire une image !
J'ai également ajouté la rotation.

Merci pour ces bogues trouvés !

descriptionbogues Emptybogues

more_horiz
non ! je ne te cherche pas ! Mais , c'était juste pour avoir l'honneur d' avoir trouver le premier bug de l'histoire de Linotte ! ( enfin je crois...:;
): )

bon... plus sérieusement, je cherche à faire un livre exploitant au maximum les boucles et la création dynamique d'acteur. D'ailleurs , je viens de m'apercevoir que ce livre-ci aussi ne marche pas. ( ça reste dans le meme genre que le précédent)



livre : Livre
espèces :
c1 est un nombre
c2 est un nombre
c3 est un nombre
l'espèce mon_espece contient c1 , c2 , c3
grands roles :
act.1 est un texte
act.2 est un nombre valant 5
act.3 est un nombre valant 8

paragraphe : P1
actions :
pour chaque act.3 , va vers P2
termine
paragraphe : P2
actions :
concatène "acteur_" , joker dans act.1
créé act.1 un acteur mon_espece
copie act.2 dans c1 de <
act.1>

reviens

descriptionbogues Emptybogues

more_horiz
Hello,

Je viens de corriger un premier bogue :

Livre : quelques actions impossibles
Grands rôles :
casier1 est un casier de nombre avec 0 , 1 , 2 , 3
casier2 est un casier de nombre avec 4 , 5 , 6 , 7
casier3 est un casier de nombre avec 8 , 9 , 10 , 11
acteur1 est un texte avec casier1
acteur2 est un nombre avec 2
acteur3 est un nombre

Paragraphe : p1
Actions :
tu concatènes "casier" , acteur2 dans acteur1
tu copies <
acteur1>
{acteur2} dans acteur3
tu affiches acteur3
tu termines

ça fonctionne dans Linotte 0.5.1

Je corrige la suite !

descriptionbogues Emptybogues

more_horiz
Ce serait bien s'il existait une condition "si possible" pour savoir si certaines actions peuvent échouer . On pourrait l'uttiliser pour savoir si un acteur est déja créé, si l'action est incompatible avec l'acteur ou pour une division par 0.

voici un exemple :

livre : EXEMPLE
paragraphe : P1
roles :
acteur_1 est un texte
acteur_2 est un nombre
acteur_3 est un graffiti
actions :
si possible tu crées acteur_1 un acteur texte
si possible tu crées acteur_2 un acteur nombre
si possible tu crées acteur_3 un acteur graffiti

si possible tu multiplies acteur_1 par acteur_2
sinon si possible tu déplaces acteur_2 vers le bas de 2
sinon si possible tu déplaces acteur_1 vers le bas de 2

si possible tu vas vers P2
sinon tu termines

descriptionbogues Emptybogues

more_horiz
Oui, tu as raison.
Ce serait bien aussi si le therme "etc..." serait utilisé.
Il permettrait de faire continuer Linotte sans que l'on ai à mettre toujours la même phrase...
et aussi, il faudrait insérer le therme "jusqu'à", afin de terminer le "etc..."


par exemple:
a est un texte vide
etc...
jusqu'à z
_________
Linotte comprendra que a est la première lettre de l'alphabet, elle continuera donc à dire que, par exemple;
b est un texte vide, c est un texte vide, etc... jusqu'à la lettre z, car c'est elle qui termine l'alphabet.


OU

par exemple:
tu multiplies 2 par 4 *
etc...
jusq'à 16
________
Linotte comprend donc qu'iul faut multiplier 2 par 4, puis 4 par 4 pour obtenir 16 **
* : je sais que ce n'est pas comme ca qu'on fait une multiplication dans le language Linotte, mais c'est pour être plus clair.
** : ici, le "etc..." et le "jusqu'à" sont plus complexes à utiliser, car il y a plusieurs façons d'arriver à 16 en passant par 2 fois 4... cet exemple poura donc être supprimé, sauf si l'on trouve une façon de contourner ce problème.

descriptionbogues Emptybogues

more_horiz
Pour uttiliser le etc... il faudrait un signe permettant de savoir ou commence la répétition, ( faut-il ré-éxecuter tout le paragraphe ou seulement la derniere ligne ?) sinon, pour le deuzième exemple , tu peux uttiliser une boucle ou un groupe de plusieurs paragraphes :

livre : exemple
les grands roles :
nombre_1 est un nombre valant 4
paragraphe : P1
actions :
si nombre_1 est plus petit que 16 alors tu vas vers P2
...
...

paragraphe : P2
actions :
tu multiplies nombre_1 par 2
...
tu vas vers P1

par contre, si tu as besoin de créer ue vingtaine d'acteurs différents, c'est vrai que tu es obligé de tous les énumérer. (ou alors, crée les dynamiquement...)

descriptionbogues Emptybogues

more_horiz
dynamiquement?

descriptionbogues Emptybogues

more_horiz
sur le pdf de ronan "DECOUVRIR LA ROGRAMMATION AVEC LE LANGUAGE LINOTTE" : chapitre IV , paragraphe d : création dynamique des acteurs

sinon, je me suis aperçu que lorsque je veux "ranger" (enregistrer) un livre , la fenetre qui s'ouvre s'appelle "ouvrir un livre Linotte" au lieu de "enregistrer un livre Linotte".. voila, c'est pas tres problematique mais bon...

descriptionbogues Emptybogues

more_horiz
je crois que la version 6.0 beta 4 a un probleme :

on ne peut pas diviser 13 par 3 ou par 5
elle affiche " La valeur n'est pas valide : Non-terminating decimal expansion;
no exact representable decimal result. "

on ne peut pas diviser un nombre par un autre si le résultat n'est pas fini & n'est pas une suite de meme chiffres.

descriptionbogues Emptybogues

more_horiz
[quote=$imon]je crois que la version 6.0 beta 4 a un probleme :

on ne peut pas diviser 13 par 3 ou par 5
elle affiche " La valeur n'est pas valide : Non-terminating decimal expansion;
no exact representable decimal result. "

on ne peut pas diviser un nombre par un autre si le résultat n'est pas fini & n'est pas une suite de meme chiffres.[/quote]
Argh !

Code:

Livre :
Test
(Spécification :
0.
6.
0)
Paragraphe :
#
Actions :

Affiche 13 / 3

En effet... un bogue ! je regarde ça :-(

Merci !

descriptionbogues EmptyRe: bogues

more_horiz
privacy_tip Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
power_settings_newSe connecter pour répondre