Auris Solutions : Cabinet de Conseil en Stratégie Numérique

Cours d’algorithmique – Programmation en Turbo Pascal – I) Généralités II) Structure d’un programme

(c) Ph. RISCours d’algorithmique by Ph. RIS est mis à disposition selon les termes de la licence Creative Commons Paternité – Pas d’Utilisation Commerciale – Pas de Modification 3.0 Unported

I. Généralités

Le langage Turbo Pascal décrit dans ce cours, est associé avec un ensemble de logiciels permettant :

– d’écrire le programme (avec un petit traitement de texte),

– de compiler le programme et l’exécuter,

– de gérer les fichiers sur le disque dur (effacer, sauvegarder…).

II. Structure d’un programme

Un programme a toujours un aspect général ressemblant à :

PROGRAM nom_du_programme ;

USES         nom_de_fichier_à_inclure ;

CONST      déclarations_des_constantes ;

TYPE         déclaration_des_types_de_données ;

VAR          déclaration_des_variables;

BEGIN

corps_du_programme ;

END.

Les mots en gras sont des mots-clés du langage.

Le programme est découpé en instruction élémentaire (par exemple PROGRAM nom du programme) dont chacune se termine par un point-virgule sauf la dernière instruction qui est suivie d’un point.

Le programme reconnaît les espaces entre deux mots comme un séparateur.

Par exemple, après le mot clé PROGRAM, le langage attend un seul mot puis un point-virgule, donc :

PROGRAM mon_programme ;

sera reconnu alors que :

PROGRAM mon programme ;

ne le sera pas, pas plus que :

PROGRAM mon_programme :

II.1. Exemple

Voici un petit exemple permettant d’entrer un nom quelquonque et un âge et affichant : Bonjour nom_entré, vous êtes né en année_de_naissance.

Program mon_premier_programme ;

Uses crt ;

Var

age : integer ;

nom : string ;

Begin

writeln (‘Donner votre nom’) ;

readln (nom) ;

writeln (‘Donner votre âge) ;

readln (age)

writeln (‘Bonjour ‘, nom) ;

writeln (‘vous êtes né en : ‘, 1993-age) ;

End.

On a introduit ici :

– le mot clé integer : qui signifie que la variable age est du type entier (comme en mathématique),

– le mot string qui signifie que la variable nom est du type chaîne de caractères (lettres de l’alphabet…),

– le mot clé writeln qui est une fonction qui affiche le texte entre parenthèses,

– le mot clé readln qui est une fonction qui lit au clavier est l’affecte à la variable entre parenthèses (si on tape 20, alors on aura age=20).

Enfin, on remarquera le décalage dans l’écriture des lignes de programme (indentation). Il est important d’opérer de tels décalages pour pouvoir facilement lire et corriger le programme. On donnera au fur et à mesure du cours, des règles d’indentation.

Première règle d’identation : à chaque Begin correspond son End. Ils doivent se trouver sur la même colonne et le texte entre eux doit être légèrement décalé vers la droite.

II.1.a) Exercice 1

Reprendre le programme ci dessus-et le modifier pour demander et afficher le prénom.

II.1.b) Exercice 2

Modifier le programme pour qu’il puisse calculer l’âge même si l’on n’est pas né 1993.

II.1.c) Exercice 3

Modifier le programme pour qu’il puisse afficher le nom, le prénom, l’âge de la personne et l’année entrée en II.1.b).

II.2. Les variables et les types de données

Les variables en informatique ressemblent à celles des mathématiques. On peut leur affecter des valeurs comme :

a = 10 ; readln(nom) …

ou changer une valeur déjà donnée : a = a + 10

ou afficher cette valeur : writeln (nom)

Ces variables ont toujours un type qui indique le type d’opération que l’on peut effectuer avec ainsi que les intervalles de définition des variables de ce type.

Pascal utilise ainsi les types pré-féfinis suivants : (pièce-jointe : « Les variables et les types de données »)

Il en existe quelques autres comme le type STRING vu dans l’exemple qui est en fait un exemple de caractères mis les uns derrière les autres et dont chaque caractère est accessible en donnant son numéro. Ainsi pour avoir le 3ème caractère de la chaîne nom, il suffit d’écrire nom[3].

II.3. Les opérateurs

Lorsque l’on a défini une variable d’un certain type, c’est souvent pour pourvoir la modifier pendant son programme. Pour cette modification, on dispose des opérateurs suivants :

OPERATEUR             ACTION

:=                           affectation : a:=5 ; mon_caractère:=’m’

=                            égalité : 5=5 est vrai ; 6=5 est faux

différence : 55 est faux ; 65 est vrai

; >=                       supérieur et supérieur ou égal

+ ; –                        addition et soustraction

* ; /                         multiplication et division

div                          division entière

mod                        modulo

and ; or ; not           et ou non logique

II.4. La procédure writeln

La procédure writeln déjà vue dans le programme d’exemple s’utilise de différentes façons suivant le type de son (ou ses) argument(s). Exemples :

(…)

a:=1; b:=2 ; c:=3 ; d:=421.53 ;

nom := ‘moi’

writeln(a,b,c)                             -> affiche : 123

writeln(a,’ ‘,b,c)                         -> affiche : 1 23

writeln(a,nom)                          -> affiche : 1moi

writeln(d)                                  -> affiche : 4.2153000000E+02

writeln(d:8)                               -> affiche : 4.2E+02

writeln(d:8:2)                            -> affiche :    421.53

writeln(d:8:4)                            -> affiche : 421.5300

II.5. Exercices

Reprendre le programme ci-dessus et le modifier pour afficher les initiales de l’utilisateur.

Écrire un programme qui demande une taille en kilo-octet et qui affiche cette même taille en octet.

Écrire un programme qui demande une taille en méga-octet et qui affiche cette même taille en octet et en Ko.

Écrire un programme qui demande une taille en téra-octet et qui affiche cette même taille en octet, Mo et Go.

Écrire un programme qui demande une température en C° et l’affiche en degré Farenheit (9/5 C° +32).

Aucun commentaire jusqu'à présent.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *


_____________


Avant d'être uberisé,
apprenez à décoder les

17 règles de l'économie numérique


Translator

FrenchItalianChinese (Traditional)EnglishGermanSpanishJapaneseArabicRussianHebrewTurkish

Catégories

Nous respectons la RGPD