OpenLLM-France/wikimedia huggingface dataset:
# Programmation C/Conclusion

* Programmation C
* Sommaire
* Introduction
* Bases du langage
* Types de base
* Classe de stockage
* Opérateurs
* Tests
* Itérations
* Fonctions
* Tableaux
* Pointeurs
* Types avancés
* Préprocesseur
* Bibliothèque
* Chaînes
* Entrées/sorties
* Erreurs
* Mathématiques
* Courbe de Bézier
* Triangle de Sierpiński
* Gestion de la mémoire
* Gestion des signaux
* Conclusion
* Bibliographie
* Modifier ce modèle
Le C est un langage plein de paradoxes. Pouvant aussi bien s'accommoder d'applications bas niveau que proposer des interfaces relativement proches des méthodes orientées objets, ce langage a de quoi séduire un large public. Pourtant, force est de constater qu'il a fait souffrir beaucoup de personnes et pas seulement les programmeurs. Issu de l'époque où la mémoire et les capacités de calcul étaient encore des denrées rares et chères, les pionniers de la programmation ont trop souvent privilégié le côté bas niveau de ce langage. Il en résulta des applications difficilement maintenables, abusant des aspects les plus complexes ou non-portables qu'offre le C pour économiser le moindre cycle processeur. C'est de cette époque que sa réputation « d'assembleur plus compliqué et plus lent que l'assembleur » s'est forgée, éclipsant ses aspects de plus haut niveau, qui pourtant méritent une meilleure estime.
Les fonctions de la bibliothèque standard et surtout le langage lui-même contiennent beaucoup de « pièges », notamment par les comportements indéfinis, ou dépendants de l'implémentation, qui rendent des bogues parfois très difficiles à découvrir. Le programmeur doit comprendre que le C lui fournit de grandes possibilités, mais qu'en retour il lui demande une rigueur d'autant plus grande. Apprivoiser ce langage peut nécessiter une longue phase d'apprentissage. Nous espérons que cet ouvrage vous aura permis d'appréhender le C avec plus de sérénité et de casser certains mythes qui ont décidément la vie bien dure.
Il existe beaucoup de bibliothèques qui proposent au programmeur C des outils pour étendre la bibliothèque standard, et permettent ainsi la gestion d'interfaces graphiques, la programmation réseau, le gestion de l'internationalisation, etc. Celles-ci sont très riches, et bien trop nombreuses pour être abordées dans ce livre. Wikilivres propose des livres étudiant certaines de ces bibliothèques. Pour les autres, Internet et ses moteurs de recherche restent de loin les meilleurs outils pour trouver ce dont vous aurez nécessairement besoin.
Le langage C a su s'adapter, d'Unix aux téléphones mobiles, de l'ISO-646 à Unicode. Le C est aujourd'hui un langage encore très utilisé. C'est LE langage de développement de la plupart des micro-contrôleurs actuels. Il a remplacé l'assembleur pour les petites applications. Pour les « grosses » applications tournant sur des OS (Windows, Linux, etc…), il est concurrencé par d'autres langages comme son dérivé le C++, un langage objet encore plus subtil mais permettant tout de même le développement d'applications complexes.

## Voir aussi

* Autotools en C
# Programmation C/Courbe de Bézier

* Programmation C
* Sommaire
* Introduction
* Bases du langage
* Types de base
* Classe de stockage
* Opérateurs
* Tests
* Itérations
* Fonctions
* Tableaux
* Pointeurs
* Types avancés
* Préprocesseur
* Bibliothèque
* Chaînes
* Entrées/sorties
* Erreurs
* Mathématiques
* Courbe de Bézier
* Triangle de Sierpiński
* Gestion de la mémoire
* Gestion des signaux
* Conclusion
* Bibliographie
* Modifier ce modèle
Ce code permet de tracer une courbe de Bézier définie par 4 points de contrôle. C'est donc une courbe cubique. Cet algorithme est une implémentation de l'algorithme de Casteljau.
Pour adapter ce code C à votre système, il vous suffit de remplacer la procédure de tracé de segment (ici en OpenGL).
La structure Global_Bezier contient les 4 points de contrôle de la courbe de Bézier à tracer. level contient le nombre d'appel récursif.
# Programmation C/Avant-propos

Nous proposons, par ce livre, d'apprendre la programmation en langage C. Dans ce livre, nous supposerons que le lecteur a des notions de base en programmation, algorithmique et structures de données ; si vous n'en avez pas ou si vous voulez réviser des notions pendant l'apprentissage du C, vous pouvez consulter les Wikilivres associés : Programmation, Algorithmique et Structures de données.
Le langage C permet d'appréhender des principes informatiques de bas niveau, liés à l'architecture d'un ordinateur, comme la gestion de la mémoire. Si la connaissance de ces principes peut aider à comprendre certains côtés du langage C, ils ne sont cependant pas nécessaires pour lire ce Wikilivre, les concepts étant expliqués chaque fois que cela est nécessaire.
Ce livre, en constante évolution, est issu d'un projet collaboratif. Si vous trouvez des erreurs, vous pouvez le corriger directement à l'aide des liens « Modifier » sur chaque page. Vous pouvez poser des questions et apporter vos remarques en laissant un nouveau message sur la page de discussion de ce livre. Toute question ou participation est la bienvenue !
Bonne lecture !
# Programmation C/Bibliographie

* Programmation C
* Sommaire
* Introduction
* Bases du langage
* Types de base
* Classe de stockage
* Opérateurs
* Tests
* Itérations
* Fonctions
* Tableaux
* Pointeurs
* Types avancés
* Préprocesseur
* Bibliothèque
* Chaînes
* Entrées/sorties
* Erreurs
* Mathématiques
* Courbe de Bézier
* Triangle de Sierpiński
* Gestion de la mémoire
* Gestion des signaux
* Conclusion
* Bibliographie
* Modifier ce modèle
Vous trouverez ici des références d'ouvrages ou de sites internet ayant servi à l'élaboration de ce wikilivre, ou pouvant être d'intérêt pour une connaissance plus approfondie du C.

## Site officiel du WG14 et références normatives

* Le site officiel du WG14 anglais. Contient de nombreuses informations sur le C, dont les dernières propositions en discussion pour l'évolution de la norme. Attention toutefois, ces documents sont globalement très techniques. On peut noter la présence du Rationale pour la norme C99, qui lui est abordable.
** Le TC3 n'est pas disponible sur le site du WS, mais sur celui de l'ISO.
* Rationale de la norme ANSI X3.159-1989 anglais (absent du site du WG14)
* La page du wiki du groupe de discussion comp.lang.c référençant les documents normatifs et les moyens d'acquérir la norme anglais.

## Livres

* Le « K&R »:
** Brian W. Kernighan et Dennis M. Ritchie. Le Langage C: Norme ANSI, 2e éd., Dunod, (ISBN 2-100-05116-4) [présentation en ligne]
** (anglais) Brian W. Kernighan et Dennis M. Ritchie. The C Programming Language, Second Edition. Prentice Hall, Inc., 1988. (ISBN 0-13-110362-8) [présentation en ligne]
* Le site Developpez.com propose des critiques de livres sur le C ici (la page contient aussi des livres sur le C++).

## Compilateurs C

* Le wiki de comp.lang.c liste ici un certain nombre de compilateurs en précisant leur support des normes C90 et C99 anglais.

## Autres ressources
### Tutoriels

* Les bases du langage C par William Waisse.

### Histoire du C

* The Development of the C Language par Dennis Ritchie anglais.
* Historique de C par Marc Mongenet.
# Programmation C/Bibliothèque standard

* Programmation C
* Sommaire
* Introduction
* Bases du langage
* Types de base
* Classe de stockage
* Opérateurs
* Tests
* Itérations
* Fonctions
* Tableaux
* Pointeurs
* Types avancés
* Préprocesseur
* Bibliothèque
* Chaînes
* Entrées/sorties
* Erreurs
* Mathématiques
* Courbe de Bézier
* Triangle de Sierpiński
* Gestion de la mémoire
* Gestion des signaux
* Conclusion
* Bibliographie
* Modifier ce modèle
La bibliothèque standard du langage C peut paraître relativement pauvre par rapport à d'autres langages tout en un plus récents comme Python, Ruby, Perl, C# ou Java. Conçue avant tout avec un souci de portabilité, et en ayant en tête les contraintes matérielles limitées de certaines plate-formes auxquelles le C est aussi destiné, vous obtenez avec cela le plus petit dénominateur commun qui puisse être porté sur le plus grand nombre de plateformes. Les contraintes qu'ont subies l'ANSI, et le WG14 après lui, portant principalement sur les contraintes de portabilité sur certaines architectures parfois « exotiques », et la très forte contrainte de ne pas « casser » du code existant reposant sur un comportement déjà établi, voire normalisé, font que certains points connus pour être complexes, voire peu souhaitables, sont restés dans le langage et la bibliothèque standard.
Concevoir une application avec les seules fonctions présentes dans cette bibliothèque nécessite une très grande rigueur. Le WG14 ne s'étant pas fixé pour but d'étendre la bibliothèque standard de manière importante, il est plus que conseillé de se tourner vers des bibliothèques de plus haut niveau, afin d'éviter de réinventer inutilement la roue. Il en existe heureusement beaucoup, mais décrire ne serait-ce que ce qui existe est hors de la portée de cet ouvrage.
La bibliothèque standard permet toutefois de faire des traitements usuels avec peu d'efforts, pour peu qu'on ait conscience des dangers et des pièges qui sont parfois tendus. Les sections qui suivent permettront de voir un peu plus clair dans les méandres parfois très sombres où s'aventure le C.

## Voir aussi

Cours sur Wikiversity sur l'utilisation des fonctions standards du langage C.
# Recherche d'information sur l'internet/Web profond
## Définition

Un obstacle à une bonne recherche d'information sur l'internet est qu'un très grand nombre de pages web ne sont pas ou sont mal repérées par les moteurs de recherche - on parle alors de "web invisible" ou "web profond" - il s'agit notamment de :
* sites exploitant des bases de données (les pages d'interrogation sont repérées mais pas le contenu des bases de données)
Exemples :
** certaines librairies en ligne, les catalogues de bibliothèques (par ex. catalogues des bibliothèques des nations-unies http://www.unsystem.org/en/libraries/index.html), ...
** pour le cinéma : http://www.IMDB.com
** pour les CD : http://FreeDB.org (ou CDDB sur http://www.Gracenote.com)
* sites protégés par mot de passe
* et tous les sites mal référencés... (cf la théorie du "nœud papillon")
Mais les progrès des moteurs permettent de diminuer la part de ce "web invisible", par exemple, Google et HotBot indexent désormais le contenu des documents pdf et Microsoft Office (doc, xls, ppt) et Alltheweb les pages en "Flash"© On trouve également des "métamoteurs" (ou "métaportails") spécialisés :

## Moteurs spécialisés : recherche dans plusieurs bases de données

Certains "metaportails" offrent la possibilité de recherche simultanée dans plusieurs bases de données.
Des outils en ligne, comme Turbo 10 (http://www.turbo10.com), ou téléchargeables, comme Copernic (http://www.copernic.com) ou Strategic finder (http://www.digimind.fr), peuvent lancer une requête simultanément dans plusieurs bases de données (notamment dans celles des librairies en ligne).
C'est également le principe des comparateurs de prix.

### Ouvrages en ligne

Internet public library (reading room) http://www.ipl.org/div/reading

### Presse
#### Les métamoteurs de recherche d'articles

World News http://www.wn.com ; Rocket News www.rocketnews.com ; Worldpress Review http://worldpress.org/search
interrogent simultanément les journaux en ligne du monde entier.
Google news http://news.google.fr compose automatiquement sa "une" en fonction des sujets les plus traités par les sources qu'il recense.
DeepIndex actualités http://www.news.deepindex.com/ recherche sur la presse en ligne francophone.

#### Les bases de données d'articles

FindArticles http://www.findarticles.com possède sa propre base de données d'articles - ceux-ci n'étant pas tous accessibles en ligne par ailleurs.
Worldpress http://worldpress.org/search offre également accès à sa propre base de données de fiches pays et de documents "exclusifs"

## Répertoires spécialisés

Il est aussi utile de connaître des répertoires spécialisés dans les domaines qui vous intéressent.

## Liens externes

http://c.asselin.free.fr/french/invisible_web.htm
http://archimag.com/index.php?id=2252
# Recherches sur les naissances « physiologique » et « naturelle »

Savoir si les naissances doivent être médicalisées ou au contraire laissées avec le moins de contraintes est un questionnement permanent, tant pour les personnes qui accouchent que pour les professionnel·les de santé.
Plusieurs courants philosophiques entourant la naissance sont nés durant les deux siècles écoulés, dont celui de la naissance "physiologique", qui s’interpénètre avec celui de la naissance "naturelle". Faut-il leur donner du crédit, et sur quoi ?
La compilation de données a été effectuée sur demande de l'association Naît-Sens, par Richard Monvoisin, spécialiste de pensée critique et non d'obstétrique, de maïeutique ou de biochimie. L'objectif est de voir des étudiant·es et chercheur·ses chevronné·es s'emparer de chaque élément pour le vérifier, l'amender, voire l'infirmer.
    En cours d'élaboration collective
* Accès à la version complète et imprimable au départ d'un navigateur.
* Voir les statistiques de consultation de cette page.

### Sommaire

* Préambule
* Quelques généralités évolutives
* Prémisses des naissances « physiologique » et « naturelle »
* Naissance des naissances « physiologique » et « naturelle »
* Questions sur les hormones
* Questions sur le terme
* Questions diverses
* Conclusion : les pompiers-pyromanes ?
** Remerciements
** Bibliographie annexe
# Recherches sur les naissances « physiologique » et « naturelle »/Préambule

* Préambule
* Quelques généralités évolutives
* Prémisses des naissances « physiologique » et « naturelle »
* Naissance des naissances « physiologique » et « naturelle »
* Questions sur les hormones
* Questions sur le terme
* Questions diverses
* Conclusion : les pompiers-pyromanes ?
** Remerciements
** Bibliographie annexe
* Préambule
* Quelques généralités évolutives
* Prémisses des naissances « physiologique » et « naturelle »
* Naissance des naissances « physiologique » et « naturelle »
* Questions sur les hormones
* Questions sur le terme
* Questions diverses
* Conclusion : les pompiers-pyromanes ?
** Remerciements
** Bibliographie annexe
[ Modifier le sommaire ]
Ce travail de recherche a été réalisé par Richard Monvoisin (Laboratoire TIMC, équipe Thémas, Université Grenoble-Alpes) en collaboration avec Sarah Duflon, fondatrice de l'association suisse Naît-Sens. Il est incomplet, et réclame des expertises que l'auteur principal n'a pas.
Il est sous licence CC-BY-NC :
    CC = l'œuvre est librement imprimable, copiable, distribuable,
    BY = il y a obligation de citer l'auteur
    NC = il y a interdiction d’en faire profit (sauf autorisation écrite. L'auteur à toujours la possibilité d’en faire profit, avec ses associés, et son propre éditeur)

### A qui s'adresse ce livre ?

A tou·tes les professionnel·les de santé, ainsi que toute personne s'intéressant au sujet.
Attention, le chapitre sur les généralités évolutives est certainement le plus complexe.

### Qui peut modifier ce livre ?

Les modifications peuvent être faite par quiconque en a la compétence. Dans l'absolu, pour éviter le "sabotage" possible, il nous faudrait trouver une modalité de validation des contributeurices (mais nous ne savons pas laquelle ni comment la mettre en place).
Nous souhaitons que des étudiant·es sage-femmes, médecins, kinésithérapeutes/physiothérapeutes, ostéopathes, doulas, venant des établissements de Grenoble et d'ailleurs s'emparent de tel ou tel aspect et le développe dans ces pages.

### Vocabulaire

Nous faisons les choix terminologiques suivants
* éviter la substantivation du mot « femme », car il y a maintes façons (phénotypique, chromosomique, gonadique, genre) d’être une femme ;
* préférer parturiente ou personne enceinte est plus inclusif que « femme enceinte » ;
* éviter « accouchée » (terme passif) ;
* au lieu de père, préférer partenaire, accompagnant·e, voire parent 2 (sauf s’il s’agit explicitement du père) ;
* féminiser le texte dans sa version finale.
# Programmation Assembleur/x86/Opération

{{{1}}} {{{2}}}
# Programmation Assembleur/x86/Sommaire

* Introduction
* Registres
* Les flags
* Copie entre registres et mémoire
* Les branchements
* La pile
* Les interruptions
* Opérations arithmétiques et logiques
* Interactions avec les périphériques
* Index
* Conclusion
# Programmation Assembleur/x86/La pile

* Programmation Assembleur/x86
* Introduction
* Registres
* Les flags
* Copie entre registres et mémoire
* Les branchements
* La pile
* Les interruptions
* Opérations arithmétiques et logiques
* Interactions avec les périphériques
* Index
* Conclusion
* Modifier ce modèle
La pile est une zone de mémoire permettant de stocker et retrouver rapidement des valeurs pour :
* Placer des variables locales dans un sous-programme,
* Sauvegarder l'adresse de retour (fait par les instructions CALL, INT),
* Transmettre les arguments à un sous-programme.

## Fonctionnement

Une pile fonctionne à la manière d'une pile d'objets réels :
* Il est possible d'ajouter une valeur au sommet de la pile (empiler),
* Il est possible de retirer la valeur située au sommet de la pile (dépiler).
Exemple : soit une pile initialement vide

## Les registres

Deux registres sont utilisés pour gérer la pile : SS et SP. Ces deux registres forment le pointeur de pile qui pointe le sommet de la pile en mémoire.

### SS (Stack Segment)

    Donne le segment mémoire 16K utilisée par la pile.

### SP (Stack Pointer)

    Donne l'offset dans le segment de la pile du sommet.

## Les instructions
### Empiler

L'instruction PUSH permet d'empiler la valeur fournie en argument sur la pile. Plus précisément, cette instruction réalise les opérations suivantes :
* décrémenter SP du nombre d'octets occupés par la valeur spécifiée,
* copier la valeur spécifiée à l'emplacement mémoire pointé par SS:SP.
Exemple :
La décrémentation peut paraître surprenante au premier abord. Ce mode de fonctionnement vient du fait que dans le modèle mémoire initial (utilisé par les premiers BIOS et MS-DOS) le tas et la pile se partagent le même segment : le tas partant des adresses basses, et la pile des adresses hautes. Ceci permet d'éviter une limite de tas ou de pile, tout en ayant une limite pour le tas + la pile.
Le tas est la zone ou sont allouées les variables dynamiques. Dans ce modèle de mémoire, il faut donc faire un compromis entre la pile et le tas : ne pas allouer trop de mémoire sous peine de limiter la pile (récurrence des appels de sous-routines et variables dans la pile), ni allouer trop d'espace dans la pile si beaucoup d'espace mémoire est alloué.
L'instruction spéciale PUSHF (Push Flags) n'a pas d'argument et empile la valeur du registre des indicateurs (EFLAGS).
Il existe également l'instruction PUSHA pour empiler la valeur de tous les registres (Push All).

### Dépiler

L'instruction POP est l'instruction utilisée pour dépiler une valeur dans le registre ou l'adresse mémoire spécifiée en argument. Cette instruction réalise les opérations suivantes :
* copier depuis l'emplacement mémoire pointé par SS:SP vers le registre spécifié un nombre d'octets égal à sa taille,
* incrémenter SP du nombre d'octets copiés.
Exemple :
L'instruction spéciale POPF (Pop Flags) n'a pas d'argument explicite et dépile la valeur de la pile vers le registre des indicateurs (EFLAGS).
Il existe également l'instruction POPA pour dépiler la valeur de tous les registres (Pop All) sauvegardés auparavant par l'instruction PUSHA (Push All).
# Simscript III/Dictionnaire des instructions/DEFINE ... REFERENCE

Lénoncé define ... reference variablepermet de définir une valeur de référence pour les objets qui sont une instance dune classe.
| Syntaxe : | |
| | $\color {blue}{\text{define }}\color {black}nom\_objet^{c}\color {blue}{\text{ as }}\!\![\!\!{\text{ a }}\!\![\!\!{\text{ n }}\!\!]\!\!{\text{ }}\!\!]\!\!{\text{ }}\left[{\text{1-dim}}\left[{\text{ensional}}\right]\right]{\text{ }}\color {black}Nom\_Classe\color {blue}{\text{ reference }}\left\{{\begin{matrix}{\text{variable}}\left[{\text{s}}\right]\\{\text{array}}\left[{\text{s}}\right]\\\end{matrix}}\right\}$ |
Ces objets héritent des attributs, des méthodes et des ensembles définis de la classe. Ces objets doivent être créés par l’énoncé create et peuvent être détruits par l’énoncé destroy.
Exemple :
Un tableau d’objets peut être créé et détruit avec les énoncés suivants :
# Simscript III/Dictionnaire des instructions/DEFINE ... VARIABLE

Lénoncé define ... variablepermet de définir le type de variables globales et locales, et des attributs.
| Syntaxe : | |
| | ${\begin{matrix}\color {blue}{\text{define }}\color {black}nom{\text{-}}variable^{c}\color {blue}{\text{ as }}\!\![\!\!{\text{ a }}\!\![\!\!{\text{ n }}\!\!]\!\!{\text{ }}\!\!]\!\!{\text{ }}\color {black}\left\{{\begin{matrix}\color {blue}{\text{integer}}\\\color {blue}{\text{real}}\\\color {blue}{\text{double}}\\\color {blue}{\text{text}}\\\color {blue}{\text{alpha}}\\\color {blue}{\text{pointer}}\\\color {blue}{\text{subprogram}}\\Nom\_Classe\color {blue}{\text{ reference}}\\\end{matrix}}\color {black}\right\}\left[{\begin{matrix}{\begin{matrix}\color {blue}{\text{continuous}}\\\color {blue}{\text{subprogram}}\\\color {blue}{\text{saved}}\\\end{matrix}}\\\color {blue}{\text{recursive}}\\\end{matrix}}\color {black}\right]\color {blue}\left[{\begin{matrix}{\text{variable}}\left[{\text{s}}\right]\\{\text{array}}\left[{\text{s}}\right]\\\end{matrix}}\right]\\\color {blue}{\text{ }}\left[{\text{monitored on the}}\left\{{\begin{aligned}&{\text{left }}\left[c{\text{ }}\left[{\text{the}}\right]{\text{right}}\right]\\&{\text{right }}\left[c{\text{ }}\left[{\text{the}}\right]{\text{left}}\right]\\\end{aligned}}\right\}{\text{ }}\right]\\\end{matrix}}$ |
Au démarrage de la simulation, toutes les variables et attributs sont automatiquement initialisés à zéro (ou comme champ nul s’il s’agit du type text ou alpha).
Une variable monitorée [monitored] est une variable à laquelle est associée une valeur et un sous-programme. Chaque fois qu’il y a un accès à une variable monitorée, le sous-programme associé est appelé. Étant donné qu’une variable peut être monitorée à gauche ou à droite, ou à gauche et à droite, des routines à gauche et/ou à droite sont associées à cette variable. Les variables peuvent être sans indice ou indicées. Le nombre de paramètres de la routine associée doit correspondre aux nombres d’indices. Les mots left et right font référence à la gauche et/ou à la droite du signe = dans un énoncé let.
# Simscript III/Dictionnaire des instructions/CYCLE

Cet énoncé placé à lintérieur dun bloc do .... looppermet un transfert immédiat à lénoncé loop(passage à litération suivante).
Exemple :
# Simscript III/Dictionnaire des instructions/DEFINE ... ROUTINE

Cet énoncé, placé dans le preamble, définit les sous-programmes de type routine, et permet davoir un contrôle sur le nombre de paramètres entre le callet la routine. Ceet énoncé nest pas obligatoire, contrairement au define ... function.
| Syntaxe : | |
| | ${\begin{aligned}&\color {blue}{\text{define }}\color {black}nom^{c}\color {blue}{\text{ as }}\color {black}\left[\color {blue}{\text{a}}\color {black}\right]\left[{\begin{matrix}\color {blue}{\text{fortran}}\\\color {blue}{\text{nonsimscript}}\\\end{matrix}}\color {black}\right]\color {blue}{\text{routine}}\left[{\text{s}}\right]\\&\color {black}\left[\left\{{\begin{matrix}\color {blue}{\text{with}}\\\color {blue}{\text{given}}\\\color {blue}{\text{yielding}}\\\end{matrix}}\color {black}\right\}n{\text{ }}\left[k{\text{-}}\color {blue}{\text{dim}}\color {black}\left[\color {blue}{\text{ensional}}\color {black}\right]\right]\left[{\begin{matrix}\color {blue}{\text{integer}}\\\color {blue}{\text{real}}\\\color {blue}{\text{double}}\\\color {blue}{\text{alpha}}\\\color {blue}{\text{text}}\\\color {blue}{\text{pointer}}\\\color {blue}{\text{subprogram}}\\\end{matrix}}\color {black}\right]{\text{ }}\color {blue}\left\{{\begin{matrix}{\text{argument}}\left[{\text{s}}\right]\\{\text{value}}\left[{\text{s}}\right]\\\end{matrix}}\right\}\color {black}\right]\\\end{aligned}}$ |
Exemples :