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
» Logiciel de planétarium.
Voulez-vous relever ce challenge? Emptypar Pedro Aujourd'hui à 8:08

» Un autre pense-bête...
Voulez-vous relever ce challenge? Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Voulez-vous relever ce challenge? Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Voulez-vous relever ce challenge? Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Voulez-vous relever ce challenge? Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Voulez-vous relever ce challenge? Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Voulez-vous relever ce challenge? Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Voulez-vous relever ce challenge? Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Voulez-vous relever ce challenge? Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Voulez-vous relever ce challenge? Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Voulez-vous relever ce challenge? Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Voulez-vous relever ce challenge? Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Voulez-vous relever ce challenge? Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Voulez-vous relever ce challenge? Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Voulez-vous relever ce challenge? Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le deal à ne pas rater :
LEGO Icons 10331 – Le martin-pêcheur
35 €
Voir le deal

 

 Voulez-vous relever ce challenge?

Aller en bas 
3 participants
AuteurMessage
papydall

papydall


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

Voulez-vous relever ce challenge? Empty
MessageSujet: Voulez-vous relever ce challenge?   Voulez-vous relever ce challenge? EmptySam 2 Juil 2022 - 22:47

Salut les Panoramiciens.

Je vous propose un mini challenge.
Ecrire deux fonctions MAXI(a,b) et MINI(a,b) qui retournent respectivement le maximum et le minimum de 2 valeurs a et b passées en paramètres.
Contrainte :
Ne pas utiliser la structure conditionnelle du genre IF ... THEN ni les opérateurs de comparaisons =, >, <, <>, etc..
Il va de soi qu'il ne faut pas utiliser non plus les fonctions dejà implementées MIN et MAX, sinon le défi n'aura plus de sens!

NB : Il n'y a rien à gagner (rien à perdre non plus).
Si personne ne relèvera  le défi, je satisferais votre curiosité dans la journée.



Dernière édition par papydall le Sam 2 Juil 2022 - 23:59, édité 1 fois
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Voulez-vous relever ce challenge? Empty
MessageSujet: Re: Voulez-vous relever ce challenge?   Voulez-vous relever ce challenge? EmptySam 2 Juil 2022 - 23:30

Bonsoir Papydall !

Pour une fois le défi semble à ma porté ! A moins qu'il y ai un piège...  Laughing

Voilà ma solution :


Dernière édition par Minibug le Sam 2 Juil 2022 - 23:54, édité 3 fois
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Voulez-vous relever ce challenge? Empty
MessageSujet: Re: Voulez-vous relever ce challenge?   Voulez-vous relever ce challenge? EmptySam 2 Juil 2022 - 23:41

Bonjour Papydall !

Je n'ai pas de mérite, tu m'avais communiqué la technique dans un autre post.


Spoiler:

Bon week-end !
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Voulez-vous relever ce challenge? Empty
MessageSujet: Re: Voulez-vous relever ce challenge?   Voulez-vous relever ce challenge? EmptySam 2 Juil 2022 - 23:48

Ah oui bien sûr en utilisant les fonctions MIN et MAX !!! Laughing

Moi je croyais qu'il fallait chercher la solution sans cela justement sinon ça me semblait vraiment trop simple !!!!
lol! lol! lol!


Dernière édition par Minibug le Dim 3 Juil 2022 - 0:03, édité 1 fois
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
papydall

papydall


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

Voulez-vous relever ce challenge? Empty
MessageSujet: Re: Voulez-vous relever ce challenge?   Voulez-vous relever ce challenge? EmptySam 2 Juil 2022 - 23:48

Merci Minibug pour la solution.
Mais l'utilisation d'un DLIST et surtout le SORT_ON fait en sorte que le DLIST se trouve ordonné.
Bon, c'est une solution et tu seras sans doute surpris de l'élégance et de la concision de la mienne.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Voulez-vous relever ce challenge? Empty
MessageSujet: Re: Voulez-vous relever ce challenge?   Voulez-vous relever ce challenge? EmptySam 2 Juil 2022 - 23:51

ah ben oui on peut faire plus simple la preuve par Marc !!!!
lol! lol! lol! lol! lol!
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
papydall

papydall


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

Voulez-vous relever ce challenge? Empty
MessageSujet: Re: Voulez-vous relever ce challenge?   Voulez-vous relever ce challenge? EmptySam 2 Juil 2022 - 23:52

Minibug a écrit:
Ah oui bien sûr en utilisant les fonctions MIN et MAX !!!

#Marc

Justement, il NE FALLAIT PAS utilisr les fonctions dejà existantes MIN et MAX!
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Voulez-vous relever ce challenge? Empty
MessageSujet: Re: Voulez-vous relever ce challenge?   Voulez-vous relever ce challenge? EmptySam 2 Juil 2022 - 23:59

Papydall a écrit:
Justement, il NE FALLAIT PAS utilisr les fonctions dejà existantes MIN et MAX!

Je ne le savais pas Embarassed

Ce n'est pas interdit dans l'énoncé du challenge. Laughing


Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Voulez-vous relever ce challenge? Empty
MessageSujet: Re: Voulez-vous relever ce challenge?   Voulez-vous relever ce challenge? EmptyDim 3 Juil 2022 - 0:02

Marc a écrit:
Je ne le savais pas Embarassed. Ce n'est pas interdit dans l'énoncé du challenge. Laughing

lol! lol! lol!

Bon en attendant j'ai repris mon code pour le simplifier un peu...
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
papydall

papydall


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

Voulez-vous relever ce challenge? Empty
MessageSujet: Re: Voulez-vous relever ce challenge?   Voulez-vous relever ce challenge? EmptyDim 3 Juil 2022 - 0:06

Merci Marc pour la tentative.
Je viens de rectifier l'énoncé du défi dans le 1er message.

Tente une autre approche.

Indication : Et si on utiliserait la moyenne arithmétique de deux nombres à laquelle on ajouterait (ou retrancherait) une certaine quantité ...
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Voulez-vous relever ce challenge? Empty
MessageSujet: Re: Voulez-vous relever ce challenge?   Voulez-vous relever ce challenge? EmptyDim 3 Juil 2022 - 0:18

Autre approche :

Spoiler:

Revenir en haut Aller en bas
papydall

papydall


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

Voulez-vous relever ce challenge? Empty
MessageSujet: Re: Voulez-vous relever ce challenge?   Voulez-vous relever ce challenge? EmptyDim 3 Juil 2022 - 0:33

BRAVO Marc !

On part de la moyenne de deux nombres :
(a+b) / 2
puis on ajoute (respectivement on retranche) la moitié de la valeur absolue de l'intervalle [a,b]
abs(a-b) / 2
Ce qui donne

Code:

rem ============================================================================
' Exemples
print "Le maximum de 1 et de 15 est : " ; maxi(1,15)
print "Le minimum de 3 et de -5 est : " ; mini(3,-5)
print
print "Le maximum de -123 et 456 est : " ; maxi(-123,456)
print "Le minimum de -123 et 456 est : " ; mini(-123,456)
end
rem ============================================================================
FNC maxi(a,b)
    result ((a+b) + abs(a-b))/2
END_FNC
rem ============================================================================
FNC mini(a,b)
    result ((a+b) - abs(a-b))/2
END_FNC
rem ============================================================================
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Voulez-vous relever ce challenge? Empty
MessageSujet: Re: Voulez-vous relever ce challenge?   Voulez-vous relever ce challenge? EmptyDim 3 Juil 2022 - 0:53

Merci à tous les 2 pour ce petit cours de mathématique !!!! geek
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
papydall

papydall


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

Voulez-vous relever ce challenge? Empty
MessageSujet: Re: Voulez-vous relever ce challenge?   Voulez-vous relever ce challenge? EmptyDim 3 Juil 2022 - 1:39

Comme vous êtes aussi forts en mathématiques qu'en Panoramic, voici un autre challenge s'il vous plait:
Ecrire une fonction Racine_Carree(a) qui retourne la racine carrée de son argument.
Il ne faut utiliser bien sûr ni SQR ni POWER
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Voulez-vous relever ce challenge? Empty
MessageSujet: Re: Voulez-vous relever ce challenge?   Voulez-vous relever ce challenge? EmptyDim 3 Juil 2022 - 8:28

Désolé Papydall mais là je suis perdu !

Quand il s'agit de logique ou de programmation, Ok pas de problème ! Mais pour les math, l'algèbre et tout le reste alors là c'est autre chose... Laughing
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Voulez-vous relever ce challenge? Empty
MessageSujet: Re: Voulez-vous relever ce challenge?   Voulez-vous relever ce challenge? EmptyDim 3 Juil 2022 - 11:19

Papydall a écrit:
Ecrire une fonction Racine_Carree(a) qui retourne la racine carrée de son argument.
Il ne faut utiliser bien sûr ni SQR ni POWER

Ma proposition est une adaptation en langage Panoramic d'un code C++
Source : http://coliru.stacked-crooked.com/a/c1caaf3e67313aa8

Code:
dim a
a=3

if a < 0
    message "Nombres négatifs interdits !"
    terminate
end_if
print sqr(a)
print racine_carree(a)
end
 
fnc racine_carree(a1)
    dim_local i,rc
    i = 1
    rc = a1*a1
    while abs(rc-i) > 1E-15
        i = rc
        rc = 0.5*(rc + a1/rc)
    end_while
    result rc
end_fnc
Revenir en haut Aller en bas
papydall

papydall


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

Voulez-vous relever ce challenge? Empty
MessageSujet: Re: Voulez-vous relever ce challenge?   Voulez-vous relever ce challenge? EmptyDim 3 Juil 2022 - 22:42

Merci Minibug et merci Marc.

Ma proposition:

Code:

rem ============================================================================
rem                Racine carrée
rem ============================================================================
print Racine_Carree(123)  
print Racine_Carree(10000)
print Racine_Carree(2)
end
rem ============================================================================
FNC Racine_Carree(a)
    dim_local x,y
    x = (1+a)/2
    repeat
        y = x : x = (y+a/y)/2
    until x >= y
    result x
END_FNC
rem ============================================================================

Une autre approche dite la méthode de Héron

Code:

rem ============================================================================
rem               Racine carrée
rem ============================================================================
print Racine_Carree(2)
print Racine_Carree(625)
print Racine_Carree(123)
print Racine_Carree(123456789)

end
rem ============================================================================
' Méthode de Héron
FNC Racine_Carree(a)
    dim_local long,larg, epsilon
    if (a < 0)
       message "!!! ERREUR !!! L'argument doit être un nombre positif"
       exit_fnc
    end_if
    long = a
    larg = 1
    epsilon = 0.0000001
    while abs(long - larg) > epsilon
        long = (long + larg) / 2
        larg = a / long        
    end_while    
    result long    
END_FNC
rem ============================================================================


Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé





Voulez-vous relever ce challenge? Empty
MessageSujet: Re: Voulez-vous relever ce challenge?   Voulez-vous relever ce challenge? Empty

Revenir en haut Aller en bas
 
Voulez-vous relever ce challenge?
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Un challenge à relever
» Je fais la pluie, voulez-vous faire le beau temps?
» Je vous mets au courant au cas où vous le seriez pas, info
» Nouveau challenge : Méthode de déplacement des objets
» Bonjour a vous

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