Click here to load reader

Algorithmique & Programmation Semestre 2 · PDF fileSemestre 2 ST Rappels du semestre 1 Rappels du semestre 1 Types agrégés Structuration en sous-algorithmes Tableaux de variables

  • View
    212

  • Download
    0

Embed Size (px)

Text of Algorithmique & Programmation Semestre 2 · PDF fileSemestre 2 ST Rappels du semestre 1...

Algorithmique & Programmation

Semestre 2 STRappels du semestre 1

Rappels du semestre 1

Types agrgsStructuration

en sous-algorithmes

Tableaux

de variables

Algorithmes

de recherche et de tri

Prcision, rapidit

et complexit

Matrices

de variablesRcursivit

Travaux

dirigs

Travaux

pratiquesInformations

Sujets de projetEvaluation

intermdiaireEvaluation finale

Evaluation complmentaire

Archives

Excution squentielle Les typesLes constantes

littrales

Les variables

et les constantesLe transtypage

Les oprateursLes instructions

de structurationAnalyse d'un problme Les algorithmes Dbugger

Version PDF

Excution squentielle

Programme informatique (algorithme): Stockage d'informations Traitements sur ces informations

Excution squentielle: Instructions excutes dans l'ordre de leur criture dans le fichier source

Instruction en cours d'excution possiblement influence par les instructions prcdentes

Instruction en cours d'excution possiblement influente sur les instructions suivantes Instruction en cours d'excution jamais influence par les instructions suivantes Instruction en cours d'excution jamais influente sur les instructions prcdentes

Les types

Typage des informations stockes au sein d'un programme: Catgorie d'information Limites inhrentes au type Occupation mmoire (empreinte mmoire)

Langage algorithmique Langage Java

Nom et type

d'information stockeNom de type

Intervalle

de dfinition

Occupation

mmoire

Page 1 sur 12Algorithmique-Programmation Semestre 2 ST - Rappels du semestre 1

08/02/2017http://127.0.0.1:9000/Algo-S2/00-Rappels/Default.htm

entier

byte [-128, 127]

quivalent [-27, 27-1]

1octet

short[-32768, 32767]

quivalent [-215, 215-1]2octets

int[-2147483648, 2147483647]

quivalent [-231, 231-1]4octets

long[-9223372036854775808, 9223372036854775807]

quivalent [-263, 263-1]8 octets

rel

float

En valeur positive ou ngative

Valeur minimale strictement positive: 1.4e-45

Valeur minimalestrictement positiveavec mantisse 8 chiffres de prcision:

1.17549435e-38

Valeur maximale avec mantisse 8 chiffresde prcision:

3.4028235e+38

4 octets

double

En valeur positive ou ngative

Valeur minimale strictement positive: 4.9e-324

Valeur minimalestrictement positiveavec mantisse 16 chiffres de prcision:

2.2250738585072014e-308

Valeur maximale avec mantisse 16 chiffres de prcision:

1.7976931348623157e+308

8 octets

boolen boolean vrai ou faux 1 octet

caractre char

lettres: a z,A Z,chiffres: 0 9,

caractres de ponctuation: ,, ., ;, :, ^, ...caractres accentus: , , , , , , ...

caractres spcifiques aux langues,...

2 octets

chane StringToute suite de n caractresnots entre guillemets (")

2*(n+1) octets

Les constantes littrales

Valeurs numriques, caractres ou chanes de caractres directement entres dans le code source

Recommandation

En langage algorithmique, noter les constantes littrales numriques en respectant leurs types

Exemple: 1 et 1.0 pour la valeur 1 en entier et en rel

Recommandation

En Java, noter les constantes littrales numriques en respectant leurs types Exemple: 1, 1.0, 1.0F, 1L pour la valeur 1 en int, double, float et long

En langage Java: Constante littrale numrique 4 de type int: 4

Constante littrale numrique 4 de type long: 4L

Constante littrale numrique 4.0 de type double: 4.0

Constante littrale numrique 4.0 de type float: 4.0F

Constante littrale numrique 3.123e-18 de type double: 3.123E-18

Page 2 sur 12Algorithmique-Programmation Semestre 2 ST - Rappels du semestre 1

08/02/2017http://127.0.0.1:9000/Algo-S2/00-Rappels/Default.htm

Constante littrale numrique 3.123e-18 de type float: 3.123E-18F

Constante littrale caractre 2: '2'

Constante littrale chane de caractres Abc: "Abc"

Constantes littrales boolennes vrai et faux: true et false

Constante littrale dcimale 18 de type int mais note sous forme hexadcimale (base 16): 0x00000012

Constante littrale caractre Escape (code ascii dcimal 27 cod 1B en hexadcimal): '\x1B'

Les variables et les constantes

Stockage des informations des programmes dans des variables et des constantes

Variable: Caractrise par un nom et un type Contenu variable par "affectation" (signe Utilisation d'une quantit de mmoire fonction du type dfini

Nom de constante

Utilisation exclusive de lettres non accentues, de chiffres et du caractre _Pas de chiffre en premier caractreInterdiction d'utiliser les noms rservs du langage

Convention Ecriture intgrale en majuscule

Exemples: N, M, PI, NOMBRE_AVOGADRO

Nom de variable

Utilisation exclusive de lettres non accentues, de chiffres et du caractre _Pas de chiffre en premier caractreInterdiction d'utiliser les noms rservs du langage

Convention Ecriture intgrale en minuscule En cas de nom compos, mise en majuscule de l'initiale de chaque composante

l'exception de la premire Exemples: r, longueurCote, nombreDeValeurs

Recommandation

Page 3 sur 12Algorithmique-Programmation Semestre 2 ST - Rappels du semestre 1

08/02/2017http://127.0.0.1:9000/Algo-S2/00-Rappels/Default.htm

Choix de noms explicites pour les constantes et les variables (recommandation gnralise tous les items pour lesquels le programmeur choisit le nom)

Syntaxe de dclaration d'une variable

Langage algorithmique Langage Java

nomVariable : type type nomVariable;

Syntaxe de dclaration d'une constante

Langage algorithmique Langage Java

constante type nomConstante < -

valeurSi dfinition en dehors du "main": public final static type

nomConstante = valeur;

Si dfinition dans le "main":final type nomConstante = valeur;

En langage Java, affectation possible d'une valeur initiale une variable lors de sa dclaration

Syntaxe:

type nomVariable = valeur;

valeur: Constante littrale, constante, variable ou expression affecte la variable nomVariable

Le transtypage

Transtyper (to cast en anglais):Convertir une information de son type vritable vers un autre type

Pas de syntaxe particulire en langage algorithmique: affectation

Syntaxe en langage Java:

(typeCible) (valeurOuVariableOuConstanteOuExpressionConvertie)

Exemples:

(int) (2.623): Conversion du double 2.623 en l'entier 2 (troncature)

(long) ('a'): Conversion du caractre a en un entier long -> 97 (code ASCII du caractre

a) (float) (a): Conversion en un float du contenu de la variable ou de la constante a

En langage Java, emploi explicite obligatoire du transtypage en cas d'ventuelle perte de prcision (un double vers un float, un long vers un int, un double vers un int, ...)

Les oprateurs

Page 4 sur 12Algorithmique-Programmation Semestre 2 ST - Rappels du semestre 1

08/02/2017http://127.0.0.1:9000/Algo-S2/00-Rappels/Default.htm

Oprateurs: Ralisation d'"oprations" sur les valeurs spcifies (variables, constantes, ...)

Affectation

Placement dans une variable (celle indique gauche de l'oprateur) du contenu d'une variable, d'une constante, d'une constante littrale ou du rsultat de l'valuation d'une expression

Cohrence de type entre la valeur affecte et la variable subissant l'affectation (transtypage ventuel)

Oprateur Langage algorithmique Langage Java

Affectation Division entire et rsultat entier Division ralise sur un entier et un rel -> Division relle et rsultat rel 3/2 -> 1 19/10 -> 1 3.0/2.0 -> 1.5 3.0/2 -> 1.5 3/2.0 -> 1.5

Oprateur Langage algorithmique Langage Java

Additions entire et relle + +

Soustractions entire et relle - -

Multiplication entire et relle * *

Division entire et relle / /

Reste de la division entire modulo %

Oprateurs de test

Ralisation d'oprations de test entre "valeurs" (de types compatibles) par construction

d'"expressions conditionnelles" (frquemment dnommes "conditions") simples (canoniques)

Oprateur Langage algorithmique Langage Java

Test d'galit = ==

Test de diffrence !=

Test d'infriorit < >

Page 5 sur 12Algorithmique-Programmation Semestre 2 ST - Rappels du semestre 1

08/02/2017http://127.0.0.1:9000/Algo-S2/00-Rappels/Default.htm

Test d'infriorit ou galit =

Exemples: ( a > b ), ( c = 3.0 ), ( x != y )

Oprateurs boolens

Application des valeurs boolennes Composition d'expressions conditionnelles de manire crer desexpressions conditionnelles

complexes

Oprateur Langage algorithmique Langage Java

non non !

et et &&

ou ou ||

ou exclusif ou exclusif ^

et faux vrai

faux faux faux

vrai faux vrai

ou faux vrai

faux faux vrai

vrai vrai vrai

ou

exclusiffaux vrai

faux faux vrai

vrai vrai faux

- non

faux vrai

vrai faux

Exemple: non(a), non( a > b ), non(( a > b ) et ( c = 3.0 )), !(( a == b) && ( a != c))

Oprateurs spcifiques aux chanes de caractres en Java

Variable s de type String en J

Search related