Introduction Programmation
Introduction Programmation
Introduction Programmation
Automne 2009
Receuil de texte
Par Le Van Nguyen
________________________________________________________________
i
Chapitre 1 : Introduction à la programmation
De façon générale, on peut dire que l’objectif premier d’un traitement automatique de
l’information consiste à demander à un ordinateur de traiter des informations d’une
manière automatique et de présenter les résultats selon la planification qui a été faite.
Pour le cours IFT 1810, on présente durant 7 semaines (sur 12), une partie du langage
C pour introduire les notions de base de la programmation. Une fois que l’étudiant
comprend la base de la programmation, on introduit légèrement quelques notions de
Une syntaxe propre : celle-ci, de petite dimension (en comparaison avec celle de
toute langue naturelle) doit être respectée très rigoureusement car l’ordinateur ne
donne suite qu’aux instructions présentées correctement. Les règles de syntaxe
sont faciles à assimiler grâce aux exposés théoriques et grâce aussi, aux
exercices de programmation effectués dans le cadre du volet pratique du cours.
L'apprentissage est assez aisé. L'écriture des phrases (instructions) en langage C fait
appel à la logique du raisonnement et à l'imagination. Le tout s'avère très instructif et
très intéressant. Il suffit de s'y lancer pour en découvrir tout le charme!
19)Bit (binary digit) : la plus petite unité d’information que l’on peut représenter dans un
ordinateur et que celui-ci peut traiter (représentée habituellement par 0 ou 1).
20)Octet (byte) : groupe de 8 bits dans lequel on peut codifier (stocker) un caractère.
Unité de mesure de quantités d'information. Chaque octet dispose d'une "adresse"
(son emplacement en mémoire) comme chaque logement dispose d'une adresse
postale.
Faire les étapes nécessaires pour écrire finalement un programme en langage C qui
permet :
Exécution
L'exécution d'un tel programme sur un micro-ordinateur donne, par exemple, ce qui suit
à l'écran :
Cheminement :
Obtenir la taille en nombre de pieds et de pouces
Dans ce tableau :
Afficher la taille :
Dans cet algorithme, on utilise souvent des identificateurs décrits dans le tableau
d'analyse de l'information.
Le tableau d'analyse des informations est utile pour comprendre le problème et pour
faire les déclarations.
Cette étape, qui est expliquée en détail au premier cours théorique, nous amène à un
programme écrit en langage C comme suit suivi des explications :
#include <stdio.h>
int main()
{
/* 1 pied = 0.3048 mètre = 12 pouces */
const float PIED_EN_METRE = 0.3048;
/* Conversion en mètre */
taille = (nbPieds + nbPouces / 12.0) * PIED_EN_METRE;
system("pause");
return 0;
}
Ce programme comporte :
#include <stdio.h>
stdio.h (standard input/ouput header file) est le nom d'un fichier d'en-tête
permettant de gérer les entrées et sorties standard (scanf : lire les
données, printf : afficher, etc ...)
2) une seule fonction (pour cet exemple), c'est la fonction principale (main)
int main ()
3) un bloc d'énoncés délimités entre { (début d'un bloc) et } (fin d'un bloc)
4) la déclaration :
a) d'une constante de type réel dont la valeur vaut 0.3048 :
b) de trois variables :
taille est le nom d'une variable de type réel ("float" désigne le type
réel, valeur numérique avec la partie décimale, exemple 1.76).
"printf" est le nom d'une fonction (une tâche) prédéfinie qu'on peut
appeler en incluant le fichier d'en-tête approprié (ici : stdio).
#include <stdio.h>
Notez que nous ne plaçons pas de lettres accentuées dans les messages
à imprimer par le programme. La raison est très simple : les accents
n’apparaissent pas correctement lorsque nous lançons le programme.
"scanf" est le nom d'une autre fonction (une tâche) prédéfinie qu'on peut
appeler en incluant le fichier d'en-tête approprié (ici : stdio).
#include <stdio.h>
"scanf" vient de 2 mots anglais : "scan + format" qui signifient "lire les
données avec format de présentation". On utilise souvent cette fonction
pour lire les données tapées au clavier.
%6.2f : on aimerait afficher la taille sous le format d'un réel (f : float (un
réel))
Dans ce programme, on utilise des mots de vocabulaire ainsi que les symboles suivants
du langage C :
int main() : fonction principale
const : constante
* : multiplication
/ : division
Ces mots et ces symboles reviennent exemple après exemple, semaine après semaine. On
parviendra rapidement à les comprendre et à les retenir. Il reste une vingtaine d'autres mots à
découvrir durant toute la session.
Dans l’environnement du compilateur Dev-C++, par défaut, l’écran d’exécution se ferme
automatiquement. L’usager n’a pas du temps de lire les infornations affichées à l’écran
d’exécution. Pour empêcher la disparition de l’écran d’exécution, on ajoute la ligne suivante à la
fin du programme : system("pause");
Cette instruction permet d’afficher le message Appuyez sur une touche pour continuer...
et met l’écran d’exécution en vue (en pause) en attente de la frappe d’une touche (par exemple
la touche Entrée).
Pour IFT 1810, la fonction principale se présente souvent sous la forme :
int main()
{ ...
system("pause");
return 0 ;
}
Dans ce programme :
on termine souvent une "phrase en langage C" (une instruction) par le point
virgule ";" :
int nbPieds, nbPouces;
Une erreur de syntaxe est souvent facile à localiser et à corriger. Après quelques
semaines de pratique, on sera habitué aux règles de syntaxe du langage.
Cette étape se fait sur un poste de travail muni d'un compilateur C (ou C++,
exemple : sur un micro-ordinateur avec un compilateur de C++ (comme dans nos
laboratoires : wxDevcpp ou Dev-C++).
1. Éditer le programme :
taper le programme
corriger les erreurs de frappe
sauvegarder dans un fichier (document électronique)
2. Compiler le programme :
On utilise l'éditeur pour corriger les erreurs, s'il y a lieu, jusqu'à ce que la
compilation se termine avec succès.
3. Exécution du programme :
Si les résultats sont incorrects (une taille de 2.50 mètres pour une personne qui
mesure de 5 pieds et 3 pouces, par exemple), il faut réviser l'algorithme.
Si les résultats sont corrects, il suffit d'améliorer, s'il y a lieu, la présentation des
résultats à l'écran, la présentation du programme, etc.
Exercice 1 :
Faire les étapes nécessaires pour écrire finalement un programme en langage C qui
permet :
de saisir le prix d'un seul article
de calculer les taxes suivantes :
tps : 5 % du prix
tvq : 7.5 % du (prix + tps)
taxes : total des 2 taxes
de calculer le prix total à payer
d'afficher les prix et les taxes
de saisir le montant donné par le client
de calculer le change (la monnaie) à lui remettre
d'afficher les informations voulues
Exécution
L'exécution d'un tel programme sur un micro-ordinateur donne ce qui suit à l'écran :
TPS 0.14
TVQ 0.22
le prix de l'article
les taux des taxes fédérale et provinciale :
taux de TPS : 5 %
taux de TVQ : 7.5 %
le montant donné par le client pour payer l'article acheté.
Pour comprendre les calculs, vous pouvez essayer avec le prix d'un article, par
exemple est de 10.00 $ et le montant donné par le client, par exemple, est de 15.00$.
Cheminement :
une variable est une information dont la valeur peut varier : le prix de
l'article, les taxes, le prix total, le montant donné, la monnaie à remettre varient
d'un client à un autre.
une constante est une information dont la valeur est inchangée : on
applique les mêmes taux de taxe peu importe le prix de l'article acheté.
Écrire un programme qui permet de saisir la longueur et la largeur d'un rectangle et qui
calcule le périmètre et la surface de ce rectangle. Voici les informations pour le
traitement :
Votre programme doit afficher les informations sur le rectangle en question.
Cheminement :
Obtenir les données du problème
Traitement
Afficher longueur
Afficher largeur
Afficher perimetre
Afficher surface
int main()
{
float longueur, largeur, perimetre, surface;
/* Calcul du périmètre : */
perimetre = 2 * (longueur + largeur);
/* Calcul de la surface : */
surface = longueur * largeur;
/* Affichage : */
printf("Informations du rectangle : \n");
printf(" La longueur : %8.2f\n", longueur);
printf(" La largeur : %8.2f\n", largeur);
printf(" Le perimetre : %8.2f\n", perimetre);
printf(" La surface : %8.2f\n", surface);
system("pause");
return 0;
}
/* Exécution:
Entrez la longueur et la largeur du rectangle 8.6 3.4
Informations du rectangle :
La longueur : 8.60
La largeur : 3.40
Le perimetre : 24.00
La surface : 29.24
Appuyez sur une touche pour continuer...
*/
Faire les étapes nécessaires pour écrire finalement un programme en langage C qui
permet :
3. une fonction principale (main) qui contient des déclarations et des instructions en
langage C
4. des sous-programmes (en langage C on n'a que des fonctions qui se trouvent
avant et/ou après la fonction principale : à étudier plus tard.