Vous êtes sur la page 1sur 17

Programmation procdurale en C#

Gnralits sur la programmation


Algorithmie Programme
Transcription dun algorithme avec une synta e prdfinie () * +roche de ,ava - .elphi !cr par le pre de .elphi * http$--fr&/i0ipedia&org-/i0i-(1sharp"

Solution informatique relative un problme Suite dactions !instructions" appliques sur des donnes # tapes principales $
%& saisie !rception" des donnes '& Traitements #& restitution !application" des rsultats

23me principes fondamentau que les autres langages ob4ets !.elphi5 ,ava5 etc&" 6isual () introduit des fonctionnalits supplmentaires $ la programmation visuelle et la programmation vnementielle

2ode de cution dun programme


7angage interprt $ 8 portabilit application 9 * lenteur !:5 6;<5 ="

7angage compil $ 8 rapidit 9 * pas portable !solution possible $ /rite once5 compile any/here 9 e & 7a>arus"

7angage pseudo*compil $ 8 portabilit plate*forme 9 * lenteur !?" !principe $ /rite once5 run any/here 9 e & ,ava"

(omment se situent () et la plate*forme &@AT ?

Atapes de la conception dun programme !Gnie 7ogiciel"


%& Bi er les ob4ectifs et dtermination des besoins $ que doit faire le logiciel5 dans quel cadre va*t*il servir5 quels seront les utilisateurs types ? Cn le rdige souvent avec le commanditaire du logiciel !:emarque $ commanditaire D maEtre douvrage 9 ralisateur D maEtre dFuvre" '& (onception et spcifications $ quels sont les fonctionnalits du logiciel5 avec quelle interface ? #& +rogrammation $ modlisation et codage G& Tests $ obtient*on les rsultats attendus5 les calculs sont corrects5 y a*t*il plantage et dans quelles circonstances ? !tests unitaires5 tests dintgration5 etc&" H& .ploiement $ installer le che> le client !vrification des configurations5 installation de le cutable et des fichiers anne es5 etc&" I& 2aintenance $ corrective5 traquer les bugs et les corriger !patches" 9 volutive !a4outer des fonctionnalits nouvelles au logiciel $ soit sur lergonomie5 soit en a4outant de nouvelles procdures"

@otre environnement de dveloppement 7A.J SK<:+.A6A7C+

(ration dun application console sous Sharp.evelop


Solution

+ro4et

+rogramme !procdure" principale (lasse principale

<ide en ligne * 2S.@


Cn ne peut pas programmer sans aide LLL

:echerche par mots*cls trs pertinent

Muelques types simples


<lias vers un type &@AT !ob4et"9 int D Jnt#'5 double D .ouble5 string D String5 etc&
Antier $ int 9 oprateurs $ 85 * 5 N5 - 5 O :el $ double5 op $ 85 * 5 N5 ;oolen $ bool !true5 false"9 op $ L5 PP5 QQ (haEne de caractres $ string 9 op $ mthodes associes au type String Re & Substring!"5 etc&S :emarque % $ T:<@STT+<GA !type vers chaEne et inversement" nom1de1variable&ToString!" type1destination&+arse!chaEne de caractres" :emarque ' $ Cprateurs de comparaison (ompare des lments de m3me type5 et renvoie un boolen DD5 LD 5 U 5 UD 5 V 5 VD

.claration5 affectation5 entres - sorties

.claration de constante 8 affectation A-S $ sortie cran .claration de variable 8 A-S $ saisie console 8 affectation .claration de variable 8 <ffectation 8 Transtypage .claration de variable 8 (alcul 8 <ffectation (oncatnation 8 affichage

Structures algorithmiques $ branchement conditionnel


(ondition $ boolen Cpration de comparaison +eut 3tre comple e !combinaison de conditions"

if !condition" instruction si condition vraie9 else instruction si condition fausse9


7a partie else est facultative

if !condition" W bloc dinstructions si condition vraie9 = X else W bloc dinstructions si condition fausse9 = X

Structures algorithmiques $ branchement multiple


Antier5 caractre ou chaEne de caractres

s/itch !variable" W case valeur1%$ instruction!s" pour valeur1%9 brea09 case valeur1'$ instructions!s" pour valeur1'9 brea09 = default $ instruction!s" pour cas par dfaut9 brea09 X
7a partie default est facultative& brea0 fait sortir de la structure 23me dans default il faut mettre brea0

Structures algorithmiques $ boucle pour


' formes possibles

for !initialisation9 test continuation9 suite" instruction9 for !initialisation9 test continuation9 suite" W instruction!s"9 X
brea0 peut casser la boucle !nous faire sortir directement" continue saute les instructions et passe litration suivante

A & somme de termes au carr

A & Trouver le plus petit n pair et U Y5 tel que !'Zn UD v"

<ttention5 for peut faire plus quune simple boucle indice

Structures algorithmiques $ boucle tant que


/hile !condition vraie" instruction9

/hile !condition vraie" W instruction!s"9 X

A & Trouver le plus petit n pair et U Y5 tel que !'Zn UD v"

do W instruction!s"9 X /hile !condition vraie"9


brea0 et continue 4ouent le m3me r[le Si on aime faire compliqu

Crganisation des programmes $ procdures et fonctions


Cb4ectif !noble" $ <ssocier dans la m3me structure du code associ une fonctionnalit& Cb4ectif !pragmatique" $ Aviter les copier-coller dans le code5 ma imiser la rutilisation

type1de1retour nom1de1fonction!arguments" W instructions9 return valeur renvoyer9 X % argument D type nom de paramtre Si plusieurs arguments5 les sparer par des 5 +rocdure $ type de retour D void 9 return nest pas ncessaire dans ce cas return provoque la sortie directe de la fonction ds quelle est invoque fonction sans argument5 on doit conserver quand m3me les parenthses !" lors de la dfinition et lors de lappel

+rocdures et fonctions5 passages de paramtres !%"


+assage par valeur

+assage par rfrence

+rocdures et fonctions5 passages de paramtres !'"


Tentative de passage par rfrence5 le compilateur r\le=

+assage par rfrence sans valeur dinitialisation5 utilisation du mot cl out