FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» I Love You
par papydall Aujourd'hui à 2:58

» MARK_ON déclenche un événement ON_CLICK à la place de ...
par Jean Claude Hier à 18:08

» mise a jour calculatrice
par joeeee2017 Hier à 15:57

» [solved] 3D_LINE How to ?
par Jicehel Hier à 11:01

» Convertisseur de base 10 de 2 à 36
par gigi75 Mar 17 Oct 2017 - 18:49

» calculatrice avec touches movibles
par joeeee2017 Dim 15 Oct 2017 - 1:11

» CORTANA
par gigi75 Sam 14 Oct 2017 - 16:32

» Calculatrice
par Jean Claude Sam 14 Oct 2017 - 12:30

» Compilateur FBPano
par jean_debord Jeu 12 Oct 2017 - 9:53

» KGF_dll - nouvelles versions
par Klaus Mar 10 Oct 2017 - 18:49

» à propos de Panoramic_Editor [Résolu]
par Klaus Mar 10 Oct 2017 - 3:19

» Un petit "coucou" à tous les Panoramiciens !
par Jack Ven 6 Oct 2017 - 10:24

» Pourquoi le compilateur stagne
par mindstorm Mer 4 Oct 2017 - 20:38

» Panoramic ?
par Marc37 Mer 4 Oct 2017 - 0:39

» Premiers pas avec Arduino
par Marc37 Mer 4 Oct 2017 - 0:29

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Octobre 2017
LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
CalendrierCalendrier

Partagez | 
 

 Du nouveau

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Parpaiun

avatar

Nombre de messages : 192
Age : 78
Localisation : HERAULT
Date d'inscription : 15/04/2015

MessageSujet: Du nouveau   Sam 4 Juil 2015 - 11:11

Tiens! Voilà du nouveau ! Cette fois, il ne s'agit plus de trigonométrie mais de mots français !

Je me suis inspiré d'un poème de Jacques Prévert intitulé :"Cortège" pour en tirer une variante en plaçant des adjectifs qualificatifs à la place des "avec".

Je soumets donc le résultat plus ou moins cocasse à vos yeux.

Code:
REM    P O E M E   I N T E R C H A N G E A B L E
REM  Auteur: Parpaiun
REM  Date-version: 04/07/2015
REM ================================================
dim c,d,e,f,i,j
dim m1$(53),m2$(27),m3$(23),m4$(27)
REM ======================================================================
DATA "une montre","un farceur","un gardien","un dindon","un ténor","un danseur"
DATA "une pipe","un gentleman","un gibier","un directeur","un amiral"
DATA "un raccomodeur","une pomme","un Napoléon","une victoire","un père"
DATA "une catastrophe","un évêque","un petit chanteur","un enfant","un ouvrier"
DATA "un tigre","un maigrichon","un fortiche","un super bronzé","un colporteur"
DATA "un sauveteur","un vieillard","une reine","une toquée","un hussard"
DATA "un serpent","un chasseur","un maréchal","des matelots","un compositeur"
DATA "un fouineur","un repasseur","une petite soeur","un professeur","un contrôleur"
DATA "un canard","un conservateur","un membre","une majorette","un bougre d'âne"
DATA "une madelon","un soldat","une soubrette","un objecteur","un gai luron"
DATA "un général","un chirurgien"
c=53
for i=1 to c: read m1$(i): next i
' print: print m1$(c)
'
DATA "en or","à la peine","de la paix","à café","de discorde","d'écume","déjanté(e)"
DATA "de potence","de conscience","de fortune","du Bengale","de papier"
DATA "de porcelaine","de Sainte Hélène","de Samothrace","de famille nombreuse"
DATA "en goguette","baladeur","à la croix de bois","dans le baba","rigolard(e)"
DATA "immobile","pas très chic","de bon aloi","casse-pieds","en habit noir"
DATA "patraque"
d=27
for i=1 to d: read m2$(i): next i
' print m2$(d)
'
DATA "jonglant avec","conversant avec","secouant","épiant","écrivant à","parlant à"
DATA "jouant avec","renversant","tapant des pieds devant","priant devant"
DATA "s'étonnant de voir","luttant contre","discutant avec","gesticulant devant"
DATA "grimaçant devant","se sauvant devant","s'essouflant devant"
DATA "s'agitant devant","se traînant derrière","marchant à côté d'un(e)"
DATA "bourré(e) de tics devant","mordu(e) par","marchant au pas devant"
e=23
for i=1 to e: read m3$(i): next i
' print m3$(e)
'
DATA "en deuil","d'Angleterre","de la mer","de la mort","à lunettes"
DATA "en retraite","en maillot de bain","en musique","à mégots","d'opérette"
DATA "de chez St Vincent de Paul","philosophe","de la Compagnie du Gaz de Paris"
DATA "au garde à vous","de cimetière","de haute mer","de l'Académie Française"
DATA "de cirque","d'autobus","chez le dentiste","chez les Jésuites"
DATA "hilare","en prière","en extase,aux abois","tête en l'air","en plein vol"
DATA "en transes"
f=27
for i=1 to f: read m4$(i): next i
' print m4$(f)
REM ======================================================================
print
for j=1 to 25
print " ";
i=int(rnd(53)+1): print m1$(i);" ";
i=int(rnd(27)+1): print m2$(i);" ";
i=int(rnd(23)+1): print m3$(i);" ";
i=int(rnd(53)+1): print m1$(i);" ";
i=int(rnd(27)+1): print m2$(i)
next j

END

"C'est en faisant n'importe quoi qu'on devient n'importe qui ..." Cette maxime du célèbre Rémi Gaillard de Montpellier (avez vous vu ses vidéos, il en a fait environ 150) par Internet, semble peut-être vous convenir en ce qui me concerne ....

Que tout cela vous amuse ou pas, dites moi un peu ce que vous en pensez ! Merci !

jocolor    geek    king    sunny
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
sergeauze

avatar

Nombre de messages : 391
Age : 65
Localisation : Hautes Alpes France
Date d'inscription : 09/01/2010

MessageSujet: Re: Du nouveau   Sam 4 Juil 2015 - 12:26

Salut
original et surprenant
une aide à la  création  pour Panoramicien  en mal de poésie  ?Very Happy
study
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://sergeauze.blog-video.tv/
Jicehel

avatar

Nombre de messages : 5858
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Du nouveau   Sam 4 Juil 2015 - 13:58

oui c'est original, Wink Bravo pour l'idée
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5546
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Du nouveau   Sam 4 Juil 2015 - 14:28

Salut Parpaiun.

Pour l’idée,  Sergeauze et Jicehel ont donné leurs idées.
J’interviens sur la forme, non sur le fond.

Tu utilises PRINT pour l’affichage.
Ce qui  s’affiche à l’écran par PRINT est éphémère et  peut facilement s’effacer en cachant puis montrant la fenêtre ou en modifiant ses dimensions à l’aide de la souris.
Hummm, ce n’est pas clair ce que j’ai dis : après avoir exécuté le programme, réduis la fenêtre par le bouton Réduire puis restaure cette même fenêtre : surprise, elle est vide !

Normalement on utilise PRINT pour la mise au point d’un programme, pour afficher quelque chose pour vérification par exemple ou bien on utilise PRINT dans des conditions bien précises et non pas pour une sortie à l’écran permanente.
Pour cela, on a d’autres moyens : ALPHA est plus adapté à l’affichage.

Voici la modification de ton code.
Exécute le programme, réduit en icône la fenêtre de sortie puis restaure-la : l’affichage est intact.

Code:

REM    P O E M E   I N T E R C H A N G E A B L E
REM  Auteur: Parpaiun
REM  Date-version: 04/07/2015
REM ================================================
dim c,d,e,f,i,j
dim m1$(53),m2$(27),m3$(23),m4$(27)
' ==============================================================================
dim poeme$
font_bold 0 : font_size 0,14 : font_color 0,0,0,255
full_space 0
alpha 10
' ==============================================================================
REM ======================================================================
DATA "une montre","un farceur","un gardien","un dindon","un ténor","un danseur"
DATA "une pipe","un gentleman","un gibier","un directeur","un amiral"
DATA "un raccomodeur","une pomme","un Napoléon","une victoire","un père"
DATA "une catastrophe","un évêque","un petit chanteur","un enfant","un ouvrier"
DATA "un tigre","un maigrichon","un fortiche","un super bronzé","un colporteur"
DATA "un sauveteur","un vieillard","une reine","une toquée","un hussard"
DATA "un serpent","un chasseur","un maréchal","des matelots","un compositeur"
DATA "un fouineur","un repasseur","une petite soeur","un professeur","un contrôleur"
DATA "un canard","un conservateur","un membre","une majorette","un bougre d'âne"
DATA "une madelon","un soldat","une soubrette","un objecteur","un gai luron"
DATA "un général","un chirurgien"
c=53
for i=1 to c: read m1$(i): next i
rem ============================================================================
DATA "en or","à la peine","de la paix","à café","de discorde","d'écume","déjanté(e)"
DATA "de potence","de conscience","de fortune","du Bengale","de papier"
DATA "de porcelaine","de Sainte Hélène","de Samothrace","de famille nombreuse"
DATA "en goguette","baladeur","à la croix de bois","dans le baba","rigolard(e)"
DATA "immobile","pas très chic","de bon aloi","casse-pieds","en habit noir"
DATA "patraque"
d=27
for i=1 to d: read m2$(i): next i
rem ============================================================================
DATA "jonglant avec","conversant avec","secouant","épiant","écrivant à","parlant à"
DATA "jouant avec","renversant","tapant des pieds devant","priant devant"
DATA "s'étonnant de voir","luttant contre","discutant avec","gesticulant devant"
DATA "grimaçant devant","se sauvant devant","s'essouflant devant"
DATA "s'agitant devant","se traînant derrière","marchant à côté d'un(e)"
DATA "bourré(e) de tics devant","mordu(e) par","marchant au pas devant"
e=23
for i=1 to e: read m3$(i): next i
rem ============================================================================
DATA "en deuil","d'Angleterre","de la mer","de la mort","à lunettes"
DATA "en retraite","en maillot de bain","en musique","à mégots","d'opérette"
DATA "de chez St Vincent de Paul","philosophe","de la Compagnie du Gaz de Paris"
DATA "au garde à vous","de cimetière","de haute mer","de l'Académie Française"
DATA "de cirque","d'autobus","chez le dentiste","chez les Jésuites"
DATA "hilare","en prière","en extase,aux abois","tête en l'air","en plein vol"
DATA "en transes"
f=27
for i=1 to f: read m4$(i): next i

REM ======================================================================
' ==============================================================================
poeme$ = string$(60,"=")+chr$(13)
poeme$ = poeme$ + "         PARPAIUM FAIT DE LA POESIE" + chr$(13)
poeme$ = poeme$ + string$(60,"=")+chr$(13)
for j = 1 to 25
    i = int(rnd(53)+1) : poeme$ = poeme$ + m1$(i) + " "
    i = int(rnd(27)+1) : poeme$ = poeme$ + m2$(i) + " "
    i = int(rnd(23)+1) : poeme$ = poeme$ + m3$(i) + " "
    i = int(rnd(53)+1) : poeme$ = poeme$ + m1$(i) + " "
    i = int(rnd(27)+1) : poeme$ = poeme$ + m2$(i) + " "
    poeme$ = poeme$ + chr$(13)
     caption 10,poeme$
next j
' ==============================================================================

END

J'ai augmenté ta taille du texte, à cause de mes yeux fatigués Crying or Very sad
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Parpaiun

avatar

Nombre de messages : 192
Age : 78
Localisation : HERAULT
Date d'inscription : 15/04/2015

MessageSujet: Revue du sujet   Sam 4 Juil 2015 - 21:41

A Jicehel et sergeauze, vous m'avez paru étonnés par mon programme. Sachez que j'en ai deux autres de la même veine avec diverses expressions. On peut s'inspirer de poèmes d'auteurs pour en tirer des variantes plus ou moins cohérentes tout en respectant la construction. L'incohérence des expressions demande beaucoup plus de savoir faire pour l'éviter ! Je ne peux m'en occuper pour le moment.

A papydall, décidément, tu ne manques pas d'imagination en ajoutant d'autres possibilités de programmation. C'est une très bonne chose pour moi désireux de connaître ça ! Merci pour ta peine !

A voir le résultat de mon programme, j'ai constaté certaines répétitions de mots qui se voient au début et à la fin de la phrase. Comme par exemple: "un Napoléon de fortune mordu(e) par un gibier de fortune". Le mot "fortune" se répétant, je vais devoir trouver comment éviter ça en détectant les mots déjà ecrits. Je sais comment: il suffit d'affecter un top à chaque expression. Au départ, tous les tops sont à "0". Si "0", c'est prêt à écrire; si "1", c'est déjà écrit donc inactif, tout cela pendant l'exécution du programme. Il est bien entendu que chaque top doit correspondre au n° d'ordre de l'expression. Voilà !

Désolé, papydall, pour tes pauvres yeux ! Les gros caractères, j'y penserai la prochaine fois !

Bon week-end les amis et gardez physique et moral bien au frais par ces temps de chaleur !
"Canicula, la bouillazaba, quel four qu'il fa !" (Cette patoisante fantaisie est de moi !)
lol! sunny lol!


Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Parpaiun

avatar

Nombre de messages : 192
Age : 78
Localisation : HERAULT
Date d'inscription : 15/04/2015

MessageSujet: Revue du sujet   Sam 4 Juil 2015 - 23:07

Et voilà mon programme avec des modifications permettant d'éviter les répétitions d'expressions comme je l'ai signalé dans un précédent message à papydall ...

Toutes ces expressions sont choisies une fois au hasard et conformes à la
grammaire (sauf erreur de forme, comme de bien entendu, dirait Michel Simon, ce drôle d' acteur de cinéma !).

Code:
REM    P O E M E  I N T E R C H A N G E A B L E
REM  Auteur: Parpaiun
REM  Date-version: 04/07/2015
REM ================================================
 dim c,d,e,f,i,j
dim m1$(53),m2$(27),m3$(23),m4$(27),tip1(53),tip2(27),tip3(23),tip4(27)
' ==============================================================================
dim poeme$
label k,l,m,n,o
font_bold 0 : font_size 0,14 : font_color 0,0,0,255
full_space 0
alpha 10
' ==============================================================================
REM ======================================================================
DATA "une montre","un farceur","un gardien","un dindon","un ténor","un danseur"
DATA "une pipe","un gentleman","un gibier","un directeur","un amiral"
DATA "un raccomodeur","une pomme","un Napoléon","une victoire","un père"
DATA "une catastrophe","un évêque","un petit chanteur","un enfant","un ouvrier"
DATA "un tigre","un maigrichon","un fortiche","un super bronzé","un colporteur"
DATA "un sauveteur","un vieillard","une reine","une toquée","un hussard"
DATA "un serpent","un chasseur","un maréchal","des matelots","un compositeur"
DATA "un fouineur","un repasseur","une petite soeur","un professeur","un contrôleur"
DATA "un canard","un conservateur","un membre","une majorette","un bougre d'âne"
DATA "une madelon","un soldat","une soubrette","un objecteur","un GAI luron"
DATA "un général","un chirurgien"
c=53
for i=1 to c: read m1$(i): tip1(i)=0: next i
rem ============================================================================
DATA "en or","à la peine","de la paix","à café","de discorde","d'écume","déjanté(e)"
DATA "de potence","de conscience","de fortune","du Bengale","de papier"
DATA "de porcelaine","de Sainte Hélène","de Samothrace","de famille nombreuse"
DATA "en goguette","baladeur","à la croix de bois","dans le baba","rigolard(e)"
DATA "immobile","pas très chic","de bon aloi","casse-pieds","en habit noir"
DATA "patraque"
d=27
for i=1 to d: read m2$(i): tip2(i)=0: next i
rem ============================================================================
DATA "jonglant avec","conversant avec","secouant","épiant","écrivant à","parlant à"
DATA "jouant avec","renversant","tapant des pieds devant","priant devant"
DATA "s'étonnant de voir","luttant contre","discutant avec","gesticulant devant"
DATA "grimaçant devant","se sauvant devant","s'essouflant devant"
DATA "s'agitant devant","se traînant derrière","marchant à côté d'un(e)"
DATA "bourré(e) de tics devant","mordu(e) par","marchant au pas devant"
e=23
for i=1 to e: read m3$(i): tip3(i)=0: next i
rem ============================================================================
DATA "en deuil","d'Angleterre","de la mer","de la mort","à lunettes"
DATA "en retraite","en maillot de bain","en musique","à mégots","d'opérette"
DATA "de chez St Vincent de Paul","philosophe","de la Compagnie du Gaz de Paris"
DATA "au garde à vous","de cimetière","de haute mer","de l'Académie Française"
DATA "de cirque","d'autobus","chez le dentiste","chez les Jésuites"
DATA "hilare","en prière","en extase,aux abois","tête en l'air","en plein vol"
DATA "en transes"
f=27
for i=1 to f: read m4$(i): tip4(i)=0: next i

REM ======================================================================
' ==============================================================================
poeme$ = string$(60,"=")+chr$(13)
poeme$ = poeme$ + "        PARPAIUN FAIT DE LA POESIE" + chr$(13)
poeme$ = poeme$ + string$(60,"=")+chr$(13)
for j = 1 to 23
k:
 i = int(rnd(53)+1) : if tip1(i)=1 then goto k
poeme$ = poeme$ + m1$(i) + " ": tip1(i)=1
l:
 i = int(rnd(27)+1) : if tip2(i)=1 then goto l
poeme$ = poeme$ + m2$(i) + " ": : tip2(i)=1
m:
 i = int(rnd(23)+1) : if tip3(i)=1 then goto m
poeme$ = poeme$ + m3$(i) + " ": : tip3(i)=1
n:
 i = int(rnd(53)+1) : if tip1(i)=1 then goto n
poeme$ = poeme$ + m1$(i) + " ": : tip1(i)=1
o:
 i = int(rnd(27)+1) : if tip4(i)=1 then goto o
    poeme$ = poeme$ + m4$(i) + " ": : tip4(i)=1
    poeme$ = poeme$ + chr$(13)
    caption 10,poeme$
next j
' ==============================================================================

END

Bon, j'espère que le résultat devient plus varié et plus cocasse que celui des programmes précédents.

Bye, bye les curieux et bonne fin de semaine ! lol! lol! lol!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Parpaiun

avatar

Nombre de messages : 192
Age : 78
Localisation : HERAULT
Date d'inscription : 15/04/2015

MessageSujet: Revue du sujet   Sam 4 Juil 2015 - 23:22

Des erreurs de forme vite détectés par mes soins m'ont obligé à revoir mon programme que cette fois, il n'y en aura plus, na !

Code:
REM    P O E M E  I N T E R C H A N G E A B L E
REM  Auteur: Parpaiun
REM  Date-version: 04/07/2015
REM ================================================
 dim c,d,e,f,i,j
dim m1$(53),m2$(27),m3$(23),m4$(27),tip1(53),tip2(27),tip3(23),tip4(27)
' ==============================================================================
dim poeme$
label k,l,m,n,o
font_bold 0 : font_size 0,14 : font_color 0,0,0,255
full_space 0
alpha 10
' ==============================================================================
REM ======================================================================
DATA "une montre","un farceur","un gardien","un dindon","un ténor","un danseur"
DATA "une pipe","un gentleman","un gibier","un directeur","un amiral"
DATA "un raccomodeur","une pomme","un Napoléon","une victoire","un père"
DATA "une catastrophe","un évêque","un petit chanteur","un enfant","un ouvrier"
DATA "un tigre","un maigrichon","un fortiche","un super bronzé","un colporteur"
DATA "un sauveteur","un vieillard","une reine","une toquée","un hussard"
DATA "un serpent","un chasseur","un maréchal","des matelots","un compositeur"
DATA "un fouineur","un repasseur","une petite soeur","un professeur","un contrôleur"
DATA "un canard","un conservateur","un membre","une majorette","un bougre d'âne"
DATA "une madelon","un soldat","une soubrette","un objecteur","un GAI luron"
DATA "un général","un chirurgien"
c=53
for i=1 to c: read m1$(i): tip1(i)=0: next i
rem ============================================================================
DATA "en or","à la peine","de la paix","à café","de discorde","d'écume","déjanté(e)"
DATA "de potence","de conscience","de fortune","du Bengale","de papier"
DATA "de porcelaine","de Sainte Hélène","de Samothrace","de famille nombreuse"
DATA "en goguette","baladeur","à la croix de bois","dans le baba","rigolard(e)"
DATA "doux gaga","pas très chic","de bon aloi","casse-pieds","en habit noir"
DATA "patraque"
d=27
for i=1 to d: read m2$(i): tip2(i)=0: next i
rem ============================================================================
DATA "jonglant avec","conversant avec","secouant","épiant","écrivant à","parlant à"
DATA "jouant avec","renversant","tapant des pieds devant","priant devant"
DATA "s'étonnant de voir","luttant contre","discutant avec","gesticulant devant"
DATA "grimaçant devant","se sauvant devant","s'essouflant devant"
DATA "s'agitant devant","se traînant derrière","marchant à côté d'un(e)"
DATA "bourré(e) de tics devant","mordu(e) par","marchant au pas devant"
e=23
for i=1 to e: read m3$(i): tip3(i)=0: next i
rem ============================================================================
DATA "en deuil","d'Angleterre","de la mer","de la mort","à lunettes"
DATA "en retraite","en maillot de bain","en musique","à mégots","d'opérette"
DATA "de chez St Vincent de Paul","philosophe","de la Compagnie du Gaz de Paris"
DATA "au garde à vous","de cimetière","de haute mer","de l'Académie Française"
DATA "de cirque","d'autobus","chez le dentiste","chez les Jésuites"
DATA "hilare","en prière","en extase","aux abois","tête en l'air","en plein vol"
DATA "en transes"
f=27
for i=1 to f: read m4$(i): tip4(i)=0: next i

REM ======================================================================
' ==============================================================================
poeme$ = string$(60,"=")+chr$(13)
poeme$ = poeme$ + "        PARPAIUN FAIT DE LA POESIE" + chr$(13)
poeme$ = poeme$ + string$(60,"=")+chr$(13)
for j = 1 to 23
k:
 i = int(rnd(53)+1) : if tip1(i)=1 then goto k
poeme$ = poeme$ + m1$(i) + " ": tip1(i)=1
l:
 i = int(rnd(27)+1) : if tip2(i)=1 then goto l
poeme$ = poeme$ + m2$(i) + " ": : tip2(i)=1
m:
 i = int(rnd(23)+1) : if tip3(i)=1 then goto m
poeme$ = poeme$ + m3$(i) + " ": : tip3(i)=1
n:
 i = int(rnd(53)+1) : if tip1(i)=1 then goto n
poeme$ = poeme$ + m1$(i) + " ": : tip1(i)=1
o:
 i = int(rnd(27)+1) : if tip4(i)=1 then goto o
    poeme$ = poeme$ + m4$(i) + " ": : tip4(i)=1
    poeme$ = poeme$ + chr$(13)
    caption 10,poeme$
next j
' ==============================================================================

END

Mille excuses pour ce petit dérangement chez vous ! affraid

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5546
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Du nouveau   Dim 5 Juil 2015 - 1:06

Après ta permission, Parpaiun, j’ai viré les GOTO  No

Code:

rem ============================================================================
REM    P O E M E  I N T E R C H A N G E A B L E
REM  Auteur: Parpaiun
REM  Date-version: 04/07/2015
REM ============================================================================
 dim c,d,e,f,i,j
dim m1$(53),m2$(27),m3$(23),m4$(27),tip1(53),tip2(27),tip3(23),tip4(27)
' ==============================================================================
dim poeme$
font_bold 0 : font_size 0,14 : font_color 0,0,0,255
full_space 0
alpha 10
' ==============================================================================

DATA "une montre","un farceur","un gardien","un dindon","un ténor","un danseur"
DATA "une pipe","un gentleman","un gibier","un directeur","un amiral"
DATA "un raccomodeur","une pomme","un Napoléon","une victoire","un père"
DATA "une catastrophe","un évêque","un petit chanteur","un enfant","un ouvrier"
DATA "un tigre","un maigrichon","un fortiche","un super bronzé","un colporteur"
DATA "un sauveteur","un vieillard","une reine","une toquée","un hussard"
DATA "un serpent","un chasseur","un maréchal","des matelots","un compositeur"
DATA "un fouineur","un repasseur","une petite soeur","un professeur","un contrôleur"
DATA "un canard","un conservateur","un membre","une majorette","un bougre d'âne"
DATA "une madelon","un soldat","une soubrette","un objecteur","un GAI luron"
DATA "un général","un chirurgien"
c=53
for i=1 to c: read m1$(i): tip1(i)=0: next i
rem ============================================================================
DATA "en or","à la peine","de la paix","à café","de discorde","d'écume","déjanté(e)"
DATA "de potence","de conscience","de fortune","du Bengale","de papier"
DATA "de porcelaine","de Sainte Hélène","de Samothrace","de famille nombreuse"
DATA "en goguette","baladeur","à la croix de bois","dans le baba","rigolard(e)"
DATA "doux gaga","pas très chic","de bon aloi","casse-pieds","en habit noir"
DATA "patraque"
d=27
for i=1 to d: read m2$(i): tip2(i)=0: next i
rem ============================================================================
DATA "jonglant avec","conversant avec","secouant","épiant","écrivant à","parlant à"
DATA "jouant avec","renversant","tapant des pieds devant","priant devant"
DATA "s'étonnant de voir","luttant contre","discutant avec","gesticulant devant"
DATA "grimaçant devant","se sauvant devant","s'essouflant devant"
DATA "s'agitant devant","se traînant derrière","marchant à côté d'un(e)"
DATA "bourré(e) de tics devant","mordu(e) par","marchant au pas devant"
e=23
for i=1 to e: read m3$(i): tip3(i)=0: next i
rem ============================================================================
DATA "en deuil","d'Angleterre","de la mer","de la mort","à lunettes"
DATA "en retraite","en maillot de bain","en musique","à mégots","d'opérette"
DATA "de chez St Vincent de Paul","philosophe","de la Compagnie du Gaz de Paris"
DATA "au garde à vous","de cimetière","de haute mer","de l'Académie Française"
DATA "de cirque","d'autobus","chez le dentiste","chez les Jésuites"
DATA "hilare","en prière","en extase","aux abois","tête en l'air","en plein vol"
DATA "en transes"
f=27
for i=1 to f: read m4$(i): tip4(i)=0: next i

REM ============================================================================
poeme$ = string$(60,"=")+chr$(13)
poeme$ = poeme$ + "        PARPAIUN FAIT DE LA POESIE" + chr$(13)
poeme$ = poeme$ + string$(60,"=")+chr$(13)

for j = 1 to 23
    repeat : i = int(rnd(53)+1) : until tip1(i) <> 1
    poeme$ = poeme$ + m1$(i) + " " : tip1(i)=1
    repeat : i = int(rnd(27)+1) : until tip2(i) <> 1
    poeme$ = poeme$ + m2$(i) + " " : tip2(i)=1
    repeat : i = int(rnd(23)+1) : until tip3(i) <> 1
    poeme$ = poeme$ + m3$(i) + " " : tip3(i)=1
    repeat : i = int(rnd(53)+1) : until tip1(i) <> 1
    poeme$ = poeme$ + m1$(i) + " " : tip1(i)=1
    repeat : i = int(rnd(27)+1) : until tip4(i) <> 1
    poeme$ = poeme$ + m4$(i) + " " :  tip4(i)=1
    poeme$ = poeme$ + chr$(13)
    caption 10,poeme$
next j

END
rem ============================================================================
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
pascal10000

avatar

Nombre de messages : 536
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: Du nouveau   Dim 5 Juil 2015 - 9:48

bonjour

qu'est ce que vous avez après les goto?
je trouve cette commande très utile
comparé aux gosub cette dernière appel le sous programme
tandis que goto lui saute d'un label à l'autre et je m'en sert
aussi
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Nardo26

avatar

Nombre de messages : 2294
Age : 49
Localisation : Valence
Date d'inscription : 02/07/2010

MessageSujet: Re: Du nouveau   Dim 5 Juil 2015 - 10:08

Il est plus lisible et compréhensible de faire de la programmation structurée.
Dans le cas présent, on a affaire à une boucle conditionnelle.

Code:
Labl1:
instructions
IF condition_non_remplie then GOTO Labl1

On a tendance à n'utiliser que les boucles FOR mais dans Panoramic, comme dans beaucoup d'autres langage, il existe d'autres type de boucles. Autant les utiliser. Wink

Papydall a juste montré dans le code qu'il propose à Papaiun, un exemple de ce type de boucle :

Code:
REPEAT
  instructions
UNTIL condition_remplie

Pour faire simple, au sujet des Goto, il y a eu une discussion ici. C'est pour un autre langage mais le principe reste le même...

PS: Pour les GOSUB, c'est à peu prés la même chose. Cette fonction est maintenue dans Panoramic pour des raisons historique et pour rester compatible avec les 1er langage BASIC mais elle est devenue obsolète depuis l'apparition des SUB...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nardo26.lescigales.org
Invité
Invité



MessageSujet: Re: Du nouveau   Dim 5 Juil 2015 - 10:32

Bonjour,
Nardo26 a écrit:
PS: Pour les GOSUB, c'est à peu prés la même chose. Cette fonction est maintenue dans Panoramic pour des raisons historique et pour rester compatible avec les 1er langage BASIC mais elle est devenue obsolète depuis l'apparition des SUB...
Attention, là Nardo je ne te reconnais plus.

Comment fais-tu avec les événements: les menus, les boutons, ON_CHANGE ON_CLICK ON_KEY_trucs?

Peut-être que la nuit a été longue, avec un abus de liquides à boire avec modération. drunken
Revenir en haut Aller en bas
pascal10000

avatar

Nombre de messages : 536
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: Du nouveau   Dim 5 Juil 2015 - 10:45

Attention nardo je ne critique pas la façon que papydall
programme dire juste que la commande goto
est utile dans certain cas et de plus c'est une commande
les plus classique depuis que la programmation existe elle est
présente dans tout les logiciels confondus
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Parpaiun

avatar

Nombre de messages : 192
Age : 78
Localisation : HERAULT
Date d'inscription : 15/04/2015

MessageSujet: Revue du sujet   Dim 5 Juil 2015 - 10:51

Brave professeur papydall, tu es impayable en spécialiste des améliorations de programmes comme les miens ! En tant que novice impénitent, je suis toujours d'accord avec toi et, disponible ou pas, j'espère te suivre jusqu'au bout !

Les GOTO font décidément polémique parmi nos panoramiciens et cela ne m'étonne pas ! A quand un traité de paix pour ça ?

lol!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Nardo26

avatar

Nombre de messages : 2294
Age : 49
Localisation : Valence
Date d'inscription : 02/07/2010

MessageSujet: Re: Du nouveau   Dim 5 Juil 2015 - 10:57

Je n'ai pas du tout interprété cela comme une critique.
Il n'y a pas de "guerre" Parpaiun, c'est juste une divergence d'opinion.

pascal10000 a écrit:
c'est une commande
les plus classique depuis que la programmation existe elle est
présente dans tout les logiciels confondus

Oui elle existait à l'époque où les boucles FOR/NEXT n'existaient pas...
depuis, la programmation a évoluée...

Le gros problème avec les GOTO c'est que l'on a tendance à "shunter" des portions de code en faisant fi des raisons pour lesquelles on est à un endroit précis dans ce code. C'est perturbant voir par la suite, impossible à maintenir lorsque le prog fait plusieurs centaines de lignes...

Perso, je conseille d'éviter son utilisation quand on a la possibilité de le faire..
Parfois, c'est difficile.
Parfois c'est impossible : dans ce cas, cela signifie que l'on ne s'est pas bien posé le pb au départ. il vaut mieux dans ce cas, repenser complètement son algorithme et attaquer le pb sous un autre angle.  Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nardo26.lescigales.org
pascal10000

avatar

Nombre de messages : 536
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: Du nouveau   Dim 5 Juil 2015 - 12:32

oui c'est sûr lorsque je peut l'évité j'utilise gosub
elle est très utile pour éviter de recopier plusieurs fois
la même chose
quoi qu'il en soit je m'en sert très rarement puisque
la sub est bien pratique pour ça
bon week end!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5546
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Du nouveau   Dim 5 Juil 2015 - 15:01

Salut tout le monde.

Je n’aime pas polémiquer sur ce sujet.
Je suis d’accord avec la vision de Nardo26.
Codez vos programmes comme bon vous semble. C’est votre plein droit.

Quant à moi, le jour où vous trouverez dans mes codes futures l’utilisation (même une seule fois) de GOTO et / ou de GOSUB, je vous présenterais toutes mes excuses.

Toutes mes excuses pour être à l'origine de ce .... sujet à controverse!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
pascal10000

avatar

Nombre de messages : 536
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: Du nouveau   Dim 5 Juil 2015 - 18:54

voici a titre d'exemple ou un goto est nécéssaire

Code:
dim n%
label reel
on_click 0,reel
end

reel:
n%=int(rnd(100))+1
if n%<50
goto reel
else
print n%
end_if
return
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Nardo26

avatar

Nombre de messages : 2294
Age : 49
Localisation : Valence
Date d'inscription : 02/07/2010

MessageSujet: Re: Du nouveau   Dim 5 Juil 2015 - 19:00

Bon exemple pour l'utilisation du  while.
Code:

reel:
  n%=int(rnd(100))+1
  WHILE n%<50: n%=int(rnd(100))+1 : END_WHILE
  PRINT n%
return
ou
REPEAT/UNTIL :
Code:

reel:
  REPEAT : n%=int(rnd(100))+1 : UNTIL n%>=50
  PRINT n%
return

Tu as là 2 types de boucles assez puissantes.
La 1ere (WHILE/END_WHILE) qui fait un test en début de boucle et avec la 2ème, en fin (REPEAT/UNTIL).
Avec ces boucles, tu peux faire beaucoup de choses...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nardo26.lescigales.org
pascal10000

avatar

Nombre de messages : 536
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: Du nouveau   Dim 5 Juil 2015 - 19:36

yes nardo! je n'ai pas pensé a ça
tu as gagné 2 lignes sur mon code
t un bon !!!!!!!!!!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Nardo26

avatar

Nombre de messages : 2294
Age : 49
Localisation : Valence
Date d'inscription : 02/07/2010

MessageSujet: Re: Du nouveau   Dim 5 Juil 2015 - 19:54

Plaisanterie à part, dans le cas du repeat/until, c'est plus facile à "lire" sur le plan algorithmique :

Code:
Répéter:
  bloc_instruction
Jusqu'à ce que condition = VRAI

Je ne dis pas: si tu as des series de IF imbriqués, dans certains cas (quand tu as atteins la limite (ou pour gagner en lisibilité: il n'existe pas le ELSE_IF), le goto peut "te sauver".

Cela m'est arrivé UNE fois, dans un programme et pour te dire : je m'en souviens encore (beautifier)...
Je pourrais certainement réécrire le prog différemment mais à l'époque j'étais déjà parti sur un autre projet.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nardo26.lescigales.org
pascal10000

avatar

Nombre de messages : 536
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: Du nouveau   Dim 5 Juil 2015 - 20:03

il me semble que else_if a déjà été réclamé a jack
mais sans suite
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Du nouveau   

Revenir en haut Aller en bas
 
Du nouveau
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Nouveau virus : Win32.Induc.A. Surveillez vos logiciels !
» Nouveau Routeur D-link DIR 628 ... Configuration
» [résolu]Nouveau PC Première utilisation
» Un icône de nouveau message plus voyant
» Nouveau membre

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Les inutilitaires-
Sauter vers: