cours types simples vs complexes
6 pages
Français

cours types simples vs complexes

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

Description

Structures SequentiellesAvertissement : version p´eliminaire1 Types Simples vs Types ComplexesUntype estun ensembled’´el´ementssimilaires: leur repr´esentationen machineet lesop´erationssur ces ´el´ements sont communes.Une variable d’un langage de programmation repr´esente un ´el´ement d’un type du langage.1.1 Type simplesLes types simples sont les briques de bases qui serviront a` construire les types plus complexes.Selon les langages de programmation, ces types sont plus ou moins nombreux.– type int : les entiers repr´esent´essur 32 bits. Les op´erations sont les op´erationsarithm´etiquesusuelles.– type long : les entiers de longueur quelconque (jusqu’`a limite de la m´emoire allou´ee).– type float : les flottants rep´esent´es sur 64 bits selon la norme IEEE. Les op´erations sont lesop´erations arithm´etiques usuelles.Dans des langages comme C, existent le type char (entiers sur 1 octet, codant les caract`eresde0 a` 255), double (repr´esentation des flottants sur 128 bits). Le type long correspond aux entierssur 64 bits.Surchargedesop´erations: le mˆemesymbole+ estutilis´epour additionner deux entiersoudeuxflottants alors que les op´erations utilis´ees sont totalement diff´erentes. On dit qu’il y a surchargede l’op´eration et que + est une op´eration polymorphes (plusieurs-formes).D´eclaration de type : en python, il n’est pas utile de d´eclarer le type d’une variable. L’in-terpr´eteur trouve `a la vol´ee le type correspondant a` la valeur affect´ee `a ...

Informations

Publié par
Nombre de lectures 21
Langue Français

Extrait

Structures Sequentielles Avertissement:versionp´eliminaire 1 TypesSimples vs Types Complexes Untypeestunensemblede´l´ementssimilaires:leurrepre´sentationenmachineetlesop´erations surces´ele´mentssontcommunes. Unevariabledunlangagedeprogrammationrepr´esenteune´l´ementduntypedulangage.
1.1 Typesimples Lestypessimplessontlesbriquesdebasesquiservironta`construirelestypespluscomplexes. Selon les langages de programmation, ces types sont plus ou moins nombreux. – typeinthm´eari:tlestiqus.it2br3suest´ense´rpersreitneseionseratsop´ntlesnostaoi´preeLos usuelles. – typelongtienes:lonelsdereuqrueug(euqnocl).eejusqu`alimitedeal´mmeioerlaol´u – typefloatnossnoitare´poseestlstes46ibssrutne´EE.LmeIEanorlonlle:tostnatpersese´ op´erationsarithm´etiquesusuelles. DansdeslangagescommeC,existentletypechar(entierssur1octet,codantlescaracte`resde 0`a255),double(repr´esentationdesottantssur128bits).Letypelongcorrespondauxentiers sur 64 bits. Surchargedesope´rations:lemˆemesymbole+estutilise´pouradditionnerdeuxentiersoudeux ottantsalorsquelesope´rationsutilis´eessonttotalementdi´erentes.Onditquilyasurcharge delope´rationetque+estuneop´erationpolymorphes(plusieursformes). D´eclarationdetype:enpython,ilnestpasutiledererad´eclle type d’une variable. L’in terpre´teurtrouvea`lavol´eeletypecorrespondanta`lavaleuraect´eea`lavariable.Celanest paslecasdansdeslangagescompile´scommeJavaouC,leprogrammeurd´eclare(aude´butdu programmeeng´ene´ral)letypedechaquevariable. Il est possible de forcer uneconversionde type : typeforc´e(x)transforme la valeur en une valeur de typetpy´ceferoquand cela est possible (transformerunintenoatparexemple).Attention,celapeutconduire`aunepertedinformation (par exempleint(x) sixvaut 3.2). Attention:labsencedede´clarationtypageexplicitepeutconduire`adeserreurs. moyenne=0 n=1 nb=input("donnernbel`eve",) while n<=nb: note=input("donner note",) moyenne=moyenne+note n=nb+1 print moyenne/nb Donneraunemoyennede10pournb=2etlesnotes1110:touteslesvaleursdonn´ees´etantdes entiers,lope´rationutilis´eeestladivisionentie`re. Exercice 1Que se passetil si on remplaceprint moyenne/nbparfloat(print moyenne/nb). Trouverdeuxmani`eresdecorrigerleprogrammepourquildonnelebonre´sultat.
1
1.2Typescompos´es Lestypessimplessontinsusantspourde´crireles´ele´mentsquiinterviennentenprogrammationd`esquone´critdesprogrammeunpeucomplexes.Pythonestunlangageobjetquipermet dutiliser(etaussided´enir)des´ele´mentsstructure´scommeuntype:repre´sentationetope´rations communes. Uncompteenbanqueestuneentit´esurlaquelleonpeutfairelesope´rationsdebiter,cred iter,soldeluetocsnoprumpteducoolderlesitarpsnoseC.e´pordoiesveeuavntoisnpre´ocdntiqui sp´ecientquandonpeutleseectuerparexempledebiterne sera possible que si le solde est positif. Denirainsiuncompteenbanquerevienta`d´eniruntype:ondonneunnompourletype etlesop´erationsquonpeuteectuer.Onpeuteˆtrepluspre´cisetde´crireleseetsdesop´erations. Untypede´niainsiestuntype abstrait. En programmation objet on parlera d’uneclasse abstraite Onpeutvouloirpre´ciserlamanie`redontlecompteenbanquefonctionneenpre´cisantquily aunnum´erodecompte,unsoldeetunnomdutilisateuretcommentlesope´rationsmodieces ´ele´ments.Celarevienta`donneruneimpl´ementationdutype. Exemple : Le typeCompte en banqueqnabneetpmocnutin´edtaue,rnudutilisue:unnom num´erodecompteetunsoldecourantetdesope´rationsdebiter, crediter, solde. Unclasseestsimplementuntypeetunobjetseraune´l´ementparticulierdecetteclasse.La classeComptenbanpteenecodm´ettlmnoitsnuuqeeunmmcoretuuctrasetpmocselsuota`e e´le´mentdecetteclassepourlequellesvaleurstilisatenomduoredocpmrun,mue´edlos,etsont pre´cise´es. Lese´l´ementscommedmuonsatetilium´eur,nedorpmocs,etedlontsopeapesl´attributset les ope´rationssontappel´ees´mteoheds. L’appelatione´sotypecompse´dengiotartyutnopeimnse(plnuboodcnL.seej)tratiop´eons utilise´esserontnote´esf(x1, . . . , xn) qui calcule la valeur defavec les argumentsx1, . . . , xnou o.m(x1, . . . , xn) (avecoun objet de la classeCdehoetm´laqieupalpq)iumde la classeCtejbola` odeatobltjemne(idoltnate´o). Dans un premier temps nous n’utiliserons que les fonctions classiques qui s’invoquent avec l’expressionf(exp1, . . . , expn) qui retourne la valeur de la fonction (ou font un effet de bord).
1.3Acc´edera`lavaleurdune´le´ment Un´ele´mentduntypesimpleaunevaleurquiestunentier,ottant,...Cettevaleuraunetaille standardx´eea`lavance(32bits,64bitsparexemple).Unevariabledecetypeauradoncune valeurquiluiestdirectementassoci´ee. Une´l´ementduntypecompose´estpluscomplexe:ilpeutcorrespondre`aplusieursattributs etplusieursope´rationsde´nies`apartirdecesattributs.Lemplacementm´emoirecorrespondant est donc de taille plus important que celui d’un type simple (en principe).
2 Chaines Letypechaineestuntypecompos´e.Unechaineestunesuiteordonn´eedecaracte`res.Le typecaracte`renexistepasenpython,uncaracte`reestunechainer´eduitea`uncaracte`re.Une particularite´decetypeestqueson´etatnestpasmodiable(nonmutable). Chaine : ’toto’ ”est une chaine” Ope´rationsusuelles: Concate´nation:note´e+ ch1 +choielrenvinefachaeeedro´m2chea´eent´cvenoacc1ch2 ch1=’un,’ ch2=’deux’ print ch1+ch2 un, deux
2
  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents