diff options
Diffstat (limited to 'fr-fr')
-rw-r--r-- | fr-fr/awk-fr.html.markdown | 146 | ||||
-rw-r--r-- | fr-fr/git-fr.html.markdown | 2 | ||||
-rw-r--r-- | fr-fr/rust-fr.html.markdown | 4 | ||||
-rw-r--r-- | fr-fr/set-theory-fr.html.markdown | 28 |
4 files changed, 104 insertions, 76 deletions
diff --git a/fr-fr/awk-fr.html.markdown b/fr-fr/awk-fr.html.markdown index 75c48811..9e45a89b 100644 --- a/fr-fr/awk-fr.html.markdown +++ b/fr-fr/awk-fr.html.markdown @@ -10,13 +10,19 @@ lang: fr-fr --- -AWK est un outil standard présent dans chaque système UNIX conforme aux normes POSIX. -C’est un outil en ligne de commande qui ressemble au Perl et qui est excellent dans les tâches de traitement de fichiers texte. -Vous pouvez l’appeler à partir d’un script shell, ou l’utiliser comme un langage de script autonome. +AWK est un outil standard présent dans chaque système UNIX conforme aux normes +POSIX. C’est un outil en ligne de commande qui ressemble au Perl et qui est +excellent dans les tâches de traitement de fichiers texte. +Vous pouvez l’appeler à partir d’un script shell, ou l’utiliser comme un langage +de script autonome. Pourquoi utiliser AWK au lieu du langage Perl ? -Principalement, car AWK fait partie d'UNIX et est donc présent par défaut sur une très grande partie des systèmes d'exploitation UNIX et Linux. -AWK est aussi plus facile à lire que le langage Perl ; et est l'outil idéal pour ce qui concerne le traitement de texte simple. Notamment le traitement de ceux qui necéssitent de lire des fichiers ligne par ligne ; chaque ligne comportant des champs séparés par des délimiteur. +Principalement, car AWK fait partie d'UNIX et est donc présent par défaut sur +une très grande partie des systèmes d'exploitation UNIX et Linux. +AWK est aussi plus facile à lire que le langage Perl ; et est l'outil idéal pour +ce qui concerne le traitement de texte simple. Notamment le traitement de ceux +qui nécessitent de lire des fichiers ligne par ligne ; chaque ligne comportant +des champs séparés par des délimiteur. ```awk @@ -30,17 +36,25 @@ règle1 { action; } règle2 { action; } # AWK lit et analyse automatiquement chaque ligne de chaque fichier fourni. -# Chaque ligne est divisée par un délimiteur FS qui est par défaut l'espace (plusieurs espaces ou une tabulation comptent pour un espace). Ce délimiteur peut être changer grâce à l'option -F ou être renseigné au début d'un bloc (exemple: FS = " "). - -# BEGIN est une règle spécifique exécutée au début du programme. C'est à cet endroit que vous mettrez tout le code à exécuter avant de traiter les fichiers texte. Si vous ne disposez pas de fichiers texte, considérez BEGIN comme le point d’entrée principal du script. -# A l'opposé de BEGIN, il existe la règle END. Cette règle est présente après chaque fin de fichier (EOF : End Of File). +# Chaque ligne est divisée par un délimiteur FS qui est par défaut l'espace +# (plusieurs espaces ou une tabulation comptent pour un espace). Ce délimiteur +# peut être changé grâce à l'option -F ou être renseigné au début d'un bloc +# (exemple: FS = " "). + +# BEGIN est une règle spécifique exécutée au début du programme. C'est à cet +# endroit que vous mettrez tout le code à exécuter avant de traiter les fichiers +# texte. Si vous ne disposez pas de fichiers texte, considérez BEGIN comme le +# point d’entrée principal du script. +# À l'opposé de BEGIN, il existe la règle END. Cette règle est présente après +#chaque fin de fichier (EOF : End Of File). BEGIN { # Les variables sont globales. Pas besoin de les déclarer. count = 0; - # les opérateurs sont identiques au langage C et aux langages similaires (exemple: C#, C++) + # les opérateurs sont identiques au langage C et aux langages similaires + # (tels que C#, C++, etc.) a = count + 1; # addition b = count - 1; # soustraction c = count * 1; # multiplication @@ -74,7 +88,8 @@ BEGIN { # Les blocs sont composés d'une multitude de lignes entre accolades while (a < 10) { - print "La concaténation de chaînes de caractères" " se fait avec des séries de chaînes " " séparées par des espaces"; + print "La concaténation de chaînes de caractères" " se fait avec" + "des séries de chaînes " "séparées par des espaces"; print a; a++; @@ -113,7 +128,9 @@ BEGIN { assoc["foo"] = "bar"; assoc["bar"] = "baz"; - # et les tableaux multi-dimentions, avec certaines limitations que l'on ne mentionnera pas ici + # et les tableaux multi-dimensions, avec certaines limitations que l'on ne + # mentionnera pas ici + multidim[0,0] = "foo"; multidim[0,1] = "bar"; multidim[1,0] = "baz"; @@ -123,7 +140,8 @@ BEGIN { if ("foo" in assoc) print "Fooey!"; - # Vous pouvez aussi utilisez l'opérateur 'in' pour parcourir les clés d'un tableau + # Vous pouvez aussi utilisez l'opérateur 'in' pour parcourir les clés + # d'un tableau for (key in assoc) print assoc[key]; @@ -132,10 +150,12 @@ BEGIN { print ARGV[argnum]; # Vous pouvez supprimer des éléments d'un tableau - # C'est utile pour empêcher AWK de supposer que certains arguments soient des fichiers à traiter. + # C'est utile pour empêcher AWK de supposer que certains arguments soient + # des fichiers à traiter. + delete ARGV[1]; - # Le nombre d'arguments de la ligne de commande est dans une variable appellée ARGC + # Le nombre d'arguments de la ligne de commande est assigné à la variable ARGC print ARGC; # AWK inclue trois catégories de fonction. @@ -149,22 +169,24 @@ BEGIN { # Voici comment définir une fonction function arithmetic_functions(a, b, c, d) { - # La partie la plus ennuieuse de AWK est probablement l’absence de variables locales. - # Tout est global. Pour les scripts courts, c'est très utile, mais pour les scripts plus longs, - # cela peut poser problème. + # La partie la plus ennuyeuse de AWK est probablement l’absence de variables + # locales. Tout est global. Pour les scripts courts, c'est très utile, mais + # pour les scripts plus longs, cela peut poser un problème. - # Il y a cepandant une solution de contournement (enfin ... une bidouille). + # Il y a cependant une solution de contournement (enfin ... une bidouille). # Les arguments d'une fonction sont locaux à cette fonction. # Et AWK vous permet de définir plus d'arguments à la fonction que nécessaire. # Il suffit donc de mettre une variable locale dans la déclaration de fonction, - # comme ci-dessus. La convention veut que vous mettiez quelques espaces supplémentaires - # pour faire la distinction entre les paramètres réels et les variables locales. + # comme ci-dessus. La convention veut que vous mettiez quelques espaces + # supplémentaires pour faire la distinction entre les paramètres réels et + # les variables locales. # Dans cet exemple, a, b et c sont des paramètres réels, # alors que d est simplement une variable locale. # Maintenant, les fonctions arithmétiques - # La plupart des implémentations de AWK ont des fonctions trigonométriques standards + # La plupart des implémentations de AWK ont des fonctions trigonométriques + # standards localvar = sin(a); localvar = cos(a); localvar = atan2(b, a); # arc tangente de b / a @@ -180,10 +202,10 @@ function arithmetic_functions(a, b, c, d) { localvar = int(5.34); # localvar => 5 # Les nombres aléatoires - srand(); + srand(); # L'argument de la fonction srand() est la valeur de départ pour générer # les nombres aléatoires . Par défaut, il utilise l'heure du système - + localvar = rand(); # Nombre aléatoire entre 0 et 1. # Maintenant on retourne la valeur @@ -195,11 +217,13 @@ function string_functions( localvar, arr) { # AWK a plusieurs fonctions pour le traitement des chaînes de caractères, # dont beaucoup reposent sur des expressions régulières. - # Chercher et remplacer, la première occurence (sub) ou toutes les occurences (gsub) + # Chercher et remplacer, la première occurrence (sub) ou toutes les + # occurrences (gsub) # Les deux renvoient le nombre de correspondances remplacées + localvar = "fooooobar"; sub("fo+", "Meet me at the ", localvar); # localvar => "Meet me at the bar" - gsub("e+", ".", localvar); # localvar => "m..t m. at th. bar" + gsub("e", ".", localvar); # localvar => "m..t m. at th. bar" # Rechercher une chaîne de caractères qui correspond à une expression régulière # index() fait la même chose, mais n'autorise pas les expressions régulières @@ -226,7 +250,8 @@ function io_functions( localvar) { printf("%s %d %d %d\n", "Testing", 1, 2, 3); # AWK n'a pas de descripteur de fichier en soi. Il ouvrira automatiquement - # un descripteur de fichier lorsque vous utilisez quelque chose qui en a besoin. + # un descripteur de fichier lorsque vous utilisez quelque chose qui en a + # besoin. # La chaîne de caractères que vous avez utilisée pour cela peut être traitée # comme un descripteur de fichier à des fins d'entrée / sortie. @@ -241,11 +266,12 @@ function io_functions( localvar) { # Voici comment exécuter quelque chose dans le shell system("echo foobar"); # => affiche foobar - # Lire quelque chose depuis l'entrée standard et la stocker dans une variable locale + # Lire quelque chose depuis l'entrée standard et la stocker dans une variable + # locale getline localvar; - # Lire quelque chose à partir d'un pipe (encore une fois, utilisez une chaine de caractère - # que vous fermerez proprement) + # Lire quelque chose à partir d'un pipe (encore une fois, utilisez une + # chaîne de caractère que vous fermerez proprement) "echo foobar" | getline localvar # localvar => "foobar" close("echo foobar") @@ -256,18 +282,19 @@ function io_functions( localvar) { } # Comme dit au début, AWK consiste en une collection de règles et d'actions. -# Vous connaissez déjà les règles BEGIN et END. Les autres règles ne sont utilisées que si vous traitez -# des lignes à partir de fichiers ou l'entrée standard (stdin). -# Quand vous passez des arguments à AWK, ils sont considérés comme des noms de fichiers à traiter. -# AWK les traitera tous dans l'ordre. Voyez les comme dans à une boucle implicite, -# parcourant les lignes de ces fichiers. -# Ces règles et ces actions ressemblent à des instructions switch dans la boucle. +# Vous connaissez déjà les règles BEGIN et END. Les autres règles ne sont +# utilisées que si vous traitez des lignes à partir de fichiers ou l'entrée +# standard (stdin). +# Quand vous passez des arguments à AWK, ils sont considérés comme des noms de +# fichiers à traiter. AWK les traitera tous dans l'ordre. Voyez les comme dans +# une boucle implicite, parcourant les lignes de ces fichiers. Ces règles et ces +# actions ressemblent à des instructions switch dans la boucle. /^fo+bar$/ { - # Cette action sera exécutée pour chaque ligne qui correspond à l'expression régulière, - # /^fo+bar$/, et sera ignorée pour toute ligne qui n'y correspond pas. - # Imprimons simplement la ligne: + # Cette action sera exécutée pour chaque ligne qui correspond à l'expression + # régulière, /^fo+bar$/, et sera ignorée pour toute ligne qui n'y correspond + # pas. Imprimons simplement la ligne: print; @@ -275,14 +302,15 @@ function io_functions( localvar) { # $0 est le nom de la ligne en cours de traitement. Il est créé automatiquement. # Vous devinez probablement qu'il existe d'autres variables $. - # Chaque ligne est divisée implicitement avant que chaque action soit exécutée, comme - # le fait le shell. Et, comme le shell, chaque champ est accessible avec un signe dollar + # Chaque ligne est divisée implicitement avant que chaque action soit exécutée, + # comme le fait le shell. Et, comme le shell, chaque champ est accessible + # avec un signe dollar # Ceci affichera les deuxième et quatrième champs de la ligne. print $2, $4; - # AWK défini automatiquement beaucoup d'autres variables qui peuvent vous aider - # à inspecter et traiter chaque ligne. La plus importante est NF + # AWK défini automatiquement beaucoup d'autres variables qui peuvent vous + # aider à inspecter et traiter chaque ligne. La plus importante est NF # Affiche le nombre de champs de la ligne print NF; @@ -291,33 +319,37 @@ function io_functions( localvar) { print $NF; } -# Chaque règle est en réalité un test conditionel. +# Chaque règle est en réalité un test conditionnel. a > 0 { # Ceci s’exécutera une fois pour chaque ligne, tant que le test est positif } -# Les expressions régulières sont également des tests conditionels. -#Si le test de l'expression régulières n'est pas vrais alors le bloc n'est pas executé -$0 /^fobar/ { - print "la ligne commance par fobar" +# Les expressions régulières sont également des tests conditionnels. +# Si le test de l'expression régulières n'est pas vrais alors le bloc +# n'est pas exécuté. + +$0 /^fobar/ { + print "la ligne commence par foobar" } -# Dans le cas où vous voulez tester votre chaine de caractères sur la ligne en cours de traitement -# $0 est optionnelle. +# Dans le cas où vous voulez tester votre chaîne de caractères sur la ligne +# en cours de traitement $0 est optionnelle. /^[a-zA-Z0-9]$/ { print "La ligne courante ne contient que des caractères alphanumériques."; } -# AWK peut parcourir un fichier texte ligne par ligne et exécuter des actions en fonction de règles établies -# Cela est si courant sous UNIX qu'AWK est un langage de script. +# AWK peut parcourir un fichier texte ligne par ligne et exécuter des actions en +# fonction de règles établies. Cela est si courant sous UNIX qu'AWK est un +# langage de script. -# Ce qui suit est un exemple rapide d'un petit script, pour lequel AWK est parfait. -# Le script lit un nom à partir de l'entrée standard, puis affiche l'âge moyen de toutes les -# personnes portant ce prénom. -# Supposons que vous fournissiez comme argument le nom d'un fichier comportant ces données: +# Ce qui suit est un exemple rapide d'un petit script, pour lequel AWK est +# parfait. Le script lit un nom à partir de l'entrée standard, puis affiche +# l'âge moyen de toutes les personnes portant ce prénom. +# Supposons que vous fournissiez comme argument le nom d'un fichier comportant +# ces données: # # Bob Jones 32 # Jane Doe 22 @@ -330,7 +362,7 @@ $0 /^fobar/ { BEGIN { # Premièrement, on demande à l'utilisateur le prénom voulu - print "Pour quel prénom vouldriez vous savoir l'age moyen ?"; + print "Pour quel prénom voudriez vous savoir l'age moyen ?"; # On récupère la ligne à partir de l'entrée standard, pas de la ligne de commande getline name < "/dev/stdin"; diff --git a/fr-fr/git-fr.html.markdown b/fr-fr/git-fr.html.markdown index 510459fe..00b6b6e1 100644 --- a/fr-fr/git-fr.html.markdown +++ b/fr-fr/git-fr.html.markdown @@ -574,8 +574,6 @@ $ git rm /chemin/vers/le/fichier/HelloWorld.c * [SalesForce Cheat Sheet (EN)](https://na1.salesforce.com/help/doc/en/salesforce_git_developer_cheatsheet.pdf) -* [GitGuys (EN)](http://www.gitguys.com/) - * [Git - the simple guide (EN)](http://rogerdudler.github.io/git-guide/index.html) * [Livre Pro Git](http://www.git-scm.com/book/fr/v1) diff --git a/fr-fr/rust-fr.html.markdown b/fr-fr/rust-fr.html.markdown index a61f78be..6fc0d07d 100644 --- a/fr-fr/rust-fr.html.markdown +++ b/fr-fr/rust-fr.html.markdown @@ -1,5 +1,5 @@ --- -language: rust +language: Rust contributors: - ["P1start", "http://p1start.github.io/"] translators: @@ -309,7 +309,7 @@ fn main() { Il y a beaucoup plus à Rust -- ce est juste l'essentiel de Rust afin que vous puissiez comprendre les choses les plus importantes. Pour en savoir plus sur Rust, lire [La Programmation Rust -Langue](http://doc.rust-lang.org/book/index.html) et etudier la +Langue](http://doc.rust-lang.org/book/index.html) et étudier la [/r/rust](http://reddit.com/r/rust) subreddit. Les gens sur le canal de #rust sur irc.mozilla.org sont aussi toujours prêts à aider les nouveaux arrivants. diff --git a/fr-fr/set-theory-fr.html.markdown b/fr-fr/set-theory-fr.html.markdown index 50a4ea30..543bd98b 100644 --- a/fr-fr/set-theory-fr.html.markdown +++ b/fr-fr/set-theory-fr.html.markdown @@ -1,11 +1,11 @@ -``` --- -category: tool -lang: fr-fr +category: Algorithms & Data Structures name: Set theory +lang: fr-fr contributors: - - ["kieutrang", "https://github.com/kieutrang1729"] + - ["kieutrang", "https://github.com/kieutrang1729"] --- + La théorie des ensembles est une branche des mathématiques qui étudie les ensembles, leurs opérations et leurs propriétés. * Un ensemble est une collection d'éléments disjoints. @@ -32,9 +32,9 @@ La théorie des ensembles est une branche des mathématiques qui étudie les ens * `ℚ`, l'ensemble des nombres rationnels ; * `ℝ`, l'ensemble des nombres réels. -Quelques mise en gardes sur les ensembles definis ci-dessus: +Quelques mise en gardes sur les ensembles définis ci-dessus: 1. Même si l'ensemble vide ne contient aucun élément, il est lui-même un sous-ensemble de n'importe quel ensemble. -2. Il n'y a pas d'accord général sur l'appartenance de zéro dans l'ensemble des nombres naturels, et les livres indiquent explicitment si l'auteur considère le zéro comme nombre naturel ou pas. +2. Il n'y a pas d'accord général sur l'appartenance de zéro dans l'ensemble des nombres naturels, et les livres indiquent explicitement si l'auteur considère le zéro comme nombre naturel ou pas. ### Cardinalité @@ -43,7 +43,7 @@ La cardinalité, ou taille, d'un ensemble est déterminée par le nombre d'élé Par exemple, si `S = { 1, 2, 4 }`, alors `|S| = 3`. ### L'ensemble vide -* L'ensemble vide peut se définir en comprehension à l'aide d'une propriété qui n'est satisfaite par nul élément, e.g. `∅ = { x : x ≠ x }`, ou `∅ = { x : x ∈ N, x < 0 }`. +* L'ensemble vide peut se définir en compréhension à l'aide d'une propriété qui n'est satisfaite par nul élément, e.g. `∅ = { x : x ≠ x }`, ou `∅ = { x : x ∈ N, x < 0 }`. * il n'y a qu'un seul ensemble vide. * l'ensemble vide est sous-ensemble de tout ensemble. * la cardinalité de l'ensemble vide est 0, ou `|∅| = 0`. @@ -54,9 +54,9 @@ Par exemple, si `S = { 1, 2, 4 }`, alors `|S| = 3`. Un ensemble peut être defini en extension par une liste de tous les éléments qui sont contenus dans l'ensemble. Par exemple, `S = { a, b, c, d }`. -Quand le contexte est clair, on peut raccourcir la liste en utilisant des points de suspension. Par exemple, `E = { 2, 4, 6, 8, ... }` est clairement l'ensemble de tous les nombres pairs, contenant un nombre infini des éléments, même si on a explicitement écrit seulement les quatres premiers. +Quand le contexte est clair, on peut raccourcir la liste en utilisant des points de suspension. Par exemple, `E = { 2, 4, 6, 8, ... }` est clairement l'ensemble de tous les nombres pairs, contenant un nombre infini des éléments, même si on a explicitement écrit seulement les quatre premiers. -### Définition par comprehension +### Définition par compréhension C'est une notation plus descriptif qui permet de définir un ensemble à l'aide d'un sujet et d'une propriété, et il est noté `S = { sujet : propriété }`. Par exemple, @@ -76,18 +76,18 @@ D = { 2x : x ∈ N } = { 0, 2, 4, 6, 8, ... } ### Appartenance -* Si l'élement `a` est dans l'ensemble `A`, on dit que `a` appartient à `A` et on le note `a ∈ A`. -* Si l'élement `a` n'est pas dans l'ensemble `A`, on dit que `a` n'appartient pas à `A` et on le note `a ∉ A`. +* Si l'élément `a` est dans l'ensemble `A`, on dit que `a` appartient à `A` et on le note `a ∈ A`. +* Si l'élément `a` n'est pas dans l'ensemble `A`, on dit que `a` n'appartient pas à `A` et on le note `a ∉ A`. ### Égalité * On dit que deux ensembles `A` et `B` sont égaux s'ils contiennent les mêmes éléments, et on le note `A = B`. * Les ensembles n'ont pas de notion d'ordre, par exemple `{ 1, 2, 3, 4 } = { 2, 3, 1, 4 }`. * Un élément ne peut apparaître qu'au plus une seule fois - il n'y a jamais de répétition, e.g. `{ 1, 2, 2, 3, 4, 3, 4, 2 } = { 1, 2, 3, 4 }`. -* Deux ensembles `A` and `B` sont égaux si et seulement si `A ⊆ B` and `B ⊆ A`. +* Deux ensembles `A` et `B` sont égaux si et seulement si `A ⊆ B` et `B ⊆ A`. ## Ensemble puissance -* L'ensemble puissance d'un ensemble `A` est l'ensemble contenant tous les sous-ensembles de `A`. Il est noté `P(A)`. Si la cardinalité d'`A` est `n`, la cardinalité de `P(A)` est `2^n`. +* L'ensemble puissance d'un ensemble `A` est l'ensemble contenant tous les sous-ensembles de `A`. Il est noté `P(A)`. Si la cardinalité de `A` est `n`, la cardinalité de `P(A)` est `2^n`. ``` P(A) = { x : x ⊆ A } @@ -130,5 +130,3 @@ Le produit cartésien de deux ensembles `A` et `B` est l'ensemble contenant tous ``` A × B = { (x, y) | x ∈ A, y ∈ B } ``` - -``` |