Suite et programmation

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
ftrfy
Membre Naturel
Messages: 62
Enregistré le: 17 Aoû 2017, 10:09

suite et programmation

par ftrfy » 02 Sep 2017, 14:05

Bonjour à tous, j'aimerais qu'on m'aide s'il vous plait pour cet exo sur des suites et de la programmation SCILAB . (Par contre je n'arrive pas à le telecharger sur mon ordi et donc je ne peux pas vérifier si les programmes fonctionne ou non....)

On considère une suite (Un) définie par son premier terme U0= 1 et pour tout entier n, Un+1=Un+1/Un



1 a) écrire un programme en scilab qui calcule et affiche la valeur de Un lorsque l'utilisateur entre la valeur de n au clavier. Pour n=100, on trouve U100=14;284064.
C'est bon!

b)Ecrire une fonction en Scilab prenant comme paramètre un entier n et renvoyant toutes les valeurs de U0 à Un rangées dans un vecteur.
function y=f(x)
y=n
u=1:n


comment faire?

c) écrire un programme en SCilab qui calcule et affiche la valeur de on trouve U100 =41.703617

je pensais à
n=input ('entrer n')
s=0
u=1
for i=0 :10
s=u+1/u
end
disp

mais ça ne fonctionne pas Une idée?

d) écrire un programme en scilab permettant de déterminent et d'afficher le plus petit entier naturel n pour lequel Un>=100. On trouve n=4998
donc je sais que c'est avec WHILE
function y=f(x)
x=u+1/u
u=1
n=0
while u<=100 do
u=f(u)
n=n+1
end
disp(n)

non?


2-reprendre les questions précédentes avec la suite (Vn) définie par son premier terme V0=1 et pour tout entier n, Vn+1=Vn+n/Un




merci à vous



pascal16
Membre Légendaire
Messages: 6663
Enregistré le: 01 Mar 2017, 12:58
Localisation: Angoulème : Ville de la BD et du FFA. gare TGV

Re: suite et programmation

par pascal16 » 02 Sep 2017, 16:15

s=1+1/u
u garde la valeur 1

il faut faire
u=1+1/u
s=s+u

ftrfy
Membre Naturel
Messages: 62
Enregistré le: 17 Aoû 2017, 10:09

Re: suite et programmation

par ftrfy » 02 Sep 2017, 16:24

Bonjour il s'agit de la 1b)?

Avatar de l’utilisateur
MJoe
Membre Relatif
Messages: 295
Enregistré le: 19 Juil 2017, 06:26
Localisation: Saint-Nazaire

Re: suite et programmation

par MJoe » 02 Sep 2017, 16:58

Bonsoir à tous,

Juste un conseil : il faudrait que vous arriviez à installer Scilab sur votre ordinateur sinon ce sera dur de voir si un programme tourne correctement.

Pour la 1/)a), voici un exemple de programme :
Code: Tout sélectionner
n = input("Entrer la valeur de N : N = ")
u0 = 1
U = 1
for j=1:n
    U = U + 1/U
end

printf("Pour n = %i%s%0.4f",n," un = ",U)


J'obtiens :
Code: Tout sélectionner
Entrer la valeur de N : N = 100
Pour n = 100 un = 14.2841


MJoe.

Avatar de l’utilisateur
MJoe
Membre Relatif
Messages: 295
Enregistré le: 19 Juil 2017, 06:26
Localisation: Saint-Nazaire

Re: suite et programmation

par MJoe » 02 Sep 2017, 17:07

Bonjour,

Pour la question 1)b), voici un exemple de programme Scilab :

Code: Tout sélectionner
function y = MaSuite(p)
    SU = zeros(1,p+1)
    U = 1
    SU(1,1) = 1
    for j = 1:p
        U = U + 1/U
        SU(1,j+1) = U
    end   
    y = SU
endfunction


Ensuite on saisie dans la console Scilab la commande : MaSuite(100) et on obtient :

Code: Tout sélectionner
-->MaSuite(100)
 ans  =
 
 
         column  1 to 11
 
    1.    2.    2.5    2.9    3.2448276    3.5530104    3.8344618    4.0952546    4.3394397    4.5698842    4.7887081 
 
         column 12 to 20
 
    4.9975327    5.1976314    5.3900268    5.5755546    5.754909    5.9286737    6.0973454    6.2613512    6.4210612 
 
         column 21 to 29
 
    6.5767987    6.7288483    6.8774622    7.0228646    7.1652567    7.304819    7.441715    7.5760926    7.7080867 
 
         column 30 to 38
 
    7.8378206    7.9654071    8.09095    8.2145449    8.3362801    8.4562377    8.5744936    8.6911186    8.8061786 
 
         column 39 to 47
 
    8.9197352    9.0318462    9.1425655    9.251944    9.3600294    9.4668667    9.5724982    9.6769642    9.7803024 
 
         column 48 to 56
 
    9.8825487    9.9837372    10.0839    10.183068    10.28127    10.378535    10.474887    10.570354    10.664958 
 
         column 57 to 65
 
    10.758723    10.851671    10.943822    11.035198    11.125817    11.215698    11.304859    11.393317    11.481087 
 
         column 66 to 74
 
    11.568187    11.654631    11.740434    11.82561    11.910172    11.994134    12.077508    12.160306    12.242541 
 
         column 75 to 83
 
    12.324224    12.405365    12.485975    12.566065    12.645644    12.724723    12.80331    12.881415    12.959046 
 
         column 84 to 92
 
    13.036212    13.112921    13.189182    13.265002    13.340388    13.415349    13.48989    13.56402    13.637744 
 
         column  93 to 101
 
    13.71107    13.784004    13.856552    13.92872    14.000514    14.07194    14.143003    14.213709    14.284064 


MJoe.

Avatar de l’utilisateur
MJoe
Membre Relatif
Messages: 295
Enregistré le: 19 Juil 2017, 06:26
Localisation: Saint-Nazaire

Re: suite et programmation

par MJoe » 02 Sep 2017, 17:09

ftrfy a écrit:
c) écrire un programme en SCilab qui calcule et affiche la valeur de on trouve U100 =41.703617

je pensais à
n=input ('entrer n')
s=0
u=1
for i=0 :10
s=u+1/u
end
disp

mais ça ne fonctionne pas Une idée?



Si je peux me permettre, je corrige votre programme :
n=input ('entrer n : n = ')
s=1
u=1
for i = 1 :n
u = u + 1/u
s = s + u
end
disp(s)


Pour n = 10, on obtient : 36,825586

MJoe.

Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

Re: suite et programmation

par fatal_error » 02 Sep 2017, 17:23

hello,

c'est assez pathétique pour qq1 dans le supérieur de pas arriver à installer un logiciel, donc espérons que c'est lié à des limitations matérielles de ta machine!
Comme mjoe le recommande, même si tu perds tu temps à chercher à installer le logiciel, c'est du temps que tu ne perdras plus en te demandant si tes lignes sont correctes ou pas :)

A défaut, il est (souvent) possible d'utiliser des interpréteurs en ligne (taper scilab online par exemple)
la vie est une fête :)

Avatar de l’utilisateur
MJoe
Membre Relatif
Messages: 295
Enregistré le: 19 Juil 2017, 06:26
Localisation: Saint-Nazaire

Re: suite et programmation

par MJoe » 02 Sep 2017, 17:24

Bonjour,

Pour la 1)d) : On réutilise la fonction définie auparavant en la modifiant légèrement puis on utilise une boucle While :

Code: Tout sélectionner
function y = MaSuite2(p)
    U = 1
    for j = 1:p
        U = U + 1/U
    end   
    y = U
endfunction

n = 1
while MaSuite2(n) <= 100 do
    n = n + 1
end

printf("Un >= 100 pour n = %i",n)


Dans la console Scilab, on obtient :

Code: Tout sélectionner
Un >= 100 pour n = 4998


Pour la question 2), essayez de reprendre toutes les lignes de codes précédentes afin de calculer Vn.

MJoe ;)
Modifié en dernier par MJoe le 02 Sep 2017, 17:30, modifié 2 fois.

Avatar de l’utilisateur
MJoe
Membre Relatif
Messages: 295
Enregistré le: 19 Juil 2017, 06:26
Localisation: Saint-Nazaire

Re: suite et programmation

par MJoe » 02 Sep 2017, 17:25

fatal_error a écrit:hello,

c'est assez pathétique pour qq1 dans le supérieur de pas arriver à installer un logiciel, donc espérons que c'est lié à des limitations matérielles de ta machine!
Comme mjoe le recommande, même si tu perds tu temps à chercher à installer le logiciel, c'est du temps que tu ne perdras plus en te demandant si tes lignes sont correctes ou pas :)

A défaut, il est (souvent) possible d'utiliser des interpréteurs en ligne (taper scilab online par exemple)


A chaque fois qu'il essaye d'installer Scilab, le PC affiche "Fatal_error". :lol:
Bon, blague à part, moi personnellement je suis incapable de savoir si un programme "tourne correctement" si je ne l'ai pas lancé sous Scilab.

MJoe.

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 34 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite