Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

suites/Xcas

Posté par
damo
24-06-12 à 20:26

Bonjour, j'ai un souci avec le programme suivant sur Xcas: je veux calculer avec les 10 premiers de la suite Un=3*Un-1 et de premier terme 1 mais il ne s'exécute pas, merci d'avance.

local n,u;
n=0;
u=1;
display(u);
for n=0 to 9
{n=n+1;
u=3*u;
display u;}

Posté par
alb12
re : suites/Xcas 24-06-12 à 20:48

Et si on parlait français ? Une proposition parmi d'autres:
Termes(n):={
  local u,k;
  u:=1;
  afficher("u(0)=1");
  pour k de 1 jusque n faire
    u:=3*u-1;
    afficher("u("+k+")="+u);
  fpour
  retourne "c'est fini !" // retourner la liste des 10 termes serait plus intéressant
}
Pour ceux qui ne connaissent pas encore Xcas suivre ces étapes:
1/ copier-coller ce code source dans l'éditeur de programmes Menu Prg->Nouveau programme
2/ l'interpréter en appuyant sur OK
3/ pour l'exécuter on se place dans une nouvelle ligne de commandes en-dessous et on tape
Termes(10) puis on valide

Posté par
damo
re : suites/Xcas 25-06-12 à 11:56

Merci; je ne comprends pas votre remarque"si on parlait français?"

Cela dit, curieuse est la notation "+k+" ; j'ai bien fait de demander votre aide, car ni en algobox ni en python etc , je n'avais "croisé" cette notation ou façon de noter.

si je veux afficher le message voici le terme de la suite , j'écris

display ou afficher("le terme de la suite est u("+k+")="+u);

Posté par
alb12
re : suites/Xcas 25-06-12 à 21:45

Désolé pour la remarque . Cela voulait dire: "et si on écrivait l'algo en français ?". C'est surtout pour montrer la similitude avec du pseudo-code.
Pour l'usage du plus voici un passage de l'aide (paragraphe 6.5.11):
+ est un opérateur préfixé ou infixé qui a comme paramètre une séquence d'objets comprenant une chaîne de caractères.
+ concaténe ces objets en une chaîne de caractères.
Exemple:
c:=5;"abcd"+c+"e" renvoie la chaîne abcd5e
purge(c);"abcd"+c+"e" renvoie la chaîne abcdce
Je vois que tu connais bien les langages de programmation. Dans un langage fonctionnel ce qui est important c'est ce que retourne la fonction, les matheux disent l'image par la fonction. Voici un programme beaucoup plus intéressant car il retourne la liste des termes et on peut récupérer n'importe quel élément de cette liste. Par exemple:

Termes(n):={
  local u,L,k;
  u:=1;
  L:=[u] // L est une liste qui contient le premier terme (initialisation)
  afficher("u(0)=1");
  pour k de 1 jusque n faire
    u:=3*u-1;
    L:=append(L,u); // à chaque tour on ajoute le terme suivant
    afficher("u("+k+")="+u);
  fpour
  retourne L // la valeur de retour est la liste des n éléments
}

PT:=Termes(10);
PT[0] renvoie le premier élément de la liste
PT[3] renvoie le quatrième élément de la liste, etc ...
somme(PT) renvoie la somme des 10 premiers termes.

Posté par
damo
re : suites/Xcas 28-06-12 à 10:44

Merci; non , je suis débutant;

Ok pour la notation +k+ ; cela m'a perturbé car ici, l'incrémentation du k est invisible voire implicite contrairement à d'autres langages(algobox par exemple) et sa force c'est qu'il nous renvoie non pas k mais le k correspondant à chaque étape et y "concatène" u , on aura u(0) u(1) etc

Merci



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1768 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !