ECT1 2015-2016 Lycee errazi el jadida TP Scilab no 1
TP Scilab no 1
I. Une introduction à la programmation
1) Exemple d’algorithme
programme de calcul :
(1) Choisir un nombre a.
(2) Le multiplier par 5.
(3) Soustraire 7.
(4) Si le résultat précédent est strictement positif, le diviser par 2.
Sinon ajouter 4.
(5) Qu’obtenez-vous ?
Qu’obtient-on si a = 6 ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Et si a = 1 ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Choisir un autre nombre a et exécuter l’algorithme : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
Programmer consiste `a traduire un algorithme en un langage compréhensible par l’ordinateur. Le langage
que nous utiliserons cette année sera celui du logiciel Scilab.
On pourra ainsi faire faire à l’ordinateur des calculs qui peuvent être fastidieux, répétitifs, longs . . .
Attention, contrairement à l’être humain, l’ordinateur n’est pas capable d’interpréter et d’analyser ce qu’on
lui demande, le message doit donc être clair, et sans aucune ambiguı̈té.
2) Premiers programmes Scilab
Ci-dessous, la traduction en langage Scilab du programme de calcul présenté plus haut.
langage Scilab en français
a=input(’choisir un nombre’); ...
b=a*5; ...
c=b-7; ...
if c>0 then d=c/2; ...
else d=c+4; end; ...
disp(d); ...
Concrètement.
Ouvrir le logiciel Scilab.
Cliquer sur l’icône afin d’ouvrir SciNotes, l’éditeur de texte de Scilab. Taper alors les 5 lignes du
programme ci-dessus, attention, bien respecter tous les caractères !
Pour exécuter ce programme de calcul, enregistrer d’abord ce fichier (vous pouvez créer un répertoire TP1
dans vos documents, et dans ce répertoire, enregistrer ce fichier sous le nom [Link]).
Ensuite, cliquer sur l’icône , pour lancer le programme, et aller voir dans la console (il faudra donner la
valeur de a et valider par Entrée avant de voir le résultat).
Tester ce programme plusieurs fois, avec différentes valeurs de a.
Si tout marche bien, félicitations, vous venez d’écrire votre premier programme Scilab !
Lecture de programme.
Voici un autre exemple de programme :
m=input("Donner le coefficient directeur : ");
p=input("Donner l ordonnee a l origine : ");
r=-p/m;
disp(r,"la droite croise l’axe des abscisses en x= ");
Que fait ce programme ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Le taper dans un nouveau fichier ([Link]) et le tester.
1/2
ECT 1 2015-2016 Lycee errazi el jadida TP Scilab no 1
II. Découverte de Scilab
Deux fenêtres nous seront utiles :
la console c’est la fenêtre de base, qui s’ouvre en premier, et
contient -->
On peut taper des instructions directement après -->, des
calculs . . . ou y faire exécuter un programme.
l’éditeur appelé SciNotes que l’on ouvre en cliquant sur .
C’est là que l’on écrira les programmes (plusieurs instruc-
tions à la suite).
1) Premiers calculs
Commençons par utiliser Scilab comme une simple calculatrice. C’est l’occasion de réviser les règles de
calcul de base : vérifiez à chaque fois que le résultat correspond à vos attentes !
Taper les instructions suivantes dans la console, à la suite des -->, en validant avec Entrée à la fin de
chacune :
2+2 3*4.1-7 floor(3.14159)
-2^3 3*(4.1-7) floor(16/3)
-5^2 -5+1/10 sqrt(25)
(-5)^2 -(5+1)/10 sqrt(12.5)
-(-5)^2 floor(12.7) ans^2
Que signifie ans ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Que semble faire l’instruction floor ? en anglais ≪ floor ≫ signifie ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Que signifie sqrt ? (abréviation de ≪ square root ≫) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercice.
1 1
√ 5544 6 + 3
Effectuer les calculs suivants avec Scilab : 32 − 7,63 + 5 ; 132 + 192 ; ; 1 .
11 × 12 − 660 2
Vous devez obtenir les résultats : −424, 976 puis 19 et −10, 5 et enfin 1 (si vous n’obtenez pas ces résultats, il s’agit sans doute
d’erreurs de parenthèses).
2) Les variables
Entrer les instructions suivantes et observer les résultats :
a=21/3 a<3
a b<=12
b=7*11; a>=6
b a+b>77
x=a+b; a==-12
x a==7
x^2 a<>11
Quel semble être le rôle du ; ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Comment interpréter les réponses aux instructions de la colonne de droite ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
En fait, lorsque l’on rencontre une instruction du type a=7, il faut l’interpréter comme ≪ donnons la valeur
7 à la variable a ≫. C’est une affectation : on affecte la valeur 7 à la variable a.
En revanche a==7 est l’affirmation ≪ a est égal à 7 ≫ qui peut être vraie ou fausse (en anglais Vrai se dit
. . . . . . . . et Faux . . . . . . . . ), c’est un test ou comparaison.
De même, a<3 teste si a est strictement inférieur à 3, et a<>11 teste si a est différent de 11.
Remarque : comme fait dans les premiers programmes, on peut aussi demander avec une phrase, la valeur
à attribuer à une variable avec input.
x=input("choisir un nombre") a pour effet d’afficher la phrase ≪ choisir un nombre ≫ et d’affecter à x le
nombre qui sera tapé à la suite de la phrase. Essayer.
2/2