FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Une calculatrice en une ligne de programme
Du nouveau Emptypar jean_debord Aujourd'hui à 8:47

» Form(résolu)
Du nouveau Emptypar leclode Hier à 17:59

» trop de fichiers en cours
Du nouveau Emptypar Marc Hier à 11:42

» Bataille navale SM
Du nouveau Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Gestion d'un système client-serveur.
Du nouveau Emptypar Pedro Jeu 25 Avr 2024 - 19:31

» Les maths du crocodile
Du nouveau Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
Du nouveau Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Du nouveau Emptypar Froggy One Mer 24 Avr 2024 - 18:38

» Dessine-moi une galaxie
Du nouveau Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Du nouveau Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
Du nouveau Emptypar papydall Dim 21 Avr 2024 - 23:30

» 2D_fill_color(résolu)
Du nouveau Emptypar leclode Sam 20 Avr 2024 - 8:32

» Consommation gaz électricité
Du nouveau Emptypar leclode Mer 17 Avr 2024 - 11:07

» on_key_down (résolu)
Du nouveau Emptypar leclode Mar 16 Avr 2024 - 11:01

» Sous-programme(résolu)
Du nouveau Emptypar jjn4 Jeu 4 Avr 2024 - 14:42

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Avril 2024
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
2930     
CalendrierCalendrier
-29%
Le deal à ne pas rater :
PC portable – MEDION 15,6″ FHD Intel i7 – 16 Go / 512Go (CDAV : ...
499.99 € 699.99 €
Voir le deal

 

 Du nouveau

Aller en bas 
+2
sergeauze
Parpaiun
6 participants
AuteurMessage
Parpaiun

Parpaiun


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

Du nouveau Empty
MessageSujet: Du nouveau   Du nouveau EmptySam 4 Juil 2015 - 10: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
sergeauze

sergeauze


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

Du nouveau Empty
MessageSujet: Re: Du nouveau   Du nouveau EmptySam 4 Juil 2015 - 11: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
http://sergeauze.blog-video.tv/
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Du nouveau Empty
MessageSujet: Re: Du nouveau   Du nouveau EmptySam 4 Juil 2015 - 12:58

oui c'est original, Wink Bravo pour l'idée
Revenir en haut Aller en bas
papydall

papydall


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

Du nouveau Empty
MessageSujet: Re: Du nouveau   Du nouveau EmptySam 4 Juil 2015 - 13: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
http://papydall-panoramic.forumarabia.com/
Parpaiun

Parpaiun


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

Du nouveau Empty
MessageSujet: Revue du sujet   Du nouveau EmptySam 4 Juil 2015 - 20: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
Parpaiun

Parpaiun


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

Du nouveau Empty
MessageSujet: Revue du sujet   Du nouveau EmptySam 4 Juil 2015 - 22: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
Parpaiun

Parpaiun


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

Du nouveau Empty
MessageSujet: Revue du sujet   Du nouveau EmptySam 4 Juil 2015 - 22: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
papydall

papydall


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

Du nouveau Empty
MessageSujet: Re: Du nouveau   Du nouveau EmptyDim 5 Juil 2015 - 0: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
http://papydall-panoramic.forumarabia.com/
pascal10000

pascal10000


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

Du nouveau Empty
MessageSujet: Re: Du nouveau   Du nouveau EmptyDim 5 Juil 2015 - 8: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
Nardo26

Nardo26


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

Du nouveau Empty
MessageSujet: Re: Du nouveau   Du nouveau EmptyDim 5 Juil 2015 - 9: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... Du nouveau 01

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
http://nardo26.lescigales.org
Invité
Invité




Du nouveau Empty
MessageSujet: Re: Du nouveau   Du nouveau EmptyDim 5 Juil 2015 - 9: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

pascal10000


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

Du nouveau Empty
MessageSujet: Re: Du nouveau   Du nouveau EmptyDim 5 Juil 2015 - 9: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
Parpaiun

Parpaiun


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

Du nouveau Empty
MessageSujet: Revue du sujet   Du nouveau EmptyDim 5 Juil 2015 - 9: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
Nardo26

Nardo26


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

Du nouveau Empty
MessageSujet: Re: Du nouveau   Du nouveau EmptyDim 5 Juil 2015 - 9:57

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

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
http://nardo26.lescigales.org
pascal10000

pascal10000


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

Du nouveau Empty
MessageSujet: Re: Du nouveau   Du nouveau EmptyDim 5 Juil 2015 - 11: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
papydall

papydall


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

Du nouveau Empty
MessageSujet: Re: Du nouveau   Du nouveau EmptyDim 5 Juil 2015 - 14: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
http://papydall-panoramic.forumarabia.com/
pascal10000

pascal10000


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

Du nouveau Empty
MessageSujet: Re: Du nouveau   Du nouveau EmptyDim 5 Juil 2015 - 17: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
Nardo26

Nardo26


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

Du nouveau Empty
MessageSujet: Re: Du nouveau   Du nouveau EmptyDim 5 Juil 2015 - 18:00

Bon exemple pour l'utilisation du  while. Du nouveau 07
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
http://nardo26.lescigales.org
pascal10000

pascal10000


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

Du nouveau Empty
MessageSujet: Re: Du nouveau   Du nouveau EmptyDim 5 Juil 2015 - 18: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
Nardo26

Nardo26


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

Du nouveau Empty
MessageSujet: Re: Du nouveau   Du nouveau EmptyDim 5 Juil 2015 - 18: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
http://nardo26.lescigales.org
pascal10000

pascal10000


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

Du nouveau Empty
MessageSujet: Re: Du nouveau   Du nouveau EmptyDim 5 Juil 2015 - 19:03

il me semble que else_if a déjà été réclamé a jack
mais sans suite
Revenir en haut Aller en bas
Contenu sponsorisé





Du nouveau Empty
MessageSujet: Re: Du nouveau   Du nouveau Empty

Revenir en haut Aller en bas
 
Du nouveau
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Du nouveau sur le Mag
» Du Nouveau
» Un nouveau
» Transparence
» Souhaitons la bienvenue à chlow95 !

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: