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
» Gestion d'un système client-serveur.
Voulez-vous relever ce challenge? Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
Voulez-vous relever ce challenge? Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
Voulez-vous relever ce challenge? Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
Voulez-vous relever ce challenge? Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Voulez-vous relever ce challenge? Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
Voulez-vous relever ce challenge? Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
Voulez-vous relever ce challenge? Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Voulez-vous relever ce challenge? Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Voulez-vous relever ce challenge? Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Voulez-vous relever ce challenge? Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Voulez-vous relever ce challenge? Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Voulez-vous relever ce challenge? Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
Voulez-vous relever ce challenge? Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Voulez-vous relever ce challenge? Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
Voulez-vous relever ce challenge? Emptypar Jack Mar 30 Avr 2024 - 20:40

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le deal à ne pas rater :
Cartes Pokémon : la prochaine extension Pokémon sera EV6.5 Fable ...
Voir le deal

 

 Voulez-vous relever ce challenge?

Aller en bas 
3 participants
AuteurMessage
papydall

papydall


Nombre de messages : 7009
Age : 73
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 : 4566
Age : 57
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 : 2397
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 : 4566
Age : 57
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 : 7009
Age : 73
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 : 4566
Age : 57
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 : 7009
Age : 73
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 : 2397
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 : 4566
Age : 57
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 : 7009
Age : 73
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 : 2397
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 : 7009
Age : 73
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 : 4566
Age : 57
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 : 7009
Age : 73
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 : 4566
Age : 57
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 : 2397
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 : 7009
Age : 73
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: