Aide en Philo

Cours NSI 1ere: LANGAGES ET PROGRAMMATION

Publié le 05/06/2025

Extrait du document

« Numé rique et Sciences Informatiques Classe de premiè re 1 LANGAGES ET PROGRAMMATION ...........................................................................................................

2 1.1 1.2 1.3 2 TYPES CONSTRUITS ...............................................................................................................................

10 2.1 2.2 2.3 3 MODALITES DE L’INTERACTION ENTRE L’HOMME ET LA MACHINE ...........................................................................

46 ÉVENEMENTS ..............................................................................................................................................

53 INTERACTION CLIENT-SERVEUR .......................................................................................................................

55 FORMULAIRE D’UNE PAGE WEB ......................................................................................................................

59 ARCHITECTURES MATERIELLES ET SYSTEMES D’EXPLOITATION .............................................................

63 6.1 6.2 6.3 7 GENERALITES SUR LES TABLES .........................................................................................................................

41 RECHERCHE DANS UNE TABLE .........................................................................................................................

42 TRI D’UNE TABLE..........................................................................................................................................

44 FUSION DE TABLES .......................................................................................................................................

45 INTERACTIONS HOMME-MACHINE SUR LE WEB....................................................................................

46 5.1 5.2 5.3 5.4 6 INTRODUCTION : CHIFFRES BINAIRES................................................................................................................

23 ÉCRITURE D’UN ENTIER POSITIF .......................................................................................................................

24 REPRESENTATION BINAIRE D’UN ENTIER RELATIF.................................................................................................

27 REPRESENTATION APPROXIMATIVE DES NOMBRES REELS ......................................................................................

31 BOOLEENS ..................................................................................................................................................

34 REPRESENTATION D’UN TEXTE EN MACHINE.......................................................................................................

39 TRAITEMENT DE DONNEES EN TABLES ..................................................................................................

41 4.1 4.2 4.3 4.4 5 LES LISTES...................................................................................................................................................

10 LES P-UPLETS ..............................................................................................................................................

19 DICTIONNAIRES PAR CLES ET VALEURS ..............................................................................................................

20 TYPES ET VALEURS DE BASE ..................................................................................................................

23 3.1 3.2 3.3 3.4 3.5 3.6 4 CONSTRUCTIONS ELEMENTAIRES .......................................................................................................................

2 MISE AU POINT DES PROGRAMMES....................................................................................................................

7 UTILISATION DE BIBLIOTHEQUES........................................................................................................................

8 MODELE D’ARCHITECTURE SEQUENTIELLE (VON NEUMANN) ................................................................................

63 SYSTEMES D’EXPLOITATION ............................................................................................................................

68 RESEAUX ....................................................................................................................................................

71 ALGORITHMIQUE ..................................................................................................................................

77 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 INTRODUCTION ...........................................................................................................................................

77 PARCOURS SEQUENTIEL D’UN TABLEAU ............................................................................................................

78 LE COUT D’UN ALGORITHME ...........................................................................................................................

79 TRIS PAR INSERTION .....................................................................................................................................

80 TRIS PAR SELECTION .....................................................................................................................................

82 ALGORITHME DES K PLUS PROCHES VOISINS .......................................................................................................

84 RECHERCHE DICHOTOMIQUE DANS UN TABLEAU TRIE ..........................................................................................

85 ALGORITHMES GLOUTONS .............................................................................................................................

86 1 1 LANGAGES ET PROGRAMMATION 1.1 Constructions élémentaires Un programme est essentiellement constitué d’expressions et d’instructions. Nous revoyons dans ce premier chapitre les instructions fondamentales que sont l’affectation de variables, la séquence et le test (ou instructions conditionnelles), les boucles et les fonctions. Il existe plusieurs milliers de langages mais ce sont toujours les mêmes notions : affectation, séquence, test, boucle, fonction, etc. Nous allons comparer le langage PYTHON (version 3) à d’autres langages. 1.1.1 Affectations et séquences Une affectation est le fait de donner une valeur à une variable. Une séquence est une suite d’instructions. Exemples d’affectations : En Python : En C : En PHP : Remarque : Dans certains langages comme Python ou PHP il est inutile de spécifier le type des variables.

On dit que le typage est dynamique. Dans d’autres langages (comme Java, C, Pascal, Visual Basic, …), il est nécessaire de spécifier le type des variables.

On dit que le typage est statique. 1.1.2 Instructions conditionnelles En algorithmique, les instructions conditionnelles se traduisent par : SI ALORS SINON Exemples d’instructions conditionnelles : En Python : 2 En PHP : Il est aussi possible d’enchaîner plusieurs conditions selon le modèle suivant : SI ALORS SINON SI ALORS SINON SI ALORS … SINON SI ALORS SINON Exemple en Python : 1.1.3 Boucle FOR Une boucle est une instruction qui permet de répéter plusieurs fois une séquence d’instructions. Lorsque l’on connaît le nombre de répétitions, on peut utiliser une boucle FOR. Par exemple, pour écrire quatre fois le mot « Bonjour », on peut utiliser le code suivant : Pour écrire les entiers de 1 à 10, on peut utiliser le code suivant : La variable de boucle prendra toutes les valeurs entières entre la première valeur indiquée (comprise) et la dernière (non comprise). A chaque tour de boucle la valeur de la variable de boucle est augmentée de 1.

On parle d’incrémentation. Exercice 1-01. a) Que fait le programme ci-dessous écrit en PHP ? b) Écrire un programme équivalent en Python. 3 Exercice 1-02. Écrire un programme en Python qui calcule le produit des entiers de 1 à 10. Exercice 1-03. Écrire un programme en Python qui affiche les entiers naturels divisibles par 3 inférieurs à 100. Exercice 1-04. Écrire un programme qui pour les entiers compris entre 0 et 20 compte ceux dont le carré est inférieur ou égal à 25, ceux dont le carré est inférieur ou égal à 75, et ceux dont le carré est strictement supérieur à 75. Quand l’instruction à exécuter à l’intérieur d’une boucle est elle aussi répétitive, le corps de cette boucle contient une seconde boucle.

On parle alors de boucles imbriquées. Exercice 1-05. Le programme ci-dessous affiche, pour un repère du plan, les coordonnées des points dont les coordonnées sont entières et comprises entre 0 et 4. a) Combien de points sont concernés ? b) Modifier le programme afin d’afficher les coordonnées pour un repère de l’espace. 1.1.4 Boucle WHILE Lorsque l’on ne connaît pas à l’avance le nombre d’itérations, on ne peut pas utiliser une boucle FOR.

On peut alors utiliser une boucle WHILE. Voici un exemple classique d’utilisation de la boucle WHILE. Le programme ci-dessous permet de déterminer le nombre d’augmentations de 5 % nécessaires pour qu’un capital passe de 500 € à au moins 1 000 €. Les instructions du corps de la boucle sont répétées tant que la condition (capital ? @ [ \ ] ^ _ ` { | } ~ et 1 signe d’espace.

Il représente aussi 33 autres symboles de mise en page, par exemple le retour chariot qui signale la fin de la ligne et le saut de page qui signale le passage à la page suivante. Le code ASCII représente donc 95 + 33 = 128 = 2 caractères, par des nombres qui peuvent eux-mêmes être représentés en binaire par des mots de sept bits.

Ils sont en fait représentés par des mots de huit bits, le premier étant toujours un zéro. Le code ASCII était à l’origine conçu pour des textes écrits en anglais, comme l’indique son nom, American Standard Code for Information Interchange.

Il n’est pas adapté pour représenter des textes écrits dans d’autres langues, même celles qui, comme le français, utilisent l’alphabet latin, car ces langues utilisent des accents, des cédilles et autres signes diacritiques.

C’est pourquoi on a tout d’abord conçu une extension du code ASCII, le code latin-1, qui contient 191 caractères.

Aux 128 caractères du code ASCII, qui sont représentés comme en ASCII, s’ajoutent les lettres « é », « É », « è », « ç », « æ », « ñ », « ö », etc.

qui permettent de représenter les textes écrits dans la plupart des langues d’Europe de l’Ouest, même si, pour le français, le « œ » a été oublié.

Il manque toutefois des lettres utilisées par les langues d’Europe de l’Est, si bien qu’un autre format, le code latin-2, a été proposé pour ces langues.

Ensuite, pour représenter les textes écrits en grec, russe, chinois, japonais, coréen, etc., il a fallu proposer un format universel : Unicode.

Unicode recense près de 110 000 caractères et associe un nom et un numéro à chacun.

A priori, ce numéro se code sur 32 bits.

Cependant, Unicode existe en plusieurs déclinaisons, parmi lesquelles UTF-32, dans laquelle chaque caractère est ainsi exprimé sur 32 bits, et UTF-8, dans laquelle les caractères les plus courants sont exprimés sur 8 bits et les moins courants sur 16, 32 ou 64 bits. Le format UTF-8 a vocation à devenir le standard, mais il ne l’est pas encore : malgré les efforts des comités de normalisation, l’humanité n’a pas encore réussi à se doter d’un format universellement accepté, si bien qu’il est parfois nécessaire de traduire un texte d’UTF-8 en latin-1 ou de latin-2 en UTF-8.

Quand cette traduction n’est pas bien faite, les caractères accentués sont remplacés par des caractères bizarres. Cependant, tous ces formats reposent sur une même idée : associer un nombre, c’est-àdire un mot binaire, à chaque caractère.

Tous ces formats sont accessibles sur le Web. Un texte étant une suite de caractères, on peut le représenter en écrivant les caractères les uns après les autres.

En utilisant une table, on cherche le code ASCII de chaque caractère.

Puis on traduit chacun de ces nombres en représentation binaire. 39 Exemple : Trouver la représentation binaire en ASCII du texte « Je pense, donc je suis.

» On cherche la table des codes ASCII sur le Web de manière à traduire le texte, caractère par caractère : 74, 101, 32, 112, 101, 110, 115, 101, 44, 32, 100, 111, 110, 99, 32, 106, 101, 32, 115, 117, 105, 115, 46. On exprime ensuite chacun de ces nombres en binaire sur huit bits : 01001010 01100101 00100000 01110000 01100101 01101110 01110011 01100101 00101100 00100000 01100100 01101111 01101110 01100011 00100000 01101010 01100101 00100000 01110011 01110101 01101001 01110011 00101110. Écrire un programme donnant la table du code ASCII à l’aide d’une boucle for et de la fonction chr( ). Trouver la représentation binaire en ASCII du texte « Cet exercice est un peu fastidieux.

». Écrire un programme permettant de traiter l’exercice précédent automatiquement. Vous pourrez utiliser la fonction ord( ). Pour décoder un texte représenté en ASCII binaire, on découpe la suite de bits en octets, on traduit chaque octet en décimal, puis on cherche en utilisant une table, le caractère exprimé par chacun de ces nombres. Exemple : Trouver le texte représenté en.... »

↓↓↓ APERÇU DU DOCUMENT ↓↓↓

Liens utiles