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.
Le parcours du cavalier sur un échiquier 8 x 8 Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
Le parcours du cavalier sur un échiquier 8 x 8 Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
Le parcours du cavalier sur un échiquier 8 x 8 Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
Le parcours du cavalier sur un échiquier 8 x 8 Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Le parcours du cavalier sur un échiquier 8 x 8 Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
Le parcours du cavalier sur un échiquier 8 x 8 Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
Le parcours du cavalier sur un échiquier 8 x 8 Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Le parcours du cavalier sur un échiquier 8 x 8 Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Le parcours du cavalier sur un échiquier 8 x 8 Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Le parcours du cavalier sur un échiquier 8 x 8 Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Le parcours du cavalier sur un échiquier 8 x 8 Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Le parcours du cavalier sur un échiquier 8 x 8 Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
Le parcours du cavalier sur un échiquier 8 x 8 Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Le parcours du cavalier sur un échiquier 8 x 8 Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
Le parcours du cavalier sur un échiquier 8 x 8 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 du moment : -21%
LEGO® Icons 10329 Les Plantes Miniatures, ...
Voir le deal
39.59 €

 

 Le parcours du cavalier sur un échiquier 8 x 8

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

Le parcours du cavalier sur un échiquier 8 x 8 Empty
MessageSujet: Le parcours du cavalier sur un échiquier 8 x 8   Le parcours du cavalier sur un échiquier 8 x 8 EmptySam 22 Juil 2017 - 18:58

Tout est dans le code.


Code:

rem ============================================================================
rem        Le parcours du cavalier sur un échiquier 8 x 8
rem              Papydall le 22 / 07 / 2017
rem ============================================================================
rem Ça consiste à faire parcourir à un cavalier les 64 cases de l’échiquier,
rem en passant à chaque saut sur une case non visitée.
rem Le joueur et théoricien d’échecs arabe Al-Adli Ar-Rumi a donné une solution vers 840.
rem Il en existe plusieurs.
rem Leonhard Euler reprit l’étude scientifique en 1759.
rem Au fil des siècles, beaucoup des mathématiciens ont étudié ce thème en variant
rem les dimensions de l’échiquier, le déplacement du cavalier, etc.
rem ============================================================================
rem Le code suivant affiche la solution donnée par Euler qui fait montrer un carré
rem semi-magique.
rem En inscrivant les numéros des sauts dans l’ordre, on constate que :
rem La somme des éléments de chaque ligne et de chaque colonne est constante et vaut 260.
rem Chaque demi-ligne et chaque demi-colonne a une somme de 130.
rem ============================================================================

La_Dance_Du_Cheval() 

end
rem ============================================================================
SUB La_Dance_Du_Cheval() 
    GUI()
    Echiquier()
    Afficher_Solution()   
END_SUB
rem ============================================================================
SUB GUI()

    label restore_solution, restore_parcours, clic
    dim cote, half_cote, x, y, t$ : cote = 50 : half_cote = cote / 2   
    width 0,1000 : height 0,600
    picture 110 : width 110,500 : height 110,520 : top 110,30 : left 110,120
    caption 0,"Le parcours du cavalier sur un échiquier 8 x 8"
    shape 120 : shape_rectangle_rounded 120 : top 120,top(110)+20 : left 120,left(110)+20
    width 120,width(110)-40 : height 120,height(110)-40
    2d_flood 150,150,0,0,255 : 2d_flood 300,200,255,255,0 
    shape 130 : shape_rectangle_rounded 130 : top 130,30 : left 130,170+width(110)
    width 130,250 : height 130,40   
    alpha 140 : top 140,40 : left 140,182+width(110) : color 140,255,255,255
    font_bold 140 : font_name 140,"arial" : font_color 140,0,0,255 : font_size 140,14
    caption 140," Le parcours du cavalier " 
    2d_flood left(140)-5,top(140)+5,255,0,0 
    shape 150 : shape_rectangle_rounded 150 : top 150,100 : left 150,130+width(110)
    width 150,320 : height 150,40
    alpha 160 : top 160,110 : left 160,left(150)+12 : color 160,255,255,255
    font_bold 160 : font_name 160,"arial" : font_color 160,0,0,255 : font_size 160,14
    caption 160, " Dimension de l'échiquier : 8 x 8 "
    2d_flood left(160)-5,top(160)+5,255,0,0   
    shape 170 : shape_ellipse 170 : top 170,150 : left 170,170+width(110)
    width 170, 250 : height 170,100
    alpha 180 : top 180,180 : left 180,left(170) + 20 : color 180,255,255,255
    font_bold 180 : font_name 180,"arial" : font_color 180,0,0,255 : font_size 180,14
    caption 180,"Solution proposée par" + chr$(13) + string$(6," ") +"Leonhard Euler"   
    shape 190 : shape_rectangle_rounded 190 : top 190,280 : left 190,left(170)-20
    width 190,280 : height 190,200   
    alpha 200 : top 200,310 : left 200,left(190) + 30 : color 200,255,255,255
    font_bold 200 : font_name 200,"arial" : font_color 200,0,0,255 : font_size 200,10
    t$ = "Remarquez que c'est un carré" + chr$(13) + "semi-magique."+ chr$(13)+chr$(13)
    t$ = t$ + "La somme des éléments de chaque"+chr$(13)
    t$ = t$ + "ligne et de chaque colonne" +chr$(13)
    t$ = t$ + "est constante et vaut 260." + chr$(13)
    t$ = t$ + "Chaque demi-ligne et chaque" + chr$(13)
    t$ = t$ + "demi-colonne a une somme de 130." + chr$(13)+ chr$(13)
    t$ = t$ + " ***** Surprenant, non ? *****"
    caption 200,t$
    button 210 : top 210,100 : left 210,05 : font_bold 210 
    width 210,110 : caption 210,"Afficher Solution" : on_click 210,clic
    button 220 : top 220,200 : left 220,05 : font_bold 220
    width 220,110 : caption 220,"Afficher Parcours" : on_click 220,clic
    button 230 : top 230,500 : left 230,20 : font_bold 230 : font_size 230,16
    caption 230,"Quitter" : on_click 230,clic
         
END_SUB
rem ============================================================================
Clic:
    select number_click
        case 210 : Afficher_Solution()
        case 220 : Afficher_Parcours()
        case 230 : Quitter()
    end_select
return
rem ============================================================================
SUB Echiquier()
    dim_local i,j,n   
    for i = 1 to 8
        for j = 1 to 8
            n = (i-1) * 8 + j
            picture n : width n,cote : height n,cote
            top  n,top(120) + 25 + (i-1) * (cote+2)
            left n,left(120)+ 25 + (j-1) * (cote+2)
            if odd(i) = 1
              if odd(j) = 1
                  color n,200,100,50
              else
                  color n,0,0,0
              end_if
            else
              if odd(j) = 0
                  color n,200,100,50
              else
                  color n,0,0,0
              end_if
            end_if
        next j       
    next i   
    2d_flood 100,10,100,150,150   
END_SUB
rem ============================================================================
SUB Afficher_Solution()
    dim_local c,i,zero$
    cls : inactive 210
    2d_flood 100,10,100,150,150 
    2d_flood left(120)+20,top(120)+20,255,255,0
    2d_flood left(120)-20,top(120)-20,0,0,255
    restore_label Restore_Solution 
    for i = 1 to 64
        read c : print_target_is i : font_bold i : font_size i,12
        if c < 10 then zero$ = "0" : else : zero$= ""
        print_locate 15,15 : print zero$ + str$(c)
    next i 
END_SUB
rem ============================================================================
SUB Afficher_Parcours()
    dim_local c,i
    cls : inactive 220 : inactive 210
    2d_flood 100,10,100,150,150 
    2d_flood left(120)+20,top(120)+20,255,255,0
    2d_flood left(120)-20,top(120)-20,0,0,255
    restore_label Restore_Parcours
    2d_pen_color 0,255,255 : 2d_pen_width 2
    read c : Determiner_Lig_Col(c) : display : 2d_circle x,y,8 : 2d_poly_from x,y
    for i = 1 to 63
        read c : Determiner_Lig_Col(c) : 2d_poly_to x,y : pause 200 : ' à modifier
    next i
    2d_circle x,y,8
    active 220 : active 210   
END_SUB
rem ============================================================================
SUB Determiner_Lig_Col(c)
    dim_local lig,col
    lig = int(c/8) + 1
    col = mod(c,8)
    if col = 0
      col = 8 : lig = lig - 1
    end_if
    x = left(120) + col * (cote+2)
    y = top(120)  + lig * (cote+2)   
END_SUB
rem ============================================================================
SUB Quitter()
    terminate
END_SUB
rem ============================================================================
' Une solution publié par Euler en 1759
' En inscrivant les numéros des sauts dans l'ordre, il réalisa un carré semi-magique
' La somme des éléments de chaque ligne et de chaque colonne est constante et vaut 260.
' Chaque demi-ligne et chaque demi-colonne a une somme de 130.
Restore_Solution:
    data 01,48,31,50,33,16,63,18
    data 30,51,46,03,62,19,14,35
    data 47,02,49,32,15,34,17,64
    data 52,29,04,45,20,61,36,13
    data 05,44,25,56,09,40,21,60
    data 28,53,08,41,24,57,12,37
    data 43,06,55,26,39,10,59,22
    data 54,27,42,07,58,23,38,11
rem ============================================================================
Restore_Parcours:
  data 01,18,12,27,33,50,60,43
  data 37,54,64,47,32,15,21,06
  data 23,08,14,29,39,56,62,45
  data 35,52,58,41,26,09,03,20
  data 05,22,16,31,48,63,53,38
  data 44,59,49,34,28,11,17,02
  data 19,04,10,25,42,57,51,36
  data 46,61,55,40,30,13,07,24
rem ============================================================================


Dernière édition par papydall le Sam 23 Fév 2019 - 0:47, édité 1 fois
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jean Claude

Jean Claude


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

Le parcours du cavalier sur un échiquier 8 x 8 Empty
MessageSujet: Re: Le parcours du cavalier sur un échiquier 8 x 8   Le parcours du cavalier sur un échiquier 8 x 8 EmptySam 22 Juil 2017 - 19:22

C'est beau les maths ! cheers

Une remarque: le dessin qui résulte du parcours est parfaitement symétrique.
Étonnant non ?

A+
Revenir en haut Aller en bas
pascal10000

pascal10000


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

Le parcours du cavalier sur un échiquier 8 x 8 Empty
MessageSujet: Re: Le parcours du cavalier sur un échiquier 8 x 8   Le parcours du cavalier sur un échiquier 8 x 8 EmptyDim 23 Juil 2017 - 12:26

Impressionnant!
Revenir en haut Aller en bas
Contenu sponsorisé





Le parcours du cavalier sur un échiquier 8 x 8 Empty
MessageSujet: Re: Le parcours du cavalier sur un échiquier 8 x 8   Le parcours du cavalier sur un échiquier 8 x 8 Empty

Revenir en haut Aller en bas
 
Le parcours du cavalier sur un échiquier 8 x 8
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Erreur avec LABEL
» mon parcours prog

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: