Algorithme Avance Etudiant

March 2, 2023 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Algorithme Avance Etudiant...

Description

 

COURS D’ALGORITHME Prof.. BASSALEY K. Arn Prof Arnold old

Contact: 91798413/97975269 Année Académique en cours

 

OBJECTIF ET PLAN DU COURS OBJECTIF : • Apprendre les concepts de base de l'algorithmiqu l'algorithmiquee et de la programmation • Être capable de mettre en œuvre ces concepts pour analyser des problèmes simples et écrire les programmes correspondants

  ’ • Généralités sur l’algorithmique et les langages de programmation • Notion de variable, affectation, lecture et écriture • Instructions conditionnels et instructions itératives • Les Tableaux, les fonctions et procédures, la récursivité • Introduction à la complexité des algorithmes • Données structurées • Initiation au Langage C (Travaux pratiques)

 

PROGRAMME Un programme correspond à la description d’une méthode de rés ésol olut utio ion n po pour ur un prob problè lème me do donn nné. é. Cette descrip ipttion est effectuée par une su suiite d’instructi ctions d’un langage langa ge de pr progr ogramm ammati ation. on. Ces instructions permettent de traiter et de transformer les données (entrées) du problème à résoudre pour aboutir à des résulta résu ltats ts (sorti (sorties). es). Un programme n’est pas une solution en soi mais une méthode à suiv su ivrre po pour ur trou trouvver les les so solu luti tion ons. s.

 

INFORMATIQUES TIQUES LANGAGES INFORMA Un langage informatique est un code de communication, permettant à un être humain de dialoguer avec une machine en lui soumettant des in inst stru ruct ctio ions ns et en an anal alys ysan antt le less do donn nnée éess ma maté téri riel elle less fo four urni nies es par par le sy syst stèm ème. e. Le langage informatique est l’intermédiaire entre le programmeur et la machine. Il perm permet et d’éc d’écri rire re de dess prog program rammes mes (suite (suite consé consécutiv cutive e d’ins d’instructi tructions) ons) dest de stin inés és à eff effec ectu tuer er un unee tach tachee do donn nnée ée.. Exem Ex empl plee : un pr prog ogrram amme me de ré réso solu luti tion on d’ d’un unee équa équati tion on du se seco cond nd de degr gréé Programmation : ensemble des activités orientées vers la conception, la ré réal alis isat atio ion, n, le test test et la ma main inte tena nanc ncee de pr prog ogra ramm mmes es..

 

LANGAGES DE PROGRAMMA PROGRAMMATION TION Deux typ ypes es de la lan ngag ages es:: • La Lan ngages procédu éduraux : Fo Fortr rtran, an, Cob Cobol, ol, Pascal, C, … • Langages orientés objets : C++ ++,, Java, C#,… cho 'un la age gr 'es pLe asch faociixled, 'u chnalan cunngag a seeds esppéro cigra ficaim tém s eatticon orrne'e spstond mieu mi euxx à ce cert rtai ains ns ty type pess d'ut d'utililis isaati tion onss

 

NOTION D’ D’ALGORIT ALGORITHME HME Un progr graamme in infformatique permet à l’ordin inaateur de résoudre un pr prob oblèm lèmee • Avant de communiquer à l’ordinateur comment résoudre ce prob oblè lèm me, il faut en prem emie ierr lieu lieu po pouv uvoi oirr le résou ésoudr dree nou ouss mê même me.. Un alg lgor orit ithm hmee pe peu ut se com ompa parrer à un unee rec eceette de cu cuis isin inee • Le rés ésu ult ltaat c’est comme le plat à cuisin ineer • Le Less don onné nées es son sont ana nalo logu gues es aux in ingr gréd édie ien nts de la rec eceette • Les règles de transformations se comparent aux directives ou insstr in truc ucti tion onss de la rec ecet ette te

 

ALGORITHME INFORMATIQUE Un algorithme est un unee suite d’instructions ayant pour but de rés éso oudr dree un problè blème donné. Ces instructions doivent être exéc écut utée éess de faç açon on au auto toma mati tiqu quee pa parr un or ordi dina natteu eurr.

 – préparer une recett recettee de cuisine  – montrer le chemin à un touriste  – progr programmer ammer un magnétoscope  – etc ...

 

ALGORITHME ET PROGRAMME L’éla élabor borati ation on d’ d’un un algori algorithm thmee pr précèd écèdee l’l’ét étape ape de pr progr ogramm ammat ation ion • Un prog ogrramm mmee es estt un algor lgorit ithm hmee • Un la lan ngag agee de pr pro ogr gram amma mati tion on es estt un la lan ngag agee com ompr pris is par l'ordinateur L’él élab abor orat atio ion n d’ d’un un algo algori rith thme me es estt un unee déma démarrche che de rés ésol olut utio ion n de La rédaction d’un algorithme est un exercice de réflexion qui se fai aitt su surr pa pap pie ierr • L'al L'algo gori rith thme me es estt in indé dépe pend ndan antt du lang langag agee de pr prog ogrram amma mati tion on • Par exem emp ple le,, on utili tilise serra le mê même me alg lgor orit ithm hmee pou ourr une une impla lan ntation en Java, ou bien en C++ ou en Visual Basic • L’al algo gori rith thme me es estt la ré réso solu luti tion on br brut utee d’ d’un un pr prob oblèm lèmee in inffor orma mati tiqu quee

 

ALGORITHMIQUE algo al gori rith thme me = mé méth thod odee de rés ésol olut utio ion n algorithme vient du nom du célèbre mathématicien

arabe Al Khaw hawarizm zmii (A (Ab bu Ja Ja'f 'faar Mo Moha hamm mme ed Ben Mus usssa Al-Khwarismi ) Al-Khwarismi) •htt : trucsmaths.free.fr alkhwarizmi.htm •http://publimath.irem.univ-mrs.fr/glossaire/AL016.htm L’al algo gori rith thmi miqu que e dé dési sign gne e au auss ssii la di disc scip ipli line ne qu quii ét étud udie ie le less algo al gori rith thme mess et le leur urss ap appl plic icat atio ions ns en In Inffor orma mati tiqu quee Unee bo Un bonn nnee co conn nnai aiss ssan ance ce de l’al l’algo gori rith thmi miqu quee pe perm rmet et d’éc d’ écri rirre de dess algo algori rith thme mess ex exac acts ts et ef effic ficac aces es

 

ALGORITHMIQUE Conception  – comment développer un algorithme?  – quelles techniques produisent de bons algorithmes? Analyse  – étant donné un algorithme, quelles sont ses qualités?  – est-il adapté au problème?  – est-il efficace efficace??  – comment mesurer ses performances? Étan Ét antt do donn nnéé un pr prob oblè lème me sa sans ns so solu luti tion on év évid iden entte, co comm mmen entt pe peut ut on le ré résou soudre dre??  – en considéran considérantt les problèmes similaires connus,  – en considéran considérantt les solutions analogues - algorithmes - connues,  – en faisant marcher son imagination !!! Proc Pr oces essu suss de déve dévelo lopp ppem emen entt : anal an alys ysee cod odag agee te test st fi fin n

 

PROPRIETES D’UN ALGORITHME Un al algo gori rith thme me do doit it::  – avoi avoirr un nombre fini d’étapes,  – avoi avoirr un nombre fini d’opérations par étape,  – se terminer après un nombre fini d’opérations, d’opérations,  – fournir un résultat. Chaq Ch aque ue op opér érat atio ion n do doit it être être::  – définie rigoureusement et sans ambiguïté  – effective, c-à-d réalisable par une machine Le co comp mpor orte teme ment nt d' d'un un algo algori rith thme me est est déterministe.

 

REPRESENTATION D’UN ALGORITHME Histor His oriq ique ueme men nt, de deux ux faç açon onss po pour ur repr eprés ésen entter un algorithme: L’Organigramme L’Organigramme:: rep eprrés ésen enttat atio ion n gr grap aphi hiqu quee avec de dess s•ym ymbo bole (car arré rés, losa losang nges etc. )alggori offr fre eles usne(c vu vue e ds,’en ense sem mbes, le, et dec.) l’ l’al orith thme me •repr •r eprése ésent ntati ation on qua quasim simen entt aba aband ndonn onnée ée auj aujour ourd’h d’hui ui pseu eudo do-c -cod odee: représentation textuelle avec une Le ps sprogrammation érie de conventions ressemblant à un langage de • plus pratique pour écrire un algorithme • repr représ ésen enta tati tion on la larg rgem emen entt ut utililis isée ée

 

L’ORGANIGRAMME Début

N Oui N=0 Non Non

Oui N= 2) ET (x < =6) • n divisible par 3 ou par 2 : (n%3=0) OU (n%2=0) • deux valeur valeurss et deux seulement sont identiques parmi a, b et c : (a=b) XOR (a=c) XOR (b=c) L'évaluation L'évaluat ion d'une condition composée se fait selon des règles présentées présentées généralement généralement dans ce qu'on appelle tables de vérité

 

TESTS IMBRIQUÉS Les tests peuvent d'imbrications Si co cond ndit itio ion1 n1 al alor orss Si co cond ndit itio ion2 n2 al alor orss instructionsA Sinon instructionsB Finsi Sinon Si co cond ndit itio ion3 n3 al alor orss instructionsC Finsi Finsi

avoir

un

degré

quelconque

 

Tests imbr imbriqués iqués : exemple 1

Ecrire un programme qui demande un nombre à l’utilisateur et affiche si ce nombre est négatif ou positif 

 

Tests imbriqués : exercice Le prix de disques compacts (CDs) dans espace de vente varie selon le nombre à acheter: 5 € l’l’unit unitéé si le n nombr ombree de CDs à ach achete eterr es estt inférieur à 10, 4 € l’l’unit unitéé si le n nombr ombree de CDS à ach achete eterr es estt compris entre 10 et 20 et 3 € unit si e nom re de CDs à acheter est au-delà de 20. Écrivez un de algorithme le nombre CDs à qui demande à l’utilisateur acheter, qui calcule et affiche le prix à payer

 

Tests : remarques Un sinon se rapporte toujours au dernier si qui n’a n’a pas encore de sinon associé Il est recommandé de structurer le bloc associé à si et celui associé à sinon Exemple : • Lire(a) • x ←1 •   >= si (a==0) alors x ←2 sinon x ←3 finsi finsi ecrir ecr ire(x e(x)) a : -1 0 1 affichage : 1 2 3

 

L'instruction cas Lorsque l’on doit comparer une même variable avec plusieurs valeurs, comme par exemple : si a=1 alors instruction1 sinon si a=2 alors instruction2   sinon . . . finsi finsi finsi On peut remplacer cette suite de si par l’instruction cas

 

L'INSTRUCTION CAS Sa syntaxe en pseudo-code est : cas où v vaut v1 : action1 v2 : action2 ... vn : actionn autre : action autre

fincas v1,.. . . ,vn son v1, sontt des constantes de type scalaire (entier (entier,, naturel, énuméré, ou caractère) action i est exécutée si v = vi (on quitte ensuite l’instruction cas) ac on autre autre est exécu exécutée tée si quelque quelque soit soit i, v ≠ vi 

 

INSTRUCTIONS ITÉRATIVES : LES BOUCLES Les boucles servent à répéter l'exécution d'un groupe d'instructions un certain nombre de fois On distingue trois sortes de boucles en langages de programmation : • Les boucles tant que : on y répète des instructions   '   • Les boucles jusqu'à : on y répète des instructions  jusqu'à ce qu'une qu'une certaine condition soit réalisée • Les boucles pour ou avec compteur : on y répète des instructions en faisant évoluer un compteur (variable particulière) entre entre une valeur initiale et une valeur finale

 

LES BOUCLES TANT QUE Tant antQue Que (con (conditi dition) on) instructions FinTantQue la condition (dite condition de contrôle de la boucle) est évaluée avant les chaque itération(corps si la condition est vraie, on exécute instructions de la boucle), puis, on retourne tester la condition. Si elle est encore vraie, on répète l'exécution, … si la condition est fausse, fausse, on sort de la boucle et on exécute ex écute l'instruction l'instruction qui est après FinT FinTantQue antQue Il est possible que les instructions à répéter ne soient jamais exécutées.

 

LES BOUCLES TANT QUE : REMARQUES Le nombre nombre d'itér d'itérations ations dans un unee bou boucle cle TantQue n'est pas connu au moment d'entrée dans la boucle. Il dépend de l'évolution de la valeur de la condition. Une des instructions du corps de la boucle doit absolument changer la valeur de la condition de vrai à faux (après un certain nombre d'itérations), sinon le programme va tourner indéfiniment Attention  aux boucles infinies Exemple de boucle infinie : correction iTa←nt1Que i > 0 i ← i+1 FinTantQue

TantQi ← ue 1i
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF