Chapitre 1
Chapitre 1
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.
Données ORDINATEUR Résultats escomptés
La programmation constitue un des moyens d’atteindre cet objectif. Au moyen d’un
langage approprié, appelé langage de programmation, on décrit précisément les
étapes que l’ordinateur doit franchir pour obtenir les résultats escomptés à partir des
informations fournies.
En informatique, plusieurs de ces langages existent, à l’instar des langues naturelles (le
français, l’anglais, etc.), et ces divers langages permettent de communiquer avec
l’ordinateur. Dans le cours IFT 1969, le langage utilisé est le langage C. Les exemples
scientifiques seront présentés en classe et disponibles sur la page Web tandis que la
plupart des exemples dans ces notes de cours sont universels.
Le langage C a été créé en vue de son utilisation avec les ordinateurs et ce, pour
plusieurs types d'applications. Comme dans le cas des langues naturelles, il possè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.
Le cours IFT 1969 comporte l'apprentissage de quelques mots et de quelques règles
grammaticales propres aux langages de programmation. Ceux-ci permettent au
programmeur de composer les phrases (instructions) requises par l'ordinateur pour
obtenir les résultats découlant de l'information fournie, en fonction du problème à
résoudre.
L'apprentissage est assez facile. L'écriture des phrases (instructions) dans un langage
(C ou autre) 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!
11) Login : mot d’usager (user’s name) : si vous êtes inscrits dans un cours en
informatique, on va vous fournir un nom d’usager pour travailler au laboratoire. Ce
mot
est public.
12) Mot de passe (password) : c’est comme le NIP d’une carte bancaire. Les auxiliaires
vont vous montrer comment obtenir un seul mot de passe sous Windows (pour
utiliser
les logiciels aux laboratoires) et sous LINUX (pour la remise électronique, courrier
électronique). Veuillez le conserver précieusement.
Faire les étapes nécessaires pour écrire finalement un programme en langage C qui
permet :
Exécution
Cheminement :
Dans ce tableau :
delta = b2 – 4ac
Si delta > 0
x1 = (-b + racine carrée(delta)) / 2a
x2 = (-b - racine carrée(delta)) / 2a
écrire à l’écran x1 et x2
Sinon
Si delta < 0
Écrire à l’écran le message "Pas de racines reelles"
Sinon
Écrire à l’écran la racine double –b / 2a
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 :
/* IFT 1969
Premier exemple simple :
Résoudre une équation du second degré :
ax2 + bx + c = 0
*/
#include <stdio.h>
#include <math.h>
int main() {
printf("\n");
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)
void main ()
3) un bloc d'énoncés délimités entre { (début d'un bloc) et } (fin d'un bloc)
"float" désigne le type réel (un nombre "flottant", une valeur numérique
avec la partie décimale).
"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>
"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.
delta = b*b - 4 * a * c ;
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 :
Afficher taille
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()
{
const float FACTEUR = 0.3048; /* Facteur de conversion :
1 pied = 0.3048 mètre */
float taille;
/* Conversion en mètre : */
taille = (nbPieds + nbPouces / 12.0) * FACTEUR ;
/* Affichage : */
printf("La taille en metre : %6.2f\n", taille);
return 0 ;
}
#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 :
b) de trois variables :
"int" est l'abrégé du mot anglais "integer" qui signifie le type entier
(-23, 456, 32100, etc...)
"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 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 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.
Environnement de travail
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 ).
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.
D) Exercices
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 : 6 % 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
Exécution
L'exécution d'un tel programme sur un micro-ordinateur donne ce qui suit à l'écran :
Entrez le prix de l'article : 0.60
Prix : 0.60 $
TPS : 0.04 $
TVQ : 0.04 $
Taxes : 0.08 $
Prix total : 0.68 $
Solution
le prix de l'article
les taux des taxes fédérale et provinciale :
taux de TPS : 6 %
taux de TVQ : 7.5 %
le montant donné par le client pour payer l'article acheté.
Si le prix d'un article est de 10.00 $, comment calculer les taxes et le prix total à payer?
Dans ce tableau :
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é.
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 plus en détail au premier cours théorique, nous amène à
un programme écrit en langage C comme suit :
#include <stdio.h> /* pour les entrées-sorties standard :
standard input output header file */
/* Ce programme permet :
- de saisir le prix d'un seul article
- de calculer les taxes tps, tvq, taxes et le prix total à
payer
- d'obtenir le montant donné par le client et de calculer la
monnaie à remettre au client
- d'afficher les informations pertinentes à l'écran
*/
int main()
{
const float TAUX_TPS = 0.06, /* 6 % de TPS */
Dans ce programme, on utilise des mots de vocabulaire, des symboles ainsi que les
opérateurs suivants du C :
void main() : fonction principale
const : constante
float : type réel (exemple -23.7, 1.78, 67.9435, ...)
int : type entier (exemple -34, 0, 678, ...)
{ : début d'un bloc d'instructions
} : fin d'un bloc d'instructions
printf : afficher à l'écran avec format de présentation
scanf : lire (avec format) des données tapées au clavier
= : affectation (dépôt de valeur)
* : multiplication
Ces mots et ces symboles sont quasiment semblables à ceux du premier exemple. On
parviendra à comprendre et à retenir cela très rapidement. Il reste une dizaine d'autres
mots à découvrir durant toute la session du cours IFT 1969.
Exercice 2
É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
Le code en langage C
#include <stdio.h>
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);
return 0 ;
}
Exécution
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 : ceci sera approfondi dans le cours
suivant : IFT 1160).
#include <stdio.h>
/* fonction principale */
return main()
{
.....
return 0 ;
}
F) Exercices supplémentaires
Exercice 1
Faire les étapes nécessaires pour écrire finalement un programme en langage C qui
permet :
Exigences du traitement :
Lire degreF
Conversion
Affichage du résultat
Afficher degreC
Le code en langage C
#include <stdio.h>
/* Exemple simple :
*/
int main()
{
float degreF, degreC; /* temperature en degres Farenheit et Celsius */
/* Conversion : */
degreC = 5 / 9.0 * (degreF - 32);
Exécution
Faire les étapes nécessaires pour écrire finalement un programme en langage C qui
permet :