20
1 1.Nouveau programme informatique. 2.Historique. 3.Données & Information. 4.Primitives de l’algorithmique. 5.Les méthodes d’analyse. 6.Structures de données. 7.Langages. 8.Compilateurs.

Nouveau programme informatique. Historique. Données & Information. Primitives de l’algorithmique

  • Upload
    clovis

  • View
    42

  • Download
    2

Embed Size (px)

DESCRIPTION

Nouveau programme informatique. Historique. Données & Information. Primitives de l’algorithmique. Les méthodes d’analyse. Structures de données. Langages. Compilateurs. Nouveau programme informatique. Objectifs : - Présenter les principes de l’algorithmique et de la programmation. - PowerPoint PPT Presentation

Citation preview

Page 1: Nouveau programme informatique. Historique. Données & Information. Primitives de l’algorithmique

1

1.Nouveau programme informatique.

2.Historique.

3.Données & Information.

4.Primitives de l’algorithmique.

5.Les méthodes d’analyse.

6.Structures de données.

7.Langages.

8.Compilateurs.

Page 2: Nouveau programme informatique. Historique. Données & Information. Primitives de l’algorithmique

2

Objectifs :

- Présenter les principes de l’algorithmique et de la programmation.

- Analyse et rédaction de programmes clairs, courts et précis.

La 1ère partie du programme est consacrée aux primitives de l’algorithmique et les méthodes de programmation.

Le but étant d’avoir les compétences suivantes :

1. Maîtrise de la méthode de programmation descendante.

2. Programmation modulaire.

3. Jeu de test pour validation des solutions et des documentations.

4. Maîtrise de quelques méthodes de programmation : itérative, récursive, …

Nouveau programme informatique

Page 3: Nouveau programme informatique. Historique. Données & Information. Primitives de l’algorithmique

3

La 2ème partie du programme est consacrée aux structures des données.

L’élève doit acquérir les compétences suivantes :

1. Représentation optimale des données afin de les traiter dans un algorithme.

2. Réalisation d’algorithmes en fonction des structures de données utilisées (influence des structures sur l’algorithme).

3. Gestion de la mémoire dynamique.

4. Utilisation des traitements des structures des données dans la résolution des problèmes théoriques et réels (réservation, file d’attente, …)

Page 4: Nouveau programme informatique. Historique. Données & Information. Primitives de l’algorithmique

4

Didactique :

• Choix des données en fonction de la problématique.

• Nécessité d’organisation de données et de traitement.

• Présentation et étude des différents types de structures des données.

• Choix de la méthode de programmation appropriée.

• Les exemples et applications sont issus des matières enseignées en CPGE.

• Une activité algorithmique intégrée dans les autres disciplines enseignées en termes d’applications (analyse numérique, …).

• Transcription des algorithmes en langage de programmation.

• Il est recommandé de mettre l’accent sur l’aspect algorithmique beaucoup plus que sur le langage de programmation lui-même.

Page 5: Nouveau programme informatique. Historique. Données & Information. Primitives de l’algorithmique

5

I- Préliminaire ! :

1. Information et sa représentation sur PC (binaire, codage, conversion)

2. Structure d’un ordinateur : les principaux composants.

3. Principe de fonctionnement d’un ordinateur.

4. Définitions :

Algorithme.

Code machine.

Programme.

Langage de programmation.

Compilateur et Compilation.

Programme informatique

Page 6: Nouveau programme informatique. Historique. Données & Information. Primitives de l’algorithmique

6

II- Méthodes de programmation :

1- Les éléments de base d’un algorithme :

Les données : Notion de Données, de Variables et de Constantes.Les types simples.Affectation.

Les entrées / sorties standards et fonctions prédéfinis.

La sélection : La sélection simple et réduite.La sélection imbriquée.Le choix multiple.Expression logique et algèbre de boole.

L’itération : La boucle déterministe.La boucle indéterministe.Les boucles imbriquées.

La démarche d’analyse descendante

Page 7: Nouveau programme informatique. Historique. Données & Information. Primitives de l’algorithmique

7

Les tableaux et chaînes de caractères :

Tableau à une dimension.Tableau à deux dimensions.Manipulation de chaînes de caractères.

Programmation modulaire :

Définition et paramètres de Procédure et de Fonction.Variable locale et variable globale.Passage par valeur et passage par référence.

Les exemples sont issus du programme de mathématiques (arithmétique, algèbre linéaire, analyse,…) :

Algorithme d’exponentiation rapide, Pivot de Gauss, Algorithme d’Euclide, Calcul matriciel, résolution d’équations numériques, calcul polynômial, ...

Des algorithmes de Tri et de recherche : Recherche séquentielle, Tri simple d’un tableau, Tri par sélection, Tri par insertion, Tri à bulles, ...

Page 8: Nouveau programme informatique. Historique. Données & Information. Primitives de l’algorithmique

8

2- Récursivité simple

• Principe de la récursivité simple.

• Exemples d’utilisation de la récursivité simple.

• Occupation de mémoire (Pile).

• Terminaison d’une fonction récursive.

• Récursivité et Itération (champs d’utilisation).

Exemples d’algorithmes récursifs et itératifs :

Factorielle, Puissances entières, Suites récurrentes, PGCD,…

Page 9: Nouveau programme informatique. Historique. Données & Information. Primitives de l’algorithmique

9

III- Structures de données :

Définition et rôle des structures de données en programmation.

1- Les enregistrements :

Définition et manipulation d’enregistrement 

Manipulation globale et par champ.

2- Allocation dynamique de la mémoire

Notion d’adresse mémoire.

Allocation et libération de mémoire.

Page 10: Nouveau programme informatique. Historique. Données & Information. Primitives de l’algorithmique

10

3- Les listes chaînées.

Déclaration d’une liste chaînée.

Création d’une liste chaînée.

Fonctions de manipulation de listes : insertion, suppression, recherche, tri, MAJ, … (utilisation de la récursivité et de l’itération).

4- Les Piles et les Files.

Définition d’une Pile / d’une File.

Fonctions de manipulation d’une Pile / d’une File.

Exemples : Évaluation d’expressions arithmétiques, …

L’étude des structures de données (enregistrement, liste chaînée, etc.) doit se faire à l’aide d’exemples illustratifs accompagnés de schémas.

Page 11: Nouveau programme informatique. Historique. Données & Information. Primitives de l’algorithmique

11

La science informatique

Une définition : « la science informatique est l’étude des algorithmes, incluant:• leurs propriétés formelles et mathématiques;• leurs réalisations concrètes;• leurs descriptions dans un langage donné; et,• leurs applications. »

selon cette définition … : les ordinateurs sont aux informaticiens ce que les télescopes sont aux astronomes (Dijkstra)

Page 12: Nouveau programme informatique. Historique. Données & Information. Primitives de l’algorithmique

12

• Fondements mathématiques et théoriques– Logique.– mathématiques discrètes.

• Architecture des ordinateurs.• Systèmes d’exploitation.• Langages de programmation.• Réseaux informatiques.• Gestion de l’information.• Sécurité.• Systèmes intelligents.• Interaction entre ordinateurs et humains.• etc.

Page 13: Nouveau programme informatique. Historique. Données & Information. Primitives de l’algorithmique

13

Algorithme du surnom latin Algorismi du mathématicien Arabe Al Khwarizmi.

Al Khwarizmi (780-850), natif de la région de Khwarezm (aujourd'hui Khiva), au sud de la Mer d'Aral (Ouzbékistan), mort à Bagdad.

On connaît son manuscrit d'algèbre "Kitab al-Mukhtasar fi Hisab al-Jabr w'al-Muqàbala", traitant de la résolution des équations traduit en occident sous le titre "Dixit Algorismi".

Autre ouvrage : "Kitab al Jami wa al Tafriq bi Hisab al Hind" (livre de l'addition et de la soustraction d'après le calcul des indiens). C'est le 1er livre arabe connu où la numération décimale de position et les méthodes de calcul d'origine indienne font l'objet d'explications détaillées.

Historique

Page 14: Nouveau programme informatique. Historique. Données & Information. Primitives de l’algorithmique

14

• L’algorithmique est une science ancienne (ex: algorithme d’Euclide pour calculer le PGCD)

• pgcd(m, n) = pgcd(m − n, n) si m > n• pgcd(m, n) = pgcd(m, n − m) si m < n

• La programmation est une science nouvelle [Knuth, the Art of Computer programming]).

• Métier à tisser (1801) : ancêtre des cartes perforées• Développement de programmes assembleur à partir des 40’s.

Page 15: Nouveau programme informatique. Historique. Données & Information. Primitives de l’algorithmique

15

• Une machine est un objet, réel ou théorique, qui est capable de :– mémoriser un algorithme, – exécuter les opérations élémentaires qui composent cet algorithme, – enchaîner ces opérations élémentaires en respectant l’ordre imposé par

l’algorithme.

• Exemples de telles machines– La machine de Turing– Un PC– La machine virtuelle de Java (JVM - Java Virtual Machine)

• L’algorithme est une solution conceptuelle, le programme est la solution technique mettant en œuvre l’algorithme.

• Au début de l’informatique, les langages étaient proches de la machine – une solution conceptuelle était difficile à mettre en œuvre sans de

bonnes connaissances techniques.

Machine

Page 16: Nouveau programme informatique. Historique. Données & Information. Primitives de l’algorithmique

16

Architecture interne d’un ordinateur

unité centrale mémoireprincipale

contrôleur

lecteurCD/DVD

contrôleur

disquedur

contrôleur

port USB

cartegraphique

moniteur

carteréseau

internet

unité de contrôle

unitéarithmétique

et logiqueregistres

cachebus

carte

mère

Page 17: Nouveau programme informatique. Historique. Données & Information. Primitives de l’algorithmique

17

Abaque romainchiffres notés par des cailloux (calculus)

Mémoire de sauvegarde

Données & information

RAMDisque Dur

– Identificateur : Y– Type : réel– Valeur : 3,7

Mémoire centrale(mémoire vive)

25X

3,7Y

– Identificateur : X– Type : entier– Valeur : 25

Page 18: Nouveau programme informatique. Historique. Données & Information. Primitives de l’algorithmique

18

• Nombres entiers:– 8 bits donnent :

• nombres positifs : 0 à 255 nombres signés: -128 à +127• Nombres réels sur 32 bits (e.g. 6.02×1023)

• Caractères : codage (valeur numérique caractère)– ex.: code ASCII à 8 bits (256 choix)

ASCII : « American Standard Code for Information Interchange »– ex.: code Unicode à 16 bits (65536 choix)

Représenter de l’information binaire

Code ASCII caractère correspondant

50 ‘2’

51 ‘3’

Page 19: Nouveau programme informatique. Historique. Données & Information. Primitives de l’algorithmique

19

La Fonction Mémoire

MEM

Adresse

Donnée

Ecriture

MEM

Adresse

Donnée

Lecture Caractéristiques

Nombre de mots(Largeur du bus d’adresse)

Taille d’un mot(Largeur du bus de données)

Temps d’accès

Coût

Page 20: Nouveau programme informatique. Historique. Données & Information. Primitives de l’algorithmique

20

Code objet du programme

Valeurs constantes

Piles d’appels de fonctions

Allocation dynamique de mémoire

CodeCode

Données statiquesDonnées statiques

TasTas

PilePile

Mémoire et exécution