1
UTILISATION DU LOGICIEL SCILAB
Scilab est un logiciel mathématique utilisé en général comme langage de programmation mais il peut également être utilisé comme calculateur (avec des nombres, des matrices,…)
Éléments d’informatique et d’algorithmique 1) L’environnement logiciel
a) Constantes et variables
Il existe deux constantes réelles prédéfinies dans Scilab : %pi et %e qui sont des approximations respectives de et .
Il existe également deux constantes « booléennes » : vrai qui est noté %t (t pour true) et faux noté %f (f pour false).
Une chaîne de caractères est une suite de caractères écrits entre apostrophes.
Remarque 1 : Si la chaîne contient elle-même une apostrophe, il faut la « doubler » pour qu’elle apparaisse correctement dans l’affichage.
Une variable est un « emplacement de mémoire » dans lequel on peut stocker un contenu (réel, matriciel, …).
Pour affecter une valeur à une variables, on utilise le symbole « = ». La valeur placée à droite de ce symbole est affectée à la variable dont le nom est écrit à gauche.
Exemple 1 : l’instruction k=3 consiste à placer le nombre 3 dans une variable appelée k et créée automatiquement par Scilab.
Remarque 2 : Lors d’un calcul, si le résultat n’est pas affecté à une variable, il est automatiquement affecté à la variable nommée ans (answer) :
L’instruction 5+4 provoque la réponse ans =
9.
b) Opérateurs usuels i. Input
L’instruction a=input(‘texte’) affiche le texte écrit entre apostrophe (chaîne de caractère) puis Scilab attend une réponse et l’affecte à la variable a.
Exemple 2 : Lors de l’instruction a=input(‘entrez la valeur de a :’),Scilab affiche : entrez la valeur de a :
L’utilisateur doit alors entrer un nombre qui sera affecté à la variable a.
ii. Disp
Les instructions disp(a)et disp(‘texte’) affichent respectivement le contenu de la variable a et le texte écrit entre apostrophe.
2
Exemple 3 : Lors de l’instruction disp(s,‘la solution est :’),si la variable s contient la valeur 0, Scilab affiche :
la solution est : 0.
La variable s’écrit donc en premier (pour que sa valeur soit affichée en deuxième !) et le texte entre apostrophe après une virgule en deuxième (et il est affiché en premier !).
iii. Commentaire
A chaque ligne de commande, on peut insérer un commentaire, suivi de //, afin d’apporter une information complémentaire qui ne sera pas prise en compte lors de l’exécution du programme.
Exemple 4 :
a=input(‘entrez la valeur de a :’) //coefficient de x² b=input(‘entrez la valeur de b :’) //coefficient de x c=input(‘entrez la valeur de c :’) //terme constant
iv. Opérations
Addition Soustraction Multiplication Division Puissance
+ - * / ^
Exemple 5 :
a=input(‘entrez la valeur de a :’) ; b=input(‘entrez la valeur de b :’) ; a=a+a^5-5*a*b ;
disp(a)
Si l’utilisateur a choisi 2 à l’invite entrez la valeur de a : et 3 à l’invite entrez la valeur de b : , Scilab affiche : entrez la valeur de a : 2
entrez la valeur de b : 3 4.
v. Opérateurs relationnels et de logique
et ou = < > ≤ ≥ ≠
& | == < > <= >= <>
vi. Fonctions prédéfinies
Voici les 5 fonctions prédéfinies dans Scilab : logarithme
népérien exponentielle partie entière valeur absolue racine carrée
log exp floor abs sqrt
Remarque 3 : Il faut bien respecter la casse (minuscule ou majuscule) car Scilab ne reconnaîtra pas Sqrt ou EXP par exemple.
Exemple 6 : Après l’instruction floor(log(2)+1), Scilab affiche : ans=
1.
3 2) Exemples d’application
Exercice 1 :
Écrire un programme permettant d’échanger le contenu de deux variables.
Exercice 2 : Manipulations
1) Notons = 1
√2 ,
et = ln(1 + 3√2)
Compléter les instructions x=... et y=... afin que les variables x et y soient affectées des réels définis ci-dessus.
2) Quel est l’affichage à l’issue de la ligne d’instructions suivante ?
--> x=5 , y=%pi , floor(y) , z=ans+x , ans=ans-3 , x-2 , x=ans-x
Exercice 3 : On considère le programme (script) suivant : a=input(‘entrez la valeur de a :’)
b=input(‘entrez la valeur de b :’)
c=input(‘entrez la valeur de c :’)
c=a+b , b=a+c , a=a*c disp(c,b,a)
L’utilisateur en entré les valeurs 2, 3 et 4 au clavier. Quel est alors l’affichage à l’issue de l’instruction disp(c,b,a) ?