Université Mohammed V - Agdal Ecole Mohammadia d'Ingénieurs Département Informa

Université Mohammed V - Agdal Ecole Mohammadia d'Ingénieurs Département Informatique Rabat Algorithmes et C Language Plan du cours: INTRODUCTION NOTIONS D'ALGORITHMES CONCEPTS DE BASE DU LANGAGE C ETAPES ET DEMARCHES DE RESOLUTION ALGORITHMIQUE LES TABLEAUX LES POINTEURS LES FONCTIONS LES STRUCTURES LES FICHIERS Madame Fatima-Zahra BELOUADHA Première année, première période Sommaire CHAPITRE 1 INTRODUCTION ------------------------------------------------------------------------------------------ 3 1 ARCHITECTURE ET COMPOSANTS MATERIELS DE L’ORDINATEUR ------------------------------------------------------- 3 2 COMPOSANTS LOGICIELS DE L'ORDINAT UR ------------------------------------------------------------------------------- 4 3 SCENARIO D’UN TRAITEMENT AUTOMATIQUE ----------------------------------------------------------------------------- 4 4 LANGAGE DE PROGRAMMATION --------------------------------------------------------------------------------------------- 5 5 COMPILATION ET EXECUTION D'UN PROGRAMME EN C ------------------------------------------------------------------- 6 CHAPITRE 2 NOTIONS D'ALGORITHMES ------------------------------------------------------------------------- 7 1 QU'EST CE QU'UN ALGORITHME ? -------------------------------------------------------------------------------------------- 7 2 OPERATIONS DE BASE ---------------------------------------------------------------------------------------------------------- 8 3 EXEMPLE : CONVERSION EN BASE ----------------------------------------------------------------------------------------- 13 CHAPITRE 3 CONCEPTS DE BASE DU LANGAGE C ---------------------------------------------------------- 16 1 STRUCTURE D'UN PROGRAMME EN C -------------------------------------------------------------------------------------- 16 2 LES DIRECTIVES DE COMPILATION----------------------------------------------------------------------------------------- 17 3 LES COMMENTAIRES --------------------------------------------------------------------------------------------------------- 18 4 LES VARIABLES ET LES CONSTANTES -------------------------------------------------------------------------------------- 18 5 L’AFFECTATION (ASSIGNATION) ------------------------------------------------------------------------------------------- 23 6 LES ENTREES/SORTIES ------------------------------------------------------------------------------------------------------- 24 7 LES OPERATEURS ------------------------------------------------------------------------------------------------------------- 27 8 LES INSTRUCTIONS SELECTIVES -------------------------------------------------------------------------------------------- 30 9 LES INSTRUCTIONS ITERATIVES -------------------------------------------------------------------------------------------- 33 CHAPITRE 4 ETAPES ET DEMARCHES DE RESOLUTION ALGORITHMIQUE ---------------------- 38 1 CYCLE DE VIE D'UN ALGORITHME ------------------------------------------------------------------------------------------ 38 2 EXEMPLE DE LA DEMARCHE DESCENDANTE ------------------------------------------------------------------------------ 39 3 EXEMPLE DE LA DEMARCHE ASCENDANTE ------------------------------------------------------------------------------- 42 CHAPITRE 5 LES TABLEAUX ----------------------------------------------------------------------------------------- 46 1 TABLEAUX A UNE DIMENSION (VECTEURS) ------------------------------------------------------------------------------- 46 2 CHAINES DE CARACTERES --------------------------------------------------------------------------------------------------- 50 3 TABLEAUX A PLUSIEURS DIMENSIONS ------------------------------------------------------------------------------------- 53 CHAPITRE 6 LES POINTEURS ---------------------------------------------------------------------------------------- 56 1 DECLARATION DE POINTEURS ---------------------------------------------------------------------------------------------- 56 2 OPERATEURS & ET * --------------------------------------------------------------------------------------------------------- 56 3 OPERATEURS ++ ET -- -------------------------------------------------------------------------------------------------------- 57 4 ALLOCATION MEMOIRE ------------------------------------------------------------------------------------------------------ 57 CHAPITRE 7 LES FONCTIONS ---------------------------------------------------------------------------------------- 58 1 INTRODUCTION---------------------------------------------------------------------------------------------------------------- 58 2 STRUCTURE ET PROTOTYPE D’UNE FONCTION---------------------------------------------------------------------------- 58 3 APPEL DE FONCTIONS -------------------------------------------------------------------------------------------------------- 60 4 DOMAINES D'EXISTENCE DE VARIABLES ---------------------------------------------------------------------------------- 60 5 PASSAGE DE PARAMETRES -------------------------------------------------------------------------------------------------- 60 6 FONCTION RECURSIVE ------------------------------------------------------------------------------------------------------- 62 CHAPITRE 8 LES STRUCTURES ------------------------------------------------------------------------------------- 64 1 DEFINITION -------------------------------------------------------------------------------------------------------------------- 64 2 DEFINITION DES TYPES STRUCTURES -------------------------------------------------------------------------------------- 64 3 DECLARATION DES VARIABLES STRUCTURES ---------------------------------------------------------------------------- 65 4 ACCES AUX CHAMPS D'UNE STRUCTURE ---------------------------------------------------------------------------------- 65 CHAPITRE 9 LES FICHIERS ------------------------------------------------------------------------------------------- 67 1 INTRODUCTION---------------------------------------------------------------------------------------------------------------- 67 2 DECLARATION DE FICHIERS ------------------------------------------------------------------------------------------------- 67 3 FONCTIONS DE NIVEAU 2 ---------------------------------------------------------------------------------------------------- 67 Algorithmes et langage C _________________________________________________ Fatima-Zahra BELOUADHA 3 CHAPITRE 1 INTRODUCTION L'informatique est la science du traitement automatique (moyennant l'ordinateur) de l'information. Elle a pour objet d'élaborer et de formuler l'ensemble de commandes, d'ordres ou d'instructions permettant de commander l'ordinateur et de l'orienter lors du traitement. 1 ARCHITECTURE ET COMPOSANTS MATERIELS DE L’ORDINATEUR Unité d'échange Unité centrale Un ordinateur est composé de deux unités : 1- L'unité centrale cons ituée de : L'unité de traitement (UT) qui commande tout traitement fait par l'ordinateur. L'unité de calcul (UC) qui effectue les opérations (arithmétiques, logiques…) commandées par l'UT. L'ensemble UT, UC est appelé processeur. La mémoire centrale qui sert de support de stockage de données. On signale ici qu’il s’agit d’une mémoire volatile. 2- L'unité d'échange constituée de : Les périphériques d'entrée/sortie comme le clavier, la souris, l'écran et l’imprimante. La mémoire secondaire qui sert également de support de stockage de données. Elle est permanente et se caractérise par une capacité supérieure à celle de la mémoire centrale. Remarque : Le composant mémoire est physiquement un ensemble de cellules mémoire (octets) contenant des données sous forme binaire. Un octet est constitué de 8 bits (digits contenant les chiffres 0 ou 1). Un kilooctet (KOctet) est composé de 1024 (2 10 ) octets. Processeur UC UT Mémoire centrale Périphériques d'entrée Périphériques de sortie Mémoire secondaire : Commandes : Données Algorithmes et langage C _________________________________________________ Fatima-Zahra BELOUADHA 4 2 COMPOSANTS LOGICIELS DE L'ORDINATEUR Tout traitement automatique peut être réalisé au moyen d'un ou de plusieurs programmes. Un programme est une série d'instructions (opérations) que la machine peut exécuter pour effectuer des traitements donnés. Un logiciel est en général un ensemble de programmes visant à effectuer automatiquement un traitement ou une tâche complexe. Une machine peut héberger plusieurs logiciels au choix de son utilisateur. Cependant, un système d'exploitation dit aussi système opératoire est un logiciel de base qui doit faire l'objet de la première installation. Un système d'exploitation fut un ensemble de programmes assurant d'une part, le fonctionnement de toutes les composantes matérielles d'un ordinateur et d'autre part, la communication Homme/Machine. Il a pour exemples de fonctions : La gestion de la mémoire. La gestion des périphériques. La gestion de partage de ressources entre plusieurs utilisateurs. Système de fichiers. Interface utilisateur. Comme exemples de systèmes opératoires, nous citons Windows, Unix, Linux, Ms Dos, MacOs... 3 SCENARIO D’UN TRAITEMENT AUTOMATIQUE Faire effectuer un traitement automatique par la machine nécessite de lui indiquer la source de données (sur quoi porte le traitement), les opérations ou actions élémentaires à effectuer pour atteindre l'objectif visé et la destination où elle doit renvoyer les résultats. L’ensemble de ces informations constitue ce qu’on appelle un algorithme que le programmeur doit encore traduire en programme exécutable par la machine. L'exécution d'un programme par l'ordinateur passe, en général, par les étapes suivantes : 1- Le processeur extrait les données à traiter à partir de la source indiquée dans le programme (soit auprès de l'utilisateur qui devrait les introduire au moyen du clavier, soit en mémoire secondaire ou centrale). 2- Il exécute, ensuite, la série d'opérations élémentaires de manière séquentielle (dans l'ordre prévu par le programme) et mémorise tous les résultats intermédiaires. 3- Il renvoie enfin le ou les résultats attendus à la destination (périphérique de sortie) indiquée dans le programme. Exemple : Pour calculer le montant total d’une facture de téléphone pour des appels locaux effectués le soir, le programmeur doit préciser au processeur : les données (les entrées consommation, prix_unitaire, la TVA et le prix_d_abonnement) à demander à l'utilisateur. l'ordre des opérations à faire et les résultats intermédiaires à mémoriser (dans cet exemple, il s'agit de calculer respectivement le prix hors taxe (PHT) et le prix total (PT). Le résultat final (PT) à afficher. Algorithme : Lire (consommation, prix_unitaire,TVA, prix_d_abonnement) PHT (consommation * prix_unitaire) + prix_d_abonnement PT PHT * (1+TVA) Ecrire PT Algorithmes et langage C _________________________________________________ Fatima-Zahra BELOUADHA 5 Dans le cas où on donne une consommation de 100 unités avec 0.50 Dh comme prix unitaire, 0.2 comme taux de la TVA et 70 Dh comme prix d’abonnement, le processeur, après avoir demandé les données (100, 0.50, 0.2 et 70) à l'utilisateur, calcule dans l'ordre indiqué chaque expression élémentaire et mémorise son résultat : PHT=(100*0.5)+70=120 PT=120*(1+0.2)=144 Il affiche enfin le résultat final PT (144). 4 LANGAGE DE PROGRAMMATION On vient de voir que pour pouvoir effectuer un traitement donné, la machine doit disposer du programme exécutable correspondant. Ce programme doit se trouver en mémoire et doit alors être codé en binaire (langage machine). Un langage de programmation permet au programmeur d'écrire son programme suivant une grammaire qui peut être, soit celle du langage machine même, soit une grammaire facilement interprétable par la machine ou pouvant être traduite en langage machine au moyen d'un outil logiciel dit compilateur du langage. Il existe, en fait, trois catégories de langages : Le langage binaire : il s'agit du langage machine exprimé par des chiffres (0 ou 1). Ce langage produit, en effet, des programmes automatiquement consommables (compréhensibles) par la machine mais qui sont illisibles et non portables. Les langages de bas niveau (comme l'assembleur) : ces langages produisent des programmes facilement interprétables par la machine mais d'utilisation lourde pour les programmeurs. Les langages évolués : ils sont, d'utilisation, souples et produisent des programmes clairs et lisibles mai ils doivent encore être compilés (traduits en langage machine par un compilateur du langage) pour générer des programmes exécutables. Nous en citons: Fortran, Basic, Pascal, C, C++, Visual Basic, Visual C++, Java... Exemple : #include <stdio.h> main( ) { int consommation, prix_d_abonnement ; float prix_unitaire, TVA, PT ; printf("Entrer la valeur de la consommation :"); scanf("%d",&consommation) ; printf("Entrer la valeur du prix unitaire :"); scanf("%f",&prix_unitaire) ; printf("Entrer la valeur de la TVA :"); scanf("%f",&TVA) ; printf("Entrer la valeur du prix abonnement :"); scanf("%d",&prix_d_abonnement) ; PHT=(consommation * prix_unitaire) + prix_d_abonnement ; PT=PHT * (1+TVA) ; printf("Le prix total est de %f DH\n",PT); } Ce programme écrit en C calcule le montant de la facture de téléphone Algorithmes et langage C _________________________________________________ Fatima-Zahra BELOUADHA 6 5 COMPILATION ET EXECUTION D'UN PROGRAMME EN C Générer un programme exécutable à partir d’un programme source (écrit en C et dont le nom de fichier se termine nécessairement par l'extension .c) consiste à faire appel au compilateur et éditeur de lien du langage moyennant la commande Unix cc. Le compilateur traduit le programme source en un fichier objet (qui porte l'extension.o). L'éditeur de liens génère pour les différents fichiers objet composant le programme un fichier exécutabl. 1- Utilisation de la commande sans option Syntaxe : cc nom-fichier-source l'exécutable porte, par défaut, le nom a.out Exemples : cc tp1.c compile le uploads/Sante/ algorithmique-3.pdf

  • 5
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Sep 30, 2021
  • Catégorie Health / Santé
  • Langue French
  • Taille du fichier 0.2128MB