3ème de l’enseignement Secondaire Section : Sciences de l’Informatique 3 Profes

3ème de l’enseignement Secondaire Section : Sciences de l’Informatique 3 Professeur Mohamed TRABELSI Algorithmique et Programmation Plan du Cours Rappel Chapitre 1 : Les structures de données et les structures simples Chapitre 2 : Les structures algorithmiques de contrôle Chapitre 3 : Les sous-programmes 3 SI Chapitre 4 : Algorithmes de tri et de recherche Chapitre 5 : Algorithmes récurrents Chapitre 6 : Algorithmes arithmétiques Chapitre 7 : Algorithmes d'approximation Professeur : Mohamed TRABELSI http://web-tic.net 3 / 15 Exercice de révision Objectif : rappeler la démarche de résolution adoptée pour résoudre un problème et aboutir à un programme. Application page 10 livre algorithmique 3ème SI. Enoncé : On se propose de calculer l’allongement L d’un ressort de raideur K auquel est accroché une masse m. Sachant que m * g = K * L.  Présenter la spécification de ce problème  Déduisez l’algorithme  Traduisez la solution en Pascal et l’exécutez pour m = 150 et K = 10. a. Analyse Résultat : Afficher l'allongement L Traitement : L  m * g / K m = donnée K = donnée g est une constante de valeur 9,8 b. Algorithme 0) Début allongement 1) Lire (K) 2) Lire (m) 3) L  m * g / K 4) Ecrire (L) 5) Fin allongement T.D.O Objet Type Rôle K, m, l Réel K : raideur, m : masse, l : allongement g Constante = 9,8 pesanteur c. Pascal (voir fichier : allonge.pas) Version 2 : Tester la valeur de K qui doit être > 0. Deux solutions  Faire une saisie contrôlée de K.  Tester la valeur K avant d’effectuer le calcul. Algorithme 0) Début allongement 1) Répéter écrire (" Donner la valeur de la raideur du ressort : "), lire (K) Jusqu'à K > 0 2) écrire (" Donner la valeur de la masse : "), lire (m) 3) L  m * g / K 4) Ecrire (L) 5) Fin allongement Professeur : Mohamed TRABELSI http://web-tic.net 4 / 15 Chapitre 1 Structures de données et structures simples Durée : 12 Heures Type : Théorique / Pratique I. Les constantes et les variables I.1. Les constantes  Une constante est caractérisée par un nom et une valeur inchangeable.  Exemple voir exercice révision (calcul allongement).  Déclaration :  Côté analyse : nom_contante est une constante de valeur valeur_constante  Côté T.D.O : Objet Type Rôle nom_contante Constante = valeur_constante  Côté Pascal : CONST nom_contante = valeur_constante; I.2. Les variables Une variable est une zone mémoire réservée pour contenir une valeur d'un type bien déterminé. Cette valeur pourra changer tout au long du programme.  Caractéristiques : Voir livre page 11.  Application 1 : Calculer et afficher la distance entre deux points M et N dont les coordonnées sont des entiers données. (Par rapport à un repère gradué) M (a, b) et N (c, d) a. Analyse Résultat : Afficher la distance DT Traitement : DT  SQRT (SQR (a – c) + SQR (b – d) ) (a, b) = Données (c, d) = Données CH1 : Strs de données & Strs simples Professeur : Mohamed TRABELSI http://web-tic.net 5 / 15 b. Algorithme 0) Début distance 1) Lire (a, b) 2) Lire (c, d) 3) DT  SQRT (SQR (a – c) + SQR (b – d) ) 4) écrire (DT) 5) Fin distance T.D.O Objet Type Rôle a, b entier Coordonnées de M c, d entier Coordonnées de N DT Réel Distance entre M et N c. Pascal (voir fichier : distance.pas) II. Les types standards II.1 Le type entier  Le type entier permet de manipuler des valeurs de l'ensemble Z.  Domaine de définition et opérateurs : Voir tableau page 14.  Sous types du type entier o Non signés : Type En pascal Domaine de valeur Taille Octet byte 0  255 1 octet Mot word 0  65535 2 octets o Signés : Type En pascal Domaine de valeur Taille Entier court shortint -128  127 1 octet Entier Integer -32768  32767 2 octets Entier long Longint -2147483648 .. 2147483647 4 octets Activité 1 : Déclarer une variable qui servira à stocker l'âge d'une personne. Déclarer une variable qui servira à stocker des factoriels avec 1 < n < 20. Quels sont les types de données que vous allez choisir pour ces 2 variables ?  Ouvrir Pascal et voir le help (clic droit sur integer) CH1 : Strs de données & Strs simples Professeur : Mohamed TRABELSI http://web-tic.net 6 / 15  Représentation d'une valeur de type Entier en mémoire centrale : Elle s'effectue sur 2 octet  16 bits avec un bit réservé au signe 1 si < 0 ; 0 si >= 0. 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 Bit de signe -32768 0 32767 215 = 32768 possibilités 32768 II.2 Le type réel (real) En stockant des nombres réels dans des structures de données on se retrouve face à 2 limites : 1. La limite de grandeur 2. La limite de la précision (nombre de chiffre après la virgule) Le traitement et l'affichage des données de ce type se font en virgule flottante, dans une notation dite scientifique à base 10.  Domaine de définition et opérateurs : Voir tableau page 17.  Les fonctions arithmétiques standards : voir livre page 19. Activité 2 : Ecrire un programme en Pascal qui permet de saisir un réel et de le réafficher. Procéder à la série de tests suivants :  Valeur 1 : 5.223  Valeur 2 : 13251.33  Valeur 3 : 0.0999 Que pouvez-vous en déduire ? Voir dans le help les sous types du type réel Activité 3 : Ecrire un programme en Pascal qui permet de saisir un réel x et d'afficher le résultat de toutes les fonctions arithmétiques standard. CH1 : Strs de données & Strs simples Professeur : Mohamed TRABELSI http://web-tic.net 7 / 15 II.3 Le type booléen (boolean)  Domaine de définition et opérateurs logiques : voir tableau page 21. II.4 Le type caractère (char) Une variable de type caractère occupe un octet en mémoire. A chaque caractère correspond un code ASCII qui est un entier entre 0 et 255. (Voir table ASCII page 229)  Domaine de définition et opérateurs relationnels : Voir tableau page 23.  Les fonctions prédéfinies sur les caractères : Voir livre page 23. a. Analyse Résultat : Afficher le caractère c modifié Traitement : Si c est majuscule alors c  Chr (Ord (c) + 32) sinon c  Upcase (c) Fin si c = donnée ("Donner un caractère : ") b. Algorithme 0) Début min_maj 1) Ecrire ("Donner un caractère : "), (Lire (c) 2) Si c dans ["A".."Z"] alors c  Chr (Ord (c) + 32) Sinon c  Upcase (c) Fin si 3) écrire (c) 4) Fin min_maj c. Pascal (voir fichier : min_maj.pas) Activité 4 :  Faire l'activité 12, page 21  Evaluez l'expression logique suivante sachant que : a = 4, b = 5, c = 1 et d = 0 (a < b) OU (c – d = a) ET Non (a ≠ b)  Règles de priorité entre les opérateurs : Non, ET, OU et OUex Activité 5 : Ecrire un programme en Pascal qui permet de saisir un caractère c et de changer sa casse. Exemple : c = "A"  "a" c = "a"  "A" CH1 : Strs de données & Strs simples Professeur : Mohamed TRABELSI http://web-tic.net 8 / 15 II.5 Le type chaîne de caractères (string) Une variable chaîne de caractère est une suite de n caractère, n compris entre 0 et 255. On peut accéder au ième caractère d'une chaîne CH grâce à la notation CH[i].  Déclaration : Lors de la déclaration d'une chaîne on peut préciser la taille voulue. Objet Type Rôle nom_chaîne Chaîne [longeur_chaîne]  Affectation : o Côté analyse et algorithmique : exemple CH  "Sciences informatiques" o Côté Pascal : exemple CH := 'Sciences informatiques'  Les fonctions et les procédures prédéfinies sur les chaînes : Voir livre page 26.  Activité 14 page 27 et applications. III. Les structures simples  Définition : Voir livre page 28. III.1 L'opération d'entrée (La saisie) a. En analyse : Objet = donnée ("commentaire sur la variable") b. En algorithmique : Ecrire ("commentaire sur la variable") Lire (Objet) c. En Pascal : writeln (' commentaire sur la variable'); readln (Objet); III.2 L'opération de sortie En analyse et algorithmique : Ecrire (Objet) Ecrire ("message ", Objet) Ecrire ("message 1 ", Objet 1, "message 2 ", Objet 2) En Pascal : writeln (Objet); writeln ('message' , Objet); writeln ('msg 1 ' , Objet 1, 'msg 2 ' , Objet 2); CH1 : Strs de données & Strs simples Professeur : Mohamed TRABELSI http://web-tic.net 9 / 15 III.3 L'opération d'affectation En analyse et algorithmique :  En Pascal : :=  L'affectation : Soit la séquence d'affectation suivante : 1) uploads/Management/ cours-n1-3eme-annee-secondaire-algorithme-et-programmation-algorithme-mohamed-trabelsi.pdf

  • 29
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Jul 24, 2022
  • Catégorie Management
  • Langue French
  • Taille du fichier 0.4803MB