Dernière Mise à jour le 30/10/2000
 
Une nouvelle version d'Editalgo est disponible.
 Cliquez sur le lien suivant pour la télécharger
. EditAlgo.zip

Les cubes

Enoncé :

Trouver tous les nombres entiers dont le cube a exactement 4 chiffres.
Ecrire ces nombres ainsi que leurs cubes.

Résolution mathématique.

Le problème est trivial. Il est évident que 10 est le premier de ces nombres. Il suffit de prendre la racine cubique de 9999 avec une calculatrice scientiifique pour constater que le dernier de ces nombres est 21.
Le problème n'est pas là. On veut simplement apprendre à programmer.

Algorithmes possibles construits avec EditAlgo

Rappel avant toute utilisation de EditAlgo

Lancez EditAlgo.exe et dans le menu Option, paramétrez vos chemins d'accés aux compilateurs ou interpréteurs Pascal, C ou Basic de votre choix. Paramétrez aussi le dossier où doivent être sauvegardés les algorithmes que vous créez, ainsi que les fichiers "langage source" correspondants.

Algorithme 1 :  On utilise une itération du type TantQue.

Ce qui est traité avec EditAlgo.

Au niveau 1 :
  1. On reste au niveau des intentions (Bouton <>).
  2. La boucle est déclarée (Bouton boucle)
  3. On déclare les variables (Bouton Liste +)
Au niveau 2 :
Les boutons utilisés sont
  1. l'affectation, 
  2. le TantQue et Ecrire
  3. le bouton Si




Le programme Pascal correspondant obtenu en cliquant sur TP ou sur IP.

Program Cubes2;

Uses Wincrt;

VAR
  n :Integer;  { Nombre testé }
  c :Integer;  { cube de n }


BEGIN
   n := 0;
   c := n*n*n;
   While c<10000 do
   Begin
     n := n+1;
     c :=  n * n * n;
     If (c>999) and (c<10000) Then Writeln('n = ' ,n,' c = ',c)
   End
END.

Le pregramme C correspondant en cliquent sur C

/* Program Cubes2*/

/* Supprimer ci-dessous les bibliothéques inutiles */
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <math.h>


int n;  /* Nombre testé */
int c;  /* cube de n */

void main(void)
 {
   n = 0;
   c = n*n*n;
   while ( c<10000 )
   {
     n = n+1;
     c =  n * n * n;
     if ((c>999) && (c<10000) )
       printf("%s %d %s %d \n","n = " ,n,"   c = ",c);
   }
 }

Le programme Basic en cliquant sur le bouton BAS

'Program Cubes2

'Complétez les lignes suivantes si nécessaire (pas d'accent)
'DefInt (liste des variables entieres -premiere lettre)
'DefDbl (liste des variables reelles - premiere lettre)
'DefStr (liste des variables chaines -premiere lettre)

   n = 0
   c = n * n * n
   WHILE c < 10000
     n = n + 1
     c = n * n * n
     IF (c > 999) AND (c < 10000) THEN
       PRINT "n = ", n, "   c = ", c
     END IF
   WEND

Algorithme 2 : On utilise une itération du type Répéter jusqu'à

Ce qu'il est possible de faire avec EditAlgo


Les variables sont les mêmes que dans l'exercice précédent.
Les boutons à utiliser sont :
  • Bouton action non formalisée (<>)
  • Bouton Affectatiion (<--)
  • Bouton Boucle
  • Bouton Répeter
  • Bouton Ecrire

Le programme Pascal correspondant.

Cliquez soit le bouton TP soit le bouton IP
(Vous pouvez télécharger l'interpréteur et compilateur Pascal IPCUTE.EXE sur le site www.ipcute.com )

Program Cubes2;


VAR
  n :Integer;  { Nombre testé }
  c :Integer;  { cube de n }

BEGIN
   n := 0;
   Repeat
     n := n+1;
     c :=  n * n * n;
     If (c>999) and (c<10000) Then Writeln('n = ' ,n,' c = ',c)
   Until c>9999
END.

Le programme C correspondant.

Cliquez sur le bouton C

/* Program Cubes3*/

/* Supprimer ci-dessous les bibliothéques inutiles */
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <math.h>


int n;  /* Nombre testé */
int c;  /* cube de n */

void main(void)
 {
   n = 0;
   do
    {
     n = n+1;
     c =  n * n * n;
     if ((c>999) && (c<10000) )
       printf("%s %d %s %d \n","n = " ,n,"   c = ",c);
    }
   while ( c<=9999);
 }

Le programme QBasic correspondant

'Program Cubes3

  DefInt n,c

   n = 0
   DO
     n = n + 1
     c = n * n * n
     IF (c > 999) AND (c < 10000) THEN
       PRINT "n = ", n, "   c = ", c
     END IF
   LOOP UNTIL c > 9999

Retour au sommaire