langage c - c language fst settat

Download Langage C - C language fst settat

Post on 11-Jun-2015

465 views

Category:

Documents

6 download

Embed Size (px)

TRANSCRIPT

UNIVERSITE HASSAN 1ER FACULTE DES SCIENCES ET TECHNIQUES DE SETTAT DEPARTEMENT DE MATHEMATIQUES ET INFORMATIQUE Introduction au cours dalgorithmique et progra mmation Introduction au cours dalgorithmique et programmation Introduction la programmation en Langage C Fait par : Sofia DOUDA Anne 2007/2008 Pr. Sofia Douda Cours dintroduction a la programmation en Langage CAnnee 2007/2008 1 Dfinition UnalgorithmeestunenoncedansunlangagebiendeIinid'unesuited'operationspermettantde resoudreparcalculunproblemedonne.Sicesoperationss'executentensequence.onparle d'algorithme sequentiel. Si les operations s'executent sur plusieurs processeurs en parallele. on parle d'algorithme parallele. Si les tches s'executent sur un reseau de processeurs on parle d'algorithme reparti ou distribue. La mise au point d'un programme inIormatique se Iait en plusieurs etapes. Ils'agitdeIournirlasolutionaunprobleme.lapremiereetapeconsistedoncaanalyserle probleme. c'est-a-dire en cerner les limites et le mettre en Iorme dans un langage descriptiI. on parle generalementd'analysepourdecrireleprocessusparlequelleproblemeestIormalise.Lelangage dedescriptionutilisepourecrireleresultatdel'analyseestappelealgorithme.L'etapesuivante consiste a traduire l'algorithme dans un langagede programmation speciIique. il s'agit de la phase de programmation.Lelangagedeprogrammationestl'intermediaireentrel'humainetlamachine.ilpermetd'ecrire dans un langage proche de la machine mais intelligible par l'humain les operations que l'ordinateur doit eIIectuer. Ainsi. etant donne que le langage de programmation est destine a l'ordinateur. il doit donc respecter une syntaxe stricte. Un algorithme peut touteIois aboutir a plusieurs programmes.Le programme est ensuite transIorme en langage machine lors d'une etape appelee compilation. La compilationestunephaserealiseeparl'ordinateurlui-mmegrceaunautreprogrammeappele compilateur.Laphasesuivantes'appellel'editiondeliens.elleconsistealierleprogrammeavectousles elements externes (generalement des librairies auxquelles il Iait reIerence).Caracteristiques d'un algorithme L'algorithme est un moyen pour le programmeur de presenter son approche du probleme a d'autres personnes. En eIIet. un algorithme est l'enonce dans un langage bien deIini d'une suite d'operations permettant de repondre au probleme. Un algorithme doit donc tre :lisible: l'algorithme doit tre comprehensible mme par un non-inIormaticienPr. Sofia Douda Cours dintroduction a la programmation en Langage CAnnee 2007/2008 2 dehautniveau:l'algorithmedoitpouvoirtretraduitenn'importequellangagede programmation.ilnedoitdoncpasIaireappeladesnotionstechniquesrelativesaun programme particulier ou bien a un systeme d'exploitation donneprecis: chaque element de l'algorithme ne doit pas porter a conIusion. il est donc important de lever toute ambiguteconcis:unalgorithmenedoitpasdepasserunepage.Sic'estlecas.ilIautdecomposerle probleme en plusieurs sous-problemesstructure: un algorithme doit tre compose de diIIerentes parties Iacilement identiIiablesProgramme informatique UnprogrammeinIormatique.souventnommelogiciel.estcomposed`uneseried'instructions elementairesexecuteesparl'ordinateur.Lorsdelacreationd`unprogramme.ilestnecessaired`y inclure les instructions correspondant a la tche que vous souhaitez voir accomplie par l`ordinateur. LeprocessusconsistantadeIinirlesinstructionsdevanttreexecuteesparl`ordinateursenomme programmation.Lesinstructionscontenuesdansunprogrammesontgeneralementenregistrees sous Iorme d`un Iichier texte ASCII. pourvu. par exemple. de l`extension .C pour un programme C et .CPP pour un programme C. Les instructions d`un programme sont deIinies suivant des regles precises. celles d`un langage de programmation. C et C ne sont que deux exemples de langages parmi d`autres. tels que BASIC. Pascal et FORTRAN. Chaque langage de programmation oIIre es caracteristiquesuniquesetpossedesespropresIorcesetIaiblesses.Neanmoins.danstouslescas. unlangagedeprogrammationsertadeIiniruneseried`instructionsdevanttreexecuteesparun ordinateur. LesinstructionsexecuteesparunordinateursepresententpourluicommeunesuitedechiIIres binaires. 1 et 0.correspondant au passage ou non d`un signal electrique dans un composant. Dans les annees 40 et 50. les programmeurs devaient comprendre toutes les combinaisons de 1 et 0 : tous lesprogrammesetaientecrisdanscelangageditbinaire.Latailledesprogrammescroissant regulierement.cettemethodedevintrapidementpeupratique.LarechercheinIormatiquedonna alorsnaissanceadeslangagesdeprogrammation.permettantauxindividusdesaisirleurs instructions sous une Iorme plus comprehensible par un humain. Ces instructions. placees dans un Iichier texte nomme Iichier source. sont transmises a un second programme. appele compilateur. Le compilateurtransIormelesinstructionsdulangagedeprogrammationenlasuitede0et1 comprehensibles par l`ordinateur. le code machine.La Iacon d'ecrire un programme est intimement liee au langage de programmation que l'on a choisi carilenexisteenormement.Deplus.lecompilateurdevracorrespondreaulangagechoisi:a chaque langage de programmation son compilateur (exception Iaite des langages interpretes).D'une Iacon generale. le programme est un simple Iichier texte (ecrit avec un traitement de texte ou un editeur de texte). que l'on appelle Iichier source.Le Iichier source contient les lignes de programmes que l'on appelle code source. Ce Iichier source une Iois termine doit tre compile. La compilation se deroule en deux etapes:le compilateur transIorme le code source en code obiet. et le sauvegarde dans un Iichier obiet. c'est-a-dire qu'il traduit le Iichier source en langage machine (certains compilateurs creent aussi un Iichierenassembleur.unlangageprochedulangagemachinecarpossedantdesIonctionstres simples. mais lisibles)lecompilateurIaitensuiteappelaunediteurdeliens(enanglaislinkeroubinder)quipermet d'integrerdansleIichierIinaltousleselementsannexes(Ionctionsoulibrairies)auquelle programmeIaitreIerencemaisquinesontpasstockesdansleIichiersource.Pr. Sofia Douda Cours dintroduction a la programmation en Langage CAnnee 2007/2008 3 PuisilcreeunIichierexecutablequicontienttoutcedontilabesoinpourIonctionnerdeIacon autonome.(souslessystemesd'exploitationMicrosoItWindowsouMS-DosleIichierainsicree possede l'extension .exe)L'allured'unprogrammedependdutypedelangageutilisepourIaireleprogramme.TouteIois.a peuprestousleslangagesdeprogrammationsontbasessurlemmeprincipe:Le programme est constitue d'une suite d'instructions que la machine doit executer. Celle-ci execute lesinstructionsauIuretamesurequ'ellelitleIichier(doncdehautenbas)iusqu'acequ'elle rencontreuneinstruction(appeleeparIoisinstructiondebranchement)quiluiindiqued'allerun endroit precis du programme. Il s'agit donc d'une sorte de ieu de piste dans lequel la machine doit suivre le Iil conducteur et executer les instructions qu'elle rencontre iusqu'a ce qu'elle arrive a la Iin du programme et celui-ci s'arrte. Langage Informatique Un langage inIormatique estun langage destine a decrire l'ensemble des actions consecutives qu'un ordinateurdoitexecuter.Leslangagesnaturels(parexemplel'anglaisouleIrancais)representent l'ensemble des possibilites d'expression partage par un groupe d'individus. Un langage inIormatique est une Iacon pratique pour donner des instructions a un ordinateur.Un langage inIormatique est rigoureux: a chaque instruction correspond une action du processeur. Le langage utilise par le processeur est appele langage machine. Il s'agit d'une suite de 0 et de 1 (du binaire)maispourplusdeclarteilpeuttredecritenhexadecimal.TouteIoislelangagemachine n'estpascomprehensibleIacilementparl'humainmoyen.Ainsi.ilestpluspratiquedetrouverun langageintermediaire.comprehensibleparl'homme.quiseraensuitetransIormeenlangage machine pour tre exploitable par le processeur.

L'assembleur est le premier langage inIormatique qui ait ete utilise. Celui-ci est encore tres proche dulangagemachinemaisilpermetdeiad'trepluscomprehensible.TouteIoisuntellangageest tellement proche du langage machine qu'il depend etroitement du type de processeur utilise (chaque typedeprocesseurpeutavoirsonproprelangagemachine).Ainsiunprogrammedeveloppepour unemachinenepourrapastreportesurunautretypedemachine(ondesigneparleterme "portable"unprogrammequipeuttreutilisesurungrandnombredemachines).Pourpouvoir l'utiliser sur une autre machine il Iaudra alors parIois reecrire entierement le programme. Un langage inIormatique a donc plusieurs avantages:il est plus Iacilement comprehensible que le langage machineilpermetuneplusgrandeportabilite.c'est-a-direuneplusgrandeIacilited'adaptationsurdes machines de types diIIerentsLeslangagesinIormatiquespeuventgrossierementseclasserendeuxcategories:leslangages interpretes et les langages compiles. Langage interprt UnlangageinIormatiqueestpardeIinitiondiIIerentdulangagemachine.IlIautdoncletraduire pourlerendreintelligibledupointdevueduprocesseur.Unprogrammeecritdansunlangage Pr. Sofia Douda Cours dintroduction a la programmation en Langage CAnnee 2007/2008 4 interpreteabesoind'unprogrammeauxiliaire(l'interpreteur)pourtraduireauIuretamesureles instructions du programme. Langage compil UnprogrammeecritdansunlangageditcompilevatretraduituneIoispourtoutesparun programme annexe (le compilateur) aIin de generer un nouveau Iichier qui sera autonome. c'est-a-direquin'auraplusbesoind'unprogrammeautrequeluipours'executer(onditd'ailleursquece Iichier est executable). Un programme ecrit dans un langage compile a comme avantage de ne plus avoir besoin. une Iois compile.deprogrammeannexepours'executer.Deplus.latraductionetantIaiteuneIoispour toute. il est plus rapide a l'execution. TouteIois il est moins souple qu'un programme ecrit avec un langageinterpretecarachaquemodiIicationduIichiersource(Iichierintelligibleparl'homme: celuiquivatrecompile)ilIaudrarecompilerleprogrammepourquelesmodiIicationsprennent eIIet.

D'autrepart.unprogrammecompileapouravantagedegarantirlasecuriteducode

Recommended

View more >