I. Les objets du langage( constantes ou variables)
1) Les types lmentaires Les nombres entiers (signs ou non, cods sur 1 octet, 2 octets ou 4 octets). Par exemple, un entier cod sur 2 octets et sign est un entier appartenant l'intervalle des entiers !"2#$%&"2#$#'. Lors(u'il n'est pas sign, il sera dans l'intervalle )&$**"*'. Les nombres rels et complexes Les boolens +cilab poss,de un t-pe logi(ue de boolens .t et ./ pour vrai (/rue) et .0 et .1 pour 0aux (1alse). Les pol-n2mes Les c3a4nes de caract,res 2) Les types structurs Les listes Les tableaux (ou matrices) II. Les actions lmentaires 1) L'instruction L'instruction la plus simple est celle (ui comporte une expression uni(ue. 5ette expression doit se terminer par un passage la ligne, une virgule (sparateur d'instructions), trois points suivis d'un passage la ligne (permettant de continuer l'expression sur la ligne suivante) ou un point virgule (dans ce dernier cas, le rsultat de l'expression n'est pas a00ic3 sur l'cran). 1) L'affectation L'a00ectation est l'instruction (ui permet de donner une variable une valeur (ui est le rsultat d'un calcul. L'opration d'a00ectation est reprsente par le s-mbole 6. La 0orme la plus simple est nom = expression. 2) L'appel d'une fonction dfinie par l'utilisateur. III. Les oprateurs 1) Les oprateurs numriues 7prateurs unaires 8 identit (9), oppos (!) 7prateurs arit3mti(ues 8 addition (9), soustraction (!), multiplication (:), division (;), division inverse (<) 2) Les oprateurs de comparaison =galit 6
6, non galit >? ou @
6, ingalits strictes > et ?, ingalits larges >6 et ?6. Le rsultat d'une comparaison est un boolen. !) "prateurs logiues La ngation @, la conAonction B, la disAonction C P @ P B / 1 C / 1 / 1 / / 1 / / / oD / 8 /rue et 1 8 1alse 1 / 1 1 1 1 / 1 1 #) "rdre de priorit Ene expression peut par0ois devenir relativement complexe, du 0ait de la prsence de multiples oprateurs au sein de l'expression. Le langage +cilab a dtermin un ordre de priorit par d0aut 8 Priorit 7prateurs 1. (La plus 3aute) @(non) F 2. B(et) : ; ". C(ou) 9 ! 4. (la plus basse) 6
6 @? > >6 ? ?6 I$. Les actions composes 1) Le bloc d'instructions (ou suence d'instructions) En bloc d'instructions se compose d'une ou plusieurs instructions places les unes apr,s les autres (et spares par des virgules ou des points!virgules) suivant (ue l'on sou3aite un a00ic3age ou non. Gans la suite une instruction pourra reprsenter une instruction simple ou un bloc d'instructions. 2) Les conditionnelles L'instruction if permet l'excution conditionnelle de s(uences d'instructions. +a s-ntaxe la plus simple est 8 if expression then instructions end. Lors(ue l'expression expression est vraie, la s(uence d'instructions instructions sera excute. !!a62 & i0 a6 62 t3en "94, end ans 6 #. !!a6* & i0 a6 62 t3en "94, end !! Gans le deuxi,me exemple, le rsultat du test est 0aux & l'addition n'est donc pas excute et il n'- a pas d'impression du rsultat. Hl est possible de prciser une instruction excuter lors(ue le test est 0aux en utilisant le mot! cle0 else. La s-ntaxe de l'expression est alors la suivante 8 if expression then instructions1 else instruction2 end Lors(ue l'expression expression est vraie instruction1 est ralise sinon c'est instruction2. La conditionnelle multiple La conditionnelle multiple ou instruction de slection permet d'envisager plusieurs rsultat une expression 8 select expression) case expression1 t3en instruction1 case expression2 t3en instruction2 case expression" t3en instruction" else instruction4 end La valeur d'expression0 est calcule puis compare successivement aux valeurs d'expression1, expression2, expression3, I G,s (ue l'une de ces comparaisons rend vrai, l'action correspondante s'e00ectue et les autres expressions ne sont plus testes. +i aucune de ces comparaisons ne retourne vrai, l'action introduite par le mot!cle0 else est excute. 2 7n peut touAours traduire les conditionnelles multiples par des imbrications de conditionnelles 8 i0 expression)6 6expression1 t3en instruction1 elsei0 expression)6 6expression2 t3en instruction2 elsei0 expression)6 6expression" t3en instruction" else expression4 end !) Les boucles (ou instructions rptitives) =lles ont pour but d'excute plusieurs 0ois une s(uence d'instructions. L'instruction for La boucle 0or permet de rpter une instruction alors (u'une variable particuli,re, la variable de boucle, dcrit un ensemble de valeurs. for variable=valeurs do instruction end Valeurs est la liste des valeurs (ue va dcrire la variable de boucle variable. G'une mani,re gnrale, les valeurs sont d0inies par une valeur de dbut, une valeur de 0in et d'un pas de progression (ou d'incrmentation) entre ces bornes. Le mot!cle0 do peut Jtre remplac par un passage la ligne, une virgule ou un point virgule. Kotons encore (ue la variable de contr2le est une variable locale et n'a pas d'existence l'extrieur de la boucle. L'instruction %&ile La boucle L3ile va rpter une instruction tant (u'une condition est ralise. while expression do instruction end Hl 0aut dans ce cas (ue expression 0ournisse un boolen (donnant le rsultat du test). L'instruction L3ile permet une autre 0orme dont la s-ntaxe est la suivante 8 while expression do instruction1 else instruction2 end 5ette autre criture permet de prciser une instruction (ou bloc d'instructions) (ui sera excute la 0in de la boucle L3ile lors(ue la condition teste sera de venue 0ausse. L'instruction brea' Etilise l'intrieur de la boucle 0or ou L3ile, l'instruction breaM permet d'interrompre la boucle et de sauter immdiatement l'instruction (ui suit cette boucle dans le texte du programme en cours d'excution. #) Identificateurs +cilab permet de d0inir des variables, (ui peuvent Jtre locales une procdure, rsider dans l'espace de travail, ou encore Jtre globales. En identi0icateur est reprsent par une suite de caract,res, dont le premier est une lettre ou l'un des six caract,res . N O P Q R & le reste du nom peut Jtre compos de ces caract,res, de lettres ou de c3i00res. +cilab ne prend en compte (ue les 24 premiers caract,res d'un identi0icateur. () $ariables et constantes prdfinies +cilab met la disposition de l'utilisateur (uel(ues variables et constantes prd0inies 8 Hn0 dnote . Hl peut Jtre utilis dans certaines oprations 8 !! 1;.in0 ans 6 ) Kan (Kot S Kumber) est le rsultat t-pi(uement renvo- par ;, par exemple. " Pi (obtenu par .pi) dont la valeur vaut approximativement pi. i (.i) le nombre complexe tel (ue i T 6 !1 ./ et .1 sont les variables boulennes signi0iant respectivement vrai (pour true) et 0aux pour (0alse). La tolrance de UVro mac3ineU est 0ixe par la variable standart eps. 5'est!!dire (ue pour certaines oprations telles (ue la rec3erc3e de Vros de 0onctions, par exemple, les nombres x tels (ue !eps > x > eps seront considrs comme nuls. =n modi0iant cette borne, vous pouveV ren0orcer ou abaisser la svrit des tests de nullit. La valeur standard vaut 8 !!.eps .eps 6 2.22)=!1$ $. )onctions mat&matiues prdfinies 7pration description abs(x) valeur absolue atan(x) arc tangente ceil(x) partie enti,re, arrondie vers 9 conA(x) conAugu de x cos(x) cosinus disp(x,-,I) a00ic3age des valeurs de param,tres x, -, I exp(x) exponentielle 0ix(x) partie enti,re, arrondie vers ) 0loor(x) partie enti,re, arrondie vers ! 0ormat(n) slection de n c3i00res signi0icati0s pour l'a00ic3age des nombres imag(x) partie imaginaire de x int(x) partie enti,re, arrondie vers ) (comme 0ix) log(x) logarit3me nprien modulo(x,-) reste de la division de x par - rand() nombre alatoire compris entre ) et 1 real(x) partie relle de x round(x) partie enti,re, arrondie vers l'entier le plus proc3e sin(x) sinus s(rt(x) racine carre string(x) c3a4ne de caract,res reprsentant le param,tre tan(x) tangente $I *rincipales commandes de Scilab 4 Welp Side en ligne 8 sans param,tre, ouvre une 0enJtre dcrivant la commande 3elp. +uivi du nom d'une 0onction du langage, ouvre une 0enJtre dcrivant cette 0onction apropos Side en ligne 8 suivi d'un mot ou d'une c3a4ne de caract,res, ouvre une 0enJtre contenant un bre0 rsum des aides en ligne contenant ces mots. L3at liste des mots!cle0s du langage L3o liste des variables d0inies clear Svec des param,tres, e00ace les variables correspondantes global dclaration de variables globales clearglobal e00acement de variable globale edit Sppel d'un diteur de texte (crer ou modi0ier des 0ic3iers de script) (uit SrrJt de +cilab *