Programmation C sharp/Expression régulière

En C sharp, la validation d'une chaîne de caractères peut se faire en utilisant la méthode statique codice_1 de la classe codice_2 :
using System;
using System.Text.RegularExpressions;
public class Exemple
 public static void Main()
 Console.WriteLine(Regex.IsMatch("[0-9]+", "12345")); // True
 Console.WriteLine(Regex.IsMatch("[0-9]+", "12ABC")); // False
Syntaxe.
Les expressions rationnelles en C sharp nécessitent les classes de l'espace de nom "System.Text.RegularExpressions".
Exemple.
L'exemple ci-dessous recherche les mots répétés consécutivement dans une chaîne de caractères et affiche toutes leurs positions.
using System;
using System.Text.RegularExpressions;
public class TestRepetitionMot
 public static void Main()
 // Une expression régulière pour les mots répétés :
 Regex rx = new Regex(@"\b(?<mot>\w+)\s+(\k<mot>)\b",
 RegexOptions.Compiled | RegexOptions.IgnoreCase);
 // Chaîne de caractère testée :
 string texte = "Le le test des mots mots répétés dans une phrase longue longue.";
 // Recherche des correspondances :
 MatchCollection matches = rx.Matches(texte);
 // Résultats : nombre et liste des correspondances
 Console.WriteLine("{0} correspondances dans :\n {1}", matches.Count, texte);
 foreach (Match match in matches)
 GroupCollection groups = match.Groups;
 Console.WriteLine(" - '{0}' répété aux positions {1} et {2}",
 groups["word"].Value, groups[0].Index, groups[1].Index);
Ce code affiche dans la console :

Pathologie/Pathologie générale/Inflammation aigüe

Programmation Java/Bloc de portée
Dans le code des méthodes, il est possible de créer des blocs de code entre accolades sans aucune construction spécifique avant (if, while, déclaration de méthode, ...).
De tels blocs sont des blocs permettant de limiter la portée des variables.
Ce chapitre explique son utilité à travers différentes utilisations possibles.
Réutilisation de noms de variables.
La limitation de la portée permet de réutiliser les noms de variables.
Exemple :
public double unCalculComplexe(double montant, int duree, double taux)
 {
 double total = coutTotalSurUnAn(montant, taux); // (1)
 if (total > 50000) taux = taux * 0.94;
 // La variable total (1) devient hors de portée.
 // On peut réutiliser le nom de variable total :
 double total; // (2)
 total = coutTotalSur(duree, montant, taux); // (2)
 return total;
L'ordre peut avoir de l'importance comme dans l'exemple suivant :
public double unCalculComplexe(double montant, int duree, double taux)
 double total; // (1)
 double total = coutTotalSurUnAn(montant, taux); // (2)
 // ^ erreur de compilation ici car la variable total (2)
 // est en conflit avec total (1) qui est toujours à portée.
 if (total > 50000) taux = taux * 0.94;
 total = coutTotalSur(duree, montant, taux); // (1)
 return total;
Restreindre la portée d'une variable.
Restreindre la portée d'une variable en encadrant le bloc de code sensé être le seul à l'utiliser permet de tester que c'est le cas.
Cela permet ensuite, par exemple, de déplacer ce bloc dans une méthode séparée pour le réutiliser.
public void uneMethodeAScinder()
 // ...
 int nombre_de_pixels;
 // ...code déplaçable dans une méthode...
 // Le code ci-dessous ne peut utiliser la variable nombre_de_pixels
 // devenue hors de portée et ne dépend donc pas de celle-ci.
Réduire la quantité de pile utilisée.
Les variables qui deviennent hors de portée libère immédiatement de l'espace pour d'autres variables locales dans la pile.
Il est évidemment non recommandé d'avoir beaucoup de variables locales.
Cependant réduire la quantité de pile est important pour les méthodes récursives : chaque nouvel appel prend une quantité importante de pile.
Réduire la quantité de mémoire utilisée.
L'espace mémoire occupé par les objets alloués et référencés uniquement par les variables d'un bloc devient libérable quand ces variables deviennent hors de portée.
Exemple : Génération de plusieurs images
public void genererCartes(double longitude, double latitude)
 {
 int[] pixels = genererCarteZone(longitude-0.5, longitude+0.5, latitude-0.5, latitude+0.5);
 ecrireImage(new File(repertoire, "carte_gloable.png"), pixels);
 // La variable pixels devient hors de portée.
 // Le tableau référencé devient libérable si la méthode ecrireImage et les méthodes
 // qu'elle appelle n'ont conservé aucune référence au tableau après utilisation.
 // Le garbage collector peut libérer la mémoire si besoin avant d'allouer le tableau
 // pour l'image ci-dessous.
 int[] pixels = genererCarteZone(longitude-0.01, longitude+0.01, latitude-0.01, latitude+0.01);
 ecrireImage(new File(repertoire, "carte_detaillée.png"), pixels);

Préparation au certificat d'opérateur du service amateur/Les unités

Les signaux radios sont caractérisés par différentes caractéristiques employant des unités standards.

Préparation au certificat d'opérateur du service amateur/Ondes

Une onde radioélectrique (onde radio), est une champ électromagnétique produit par une antenne, dont la fréquence est inférieure à 300 GHz :
Adaptées au transport de signaux issus de la voix et de l'image, les ondes radio permettent les radiocommunications (talkie-walkies, téléphone sans fil, téléphonie mobile…), la radiodiffusion et les radars.
Un champ électromagnétique signifie un champ électrique couplé à un champ magnétique.

Les transports/Méthodes
Les transports/GestionDemain
Les transports/Sommaire
Annexes
Le mouvement Wikimédia/La naissance du mouvement Wikimédia