Cours Atelier de programmation Enseignant : Maha Maalej Année Universitaire: 20

Cours Atelier de programmation Enseignant : Maha Maalej Année Universitaire: 2020/2021 Groupe : LEM-A1 Introduction Terminologie • L’informatique: c’est l’ensemble des sciences qui étudient le traitement automatique de l’information • L’ordinateur : c’est une machine qui permet l’automatisation du traitement de l’information • La programmation : c’est un moyen qui permet l’automatisation de l’information. Elle regroupe l’ensemble des activités permettant la conception, la création et la mise en œuvre de programme informatique • Programme : c’est l’ensemble des opérations et des instructions que la machine doit exécuter pour arriver à un résultat pour un problème donné • Langage de programmation : est un langage qui permet de formuler des algorithmes et de produire des programmes informatiques. Cours Initiation à la programmation 2020/2021 2 1. Historique des langages de programmation 1ère génération : 2ème génération : • add x,y : Assembleur 3ème génération: • x:=x+y; en Pascal • x+=y; en Basic • Cobol, Fortran • Le langage C en 1972: un des premiers langages de programmation système pour le développement d'Unix 4ème génération: • Les langages orientés vers les requêtes des bases de données moyennant des requêtes • Les langages orientés objet: • C++, Java, Python, matlab, Javascript, PHP Cours Initiation à la programmation Addition x y 1010110010011101100 Langage machine ou langage bas niveau Langage haut niveau compréhensible par l’être humain Nom Prénom moyenne 2020/2021 3 2. Le système binaire • Le langage machine est une suite de bits interprétable par la machine • Le système binaire est la base 2 mathématique, permettant de représenter des nombres à l'aide de seulement 2 chiffres : le 0 et le 1. • En base 10, on utilise 10 chiffres, de 0 à 9 ; • En base n, on utilise n chiffres, de 0 à n – 1 ; Exemple : le nombre 1101 s'analyse dans une base B : 1*B3+1* B2+0*B1+1*B0 • 1101 en base B = 10 : 1* 10 3 + 1*10 2+0*10 1+1*10 0 = 1101 • 1101 en base B = 8 : 1* 8 3 + 1*8 2 +0*8 1 + 1*8 0 = 577 • 1101 en base B = 2 : 1* 2 3 + 1*2 2 +0*2 1 + 1*2 0 = 13 Cours Initiation à la programmation 2020/2021 4 2. Le système binaire • Avec un bit il est ainsi possible d'obtenir deux états : soit 1, soit 0. • Grâce à 2 bits, il est possible d'obtenir quatre états différents 22: • Avec 3 bits, il est possible d'obtenir huit états différents 23 : • En général, avec n bits, il est possible d’obtenir 2n états différents : Cours Initiation à la programmation Valeur binaire sur 2 bits 0 0 0 1 1 0 1 1 Valeur binaire sur 3 bits Valeur décimale 000 0 001 1 010 2 011 3 100 4 101 5 110 6 111 7 Valeur décimale 0 1 2 3 21 = 2 26= 64 22 = 4 27= 128 23 = 8 28= 256 24 = 16 29= 512 25= 32 210= 1024 2020/2021 5 Opérations Exemple : somme et multiplication 1 1 Cours Initiation à la programmation 1010010 + 10010 1100100 110 =6 * 101 =5 110 1100 . 11110 =30 2020/2021 6 Code ASCII • Chaque caractère possède son code correspondant en code ASCII (American Standard Code for Information Interchange) lors de la numérisation dans la machine. • Le code ASCII de base représente les caractères sur 7 bits (c'est-à-dire 128 caractères possibles, de 0 à 127). • Il suffit de modifier le 6ème bit (en code binaire) pour passer de majuscules à minuscules, • c'est-à-dire ajouter 32 au code ASCII en base décimale. 0->48 1->49 . . 9->57 a-> 97 b->98 . . z->122 A->65 B->66 . . Z->90 Cours Initiation à la programmation 2020/2021 7 3. Le cycle de vie d’un programme Phase d’analyse (Algorithme) : • Ecrire une suite d’instructions pour résoudre un problème Phase de programmation (Programme) : • Traduire l’algorithme en un programme moyennant un langage de programmation Phase de test : • Compilation du programme et l’exécuter par la machine Cours Initiation à la programmation 2020/2021 8 4. Algorithmique de base • Un algorithme est une procédure de calcul qui prend en entrée un ensemble de variables et qui délivre en sortie un résultat après l’exécution d’un ensemble d’instructions. • Exemple: • Problème : trier une suite de nombres entiers dans l'ordre croissant. • Entrée : n nombres entiers • Sortie : les entiers en entrée triés dans l'ordre croissant. • Exemple: si on a en entrée les entiers (5,9,4,3), un algorithme de tri fournira le résultat (3,4,5,9). Cours Initiation à la programmation 2020/2021 9 4. Algorithmique de base • Un algorithme est correct, si pour toute instance du problème il se termine et produit une sortie correcte. • Une structure de données est un moyen de stocker et d'organiser des données pour faciliter leur stockage, leur utilisation et leur modification. • L'efficacité d'un algorithme est mesurée par son coût (complexité) en temps et en mémoire. Cours Initiation à la programmation 2020/2021 10 4. Algorithmique de base • Types • Variables • Expressions • Instructions simples • Structures de contrôle • Fonctions et Procédures Cours Initiation à la programmation 2020/2021 11 4.1 Types • Types prédéfinis : entier (entier) , car (caractère) , booléen (booléen) (vrai ou faux), réel (réel) • Définition de type : type NomDeType = TypePrédéfini; • Tableau : Ensemble de variables regroupées dans une même structure • Une variable de type tableau porte un nom et divisée en cases alignées les unes aux autres sur un même axe. • Type du tableau : dépend du type des valeurs qu’il contient. Un tableau peut contenir des valeurs de tous types : entier, réel, booléen, etc. • Déclaration tableau : Nom-Tableau : Tableau de Nombre-éléments type-éléments ; Exemple: T : Tableau de 10 réel ; Cours Initiation à la programmation 2020/2021 12 Type abstrait • Un type abstrait est un triplet composé : • d'un nom ; • d'un ensemble de valeurs ; • d'un ensemble d'opérations définies sur ces valeurs. • Les types abstraits de base de l'algorithmique sont : entier, caractère, booléen, réel que l'on écrit entier, car, booléen, réel • Une variable est un triplet composé : • d'un type (déjà défini) ; • d'un nom (a priori toute chaîne alphanumérique) ; • d'une valeur. Cours Initiation à la programmation 2020/2021 13 4.2 Variables • Variables : un objet informatique qui associe un nom à une valeur qui peut éventuellement varier au cours du temps • variables NomDeVariable: TypePrédéfini; • Exemple : variables nom : char • Toute variable doit être déclarée et recevoir une valeur initiale. Remarque • Les valeurs : • '1' est un caractère ; • 1 est un entier ; • 1.0 est un réel ; Cours Initiation à la programmation 2020/2021 14 4.3 Expressions Expressions : • Une expression est un ensemble de valeurs, reliées par des opérateurs, et équivalent à une seule valeur • Exemple: 2*val+3 Cours Initiation à la programmation 2020/2021 15 4.4 Instructions • Un algorithme contient plusieurs instructions. • Instruction: Commande élémentaire interprétée et exécutée par le processeur. • Les instructions arithmétiques : +, -, *, / • Les instructions logiques : not, and, or • Les instructions de contrôle du flux d’instructions : branchements, boucles, appels de procédure • Les instructions d’entrée-sortie : read, write Cours Initiation à la programmation 2020/2021 16 4.4 Instruction simple • Affectation : Opération qui attribue une valeur ou une expression à une variable. • En langage d’algorithme, l’affectation s’écrit : NomDeVariable ←ExpressionDuTypeDeLavariable; • variable ←valeur • Exemple: chaine ←"salut" , tableau ←[5,2,9,3] • variable ←expression • Exemple: resultat ←n*(n+1) Cours Initiation à la programmation 2020/2021 17 4.5 Structure de contrôle Un algorithme est composé de plusieurs instructions qui sont regroupées en bloc • Bloc d'instruction : Instruction_1 Instruction_2 ............. Instruction_n Exemple : lire un entier et l’afficher variables a:entier; Debut Lire (a); Ecrire(a); fin Cours Initiation à la programmation 2020/2021 18 4.5 Structure de contrôle Structure de contrôle • Alternative : si ExpressionBooléenne alors BlocInstruction1 sinon BlocInstruction2 finsi; Exemple: afficher le plus grand nombre parmi a, b, c si a>b et a>c alors ecrire (‘a est le plus grand’); sinon si b>a et b>c alors ecrire (‘b est le plus grand’); sinon ecrire (‘c est le plus grand’); finsi Cours Initiation à la programmation si Expression Booléenne BlocInstruction1 BlocInstruction2 Oui Non 2020/2021 19 4.5 Structure de contrôle Structure de contrôle • Alternative multiple : selon que cas cas1 : BlocInstruction1 cas cas2 : BlocInstruction2 autrement : BlocInstruction3 finselonque Exemple: Afficher la mention selon la note SELON QUE cas Note ≥ 16 : ECRIRE ("TB"); cas Note ≥ 14 : ECRIRE ("B"); cas Note ≥ 12 : ECRIRE ("AB"); cas Note ≥ 10 : ECRIRE ("Passable"); Autrement : ECRIRE ("ajourné"); FIN SELON QUE Cours Initiation à la programmation selon cas1 BlocInstruction 1 cas2 Oui Non BlocInstruction 2 Oui Non BlocInstruction 3 Autrement 2020/2021 20 4.5 Structure de contrôle uploads/Industriel/ chapitre-1 3 .pdf

  • 11
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager