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 dun programme et dclarations


Algorithmique Langage C#
// Commentaire sur une ligne // commentaire sur une seule ligne
/* Commentaire sur plusieurs lignes*/ /* commentaire sur plusieurs lignes */

PROGRAMME Exemple
static void Main(string[ ] args)
VAR {
Dclaration des variables Dclaration des variables
dans le corps du programme
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 int a,b ; sur 32 bits
c: rel double d ; sur 64 bits
x: caractre char x ;
nom: chaine string nom;
trouve : boolen bool trouve ; la valeur 0 quivaut False

Constante
CONST
pi ? 3,1416 const double pi = 3.1416 ;

le type est facultatif (trouv grce la valeur) Le type est obligatoire


Les oprateurs lmentaires

+ - * commun aux entiers et rels + - * pour les entiers et rels


/ division relle / division
DIV division entire (sans virgule) - relle si l'un des deux oprande est rel
- entire si les deux oprandes sont entiers

MOD reste de la division entire % reste de la division entire

Concatnation (juxtaposition) + avec des chanes => concatnation


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 Console.WriteLine(expression);
ou avec retour la ligne aprs l'affichage
Aff expression Console.Write(expression);
sans retour la ligne
On peut afficher n'importe quel type
d'expression. On peut afficher tout type d'expression

On peut mme afficher plusieurs expressions Mais on ne peut pas afficher plusieurs expressions
la suite, spares par une virgule. la suite avec la mme instruction.

Afficher "Voici A: ", a, " \net B ", b 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();

On peut saisir plusieurs variables dans la La mthode ReadLine ne permet de lire qu'une
mme instruction seule variable.
Saisir nb1, nb2
On ne peut saisir directement qu'une variable de
Tout type de variable peut tre saisi (sauf les type string.
boolens) Pour rcuprer une valeur numrique saisie au
clavier dans une variable numrique, il faut faire
En algorithmique, on ne se proccupe une conversion de la variable chane saisie.
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 (oprateurs logiques) ! (non) &&(et) || (ou)
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 switch(expression)
cas valeur1 : instruction(s) {
cas valeur2 : instruction(s) case valeur1 : instruction(s);
break;
autres cas : instruction(s) case valeur2 : instruction(s);
break;
FinSelon

default : instruction(s); break;
- L'expression qui suit le Selon doit tre de }
type entier ou caractre, jamais d'un autre - L'expression qui suit le switch doit tre de type
type. entier ou string
-Les valeurs des diffrents cas doivent - Aprs chaque case on ne peut trouver qu'une
videmment correspondre au type de seule valeur (correspondant au type de
l'expression. l'expression).
? Chaque ensemble d'instruction d'un case doit se
-Aprs un cas, on peut ventuellement avoir terminer par break; sinon le programme enchane
une liste de plusieurs valeurs. sur les instructions du case suivant.
-default est facultatif et doit aussi se terminer par
-autres cas est facultatif 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
Les variables globales sont dclares tout au classiques sont appels par les procdures
dbut, en dehors des sous-programmes et du vnementielles.
programme dans une section appele :
var globales Les variables qui sont dclares en dehors de toute
fonction sont des variables globales ( la classe)
Les autres variables sont locales au sous-
programme (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 {
entre (donne) instructions de calcul;
return resultat;
}
Les Procdures
Procdure nomprocdure(nature type nom, On remplace le type de retour par void
nature type nom, )
Dbut void nomproc(typePara nomPara, )
{
Fin
}
Pas de retourne passage par dfaut = passage par valeur (paramtres
Natures des paramtres en entre)
E = Entre (donne) ou
S = Sortie (rsultat) ou Pour le passage par rfrence (paramtres en sortie
E/S = Entre/Sortie (donne/rsultat) ou en entre/sortie):
il faut faire prcder le paramtre par le mot cl out (ou
Appel : l'appel d'une procdure est une ref)
instruction part entire Pour les paramtres "out" il faut indiquer ce mot cl
l'appel aussi
Quelle que soit la nature des paramtres, il Toute action sur un paramtre "out" se rpercute
ne faut rien indiquer devant, on met automatiquement sur la variable correspondante
uniquement le nom de la variable paramtre passe en paramtre l'appel
S. Laporte fiche de syntaxe ALGO / C# TS1

Fiche n6: Tableaux et structures

Les structures
Dclares dans la section des Type Dclares dans la classe, en dehors de Main et de toute
autre sous-programme.
Type
struct nom
Structure nom {
champ1 : type public type champ1 ;
champ2 : type public type champ2 ;
Finstruct
}
ex :
ex :
Structure personnne struct personne
nom : chaine {
age : entier public string nom ;
FinStruct public int age ;
}

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 lintrieur dun sous-
nom : tableau [1..MAX] de type programme pour une porte locale

ex : type [] nom = new type[MAX] ;


mois : tableau[1..12] de chaines
ex :
le type des lments peut tre une structure string [] mois = new string[12] ;
famille : tableau[1..100] de personne
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 lutilisateur
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 na pas dinfluence sur le tableau. Il garde la
taille quil avait la dclaration