Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

#1 10-10-2019 15:02:49

yannD
Membre
Inscription : 19-10-2018
Messages : 880

Déterminer les six premiers termes d'une suite

Bonjour, j'ai un exercice (non noté) que je dois rendre , il faut que je le fasse à l'aide d'un tableau puis avec Phython, seulement, je suis nul pour les suites et la programmation aussi,  pouvez-vous m'aidez à le faire , s'il vous plaît ?

1. Déterminer les premiers termes d'une suite à l'aide d'un Tableur

Principe
Une ligne pour les valeurs 0, 1, 2 ...
Une deuxième ligne pour $U_{n}$

Soit la suite  $(U_{n})$ définie par : $U_{n} = 3_{n} - 1$
Déterminer les six premiers termes, les représenter graphiquement  dans un repère orthogonal (on est pas obligé de prendre la même unité)

ce que j'ai fait
dans B1 : j'ai écrit 0 et dans C1 : j'ai écrit 1 puis j'ai sélectionné la plage B1:C1  que j'ai étendu  jusqu'en G1 puisqu'il y a six termes

2 . Déterminer les premiers termes d'une suite à l'aide d'un algorithme

  instruction 1 : je prends le 1er terme : 0
  instruction 2 : je multiplie 0 par 3 et j'enlève 1
  instruction 3 : j'affiche $U_{0}$
il faut que j'insère une boucle pour pouvoir prendre le terme suivant mais je m'y perd à chaque fois (je suis nul…)
et j'aurais besoin d'un conseil pour pouvoir corriger ce que j'ai fait, mais surtout ne me mettait pas tout le programme déjà fait parce que cela m'empêcherait de progresser. Après je voudrais tester ce que j'ai fait avec Phyton mais je ne l'ai pas sur mon ordi
D'avance merci pour l'aide..
yann

Hors ligne

#2 10-10-2019 15:35:02

Zebulor
Membre
Inscription : 21-10-2018
Messages : 574

Re : Déterminer les six premiers termes d'une suite

Bonjour Yann et content de te retrouver...
Je n'y connais rien en python et ne pourrai donc pas t'aider...
J'ai juste un doute sur la définition de ta suite : est ce que c'est :
Soit la suite  $(U_{n})$ définie par : $U_{n} = 3n - 1$  ?
ou
Soit la suite  $(U_{n})$ définie par :  $U_{n} = 3U_{n-1}- 1$ ?

Dernière modification par Zebulor (10-10-2019 15:35:32)

Hors ligne

#3 10-10-2019 15:53:47

yannD
Membre
Inscription : 19-10-2018
Messages : 880

Re : Déterminer les six premiers termes d'une suite

Salut, moi aussi et j'en profite pour dire merci pour m'avoir préparé au travail pendant les vacances, je ressens les acquis maintenant
c'est bien la suite  $(U_{n})$ définie par : $U_{n} = 3n - 1$ enfin c'est ce que j'ai noté en cours mais à vrai dire ce n'est pas la feuille sur laquelle j'ai écrit, parce que, (comment expliquer) on a un peu chamaillé et j' ai la feuille d'un camarade qui écrit pas très bien, mais il me semble bien que c'est ça

Hors ligne

#4 10-10-2019 15:57:25

yannD
Membre
Inscription : 19-10-2018
Messages : 880

Re : Déterminer les six premiers termes d'une suite

Dans B1, j'ai tapé 0
Dans C2, j'ai tapé 1
J'ai sélectionné la plage B1:C2 jusqu'en G1
-> j'ai une ligne avec les valeurs 1, 2,3 ,4, 5, 6
j'ai tapé   B2 = 3 x B1 - 1mais je ne sais pas si c'est bien ça

Dernière modification par yannD (10-10-2019 15:59:59)

Hors ligne

#5 10-10-2019 16:21:06

Maenwe
Membre confirmé
Inscription : 06-09-2019
Messages : 196

Re : Déterminer les six premiers termes d'une suite

Bonsoir,

Si $(U_{n})$ est bien défini comme tu l'as dit au poste #3 alors il y a un problème, tu as bien dit au poste #1 et #4 que $U_{0} = 0$, or d'après ce que tu as écris (#3) tu as : $U_{0} = 3.0 - 1 = -1 \not = 0$, je pense donc que ce que tu devais lire sur le cours de ton camarade est : $U_{n+1} = 3U_{n}-1$ avec $U_{0}=0$. Maintenant grande question, Est ce que sur la feuille de ton camarade y avait t'il marqué : $U_{0}=0$ ? Si c'est toi qui l'a rajouté, je pencherai plutôt sur cet avis : $U_{n} = 3n-1$ et tu t'es trompé pour $U_{0}$...
Alors ?

Hors ligne

#6 10-10-2019 17:17:25

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 13 887

Re : Déterminer les six premiers termes d'une suite

Salut vous deux,

ou encore simplement $u_n=3u_{n-1}$ ?
Pour tester un code Python sans Python chez toi.
1. Tu cliques : http://codepad.org/
2. Là dans la liste verticale proposée, tu coches Python,
3. Au bas de la fenêtre tu coches Private (ce que tu testes ne regarde personne) et Run code.
4. Tu tapes ton code, en prenant toujours la même indendation lorsqu'elle est nécessaire (4 espaces recommandés)
5. Lorsque tu as fini et que tu veux tester, tu cliques sur Submit. Les résultats apparaissent à gauche au-dessus de la fenêtre...

dans B1 : j'ai écrit 0 et dans C1 : j'ai écrit 1 puis j'ai sélectionné la plage B1:C1  que j'ai étendu  jusqu'en G1 puisqu'il y a six termes

Tu es dans un tableur. Lequel ? Excel ? OpenOffice Calc ? Libroffice Calc ?
En B1 tu écris 0 n ok, en C1 : 1 ok. Et en D1, E1, F1, G1 ? Ce sont les valeurs de n...
La ligne suivante contiendra de B2 à G2 les valeurs de Un.
En B2 tu as écrit quelle valeur ?

Pour m'y retrouver, j'aurais aussi écrit n en A1 et Un en A2...
Pour afficher un résultat calculé dans un tableur, on fait précéder le calcul de =.
Si en B8 (par exemple) j'ai x et -1 en B8
et que je veux calculer f(-1) pour f(x)=4x^2-5x-1.
En A9 (par exemple) j'écris f(x).
En A10
et en B9 j'écris = 4*A8^2-5*A8+1 et Entrée... la valeur 10 apparaît
Mais si tu veux un tableau de valeurs pour x de -1 à 8, en augmentant x de 1 à la fois... De B8 en K8, il faudra avoir écrit : -1, 0, 1, 2...8
Mais de C9 à K9 tu ne va pas retaper la formule 9 fois !
C'est trop pénible...
Donc tu sélectionnes la plage B9 à K9, puis tu choisis le menu Edition.
Et là selon que c'est Excel ou les autres, ce n'est pas la même instruction : Open Office ou Libre Office c'est Remplir puis Droite...
Tu as ton tableau de valeurs

Toi, n remplace mon $x$ et Un remplace mon $f(x)$
Tes 6 valeurs de n sont des abscisses, et les 6 valeurs de Un les ordonnées correspondantes...
Le couple que as cité (0 ; 1) te donne un point du graphique... A toi de placer les 5 autres...

Quant à Python, tu va boucler sur n de 0 à 9 (il s'arrête à 8 parce que de 0 à 8, il y a bien 9 valeurs).
Puisque ta boucle est limitée, tu as choisis une boucle for...
Ensuite, il faut calculer Un=3n-1 (si c'est la bonne définition de ta suite...
Mai à votre niveau,  vous ne pourrez pas écrire U0, U1, U2...U5 donc tu te contentes de U tout court...
Je te conseille d'afficher ça sur 2 colonnes, n et Un :
0   et   le U calculé correspondant
1   et   le U calculé correspondant
2   et   le U calculé correspondant
........................
5   et   le U calculé correspondant
Pour ça il te faut utiliser print() : print (A,B) affiche les valeurs de A et B sur la même ligne séparés par une espace, quand il a fini, il passe à la ligne...

Bon, j'espère avoir compris ce que tu veux et ne pas en avoir trop trop dit : lance-toi !
Cela dit, $U_n=3n-1$ c'est louche... Pas besoin d'algorithme pour ça !

@+

Dernière modification par yoshi (10-10-2019 17:20:31)


Arx Tarpeia Capitoli proxima...

Hors ligne

#7 11-10-2019 12:08:04

yannD
Membre
Inscription : 19-10-2018
Messages : 880

Re : Déterminer les six premiers termes d'une suite

Bonjour Yoshi, et merci ... Alors, pour la ligne contenant Un, j'ai trouvé les valeurs de -1 à 17 avec Un qui augmente de 3 à chaque fois et pour le graphique comme je n'ai pas assez de place pour avoir (6;17), j'ai modifié l'unité de l'axe des y en prenant 1 carreau pour 3

Hors ligne

#8 11-10-2019 12:12:53

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 13 887

Re : Déterminer les six premiers termes d'une suite

Re,

Je pense que c'est la raison d'être de la parenthèse  :

(on est pas obligé de prendre la même unité)

Tu utilises Excel ou pas ?

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#9 11-10-2019 12:19:42

yannD
Membre
Inscription : 19-10-2018
Messages : 880

Re : Déterminer les six premiers termes d'une suite

Salut, en classe oui...j'utilise Excel, mais chez moi, j'ai un tableur qui est propre à la marque de mon ordi mais c'est le même principe.
(par exemple)  le calcul est précédé du signe =
et pour remplir la première ligne, celle qui contient les n , j'ai écrit 0 en B1 et 1 en. B2 puis je sélectionne B1 et B2 et je tire tous vers la droite : la ligne se remplit automatiquement avec n augmentant de 1 à chaque fois

Dernière modification par yannD (11-10-2019 12:20:08)

Hors ligne

#10 11-10-2019 12:48:18

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 13 887

Re : Déterminer les six premiers termes d'une suite

Re,

chez moi, j'ai un tableur qui est propre à la marque de mon ordi

Ça me surprend beaucoup : comment s'appelle ce tableur ?
quelle marque et modèle ton ordi ?

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#11 11-10-2019 18:13:14

yannD
Membre
Inscription : 19-10-2018
Messages : 880

Re : Déterminer les six premiers termes d'une suite

Bonsoir Yoshi, la marque c'est Apple et pour faire des calculs : je vais dans application et je double-clic sur Numbers.

Hors ligne

#12 11-10-2019 18:51:36

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 13 887

Re : Déterminer les six premiers termes d'une suite

Alors, Ok, là je comprends...

Rien à voir avec windows, bien plus fiable !
Savais-tu que l'inventeur de la souris, c'est Apple ?


Arx Tarpeia Capitoli proxima...

Hors ligne

#13 12-10-2019 10:32:33

yannD
Membre
Inscription : 19-10-2018
Messages : 880

Re : Déterminer les six premiers termes d'une suite

Salut, je ne savais pas  que c'est eux qui ont inventé la souris..

Hors ligne

#14 13-10-2019 17:44:28

yannD
Membre
Inscription : 19-10-2018
Messages : 880

Re : Déterminer les six premiers termes d'une suite

Bonsoir Yoshi, pour la deuxième question : Déterminer les 6 premiers termes de la suite $(U_n)$ définie par $U_n = 3n -1$ j'ai mis  2 autres variables parce que la variable n ne peut pas contenir à la fois l'indice de la suite et la
la valeur de Un

n = 0

For n range (6,n+1)

m = n * 3

p = m - 1

return (p)

n = n+1

Hors ligne

#15 13-10-2019 19:10:32

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 13 887

Re : Déterminer les six premiers termes d'une suite

Salut,

Si tu mets return, c'est qu'il y a une fonction
Donc tu commences par
def calcul_suite (n):
ok ?
Ensuite For va déclencher une erreur c'est for
après for n tu dois préciser où tu vas prendre ce n : utiliser in
for n in range(debut,fin, pas):
Si tu ne donnes pas la valeur de debut, Python prend 0
le pas c'est si tu veux compter de 2 en 2, de 3 en 3 etc...
Si tu n'indentes pas ton code Python (décalage vers la gauche) de 4 espaces - recommandés- pour qu'il sache où sont tes blocs tu vas avoir plein d'erreurs... Et les deux points en fin de ligne ?
On récapépète :
def calcul_suite(fin):
    for n in range(fin):
        calcul de u
        print(n,u)
    return
Et tu ne retournes rien, inutile : l'affichage est dans la boucle...
Tu vas afficher
0  -1   
1   2
2   5
.....
5   14

Donc fin c'est 6 et python prendra n de 0 à 5

Une fois ta fonction prête il fait l'appeler et lui dire : vas-y travaille avec fin =6

Tu l'appelles comme ça à la suite :
def calcul_suite(fin):
    for n in range(fin):
        calcul de u
        print(n,u)
    return

calcul_suite(6)

On pourrait produire un affichage comme dans ton tableur : en lignes...
Mais j'ignore ce que vous avez appris à faire...
J'ai fait au plus simple...

m = n * 3

p = m - 1

Pourquoi le faire en deux fois ? m =n*3-1 marche très bien...

Fini pour moi, ce soir...

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#16 13-10-2019 19:30:38

yannD
Membre
Inscription : 19-10-2018
Messages : 880

Re : Déterminer les six premiers termes d'une suite

Bonsoir Yoshi et merci de m'avoir répondu aussi tard.. Faut que j'aille me coucher , je vais regarder demain avant d'aller en cours.
Bonne nuit ..

Hors ligne

#17 14-10-2019 10:01:32

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 13 887

Re : Déterminer les six premiers termes d'une suite

Bonjour,

En fait, il n'est  pas demandé de faire spécifiquement une fonction...
Donc, elle ne sert à rien. Écrire cela comme ça suffit :
print("n  Un))
for n in range(8):
    u=3*n-1
    print(n,u)

Ce site de test est à jour (l'autre doit utiliser la version 2.x de Python) :
https://pynative.com/online-python-code … thon-code/

Qu'est-ce que tu as appris à propos de print() ??
As-tu déjà vu que print(1,2) écrit 1 et 2 séparés par une espace sur la mêle ligne ?

As-tu déjà vu la forme print (n,end=" ") qui permet de rester sur la même ligne pour écrire quelque chose d'autre plus tard ?
Pratique dans une boucle. Exemple

for i in range(8):
    print(i,end=" ")

Sortie :
0 1 2 3 4 5 6 7
Tu peux les séparer part une virgule suivie d'une espace (en informatique, espace est féminin) :

for i in range(8):
    print(i,end=", ")

Sortie :
0, 1, 2, 3, 4, 5, 6, 7,
ou séparés par rien du tout :

for i in range(8):
    print(i,end="")

Sortie :
01234567

Est-ce que tu as appris à utiliser les blocs de conditions :

if condition1 :
    instructions
elif condition2 :
    instructions
else:
    instructions

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#18 14-10-2019 17:07:24

yannD
Membre
Inscription : 19-10-2018
Messages : 880

Re : Déterminer les six premiers termes d'une suite

Bonsoir Yoshi, oui, j'ai appris à utiliser les conditions

Hors ligne

#19 14-10-2019 19:00:39

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 13 887

Re : Déterminer les six premiers termes d'une suite

Re,

Et ce qui concerne le print() ?

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#20 16-10-2019 08:44:27

yannD
Membre
Inscription : 19-10-2018
Messages : 880

Re : Déterminer les six premiers termes d'une suite

Bonjour Yoshi, je n'ai pas répondu tout de suite à ta question : je te demande pardon, j'avais un TP d'optique à préparer. Et pour répondre à ta question, et bien j'ai vu la fonction print mais pas quand c'est suivi de end=""

Hors ligne

#21 16-10-2019 10:33:38

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 13 887

Re : Déterminer les six premiers termes d'une suite

RE,

Ah oui, l'optique, ça me rappelle de bons souvenirs, c'est de l'optique géométriqua vec distance focale, foyer image, foyer objet, $\frac 1 f = \frac 1 p+\frac{1}{p'}$...

Ce que tu me dis de print me fait penser aux versions 2.x de Python...
Ton print me fait penser au print de ces versions qui n'était pas une fonction  : on écrivait print  a,b...
Ave les versions 3 si tu n'utilises pas de parenthèses ça ne marche pas : message d'erreur.
On écrit maintenant print(a,b)
le "end=" permet de contrôler ce qui se passe à la fin :

for in i in range(2,5):
    print (i)

Te renverra :
2
3
4
Mais

for in i in range(2,5):
    print (i,end= " ")

renvoie
2 3 4...
Dans un print, on peut mélanger les nombres et le chaînes de caractères
Il y a le nombre 2 et la chaîne (string) "2"
Tu demandes print(2*3)
et tu obtiens 6
Tu peux aussi écrire :
print("2 x 3 =",2*3)
Et tu obtiens 2 x 3 = 6
mais il n'est pas possible de multiplier, soustraire ou diviser 2 chaînes.
On peut additionner deux chaînes, ou multiplier une chaîne par un nombre n:
print("AB"+"CD") te donne "ABCD" mais te ne vois pas les " qui sont les délimiteurs de chaînes...
print("ABCD"*4) te donne ABCDABCDABCDABCD
Et on peut transformer un nombre en chaîne : print(str(23))
te renvoie la chaîne "23", plus le nombre, la preuve :
print(str(23)*3) te renvoie 232323
print(23 * 3) te renvoie lui 69.
Moyennant quoi le print et les if dans ton exercice permettait d'écrire avec deux boucles pour ressembler à ce qui apparaît dans le tableur...
1ere boucle avec un print avant:

print (" n ", end="  ")
for n in range(6):
print(n,end="  ")

(avec 2 espaces pour le : end="  "
te donne

  n   0  1  2  3  4  5

en ajoutant une deuxième boucle avec 2 print()
Le 1er, vide, n'écrit rien mais retourne à la ligne (sans lui, ce qui suit continuerait sur la même ligne)
Le 2nd écrit Un.


print(" n ",end="  ")
for n in range(6):
  print(n,end="  ")
 
print()
print("Un",end="  ")
for n in range(6):
  u=3*n-1
  if u>5:
    print(u,end=" ")
  else:
    print(u,end="  ")
 

1 espaces, puis  2 dans end=" "
Et voilà ce que ça donne :


 n   0  1  2  3  4  5  
Un  -1  2  5  8 11 14
 

Mais là, je triche, je connais les résultats(puisque j'écris u>5) avant de lancer les boucles.

Je vais appeler us (u suivant la valeur de un+1 qui sera us=3*(n+1)-1=3*n+3-1=3*n+2
Et dans ce cas je mets un espace de moins après l'écriture de u...
Code modifié :


print(" n ",end="  ")
for n in range(6):
  print(n,end="  ")

print()
print("Un",end="  ")
for n in range(6):
  u=3*n-1
  us=3*n+2
  if us>10:
    print(u,end=" ")
  else:
    print(u,end="  ")
 

Et ça donne la même chose :


 n   0  1  2  3  4  5  
Un  -1  2  5  8 11 14
 

Mais cela ne marchera tant que que n<10, après, ce sera tout décalé...

Je ne vais pas te soûler en te montrant comment on peut corriger cela...

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#22 16-10-2019 10:39:44

yannD
Membre
Inscription : 19-10-2018
Messages : 880

Re : Déterminer les six premiers termes d'une suite

Salut, oui, c'est de l'optique géométrique : représenter un objet derrière la lentille en faisant des tracés parallèles

Hors ligne

#23 16-10-2019 10:41:47

Zebulor
Membre
Inscription : 21-10-2018
Messages : 574

Re : Déterminer les six premiers termes d'une suite

Bonjour Yoshi,
voilà qui me fait une excellente initiation à ce langage de programmation..

Hors ligne

#24 16-10-2019 12:22:28

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 13 887

Re : Déterminer les six premiers termes d'une suite

Re,

Oui, parce que reste basique...
Que voudrais-tu savoir de plus ?
Pour tester sans avoir Python sur sa machine :
https://pynative.com/online-python-code … thon-code/
Très bien...
une chaîne (alphanumérique) peut être composée de chiffres, de lettres ou les deux.
Lettre ou chiffre, c'est de même nature : ce sont des symboles, qu'on désigne sous le nom générique de caractères...
A noter que si la chaine n'est composée que de chiffres, on peut la transformer en un nombre entier sifné ou pas :
print(int("256")) affiche 256

Et c'est bien un nombre
print(int("256")*3) affiche 768
print(int("-23")) affiche -23

L'intérêt d'une chaîne est qu'on peut connaître sa longueur facilement avec l'instruction len'= (de l'anglais length, longueur)
print(len("012345678")) renvoie 9....
print(len("A1B2C3D4E5F6G7H8I9")) renvoie 18...

Que ce soit une boucle (on peut modifier ça) ou une chaîne, la numérotation commence à 0.
Donc le 3e caractère de la chaîne "A1B2C3D4E5F6G7H8I9" est celui qui occupe la position n°2, soit le "B"
print("A1B2C3D4E5F6G7H8I9""[2]) renvoie B...

Je peux demander les caractères entre la position 2 et la position 5(limite supérieure toujours exclue) :
print("A1B2C3D4E5F6G7H8I9"[2:5]) renvoie B2C...

Bref, il y a plein de choses "rigolotes" qu'on peut faire en manipulant plus savamment encore les chaînes..., comme vérifier si deux mots sont anacycliques (qui se lisent aussi bien dans le sens GD que DG avec des significations différentes) les palindromes en sont des cas particuliers).
Ça se fait en une seule ligne :
print("RENGAGER"[::-1]=="REGAGNER") renvoie : True...

le = simple s'emploie pour une affectation : a=2, on affecte 2 à la variable a, le double égal,   a==2, pour une comparaison d'égalité : a est-il égal à 2 ?

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#25 16-10-2019 12:30:12

yannD
Membre
Inscription : 19-10-2018
Messages : 880

Re : Déterminer les six premiers termes d'une suite

Salut Yoshi, ça devient compliqué et c'est plus des exercices sur les suites que l'on nous demande de faire

Hors ligne

Réponse rapide

Veuillez composer votre message et l'envoyer
Nom (obligatoire)

E-mail (obligatoire)

Message (obligatoire)

Programme anti-spam : Afin de lutter contre le spam, nous vous demandons de bien vouloir répondre à la question suivante. Après inscription sur le site, vous n'aurez plus à répondre à ces questions.

Quel est le résultat de l'opération suivante (donner le résultat en chiffres)?
quatre-vingt sept plus vingt six
Système anti-bot

Faites glisser le curseur de gauche à droite pour activer le bouton de confirmation.

Attention : Vous devez activer Javascript dans votre navigateur pour utiliser le système anti-bot.

Pied de page des forums