Vous êtes sur la page 1sur 5

S.

Laporte

fiche de syntaxe ALGO / C#

TS1

Fiche n1: Structure Gnrale d'un Programme Types et oprateurs lmentaires Structure d programme et dclarations un Algorithmique Langage C# // commentaire sur une seule ligne // Commentaire sur une ligne /* commentaire sur plusieurs lignes */ /* Commentaire sur plusieurs lignes*/ PROGRAMME Exemple VAR Dclaration des variables DEBUT Corps du programme Chaque instruction se termine par un ; FIN ? Le langage C# diffrencie les majuscules des minuscules. Les mots-cl des instructions sont dfinis en minuscules. Exemple le mot-cl INT ne serait pas reconnu car seul int est connu . Une variable devra tre utilise dans un programme en respectant scrupuleusement la casse dfinie lors de sa dclaration. Exemple: la variable moy est diffrente de la variable Moy. Dfinition des types de donnes Variable et Type Simple VAR a,b :entier c: rel x: caractre nom: chaine trouve : boolen int a,b ; double d ; char x ; string nom; bool trouve ; Constante CONST pi ? 3,1416 const double pi = 3.1416 ; sur 32 bits sur 64 bits static void Main(string[ ] args) { Dclaration des variables dans le corps du programme }

la valeur 0 quivaut False

le type est facultatif (trouv grce la valeur) Le type est obligatoire Les oprateurs lmentaires + - * commun aux entiers et rels / division relle DIV division entire (sans virgule) + - * pour les entiers et rels / division - relle si l'un des deux oprande est rel - entire si les deux oprandes sont entiers % reste de la division entire + avec des chanes => concatnation

MOD reste de la division entire Concatnation (juxtaposition) pour les chanes seulement : &

S. Laporte

fiche de syntaxe ALGO / C#

TS1

Fiche n2: instructions lmentaires Instructions lmentaires Algorithmique Langage C++ Ecirture l'cran :AFFICHAGE Afficher expression ou Aff expression On peut afficher n'importe quel type d'expression. On peut mme afficher plusieurs expressions la suite, spares par une virgule. Afficher "Voici A: ", a, " \net B ", b Console.WriteLine(expression); avec retour la ligne aprs l'affichage Console.Write(expression); sans retour la ligne On peut afficher tout type d'expression Mais on ne peut pas afficher plusieurs expressions la suite avec la mme instruction.

Console.Write ("Voici A: " ) Console.WriteLine ( a ); \n permet de passer la ligne dans une chane. Console.Write ("et B"); Console.WriteLine(b); Lecture partir du clavier : SAISIE string ch ; Saisir ch ch = Console.ReadLine(); La mthode ReadLine ne permet de lire qu'une seule variable. On ne peut saisir directement qu'une variable de type string. Pour rcuprer une valeur numrique saisie au clavier dans une variable numrique, il faut faire une conversion de la variable chane saisie.

On peut saisir plusieurs variables dans la mme instruction Saisir nb1, nb2 Tout type de variable peut tre saisi (sauf les boolens)

En algorithmique, on ne se proccupe gnralement pas des problmes de conversions, pour se concentrer sur la logique ex1 : int nbe; du traitement. nbe = Convert.ToInt32(ch);

ex2 : double nbr; nbr = Convert.ToDouble(ch); AFFECTATION variable ? expression variable = expression Le type de la variable doit tre compatible Le type de la variable doit tre compatible avec le avec le type de l'expression. type de l'expression. ex : b = a +c - ( c * d ) / 2 ; ex : b ? a +c - ( c * d ) / 2
Rappel : En programmation, on appelle expression tout ce qui possde une valeur l'excution. Une expression est d'un certain type. Une expression peut tre : - une valeur littrale (qui apparat telle quelle dans le code) ex : 10, "bonjour" - une variable ou une constante ex : x, pi, tarif, - une opration, simple ou complexe ex : (x+y)/4, "Bonjour"+nom, a < b - le rsultat d'une mthode ex : Console.ReadLine( )

S. Laporte

fiche de syntaxe ALGO / C#

TS1

Fiche n3: structures conditionnelles oprateurs utilisables dans les expressions boolennes oprateurs de comparaison == (galit) != (diffrence) = ? > < >= <= (supriorit infriorit) < > ? ? oprateurs logiques ! (non) &&(et) || (ou) NON ET OU (oprateurs logiques) Rappel : Expression boolenne = expression qui a pour valeur VRAI ou FAUX synonymes : condition, test, expression conditionnelle Une expression boolenne est forme le plus souvent de comparaison(s) ? Attention au pige du signe = en C# en C#, le signe = ne sert qu' effectuer des affectations et ne peut pas servir pour comparer deux expressions. Pour savoir si deux expressions sont gales, utiliser le double symbole == La conditionnelle simple SI ALORS / if Si expression boolenne if (expression boolenne) Alors Instruction(s) { Instruction(s) ; Finsi } L'alternative SI ALORS SINON / if else if (expression boolenne) { Si expression boolenne Instruction(s) ; Alors Instruction(s) } Sinon Instruction(s) else Finsi { Instruction(s) ; } La structure de choix SELON / switch Selon expression cas valeur1 : instruction(s) cas valeur2 : instruction(s) autres cas : instruction(s) FinSelon - L'expression qui suit le Selon doit tre de type entier ou caractre, jamais d'un autre type. -Les valeurs des diffrents cas doivent videmment correspondre au type de l'expression. -Aprs un cas, on peut ventuellement avoir une liste de plusieurs valeurs. -autres cas est facultatif
switch(expression) { case valeur1 : instruction(s); break; case valeur2 : instruction(s); break; default : instruction(s); break; }

- L'expression qui suit le switch doit tre de type entier ou string - Aprs chaque case on ne peut trouver qu'une seule valeur (correspondant au type de l'expression). ? Chaque ensemble d'instruction d'un case doit se terminer par break; sinon le programme enchane sur les instructions du case suivant. -default est facultatif et doit aussi se terminer par break.

S. Laporte

fiche de syntaxe ALGO / C#

TS1

Fiche n5: fonctions et procdures


Structure d'un programme Les fonctions et les procdures sont crites en Les fonctions et procdures sont crites en dehors de dehors du programme principal (appel toute procdure vmentielle, mais l'intrieur des programme), de prfrence avant accolades de la "section" class. En mode texte, le programme principal est la fonction cre automatiquement : static void Main() En mode graphique, il n'y a pas vraiment de programme principal, car c'est l'interface graphique qui permet de grer le programme. Les sous-programmes classiques sont appels par les procdures vnementielles. Les variables qui sont dclares en dehors de toute fonction sont des variables globales ( la classe)

Les variables globales sont dclares tout au dbut, en dehors des sous-programmes et du programme dans une section appele : var globales

Les autres variables sont locales au sousprogramme (ou au programme principal) o elles Les variables dclares l'intrieur d'une fonction sont ont t dclares locales cette fonction. Les Fonctions Fonction nomfonction(type_param1 type_retour nom_fonction (type_param1 nomparam1, typeparam2 param2, ) : nomparam1, typeparam2 param2, ) { type_retour Dbut return expression_retour retourne expression_retour } FinFonc ex : double exponentielle (double C, int n) { Par dfaut les paramtres sont de nature instructions de calcul; entre (donne) return resultat; } Les Procdures Procdure nomprocdure(nature type nom, On remplace le type de retour par void nature type nom, ) void nomproc(typePara nomPara, ) Dbut { Fin
}

Pas de retourne Natures des paramtres E = Entre (donne) ou S = Sortie (rsultat) ou E/S = Entre/Sortie (donne/rsultat) Appel : l'appel d'une procdure est une instruction part entire Quelle que soit la nature des paramtres, il ne faut rien indiquer devant, on met uniquement le nom de la variable paramtre

passage par dfaut = passage par valeur (paramtres en entre) Pour le passage par rfrence (paramtres en sortie ou en entre/sortie): il faut faire prcder le paramtre par le mot cl out (ou ref) Pour les paramtres "out" il faut indiquer ce mot cl l'appel aussi Toute action sur un paramtre "out" se rpercute automatiquement sur la variable correspondante passe en paramtre l'appel

S. Laporte

fiche de syntaxe ALGO / C#

TS1

Fiche n6: Tableaux et structures


Les structures Dclares dans la classe, en dehors de Main et de toute autre sous-programme. struct nom { public type champ1 ; public type champ2 ; } ex : struct personne { public string nom ; public int age ; }

Dclares dans la section des Type Type Structure nom champ1 : type champ2 : type Finstruct ex : Structure personnne nom : chaine age : entier FinStruct

Le type des champs peut tre une autre structure Le type des champs peut tre une autre structure ou un ou un tableau tableau Les Tableaux Dclars dans la section des variables Dclars en dehors de Main et de tout sous-programme pour une porte globale ou l intrieur d sousun nom : tableau [1..MAX] de type programme pour une porte locale ex : mois : tableau[1..12] de chaines le type des lments peut tre une structure famille : tableau[1..100] de personne type [] nom = new type[MAX] ; ex : string [] mois = new string[12] ; idem si le type des lments est une structure personne[] famille = new personne[100] ; Remarque importante : la taille du tableau peut tre une variable. Mais une fois le tableau cr, sa taille ne peut plus varier, mme si la valeur de la variable utilise pour dclarer sa taille change. ex : int taille ; //on fait saisir la taille l utilisateur taille = Convert.ToInt32(Console.ReadLine()) ; // on cr un tableau de cette taille int [] montab = new int[taille] ; Mais une fois le tableau cr, si on modifie la valeur de taille, a n pas d a influence sur le tableau. Il garde la taille qu avait la dclaration il