Solutions du cours du 7 septembre 2009

Ecrivez un programme qui somme le carré des nombres entiers, jusqu'à atteindre une limite que l'on s'est donnée à l'avance.
Il affiche la somme effectuée.
=================================================================================================
// Somme des nombres entiers, jusqu'à atteindre une
// limite que l'on indique dans nMax.

var nMax = 1000;
var nn = 0;   
var nSum = 0;

// boucle de somme des carrés des entiers.
while (nSum < nMax)  {
  nn = nn + 1;
  nSum = nSum + nn*nn;
  }
Display("1*1 + 2*2 + … + " + nn + "*" + nn + " = " + nSum);


Problème de Syracuse
====================
// Problème de Syracuse.
// Si un nombre entier est paire, on le divise par 2, 
// sinon on le multiplie par 3 et on additionne 1.
// On réitère la même règle sur la suite de nombre obtenu.
// indique après combien d'itérations on arrive sur le nombre 1.
var nNb = 117;
var nCpt = 0;  // compteur

while ((nNb > 1) && (nCpt <= 100)) {
  nCpt++;  // même signification que : nCpt = nCpt + 1;
  if (nNb % 2 == 0) nNb = nNb / 2;
  else  nNb = 3*nNb + 1;
  }

Display("Nombre de passages = " + nCpt);


Ecrivez un programme qui :
Pour un nombre donné dans une variable, il test si le nombre est premier ou non.
================================================================================
// Test si le nombre  nTest  donné, est premier ou non.

var nTest = 1001;   // le nombre a tester
var nn = 2;         // facteur possible de nTest
var fPremier = 1;   // indique si nTest est premier, 
                    // par défaut, au départ on suppose qu'il est premier.

// Boucle pour tester si  nTest  est divisible par  nn.
// S'arrête si on a testé tous les nombres jusqu'à la racine carrée de  nTest.
// S'arrête si le nombre n'est pas premier.
while ((nn*nn <= nTest) && (fPremier == 1))  {
  if ((nTest % nn) == 0) fPremier = 0;
  nn++;  // même signification que : nn = nn + 1;
  }

if (fPremier) Display(nTest + " est premier")
else {
  Display(nTest + " n'est pas premier");
  Display("Il est divisible par " + (nn-1));
  }



Plan du Site : index.html    zCours_20090907.html    zSol_20090907.html

Page mise à jour le 14 septembre 2009 par Bernard Gisin.
Hébergement par : www.educanet2.ch