Petit casse tête mathématique et logique

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Petit casse tête mathématique et logique

par Hywan » 15 déc. 2007, 19:41

Je ferais un compte-rendus en temps utile ;-), ne t'en fais pas. Si j'ai des questions à poser par mp, c'est que ça ne concerne pas tout le monde :).

par Berzemus » 15 déc. 2007, 14:58

on va continuer par mp si ça ne te dérange pas :).
èh, c'est pas la peine de nous priver des conversations les plus intéressantes !

ce serait dommage.. :cry:

par supercanard » 14 déc. 2007, 18:32

Je vais essayer de m'en, sortir avec toutes ces infos :)

par Hywan » 14 déc. 2007, 16:29

Sauf qu'on utilise plus les vecteurs en fait :P (enfin, c'est que mes profs m'ont dit ;-), et je le constate, et en Java 5, les collections se manipulent plus facilement). J'use aussi de beaucoup de rigueurs dans mes développements en PHP, mais je trouve PHP trop permissif à mon goût. Même si c'est ce qui a fait sa popularité ; j'aurais préféré qu'il soit moins populaire et plus stricte ;-) (et on aurait eu moins de questions bêtes sur le forum hihi :roll:). J'ai des questions à te poser Ryle, on va continuer par mp si ça ne te dérange pas :).

par Ryle » 14 déc. 2007, 16:22

PHP n'est pas Java, et ce n'est pas sa vocation que de lui ressembler (sinon autant passer à java directement et arrêter de s'embêter avec php ;)). Si les deux langages permettent de faire des appli web, ils ne sont pas, à mon sens, destinés au même usage.

Tout est question de contexte, d'environnement, de délais, de framework, de personnes impliqués etc. c'est en fonction de cela qu'on va pouvoir décider s'il vaut mieux utiliser php ou java, plus que sur la souplesse ou la rigueur :)

Personnellement je jongle entre les deux (java pour le taf, php pour le fun) et ait intégré énormément de la rigueur de java dans mes dev php. Je regrette par contre de ne pouvoir intégrer un peu de la souplesse de php chez java, effectivement sur les tableaux à plusieurs dimensions (le vecteur ou la collection sont quand même plus lourds à manipuler), mais j'ai reproduit d'un côté comme de l'autre quelques méthodes bien utiles :)

par zeus » 14 déc. 2007, 16:06

Ce que tu dénonces Hywan, c'est celà même qui à fait la popularité de PHP. Car ce sont ces aspects qui font que PHP est facilement appréhendable par un débutant ;)

Mais je suis d'accord avec toi, ce sont assez vite des problèmes pour des développements un tant soit peu évolué.

par Hywan » 14 déc. 2007, 15:54

Ça dépend de la mode chez les développeurs PHP.
D'ailleurs, je songe de plus en plus à quitter PHP. J'ai fais la rencontre de Java, et c'est tellement mieux le typpaaaaaaaage ! Hehe. À quand une version PHP correctement typé (dans laquelle il saurait faire la différence entre 0 et false par exemple, ou le multi-typage d'une variable cesserait d'exister etc.). Il faut avouer qu'un fort typage est très appréciable. Autant, j'adore la souplesse de PHP (les tableaux sont merveilleux, peu importe la taille, ils se redimensionnent tout seul — oui mais comment ? comme en Java —), autant certaines choses sont dérangeantes. Peut être dans la version 6 ?
Ah, j'oubliais un point fort de PHP, la capacité d'instancier une classe abstraite, j'ai toujours trouvé ça très malin, et ça m'a parfois manqué en Java, mais bon, c'est des cas très précis.

Je ne vais pas lui pourrir son poste, au mieux, on démarre un nouveau poste pour en débattre ;-).

par Berzemus » 14 déc. 2007, 14:28

(ouaip, comme les utf8_encode et urlencode.. )

:ordi:

par Ryle » 14 déc. 2007, 12:53

Bien vu ! Je rectifie, merci :)

(j'ai d'ailleurs jamais compris pourquoi certaines fonctions contiennent des "_" pour séparer les mots et d'autres pas... j'ai jamais non plus cherché ceci dit ;))

par Hywan » 14 déc. 2007, 12:32

J'ose reprendre Ryle, c'est in_array, et non inArray :). Mais sinon, je suis d'accord avec lui.

par Ryle » 14 déc. 2007, 11:14

Je ne vois pas bien la difficulté de la chose. Tu as 4 cases à afficher autour de la première, tu calcule effectivement +1, -1, +10, -10 et le seul test que tu as à faire c'est de vérifier que ce résultat est supérieur à 0 et inférieur à ton nombre de cases. C'est pas non plus une plétore de tests... c'en est encore moins si tu construit ton tableau dynamiquement avec une boucle :
$tabCelluleAIndiquer = array (
  $tonNombre, 
  $tonNombre-10,
  $tonNombre-1,
  $tonNombre+1,
  $tonNombre+10
);

for ($i=1; $i<=$nombreTotalCellule; $i++) {
  // construit les ligne les cellules, etc.
  if (in_array($i, $tabCelluleAIndiquer)) {
    // affiche le lien
  }
  // cacul de modulo pour fermer les lignes, etc.
}

par Berzemus » 14 déc. 2007, 10:49

cette adresse-ci marche:
http://supercanard.phpnet.org/jeux/

Tu le fais comment ton tableau ?

Mon idée serait de faire un tableau bidimensionnel:
$tableau = array(
 "x" => array (
     "y" = "valeur"
    )
  );
ainsi, tu peux appeler chaque case par ses coordonnées X Y (te mets le tout dans une classe, avec une méthode affichage et tout le reste).

La valeur de "Y" est tout simplement la valeur attribuée (74 dans ton exemple). Note que du coup ce serait facile à retrouver, puisque ce serait la case $tableau[6][3].

par Hywan » 14 déc. 2007, 00:58

Session out

Petit casse tête mathématique et logique

par supercanard » 13 déc. 2007, 22:23

Bonjour,
je suis confronté à un problème mathématique ou(et) logique.
Pour être clair je sèche complètement.

Comme il va m'être dur d'expliquer cela sans illustrer voici un lien :
http://supercanard.phpnet.org/jeux/carte.php

Concentrez vous sur le tableau :wink:
Pour l'instant ils est construit dans le dur mais il va falloir le construire dynamiquement

Le but que je recherche :
- Nous récupérons dans la base de données un chiffre (Dans l'exemple de la page : 74)
- Le tableau se construit (10 lignes, 10 colonnes)
- La position récupéré dans la base est identifiée et affichée dans la cellule correspondante
- Autour de la position initiale (Ici 74) 4 autres chiffres s'affichent comme ceci : Celui de Gauche, droite, haut et bas, autour du chiffre de base. Les autres ne s'affichent pas. Comme on le voit dans l'exemple autour du 74.

Et c'est surtout la dernière étape que je n'arrive pas à éclaircir.

Concrètement on pourrais faire quelques opérations du genre $chiffredebase + 1, $chiffredebase + 2, $chiffredebase + 10 et $chiffredebase - 10 pour identifier les chiffres à afficher. Déjà un premier pas...
Seulement il y a un hic : Si l'on se trouve sur un bord, il n'y a plus 4 chiffres à afficher mais 3. Et dans une extrémité il n'y en aurait plus que 2... ça commence à compliquer les choses et à faire beaucoup de if et else...

Si quelqun à une piste... je sèche et je comprends pourquoi j'ai toujours détesté les casse-têtes chinois :lol:
Bonne soirée :wink: