• Aucun résultat trouvé

TP 1. Prise en main de Scilab

N/A
N/A
Protected

Academic year: 2022

Partager "TP 1. Prise en main de Scilab"

Copied!
4
0
0

Texte intégral

(1)

TP 1. Prise en main de Scilab

opération usuelles symboles

addition +

soustraction −

multiplication ∗

division /

exposant ∧

fonctions usuelles commande

racine carrée sqrt

logarithme népérien log

exponentielle exp

valeur absolue abs

partie entière oor

comparaison/tests symboles

est égal ==

est strictement inférieur <

est inférieur ou égal <=

est strictement supérieur >

est supérieur ou égal >=

est diérent <>

opérateurs logiques symboles

"et" &

"ou" |

1

(2)

Exercice I.

1. Directement dans la Console Scilab (également appelée "fenêtre de commandes"), recopier et exécuter (touche "Entrée") successivement les instructions suivantes (d'abord la1ere colonne, etc...) :

x=3 x=7 ; disp(x) disp('x') disp(X)

x=x+2 4x 4*x ans x=ans-25 ;

disp(x,'x contient :') ; x=x+7, x=x/6

%pi

%e

format(13) ; %pi

format(5) ; %pi x=2∧3

oor(-1.3)

x=input('entrez un nombre :') disp(x+7)

2. Expliquer précisément ce qui se passe à l'issue de chaque instruction (fonctionnement, erreurs éventuelles, etc...)

Exercice II.

1. Ouvrir Scinotes. (Depuis la Console Scilab, cliquer sur l'onglet "Applications", puis sur

"Scinotes".)

2. Y recopier le programme suivant : x=3

x=2*x+4 ; x=15-x disp(x) ;

3. L'exécuter de deux manières diérentes :

a. avec "Enregistrer et exécuter" (onglet "Exécuter" ou touche F5) b. avec "...chier avec écho" (onglet "Exécuter" ou touche Ctrl+L) 4. Quelles diérences constate-t-on dans l'achage des résultats ?

Exercice III.

1. Dans Scinotes, recopier, puis exécuter le programme suivant : function y=f(x) ;

y=3*x∧2-5*x+2 ; endfunction ;

a=f(4) ; disp(a) ; disp(f(7)) ;

2. Vérier les résultats obtenus à la main.

3. Fermer Scinotes. Directement dans la console, taper alorsf(6). Que constatez-vous ?

Exercice IV.

Ecrire un programme qui demande à l'utilisateur d'entrer un nombrex, et qui ache :

le carré, la racine carrée, la partie entière, l'inverse, l'exponentielle, le logarithme, la valeur absolue du nombre.

Le tester.

2

(3)

Exercice V.

1. Dans la Console Scilab, exécuter les instructions 0 :0.25 :1, 6 :2 :18 et 30 :10 :143.

2. Expliquer le fonctionnement de la commande a :p :b.

3. Dans la Console Scilab, exécuter les instructions linspace(0,1,4), linspace(0,1,5) et linspace(-15,38,7).

4. Expliquer le fonctionnement de la commande linspace(a,b,n).

5. Donner l'instruction permettant d'obtenir une subdivision de l'intervalle[−10; 20], de pas3. 6. Donner l'instruction permettant d'obtenir une subdivision de l'intervalle[9.4; 17.7], de pas0.4

7. Donner l'instruction permettant d'obtenir une subdivision de l'intervalle[0; 10], en10parties de même longueur.

8. Donner l'instruction permettant d'obtenir une subdivision de l'intervalle[−150; 150], en50 sous-intervalles.

Exercice VI.

1. Dans la Console Scilab, exécuter les instructions x=0 :1 :4, y=x*x et y=x.*x.

2. Tapez ensuite plot(x,y)

3. Quels commentaires pouvez-vous faire ?

Exercice VII.

Les programmes suivants permettent, de3 manières diérentes, de tracer la courbe représentative de la fonction f :x7−→xe−x sur l'intervalle [−1; 4].

programme A. programme B. programme C.

x=linspace(-1,4,100) ; y=x.*exp(-x) ;

plot2d(x,y,style=2) ; xtitle('graphe de f') ;

function y=f(x) ; y=x*exp(-x) ; endfunction ;

x=linspace(-1,4,100) ; y=feval(x,f) ;

plot2d(x,y,3,rect=[0,0,2,0.5]) ; xtitle('graphe de f') ;

de('y=f(x)','y=x*exp(-x)') ; x=linspace(-1,4,100)' ; fplot2d(x,f,-1,axesag=5) ; xgrid(1) ;

legend('graphe de f') ;

1. Recopier et exécuter ces programmes.

2. Comprendre l'eet des instructions en gras, en modiant notamment les valeurs des paramètres "style",

"rect", "xgrid" et "axesag".

Exercice VIII.

Dans cet exercice, on pourra, si on le souhaite, utiliser la commande "subplot", an de tracer plusieurs courbes dans la même fenêtre, mais dans plusieurs sous-fenêtres.

1. Ecrire un programme qui ache le graphe de la fonction carrée, sur un intervalle bien choisi.

Même question avec les graphes des fonctions : 2. racine carrée

3. partie entière 4. inverse 5. exponentielle 6. logarithme népérien 7. valeur absolue

8. f :x7−→x3−x2ln(x) + 1

3

(4)

Exercice IX.

Observer le programme suivant, sans l'exécuter :

x=input('donnez x :') ; y=input('donnez y :') ;

x=x+y ; //A

y=x-y ; //B

x=x-y ; //C

disp('après traitement :') ; disp(y, 'et y=', x, 'x=') ;

1. Faire un tableau donnant les valeurs contenues par les va- riables xet y au cours du programme (notamment suite à chacune des instructions A, B et C) dans les cas où x= 2 ety= 3.

2. Même question avecx=−5ety=−3. 3. Expliquer le fonctionnement du programme.

4. Compter le nombre d'opérations usuelles (additions, sous- tractions,...) eectuées lors de ce programme, et compter également le nombre d'aectations.

(On dit que l'on détermine la complexité de l'algorithme.) 5. Proposer un programme moins complexe qui aurait pu abou-

tir au même résultat. (Une3e variable est nécessaire) 6. Compter le nombre d'opérations et d'aectations eectuées

avec ce nouveau programme.

Exercice X.

Ecrire un programme qui demande le temps, exprimé en secondes, et qui le transforme en h : m : s.

On utilisera éventuellement les fonctions prédénies oor et modulo (reste entier).

Exercice XI.

1. Dans quel cas le programme ci-contre renvoie-t-il : true (T) ? false (F) ?

2. Ecrire un programme qui demande deux nombres, et ren- voie true si le premier est plus grand que le second.

3. Ecrire un programme qui demande quatre nombres, et renvoie true si les deux premiers sont plus petit que le troisième ou que le quatrième.

x=input('donnez x') ; y=input('donnez y') ; z=input('donnez z') ;

disp(((x<y) | (x<z)) & (y<z)) ;

4

Références

Documents relatifs

De surcroît, la « connaissance intime du nombre », pour reprendre l’expression de René Thom, n’est possible que si tout nombre est non seulement conçu comme nombre ordinal et

Dans ce contexte, s’agissant du comptage du nombre de personnes participant à une manifestation, trois positions (au moins) peuvent être défendues : on accepte

Personnages présentés dans un rôle ou exerçant une activité majoritairement exercée par des hommes Personnages présentés dans un rôle ou exerçant une activité majoritairement

sies : on utilisera dans un premier temps des boucles for (et aucune fonction- nalité propre à Scilab) puis le signe * de Scilab. (iii) Comparer le temps d’exécution de

Créer un projet MPLAB (si nécessaire) avec comme seul fichier source : demo_it_rb0.c Analyser ce programme, expliquer chaque ligne, dessiner son algorigramme. Le tester sur la carte

Nom Nombre de sommets Nombre d’arrètes Nombre de faces Cube. Pavé

[r]

(aide : si tu ne sais pas comment faire, commence par un livre qui a très peu de pages) b) Pour numéroter un gros livre, on a eu besoin de