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
Les articles de Papydall Emptypar jean_debord Aujourd'hui à 8:47

» Form(résolu)
Les articles de Papydall Emptypar leclode Hier à 17:59

» trop de fichiers en cours
Les articles de Papydall Emptypar Marc Hier à 11:42

» Bataille navale SM
Les articles de Papydall Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Gestion d'un système client-serveur.
Les articles de Papydall Emptypar Pedro Jeu 25 Avr 2024 - 19:31

» Les maths du crocodile
Les articles de Papydall Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
Les articles de Papydall Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

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

» Dessine-moi une galaxie
Les articles de Papydall Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Les articles de Papydall Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
Les articles de Papydall Emptypar papydall Dim 21 Avr 2024 - 23:30

» 2D_fill_color(résolu)
Les articles de Papydall Emptypar leclode Sam 20 Avr 2024 - 8:32

» Consommation gaz électricité
Les articles de Papydall Emptypar leclode Mer 17 Avr 2024 - 11:07

» on_key_down (résolu)
Les articles de Papydall Emptypar leclode Mar 16 Avr 2024 - 11:01

» Sous-programme(résolu)
Les articles de Papydall 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
Le Deal du moment : -50%
-50% Baskets Nike Air Huarache Runner
Voir le deal
69.99 €

 

 Les articles de Papydall

Aller en bas 
+4
Yannick
Jean Claude
Froggy One
papydall
8 participants
Aller à la page : 1, 2, 3, 4, 5  Suivant
AuteurMessage
papydall

papydall


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

Les articles de Papydall Empty
MessageSujet: Les articles de Papydall   Les articles de Papydall EmptyLun 3 Juin 2013 - 20:24

Je vous soumets mon article, comme l'a fait Jean Claude, pour ... passer mon permis de .... Laughing


Conseils de programmation en Panoramic

Simplifier le programme et privilégier sa lisibilité
Le temps mis à taper un programme est souvent négligeable par rapport au temps passé à le relire et le modifier pour apporter des améliorations ou pour corriger les éventuelles erreurs qu’il pourrait contenir.
On gagne vraiment beaucoup à prendre des bonnes habitudes dès le départ.

Bien présenter le programme
Séparez les mots de vos programmes par des espaces (caractère blanc) : surtout ne vous en privez pas ! Vos programmes gagneront en lisibilité.
Faites en sorte que les symboles délimiteurs soient suivis d’une espace, que les symboles d’opérations soient entourés également d’espaces.

Découpez vos programmes en sous-programmes
Les petits sous-programmes (procédures SUB) sont plus faciles à maitriser.
Les blocs de code répétés doivent être définis dans des procédures séparées ; ça facilite la maintenance : toute correction ou amélioration sera automatiquement répercutée.

Commentez vos programmes
N’hésitez pas à commenter vos programmes pour expliquer une difficulté ou mettre en valeur une astuce.
Evitez les commentaires qui n’apportent rien (aucune information autre que triviale !)

Déclaration des variables
Comme beaucoup de langages, PANORAMIC vous oblige à déclarer les variables utilisées dans le programme avant leur utilisation.
Contrairement à ce qu’on peut croire, ce n’est pas une contrainte ; c’est plutôt une souplesse : ça permet d’éviter de commettre des erreurs !

Voici ce qu’il pourrait arriver avec les langages qui tolèrent la non nécessité de déclarer toutes les variables avant leur utilisation.
Pour ces langages, lorsque le système rencontre le nom d’une variable, il opère ainsi : il cherche si cette variable a déjà été utilisée, si oui il utilise sa valeur courante pour faire les opérations demandées.
Si la variable est rencontrée pour la 1ère fois, le système la crée et lui affecte la valeur zéro.

Supposons maintenant qu’on utilise trois variables appelées respectivement Somme, Prix_unitaire et Quantite.
Supposons également qu’on ait affecté des valeurs à Prix_unitaire et Quantite, par exemple :
Code:
Prix_unitaire = 2.25
quantite = 12
Quelques lignes plus loin dans le programme, on calcule la somme à payer et on écrit (en commettant une erreur d’orthographe), par exemple :
Code:
somme = Pris_unitaire * Quantite
Le système, rencontre la variable Pris_unitaire ; or cette variable n’a pas été utilisée avant, il va la créer et lui affecte la valeur 0.
Il effectue le calcul avec cette variable qui n’a rien à faire pour exister : le calcul est évidemment faux !
Si le programme comporte plusieurs dizaines (voir plusieurs centaines de lignes), localiser et corriger cette erreur frôlerait le désespoir !
Heureusement PANORAMIC, nous oblige à déclarer les variables avant leur utilisation, ce qui éviterait une telle erreur.

Propriétés d’une variable
Toute variable possède trois propriétés :
• Un identificateur
• Un type
• Une valeur

L’identificateur d’une variable sert à identifier cette variable d’une façon univoque.
Il se compose d’un ou de plusieurs caractères choisis parmi les 26 lettres de l’alphabet (minuscules et/ou majuscules), de 10 chiffres arabes (de 0 à 9) et du caractère de soulignement( _ ) .
Tout autre symbole est interdit (à part % et $ : voir plus bas)
Le 1er caractère doit être soit une lettre, soit le caractère de soulignement. Le 1er caractère ne doit jamais être un chiffre.
L’identificateur est insensible à la casse, c'est-à-dire que PANORAMIC ne fait pas la différence entre majuscule et minuscule.
Exemple : abc, Abc ,ABC, aBc représentent tous la même variable.

Le type d’une variable : PANORAMIC reconnaît 3 types de variables : le type entier , le type flottant appelé également réel ou décimal et le type chaîne de caractères ou STRING.
L’identificateur d’une variable défini aussi le type de cette variable :
Pour le type entier, l’identificateur doit avoir comme dernier caractère, le symbole % (pour cent).
Si le dernier caractère n’est pas le symbole %, la variable sera considérée comme du type flottant.
Pour le type string, le dernier caractère doit être le symbole $ (dollar).

Le type d’une variable permet au système de connaître quelles sont les opérations possibles sur cette variable.
Par exemple, on peut diviser des valeurs du type entier ou flottant, chose qu’il impossible de faire avec le type chaîne de caractères.

la valeur d’une variable : par défaut et à partir du moment où l’on a déclaré une variable, le système lui donne la valeur 0.
Libre à vous d’affecter une autre valeur à cette variable.

Choix des identificateurs
• Choisissez des noms de variables judicieux. Evitez d'appeler une variable toto si vous pouvez la nommer prix_produit ou meilleur_score, vous vous y retrouverez mieux dans votre programme.
• Commentez votre code judicieusement. Il faut que deux mois plus tard, vous puissiez le relire sans difficultés. Il ne s'agit pas de mettre des commentaires du genre REM Ajoute 1 à i en face d'une instruction i = i + 1 ; mais plutôt de signaler des étapes d'un algorithme comme REM Remplissage du tableau,...
• Lorsque vous trouvez un morceau de code, dont vous avez besoin, ne le copiez/collez pas dans votre éditeur mais retapez-le vous-même. C'est ainsi que vous vous en souviendrez et que vous prendrez également les bons réflexes du langage.
• Entraînez-vous bien et commencez par des petits programmes : tester les codes donnés dans l’aide de PANORAMIC. Une fois que la base sera bien maitrisée, le reste viendra bien plus facilement.


Dernière édition par papydall le Lun 3 Juin 2013 - 20:36, édité 1 fois
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Froggy One

Froggy One


Nombre de messages : 584
Date d'inscription : 06/01/2012

Les articles de Papydall Empty
MessageSujet: Re   Les articles de Papydall EmptyLun 3 Juin 2013 - 20:28

Papydall a écrit :

Citation :
je vous soumet

je propose : je vous soumets.

Sleep Bonne soirée !
Revenir en haut Aller en bas
http://gaeldwest.wordpress.com
papydall

papydall


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

Les articles de Papydall Empty
MessageSujet: Re: Les articles de Papydall   Les articles de Papydall EmptyLun 3 Juin 2013 - 20:35

Merci Froggy One.
C'est corrigé.

Heureusement que cette erreur ne se trouve pas dans le corps de l’article !
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jean Claude

Jean Claude


Nombre de messages : 5948
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Les articles de Papydall Empty
MessageSujet: Re: Les articles de Papydall   Les articles de Papydall EmptyLun 3 Juin 2013 - 21:02

Rien à redire sauf
Citation :
Voici ce qu’il pourrait arriver avec les langages qui tolèrent la non nécessité de déclarer toutes les variables avant leur utilisation.
J'aurais écrit: de ne pas

Mais çà se discute vu que tu veux mettre l'accent sur la tolérance coupable de certains langages.

De mon avis c'est un bon article, surtout sur l'explication des variables.

A+
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

Les articles de Papydall Empty
MessageSujet: Re: Les articles de Papydall   Les articles de Papydall EmptyLun 3 Juin 2013 - 21:04

@Ygeronimi

J’ai mis sur ton Webdav, mon article Papydall_Articl01.txt sans mise en page.
Je ne sais pas comment faire Embarassed Embarassed

@Jean Claude
Ta remarque est judicieuse.
Merci.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Yannick




Nombre de messages : 8610
Age : 52
Localisation : Bretagne
Date d'inscription : 15/02/2010

Les articles de Papydall Empty
MessageSujet: re   Les articles de Papydall EmptyLun 3 Juin 2013 - 21:23

@ Papydall,

Je vais m' en occuper...
Comme çà vous verrez une troisième mise en page... Laughing
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5948
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Les articles de Papydall Empty
MessageSujet: Re: Les articles de Papydall   Les articles de Papydall EmptyLun 3 Juin 2013 - 21:28

@Papydall,

Tu télécharges KompoZer de Mozzila.
Tu commences par règler la largeur de la page à 700px.
Tu écris ton texte dedans (dans ton cas fait un copier/coller) et tu fais la mise en forme pratiquement comme dans Word. en bas tu verras 3 onglets dont un qui s’appelle "Source" c'est ici que je copie le code complet pour Ygeronimi dans un fichier txt. Ce code est généré automatiquement et reprend ta mise en forme.
Et tu peux visualiser ta page sur ton navigateur.
Autre chose le correcteur d’orthographe est nul, moi je copie dans word pour corriger et je recolle dans l'éditeur KompoZer.

Pour le moment j'attend de voir le rendu de ma dernière mouture pour savoir si la méthode est bonne.

Mais bon, soyons patient car je ne voudrais pas que Ygeronimi nous pète un plomb car il est très sollicité en ce moment. Je ne serais pas capable de tenir une telle cadence.

A+
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5948
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Les articles de Papydall Empty
MessageSujet: Re: Les articles de Papydall   Les articles de Papydall EmptyLun 3 Juin 2013 - 21:33

@Papydall,

Au vue de la mise en ligne de mon article par Ygeronimi, je constate que cà marche.
Toutefois je te conseille de passer à 690 Px plutôt que 700 car la barre de défilement est trop près.

A+
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

Les articles de Papydall Empty
MessageSujet: Re: Les articles de Papydall   Les articles de Papydall EmptyLun 3 Juin 2013 - 21:37

Je verrais ça tout à l’heure.
Pour le moment, les oiseaux commencent à gazouiller dans mon ventre !
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jean Claude

Jean Claude


Nombre de messages : 5948
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Les articles de Papydall Empty
MessageSujet: Re: Les articles de Papydall   Les articles de Papydall EmptyLun 3 Juin 2013 - 21:42

Tu verras c'est pratique. Tu même faire ton texte mis en forme ailleurs (Word, open office...) et le transférer dans KompoZer pour en extraire le souce Web.

Pour Ygeronimi cà lui fait moins de boulot (je crois)
A+

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

Les articles de Papydall Empty
MessageSujet: Re: Les articles de Papydall   Les articles de Papydall EmptyMar 4 Juin 2013 - 3:04

Mon deuxième article :


Premier Contact avec PANORAMIC

Lancez PANORAMIC EDITOR et choisissez NOUVEAU.
Vous êtes en face d’une page blanche où vous pouvez rédiger votre programme.
Nous allons essayer d’exécuter le plus court programme possible : un programme qui ne contient aucune instruction, aucune commande, rien !
Pour cela, cliquez sur Exécuter ou sur l’icône représentant un éclair rouge.
Une vraie fenêtre s’affiche avec ses 3 boutons en haut et à l’extrême droite (maximiser, minimiser et fermer) et en cliquant en haut à gauche, un menu s’affiche.
Vous pouvez réduire, agrandir, déplacer ou fermer cette fenêtre.
Tout ça sans avoir taper le moindre code ! Ce n’est pas beau tout ça ?

Cette fenêtre affichée par PANORAMIC s’appelle FORM pour FORMulaire.
Le FORM est un objet sur lequel seront affichés les sorties de PANORAMIC.
Comme tout objet qui se respecte, l’objet FORM possède différentes propriétés dont la plus importante est son identificateur qui servira à identifier cet objet parmi les autres objets reconnus par PANORAMIC.
Un identificateur d’objet est un nombre entier (ou réel transformé en interne par PANORAMIC en un entier). Ce nombre est compris entre 0 et 9999.
L’identificateur 0 est donné automatiquement au FORM mentionné ci-haut qui est FORM 0 : défini par défaut pour tout programme PANORAMIC, de sorte que vous n’avez ni le besoin ni le droit de le déclarer; mais vous pouvez modifier ses propriétes (TOP,LEFT, etc.).
D’ailleurs si , dans votre code, vous insérez FORM 0, vous aurez droit à un message d’erreur !
Mais vous pouvez définir d’autres FORM
Par exemple FORM 10
défini un FORM qui sera identifié par 10.

Tout cela deviendra clair.

Voici 3 versions d’un même programme calculant la mensualité que l'on doit payer si on emprunte une somme d'argent S à un taux d'intérêt fixe I donné et qu'on rembourse sur une période de N années.
Le programme vous demande la saisie de 3 valeurs : le montant de la somme à emprunter (en Euros ou autre monnaies), la durée du prêt (en années) et le taux d’intérêt (en %).
Par exemple (pour les 3 programmes) entrez respectivement les valeurs suivantes (ou autres de votre crus) 50000, 5, 8

La 1ère version utilise (pour les entrées/sorties) les instructions INPUT et PRINT. Vous verrez que ce n’est pas du tout confortable !
La 2ème version est un peu mieux notamment pour la saisie des valeurs, mais la sortie des résultats laisse à désirer !
La 3ème version est la plus aboutie parmi les 3. Mais il est possible de faire mieux !

Remarquez que pour les versions 2 et 3, le système refuse toute entrée erronée.

Les 3 programmes sont suffisamment commentés mais CE N’EST PAS GRAVE SI VOUS N’ARRIVEZ PAS A TOUT COMPRENDRE MAINTENANT.
Le but de ces programmes est de montrer que la programmation en PANORAMIC est plus élégante que la programmation qu’on faisait jadis sous DOS. (Voir l’article de Jean Claude : Les pièges à éviter avec PANORAMIC si vous venez d'un "Ancien BASIC"

Code : Version 1
Code:
' ******************************************************************************
' Programme calculant la mensualité que l'on doit payer si on emprunte une
' somme d'argent S à un taux d'intérêt fixe I donné et qu'on rembourse sur une
' période de N années
' ------------------------------------------------------------------------------
' Les mathématiques financières nous fournissent la formule suivante pour le calcul
' mensualité = (S*(I/100)*(1+I/100)^N) / (12*((1+I/100)^N - 1))
' avec S montant emprunté; I taux d'intérêt (exp I = 8%) ; N nombre d'années
' ******************************************************************************

dim i : ' taux d'intérêt
dim i_div100 : ' taux d'intérêt divisé par 100
dim mensualite : ' montant de la mensualité
dim total_interet : ' total des intérêts payés
dim temp : ' variable temporaire
dim s : ' somme empruntée
dim n : ' durée du prêt en années

' saisie des données
print "Entrez le montant de la somme à emprunter : "; : input s
print "Entrez la durée du prêt, en années : " ; : input n
print "entrez le taux d'intérêt (par exemple : 8 pour 8%) : "; : input i
' Calcul de la mensualité
i_div100 = i/100
temp = power((1+i_div100),n)
mensualite = (s*i_div100*temp)/(12*(temp-1))
' calcul du total des intérêts
total_interet = (mensualite * 12 * n)- s
' Affichage des résultats
print : print "Mensualité : "; mensualite
print "total des intérêts à payer : "; total_interet

Code : Version 2
Code:
' ******************************************************************************
' Programme calculant la mensualité que l'on doit payer si on emprunte une
' somme d'argent S à un taux d'intérêt fixe I donné et qu'on rembourse sur une
' période de N années
' ------------------------------------------------------------------------------
' Les mathématiques financières nous fournissent la formule suivante pour le calcul
' mensualité = (S*(I/100)*(1+I/100)^N) / (12*((1+I/100)^N - 1))
' avec S montant emprunté; I taux d'intérêt (exp I = 8%) ; N nombre d'années
' ******************************************************************************
Init()
Saisie()
Calcul()
Affichage()
end
' ******************************************************************************
' Déclaration des variables globales utilisées dans le programme
SUB Init()
    dim s : ' somme empruntée
    dim n : ' durée du prêt en années entières
    dim i : ' taux d'intérêt
    dim mensualite : ' montant de la mensualité
    dim total_interet : ' total des intérêts payés
END_SUB
' ******************************************************************************
' saisie des données : le système rejette toute saisie erronée
SUB Saisie()
    dim_local r$
' Saisie du montant de la somme à emprunter
    repeat : ' Pour s'assurer que la saisie soit une valeur positive
        repeat : ' pour s'assuer que la saisie soit une valeur numérique
          r$ = message_input$("Montant de la somme à emprunter","Montant = ","")
      until numeric(r$) > 0
      s = val(r$)
    until s > 0
' Arrondir à 2 chiffres après le point décimal
    s = int(100 * s)/100
' Saisie de la durée du prêt
    repeat
        repeat
          r$ = message_input$("Durée du prêt, en années entières","Durée = ","")
      until numeric(r$) > 0
      n = val(r$)
    until n > 0  and n = int(n)
' Saisie du taux d'interêt
    repeat
        repeat
          r$ = message_input$("Taux d'intérêt (par exemple : 8 pour 8%)","Intérêt = ","")
      until numeric(r$) > 0
      i = val(r$)
    until i > 0

END_SUB
' ******************************************************************************
' Calcul : le calcul de la mensualité se fait à l'aide de la formule :
'  mensualité = (S*(I/100)*(1+I/100)^N) / (12*((1+I/100)^N - 1))
' On voit que I/100 est présente 3 fois dans la formule : il sera judicieux de
' la calculer une seule fois dans la variable locale i_div100
' De même (1+i_div100)^n est présente 2 fois dans la formule : on gagnera en
' lisibilité en la calculant une seule fois dans la variable locale temp
SUB Calcul()
    dim_local i_div100 : ' taux d'intérêt divisé par 100
    dim_local temp : ' variable temporaire
' Calcul de la mensualité
    i_div100 = i / 100
    temp = power((1 + i_div100),n)
    mensualite = (s * i_div100 * temp)/(12 * (temp - 1))
' arrondir à 2 chiffres après le point décimal
    mensualite = int(100 * mensualite)/100
' calcul du total des intérêts
    total_interet = (mensualite * 12 * n) - s
' Arrondir à 2 chiffres après le point décimal
    total_interet = int(100 * total_interet)/100
END_SUB
' ******************************************************************************
' Affichage des résultats
SUB Affichage()
    print : print
    print "Pour un emprunt de : " ; s ; " Euros"
    print "Pendant une durée de : ";n;" années"
    print "Avec un taux d'intérêt de :" ;i;"%"
    print : print "La mensualité à payer est : "; mensualite ;" Euros"
    print "Le total des intérêts à payer est : "; total_interet; " Euros"
END_SUB
' ******************************************************************************

Code : Version 3
Code:
' ******************************************************************************
' Programme calculant la mensualité que l'on doit payer si on emprunte une
' somme d'argent S à un taux d'intérêt fixe I donné et qu'on rembourse sur une
' période de N années
' ------------------------------------------------------------------------------
' Les mathématiques financières nous fournissent la formule suivante pour le calcul
' mensualité = (S*(I/100)*(1+I/100)^N) / (12*((1+I/100)^N - 1))
' avec S montant emprunté; I taux d'intérêt (exp I = 8%) ; N nombre d'années
' ******************************************************************************
Init() : GUI()
Saisie()
Calcul()
Affichage()
end
' ******************************************************************************
' Déclaration des variables globales utilisées dans le programme
SUB Init()
    label quitter
    dim s : ' somme empruntée
    dim n : ' durée du prêt en années entières
    dim i : ' taux d'intérêt
    dim mensualite : ' montant de la mensualité
    dim total_interet : ' total des intérêts payés
END_SUB
' ******************************************************************************
SUB GUI()
    caption 0,"Mathematiques financières"
    alpha 1 : top 1,30 : left 1,150 : color 1,255,255,255
    font_color 1,rnd(255),rnd(255),rnd(255) : font_bold 1 : font_size 1,14
    font_name 1,"comic sans MS" : caption 1,string$(10," ")+ "Calcul d'emprunt" + string$(10," ")

    container 10 : top 10,100 : left 10,50 : width 10,500 : height 10,300 : hide 10
    alpha 11 : parent 11,10 : top 11,50 : left 11,20 : color 11,255,255,255
    font_color 11,0,0,255 : font_bold 11 : font_size 11,12
    caption 11,"Pour un emprunt de : "
    alpha 12 : parent 12,10 : top 12,50 : left 12,190 : color 12,255,255,255
    font_color 12,255,0,0 : font_bold 12 : font_size 12,12
   
    alpha 13 : parent 13,10 : top 13,80 : left 13,20 : color 13,255,255,255
    font_color 13,0,0,255 : font_bold 13 : font_size 13,12
    caption 13,"Pendant une durée de : "
    alpha 14 : parent 14,10 : top 14,80 : left 14,213 : color 14,255,255,255
    font_color 14,255,0,0 : font_bold 14 : font_size 14,12
   
    alpha 15 : parent 15,10 : top 15,110 : left 15,20 : color 15,255,255,255
    font_color 15,0,0,255 : font_bold 15 : font_size 15,12
    caption 15,"Avec un taux d'intérêt de : "
    alpha 16 : parent 16,10 : top 16,110 : left 16,230 : color 16,255,255,255
    font_color 16,255,0,0 : font_bold 16 : font_size 16,12
   
    alpha 17 : parent 17,10 : top 17,180 : left 17,20 : color 17,255,255,255
    font_color 17,0,0,255 : font_bold 17 : font_size 17,12
    caption 17,"La mensualité à payer est : "
    alpha 18 : parent 18,10 : top 18,180 : left 18,235 : color 18,255,255,255
    font_color 18,255,0,0 : font_bold 18 : font_size 18,12
   
    alpha 19 : parent 19,10 : top 19,210 : left 19,20 : color 19,255,255,255
    font_color 19,0,0,255 : font_bold 19 : font_size 19,12
    caption 19,"Le total des intérêts à payer est : "
    alpha 20 : parent 20,10 : top 20, 210 : left 20,290 : color 20,255,255,255
    font_color 20,255,0,0 : font_bold 20 : font_size 20,12
   
    button 30 : top 30,410 : left 30,220  : caption 30, "Quitter"
    on_click 30,quitter : hide 30
   
END_SUB
' ******************************************************************************
' saisie des données : le système rejette toute saisie erronée
SUB Saisie()
    dim_local r$
' Saisie du montant de la somme à emprunter
    repeat : ' Pour s'assurer que la saisie soit une valeur positive
        repeat : ' pour s'assuer que la saisie soit une valeur numérique
          r$ = message_input$("Montant de la somme à emprunter","Montant = ","")
      until numeric(r$) > 0
      s = val(r$)
    until s > 0
' Arrondir à 2 chiffres après le point décimal
    s = int(100 * s)/100
' Saisie de la durée du prêt
    repeat
        repeat
          r$ = message_input$("Durée du prêt, en années entières","Durée = ","")
      until numeric(r$) > 0
      n = val(r$)
    until n > 0  and n = int(n)
' Saisie du taux d'interêt
    repeat
        repeat
          r$ = message_input$("Taux d'intérêt (par exemple : 8 pour 8%)","Intérêt = ","")
      until numeric(r$) > 0
      i = val(r$)
    until i > 0

END_SUB
' ******************************************************************************
' Calcul : le calcul de la mensualité se fait à l'aide de la formule :
'  mensualité = (S*(I/100)*(1+I/100)^N) / (12*((1+I/100)^N - 1))
' On voit que I/100 est présente 3 fois dans la formule : il sera judicieux de
' la calculer une seule fois dans la variable locale i_div100
' De même (1+i_div100)^n est présente 2 fois dans la formule : on gagnera en
' lisibilité en la calculant une seule fois dans la variable locale temp
SUB Calcul()
    dim_local i_div100 : ' taux d'intérêt divisé par 100
    dim_local temp : ' variable temporaire
' Calcul de la mensualité
    i_div100 = i / 100
    temp = power((1 + i_div100),n)
    mensualite = (s * i_div100 * temp)/(12 * (temp - 1))
' arrondir à 2 chiffres après le point décimal
    mensualite = int(100 * mensualite)/100
' calcul du total des intérêts
    total_interet = (mensualite * 12 * n) - s
' Arrondir à 2 chiffres après le point décimal
    total_interet = int(100 * total_interet)/100
END_SUB
' ******************************************************************************
' Affichage des résultats
SUB Affichage()
    show 10 : show 30
    caption 12," " + str$(s) + " Euros"
    caption 14," " + str$(n) + " années"
    caption 16," " + str$(i) + "%"
    caption 18," " + str$(mensualite) + " Euros"
    caption 20," " + str$(total_interet) + " Euros"
END_SUB
' ******************************************************************************
' Quitter le programme
Quitter:
terminate : ' Cette instruction arrête définitivement le programme et libère la mémoire
return : ' Cette instruction n'est pas indispensable, puisque le programme
        ' se termine ici et n'a pas besoin de retour à l'appelant.
        ' Mais il vaut mieux l'utiliser pour apprendre les bonnes méthodes
        ' à savoir qu'un sous programme doit posséder une instruction de retour
' ******************************************************************************


@Ygeronimi
j'ai uploadé sur ton webdav "Papydall_Article02.html"
Jette–y un œil, pour voir.

Un petit conseil : tu as fait du beau boulot, va te reposer.
Le feu n’est pas encore à nos trousses !

Bonne nuit.



Dernière édition par papydall le Mar 4 Juin 2013 - 11:19, édité 2 fois (Raison : Pour corriger une erreur détectée par Ygeronimi)
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Yannick




Nombre de messages : 8610
Age : 52
Localisation : Bretagne
Date d'inscription : 15/02/2010

Les articles de Papydall Empty
MessageSujet: re   Les articles de Papydall EmptyMar 4 Juin 2013 - 4:44

Les articles de Papydall Captur30

Je ne suis pas d' accord avec toi .... No

Tu n' as pas le droit de déclarer un Form 0 mais tu a le droit de définir...
( commande top N,left N, Height N etc.....)

bounce je l' ai eu !!!

lol!
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5948
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Les articles de Papydall Empty
MessageSujet: Re: Les articles de Papydall   Les articles de Papydall EmptyMar 4 Juin 2013 - 7:42

Bravo pour cet article, je n'ai pas testé les codes pour le moment mais pour l'ensemble rien à redire, sauf la remarque de Ygeronimi sur définir. (peut-être faut-il parler de création d'objet).

J'ajouterai à mon article une ligne faisant référence au tien (s'il sort dans le même N°) vu qu'il traite aussi des diverses manières de coder.

A+

Tu l'as eu Ygeronimi.
Moi, hier, je l'ai coincé aussi, sans lui dire, et il a fait semblant de ne pas le voir.
il a écrit: Là où le mas blesse et j'ai rectifié: Là où le bât blesse geek
Revenir en haut Aller en bas
Jicehel

Jicehel


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

Les articles de Papydall Empty
MessageSujet: Re: Les articles de Papydall   Les articles de Papydall EmptyMar 4 Juin 2013 - 8:12

Heu, j'ai voulu voir un peu comment ça marchait, pour mettre à jour le site, mais je n'ai pas tout compris les article reçu ne sont pas dans le compte contributeur ni dans le compte de ygeronimi (j'ai regardé dans Site Panoramic Mag).

Je n'ai pas d'article pour le moment, mais je ne suis peut être pas le seul à ne pas savoir comment on doit faire pour soumettre un article.
Revenir en haut Aller en bas
Jicehel

Jicehel


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

Les articles de Papydall Empty
MessageSujet: Re: Les articles de Papydall   Les articles de Papydall EmptyMar 4 Juin 2013 - 10:29

Erreur dans le premier article:
Il y a une coquille surprenante de ta part.. Tu fait référence à prix_unitaire puis en dessous tu écrits 2 fois pris_unitaire

Pour une fois que je te corrige une faute d'orthographe Very Happy
Revenir en haut Aller en bas
Jicehel

Jicehel


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

Les articles de Papydall Empty
MessageSujet: Re: Les articles de Papydall   Les articles de Papydall EmptyMar 4 Juin 2013 - 10:37

Erreur dans le premier article:
Il y a une coquille surprenante de ta part.. Tu fait référence à prix_unitaire puis en dessous tu écrits 2 fois pris_unitaire

Pour une fois que je te corrige une faute d'orthographe Very Happy
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

Les articles de Papydall Empty
MessageSujet: Re: Les articles de Papydall   Les articles de Papydall EmptyMar 4 Juin 2013 - 10:59

Salut tout le monde.

On est de bonne humeur ce matin !

@Ygeronimi
Ta remarque est tout à fait à sa place.
En me relisant, je me pose la question comment ais-je commis cette erreur/faute ? Embarassed Embarassed Embarassed
Bravo !

@Jean Claude
C’est vrai que le bât blesse (pauvres bêtes de somme, je vous plaints !), mais le bas n’a rien de blessant.

@Jicehel
Hé, on n’est pas bien réveillé ce matin? Sleep
L’erreur sur Pris_Unitaire c’était voulue pour expliquer … ce que tu n’as pas, peut-être saisi.
Quand tu seras bien réveillé, relis l’article, pour ... sunny
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Les articles de Papydall Empty
MessageSujet: Re: Les articles de Papydall   Les articles de Papydall EmptyMar 4 Juin 2013 - 11:13

L'erreur était voulue, mais c'était voulu Very Happy
Revenir en haut Aller en bas
Jicehel

Jicehel


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

Les articles de Papydall Empty
MessageSujet: Re: Les articles de Papydall   Les articles de Papydall EmptyMar 4 Juin 2013 - 11:26

Mince désolé, j'ai lu trop vite alors, toute mes excuses. J'avoue que j'ai survolé depuis le boulot.
En ce moment, j'ai pas mal de taf, mais je ne veux pas abandonner ce beau projet pour autant Wink

Ne t'inquiète pas, j'aurais bien l'occasion d'en trouver une vrai la prochaine fois Very Happy ou alors ce sera toi qui en trouvera dix dans mon article...
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

Les articles de Papydall Empty
MessageSujet: Re: Les articles de Papydall   Les articles de Papydall EmptyMar 4 Juin 2013 - 11:30

Heu, JL35
L’erreur était bien voulue, mais non, voulu
L’erreur était commise pour …
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Les articles de Papydall Empty
MessageSujet: Re: Les articles de Papydall   Les articles de Papydall EmptyMar 4 Juin 2013 - 14:10

Eh papydall, c'est exactement ce que j'ai dit, on doit écrire
L'erreur était voulue
et
cette erreur, c'était voulu
donc, sauf ton respect, tu aurais dû écrire:
L’erreur sur Pris_Unitaire c’était voulu pour expliquer.

Bon, on est un peu loin du sujet...
Revenir en haut Aller en bas
RMont




Nombre de messages : 233
Age : 81
Localisation : charente maritime
Date d'inscription : 29/12/2008

Les articles de Papydall Empty
MessageSujet: Re: Les articles de Papydall   Les articles de Papydall EmptyMar 4 Juin 2013 - 19:47

Bonjour a tous
apres une interruption d'une dizaine de jours ( cause vacances),je reprends la lectures du forum , et de la lecture il y en a beaucoup.
je viens de lire l'article de papydall "conseil de programmation en panoramic" et j'avais une petite remarque a faire ( pour l'amelioration de la comprehension des variables).
Mais en lisant le 2em article "premier contact avec panoramic"je remarque que toutes les variables employées ont un petit mot d'explication dans le REM.
cela sert a savoir a quoi correspond cette variable.c'est donc pour moi plus facile à comprendre et a suivre un code.
il y a beaucoup trop de codes sans explications des variables
merci papydall
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

Les articles de Papydall Empty
MessageSujet: Re: Les articles de Papydall   Les articles de Papydall EmptyMar 4 Juin 2013 - 20:32

Salut Rmont.
Je suis content de te lire.
J’espère que tu t’es bien amusé pendant tes vacances, veinard !

Par ailleurs, c’est vrai : commenter son programme, expliquer le rôle de l’algorithme utilisé, clarifier un passage utilisant une astuce peut rendre service au concepteur du programme lui-même et surtout pour ceux qui liront ce programme.

Bonne programmation et
A+
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jicehel

Jicehel


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

Les articles de Papydall Empty
MessageSujet: Re: Les articles de Papydall   Les articles de Papydall EmptyMar 4 Juin 2013 - 20:55

Moi, j'ai une critique d'ordre générale: On ne tire pas assez partie des possibilités des pages.
Globalement, on n'utilise pas assez les illustrations et autres captures d'écran pour illustrer nos articles. (D'ailleurs bravo à Jean-Claude pour avoir utilisé la première illustration)

On pourrait avoir une image de Quick Basic, par exemple:
Les articles de Papydall Ecran_programmation

et pour l'éditeur Panoramic, une image comme celle-ci: Les articles de Papydall Editor
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5948
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Les articles de Papydall Empty
MessageSujet: Re: Les articles de Papydall   Les articles de Papydall EmptyMar 4 Juin 2013 - 21:22

Oui Jicehel, mais nous ne sommes encore que des apprenties.

Mais nous progressons


A+
Revenir en haut Aller en bas
Contenu sponsorisé





Les articles de Papydall Empty
MessageSujet: Re: Les articles de Papydall   Les articles de Papydall Empty

Revenir en haut Aller en bas
 
Les articles de Papydall
Revenir en haut 
Page 1 sur 5Aller à la page : 1, 2, 3, 4, 5  Suivant
 Sujets similaires
-
» Les articles de Big Nono
» Les articles de Jicehel
» Formatage des articles
» Les articles de ygeronimi
» Les articles de Jean Debord

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