* Bug #14361 fixed - Parser did not manage linebreak + blockcomment "... /* a comment */"
[scilab.git] / scilab / modules / core / help / fr_FR / 1_keywords / dot.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="dot" xml:lang="fr">
3     <refnamediv>
4         <refname>dot (.)</refname>
5         <refpurpose>point</refpurpose>
6     </refnamediv>
7     <refsynopsisdiv>
8         <title>Séquence d'appel</title>
9         <synopsis>123.33
10             
11             a.*b
12             a .*. b
13             
14             %pi * (%e + ..
15             %i)
16             
17             cd ..
18             dir ..
19         </synopsis>
20     </refsynopsisdiv>
21     <refsection>
22         <title>Description</title>
23         <variablelist>
24             <varlistentry>
25                 <term>.</term>
26                 <listitem>
27                     <para>Le point est utilisé dans la notation décimale : 3.25 et 0.001.
28                     </para>
29                 </listitem>
30             </varlistentry>
31             <varlistentry>
32                 <term>.&lt;op&gt;</term>
33                 <listitem>
34                     <para>Il est aussi utilisé en conjonction avec d'autres opérateurs
35                         (<literal>* / \ ^ '</literal>) pour en former de nouveaux. Les opérations
36                         multiplicatives "élément par élément" sont obtenues avec <literal>.* , .^ ,
37                             ./ , .\ ou .'
38                         </literal>
39                         .Par exemple, <literal>C = A ./ B</literal> est la matrice dont les
40                         éléments sont <literal>c(i,j) = a(i,j)/b(i,j)</literal>. Le produit de Kronecker est
41                         noté <literal>.*.</literal>.
42                     </para>
43                     <para>
44                         <note>
45                             Notez que lorsqu'un point est utilisé pour un opérateur, il n'est pas
46                             considéré comme faisant partie d'un nombre précédant ce point. Ainsi <literal>2.*x</literal> et <literal>2 .*x</literal> sont évalués comme <literal>(2).*x</literal> et pas comme <literal>2.0*x</literal>.
47                         </note>
48                     </para>
49                 </listitem>
50             </varlistentry>
51             <varlistentry>
52                 <term>..</term>
53                 <listitem>
54                     <para>Passage à la ligne. Deux points ou plus à la fin d'une ligne font en
55                         sorte que la ligne suivante est considérée comme en étant la suite
56                         (le retour chariot n'est pas pris en compte).
57                     </para>
58                     <para>Les lignes de suite sont traitées par un préprocesseur dont
59                         l'objet est de construire une ligne logique à partir d'une suite de
60                         lignes physiques. Les points de suite peuvent ainsi être utilisés
61                         pour couper une ligne logique à n'importe quel endroit.
62                     </para>
63                     <para>
64                         La fonction <literal>foo</literal> suivante :
65                     </para>
66                     <programlisting role=""><![CDATA[
67 function foo()
68     plot2d()
69     xtitle(["Titre général"; "Peut être sur plusieurs lignes, donc assez long"], ..
70             "Ceci est le titre de l''axe des X", "titre de l''axe Y")
71 endfunction
72  ]]></programlisting>
73                     <para>est équivalente à :</para>
74                     <programlisting role=""><![CDATA[
75 function foo()
76     plot2d()
77
78     xtitle(["Titre général"; "Peut être sur plusieurs lignes, donc assez long"], "Ceci est le titre de l''axe des X", "titre de l''axe Y")
79 endfunction
80  ]]></programlisting>
81                     <para>La ligne logique formée par les lignes physiques 3 et 4 est
82                         construite comme si elle était entièrement écrite sur la ligne
83                         physique 4 alors que la ligne physique 3 serait vide. Cette manière
84                         de faire est nécessaire car les points de suite peuvent apparaître
85                         n'importe où dans la ligne logique, même à l'intérieur d'une
86                         expression.
87                         <note>La différence entre lignes logiques et lignes physiques
88                             a son importance lors de l'édition (scinotes, edit) et dans les messages d'erreurs (whereami),
89                             lorsque le numéro de ligne est fourni ou affiché.
90                         </note>
91                     </para>
92                     <para>
93                         Il y a des exception à cette règle dans un environnement matriciel afin
94                         de faciliter la lecture des scripts scilab. L'exemple suivant met à jour quelques
95                         différences entre l'environnement matriciel et non matriciel pour la marque de passage
96                         à la ligne.
97                     </para>
98                     <programlisting role=""><![CDATA[
99 // Dans un environnement matriciel .. est la marque de passage à la ligne
100 // sauf dans quelques cas où la lisibilité du script est importante
101
102 // ma_matrice == [1 2 3 -4 5 6]
103 ma_matrice = [ 1 2 3 -4 5 6] // le signe moins ici est unaire
104
105 // ma_matrice == [1 2 -1 5 6]
106 ma_matrice = [ 1 2 3 -... // le signe moins séparé par .. est toujours considéré comme une opération binaire
107 4 5 6]
108                      ]]></programlisting>
109
110                     <para>
111                         Une erreur est générée si la marque de passage à la ligne est insérée dans un mot-clé, un nom de variable ou un mot reservé du langage.
112                     </para>
113                     <programlisting role=""><![CDATA[
114 // ceci est possible en scilab
115 for a_word = 1:10
116     disp("test " + string(a_word))
117 end
118
119
120 // cela génère une erreur
121 for a_...
122 word = 1:10
123     disp("test " + string(a_word))
124 end
125 // Scilab ne peut analyser correctement a_...word
126                     ]]></programlisting>
127                     <para>
128                         Une erreur est générée si autre chose qu'une commentaire suit la marque de passage à la ligne
129                     </para>
130
131                     <programlisting role=""><![CDATA[
132 this_wont_work = 3 + ... 4 // Scilab ne sait pas analyser cette ligne
133
134 this_wont_work_either = 3 + ... /* un commentaire
135 sur plusieurs lignes suivi de texte */ 4
136
137 this_works = 3 + ... /* un commentaire
138 sur plusieurs lignes puis retour à la ligne */
139 4
140                      ]]></programlisting>
141                 </listitem>
142             </varlistentry>
143         </variablelist>
144     </refsection>
145     <refsection>
146         <title>Exemples</title>
147         <programlisting role="example"><![CDATA[
148 // Point decimal
149 1.345
150 x = [1 2 3];
151 x.^2 .*x // il faut absolument mettre un espace entre le 2 et le point
152
153 // Dans le symbole de certains operateurs
154 x = [1 2 3];
155 x .^ 2 .*x  // L'espace entre 2 et .* n'est pas nécessaire
156
157 // Lorsqu'une matrice est écrite ligne par ligne, ".." peut être utilisé mais n'est pas obligatoire.
158 N_ligne = [   ..
159     63.    89.    3.   ..
160     91.    56.    22.  ..
161     15.    64.    40.  ..
162     ]
163 // Sans la marque de passage à la ligne la matrix est lue ligne par ligne
164 N_carree = [
165     63.    89.    3.
166     91.    56.    22.
167     15.    64.    40.
168     ]
169
170 // Dans les instructions très longues telles que les uicontrol() où l'indication de nombreuses
171 //  propriétés est souvent requise, la marque .. de continuation est quasi incontournable. Elle
172 //  permet d'écrire une propriété par ligne, ce qui rend le code lisible et compatible avec
173 //  les règles de style de code de Scilab :
174 fig = figure("figure_name", "FIGURE", ..
175              "dockable",    "off", ..
176              "axes_size",   [990,670], ..
177              "infobar_visible", "off", ..
178              "toolbar",     "none", ..
179              "menubar_visible", "on", ..
180              "menubar",     "none", ..
181              "default_axes","off", ..
182              "layout",      "border", ..
183              "background",  color(244,244,244), ..
184              "tag",         "figure_1", ..
185              "visible",     "on");
186
187 // Appels de fonctions orientés console (sans les () ) avec un paramètre ".." :
188 d = pwd(); cd SCI/contrib
189 cd ..   // équivaut à cd("..") et n'attend rien en ligne suivante
190 cd(d)   // (retour à votre dossier initial)
191
192 // Cette expression ne fonctionne plus dans Scilab 6
193 a = "Je commence à écrire une très longue chaîne de caractères...
194      - et je continue ici"
195 // L'expression suivante est celle à utiliser
196 a = "Je commence à écrire une très longue chaîne de caractères"+...
197     "    - et je continue ici"
198 // Cette expression n'est plus autorisée dans Scilab 6: Les singletons doivent être écrits sur une ligne
199 y = 12..
200 45
201  ]]></programlisting>
202     </refsection>
203     <refsection role="see also">
204         <title>Voir aussi</title>
205         <simplelist type="inline">
206             <member>
207                 <link linkend="star">star</link>
208             </member>
209             <member>
210                 <link linkend="hat">hat</link>
211             </member>
212             <member>
213                 <link linkend="slash">slash</link>
214             </member>
215             <member>
216                 <link linkend="backslash">backslash</link>
217             </member>
218             <member>
219                 <link linkend="whereami">whereami</link>
220             </member>
221             <member>
222                 <link linkend="edit">edit</link>
223             </member>
224         </simplelist>
225     </refsection>
226     <refsection>
227         <title>Historique</title>
228         <revhistory>
229             <revision>
230                 <revnumber>6.0.0</revnumber>
231                 <revremark>
232                     <para>
233                         Il est désormais impossible de couper un scalaire.
234                     </para>
235                     <para>
236                         Pour couper une chaîne de caractères, les opérateurs "+ .." doivent être utilisés.
237                     </para>
238                     <para>Dans les appels de fonctions en mode orienté console,
239                         <literal>myfun ..</literal> n'attend plus de suite en ligne suivante.
240                     </para>
241                 </revremark>
242             </revision>
243         </revhistory>
244     </refsection>
245 </refentry>