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