Algorithmique et programmation en Deust @mrl Détails de syntaxe, Variables, Conditions, Logique
Begin et point-virgule Les instructions sont encadrées par begin et end Elles sont séparées par le point-virgule Exemple : begin a:=3; b:=a*2; end;
Variables numériques rôle d’une variable, comment la déclarer et que se passe-t-il ? Où placer les déclarations Soit dans une procédure : après la ligne procedure … et avant begin Soit avant les procédures : après la ligne {$R *.dfm}
Variables numériques entières valeurs entières positives ou négatives Integer 4 octets de -2 milliards à 2 milliards rouleau automatique sauf si vérification de débordement
Variables numériques non entières valeurs non entières positives ou négatives Real 8 octets 10-324 < |x| < 10 308 ou zéro pas de « rouleau » 15 à 16 chiffres significatifs
Instruction conditionnelle transposition de la construction de phrase si condition remplie alors... sinon... schéma une et deux branches
Instruction conditionnelle
Instruction conditionnelle syntaxe pascal if expr logique then begin instruction(s) end else begin instruction(s) end if expr logique then begin instruction(s) end
Expression logique opérateurs relationnels : < > <= >= = <> opérateurs logiques : and or not priorité aux opérateurs logiques d’où nécessité de ( ) souvent exemples une relation, fourchette,
Déclarer les 4 variables Exemple 1 déterminer la plus petite et la plus grande de 2 valeurs si a>=b max reçoit a min reçoit b sinon max reçoit b min reçoit a if a>=b then begin max:=a; min:=b end else begin max:=b; min:=a end; Déclarer les 4 variables
Exemple 2 imbrication d’instructions conditionnelles prix brut 0 à 500 500 à 2000 >=2000 remise 0% 10% 15% si prix brut<500 prix net:=prix brut sinon si prix brut <2000 prix net:=prix brut*0.9 sinon prix net:=prix brut*0.85
Exemple 2 suite if PrixBrut <500 then begin {cas < 500} PrixNet:= PrixBrut end {fin cas <500} else begin {cas >= 500} if PrixBrut <2000 then begin {cas 500 à 2000} PrixNet := PrixBrut *0.9 end {fin cas 500 à 2000} else begin {cas >= 2000} PrixNet := PrixBrut *0.85 end {fin cas >= 2000} end {fin cas >= 500}
Logique tables de vérité and or not type Boolean 2 valeurs : false et true propriétés Visible presque tous les composants, Enabled pour autoriser l’accès, ReadOnly pour interdire la modification, ...