Algorithme et Programmation
8 pages
Français

Algorithme et Programmation

Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
8 pages
Français
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Description

” Un algorithme est une suite finie de règles à appliquer dans un ordre déterminé à un nombre fini de données
pour arriver, en un nombre fini d’étapes, à un certain résultat, et cela indépendamment des données. ”

Informations

Publié par
Nombre de lectures 12
Licence : En savoir +
Paternité, pas d'utilisation commerciale, partage des conditions initiales à l'identique
Langue Français

Extrait

AlgorithmeetProgrammation

Certainsvoient,a`tort,dansl’ordinateurunemachinepensanteetintelligente,capabledere´soudrebiendes
proble`mes.Enfait,celuicineseraitcapablederiensiquelqu’un(leprogrammeurenl’occurence)neluiavait
fournilalistedesactionsa`exe´cuter.Cettedescriptiondoiteˆtrefaitedemani`erenonambig¨uecarilnefautpas
s’attendre`alamoindreinterpre´tationdesordresfournis.Ilsserontexe´cut´esdemanie`repurementme´canique.
Deplus,lesope´rations´el´ementairesquepeutexe´cuterunordinateursontennombrerestreintetdoiventˆetre
communiqu´eesdefac¸onpre´cisedansunlangagequ’ilcomprendra.Leprobl`emeprincipalduprogrammeurest
doncdeluide´crirelasuitedesactions´ele´mentairespermettantd’obtenir,a`partirdesdonn´eesfournies,les
re´sultatsescompte´s.Cettedescriptiondoitˆetrepr´ecise,doitenvisagerlemoindrede´tailetpre´voirlesdiverses
possibilit´esdedonn´ees.
Cettemarchea`suivreportelenomd’algorithmeodtn’lnEyclcpoeatn:eiuavnsioitfin´eadelnnodsilasrevinUaid

”Unalgorithmeestunesuitefiniedere`glesa`appliquerdansunordrede´termine´a`unnombrefinidedonn´ees
pourarriver,enunnombrefinid’´etapes,`auncertainre´sultat,etcelaind´ependammentdesdonn´ees.”

Enfait,lanotiond’algorithmeesttr`esancienne,etestind´ependantedel’informatiqueetdesmachines:les
marchands,parexemple,avaientrecoursa`certainsalgorithmespourcalculerdesint´erˆetsetc...
Demeˆme,auvudelad´efinitionpr´ece´dente,unerecettedecuisineestunalgorithme,toutcommeunenoticede
montaged’unmeubleenkit.Danscesdernierscas,onvoitbienlane´cessit´ed’unalgorithmeclair(compre´hensible
partous),leplusg´ene´ralpossible(pourr´epondreauplusdecaspossibles)etrapide(efficace).

Structure d’un algorithme
Structured’unerecettedecuisine:oncommencepar´enum´erertouslesingre´dientsne´cessaires;puisonde´crit
lese´tapessuccessives`afaire.Enfin,sil’algorithmeestbon,unmerveilleuxgateausortdufour!
Enfait,toutalgorithmesede´composeen3parties.Lapremi`erepartieconcernelesesen´etr: on liste toutes les
donne´esn´ecessaires.Ladeuxie`mepartieregroupetouteslesinstructions;etlatroisi`emeestlasortie.tatesulour´

Programmation
Unprogrammeestlatraductiond’unalgorithmeenlangagecompr´ehensibleparlamachine.
Nous ne verrons que le langage TurboPascal.

Structureg´en´eraled’unprogrammeenTurboPascal

1.enteˆteduprogramme
2.de´claration´eventuelledesconstantes,destypesetdesvariables
3.de´claration´eventuelledesproce´duresetfonctions
4. corpsdu programme

Explications succintes :
1. syntaxe:PROGRAMnom du programme;
2.ilfautd´eclarertouslesobjetsutilis´esdanslecorpsduprogramme:c’estuneexigencedulangageTurbo
Pascal.
syntaxe :
CONST a=2;
x=3.5;
VAR i,k,n: INTEGER;les entiers prennent leurs valeurs dans
[−32768,32767]
x,a,b : REAL;e´leedrssxsont,a,b
test : BOOLEAN;loobepyts:ennee´vadeleabriavaleuresttrue
oufalse.
T : ARRAY [1..10] of integer;aelb1edusac0a`setasitrestneicneocffie
mat : ARRAY[1..3,1..3] of real;ol3cesgnlia3u`ealbatr´eertciceranoen(sam
d’ordre3)`acoefficientsre´els.

Lad´eclarationdestypesseravueulte´rieurement.

1

3.lesfonctionsetproc´eduresserontvuesausecondsemestre:cessousprogrammespermettentdestructurer
davantage un programme.

4.c’estlecorpsduprogramme:onlistelesinstructions`aex´ecuter.
Cette partie est donc la traduction de l’algorithme proprement dit.
syntaxe :BEGIN
instructions ;
.
END.

→Sauf mention contraire, chaque ligne de commande se finit par un;.
→´tileneeilalibisli´eerorpomeamurpuorrgmatniaerasdescommetajouteruepnOstruesincuqnapxilatnictre
tionsounomsdevariable.Cescommentairespeuventeˆtreinse´r´eesn’importeou`dumomentqu’ilssontplac´es
entre accolades :{blablabla}

1Variablesetactionse´l´ementaires
1.1 Lesvariables
Eninformatique,unevariableestune”case”m´emoire,re´serve´epourstockerlafuturevaleurdecettevariable
(valeurquipeuteˆtremodifi´eeaucoursduprogramme).
Unevariabledoitavoirunnom(ouidentificateur),ainsiqu’untype(entier,r´eeletc...),quide´finitlatailledela
caseme´moire.Cesdeuxattributssontd´eclare´ssimultane´mentdanslapartie2.:
syntaxe :VARi :INTEGER;
note :REAL;

Remarque sur les identificateurs:suovsˆenbi´ervse´enrtnemomud,)rurn’ioisiezchpouv(tonleometuqpmro
qu’ilnecontientniespace,niaccents,niapostrophes.Conseil:choisirunmotouunelettree´vocatrice!

Puisdanslecorpsduprogramme,unevariabledoiteˆtreiaits´lieein. Deux moyens sont possibles :
–par lecture
ex :wiretnl;)’bteaedsrulevaeselircr´e(’
quandleprogrammes’´ex´ecute,onvoitapparaıˆtre`al’´ecran:´ecrirelesvaleursdeaetb.
readln(a,b);
lesdeuxvaleursalors´ecritesparl’utilisateur(se´pare´esparunespaceouunretoura`laligne)sontaffecte´es
aux variables a et b.
–par affectation
ex : x :=1;{itlavalexre¸coru1}
ousiaetbont´et´einitialise´escommepre´c´edemment,x:=(a+b)/2affectea`xlavaleur(a+b)/2.
Attention :
1.sil’on´ecrita:=barsvbliaaeessotbfli,qtuaeleueitnedˆmmetepy.e
2.Nepasconfondre:=avecle=r´eserve´auxdonne´esconstantesetausymboledecomparaison.

1.2Ope´rations´ele´mentaires
Cesop´erationsd´ependentdutypedesobjets(variablesouconstantes).Attention,lesope´rationssonta`effectuer
entredesobjetsdemˆemetype!

Op´erateursetfonctionsarithme´tiques
op´erateursentr´ee(s)sortiecommentaires
+  *´er/eeleitne´rre/leeitneratrop´´el´ionsatrimenese
/rrient/etyleel´etrosedepodtuepeitydudepee´ffitnereeˆ´clnederrt
l’entr´ee
div modentier entier quotientet reste de la division euclidienne :
37 div 5donne 7 et37 mod 5donne 2.
exp, ln, sqrtcarr´eerqsltsetaraleniceer´enl/ertieer´
sqrneitre´ree/lneit´errcaerr´eel/
truncreitneleneeitrapreti`e´er
abserure´stbnleoiutenaerivlerlea/el/er´e

2

Ope´rateursrelationnels
=,<>pour6=,<,>,<=pour≤,>=pour≥.
Lesvariablesd’entre´essontdetypeentier/r´eel;lavariabledesortieestdetypebool´een.
Cesop´erationssontprincipalementutilise´sdanslesinstructionsconditionnelles(quel’onreverraulte´rieurement):
ifopra´eurtetheninstructions (elseinstructions)
whilere´poruetadoinstructions
repeatinstructionsuntiloperateur

Op´erateurslogiques
Il y en a 3 :not, oretanderontuti;quinesdenalsseil´sseuq.ssusndconsioctrustinedicsellennoiti
Par exemple : (x <−1)AND(x >1) ou encore (x >0)OR(yeuve0),ptreuntˆetidnocen=udnoiif.

2 Instructionsconditionnelles
2.1 instructions
Uneinstructionestditesimplesiellesere´duit`auneseulecommande:writeln(’bonjour’)ous:=0;
Sinon,l’instructionestditecompos´ee:onpeutaussiparlerdegrouped’instructions.

2.2 ifthen else
Cetteinstructionre´pond`al’attente:
Si une condition est vraie (par exemplex6= 0), alors on veut effectuer une certaine instruction (par exemple,
diviser parx) et sinon, on en effectue une autre.
La syntaxe est la suivante :

instructions A;
IFconditionTHEN
BEGIN
instructions B;
END
ELSE
BEGIN
instructions C;
END;
instructions D;

A

vrai
condition

B

Remarques :
i. Siles instructions B ou C sont simples, leBEGIN END;correspondant est inutile.
ii. LeELSE’;und’nt’.mi´mdee´etemdeaisˆetitpa´ec´repritatam;flisiodentfesulac

D

Exemples de condition :x= 0 oux >u`o01=xedmmne.tpe´rcee´utsed´leniefivaneabri
Lesconditionspeuventeˆtre´sopmocsee: par exemple (0< x)AND(x <= 1) (qui signifie 0< x≤1).

faux

C

Attention :ne pas confondrex:= 3 etx= 3 lorsquexest une variable.
xtiontrucner`”dona:3=seutentitaecaffecll:eonnopserrosni’la`dxla valeur 3”.
xopose(preennool´oibndntieno3c=seut):seusfaaueiarvtseiuqnoiti
ellecorresponda`laquestion”xtil´egaesen´esnnensioolboocsetidn3a`lC.”?adsnqseuelsontpeserenter´es
instructions conditionnelles (if then else) ou les boucles conditionnelles (while et repeat until).

3Bouclesite´ratives
3.1 BoucleFOR
Cetteinstructions’emploiepourr´ep´eterunesuited’instructionsnfois, lorsquenavcn.enn`ulaa’ecost
La syntaxe est la suivante :

3

instructions A;
FORi:=n1TOn2DO
BE

  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents