Tous les langages de programmation utilisent la même

publicité
Algo2 – CM1
 Tous les langages de programmation utilisent la même algorithmétique
 Selon la philosophie du langage, il existe quelques nuances :
o Certains langages travaillent mieux avec les tableaux, d’autres avec les listes,
d’autres avec les objets, etc.
o Certains se basent sur la programmation impérative, fonctionnelle, logique et
peuvent être itératifs, récursif, etc.
o Certains sont dédiés à des types précis d’applications ou à des contextes
d’utilisation particuliers
o La gestion ders variables être différente (pas forcément déclarées,
statiques/dynamiques, etc).
 Mais pour tous les langages de programmation :
o On utilise les conditionnelles, les boucles et les structures de données que l’on
verra en cours
o A un programme donné correspondra un algorithme précis
o Le temps passé pour effectuer un calcul est lié à la difficulté du problème
traité et à l’algorithme sous-jacent
o L’algorithmique est l’art de structurer sa pensée pour résoudre un problème
avec quelques opérations simples
Exemple :
 Une identité : un nom, un prénom, une date de naissance , une INE, un numéro de
sécurité sociale, une adresse, un numéro de téléphone, une adresse email
 Une photo
 Un cursus : un département et une année d’études, un groupe de TD et un numéro
de TP.
 Des données spécifique, compte informatique et identifiant
Modularité :
 Certaines instructions peuvent être utilisées plusieurs fois dans un même code
 Il faut éviter des les retaper systématiquement :
o Risque d’erreur grandement accru
o Mise à jour quasi-impossible
 On découpe le code en modules indépendants qui sont utilisés selon les besoins
 Pour se faire : fonctions, objets, constantes
Objectifs
 Langage utilisé : PHP
 Objectif : bases du langage
 Syntaxe, déclaration et affectation des variables, variables prédéfinies,
 Récupération des données d’un formulaire,
 Déclarations et appels de fonction,
 Manipulations de fichiers.
 On souhaite mémoriser toutes les notes de SRC1 à un contrôle
 Cela fait environ 90 variables
 Comment les déclarer, les initialiser, les manipuler ?
o On utilise les boucles.
Tableau :
Un tableau est caractérisé par
 Son nom
 Sa taille
 Le type (unique en algorithmique) des variables qu’il contient
REMARQUE IMPORTANTE :
 En algorithmique, un tableau contient un seul type de variables
On déclare un tableau dans l’entête de l’algorithme avec le reste des variables :
Variables :
Somme de type Entier
T tableau de taille 10 de type
Entier
En mémoire :
 On réserve alors un emplacement en mémoire
o Correspondant a la taille de 10 entiers
o Dont les octets sont consécutifs (adresses qui se suivent)
 Par exemple, si un entier occupe 8 octet, n réserve alors un emplacement de 80 octets
consécutifs pour stocker les variables.
X
X
X
X
X





Pour accéder au contenu du tableau T, on indique le nom et le numéro de la case
T[0] pour la première case
T[1] pour la deuxième
T[5] pour la sixième
T[9] pour la neuvième
Définition ::
Soit T un tableau de taille n.
 Les numéros de cses sont
Exploitation :
 Accès direct (plus rare) : on regarde le contenu d’une unique case en utilisant
directement son indice
 Parcours (très fréquent) : on peut ne parcourir qu’une partie du tableau.
Parcours
 Un tableau se parcourt avec une boucle
 Il existe 2 types de boucles : POUR et TANT QUE
 Boucle POUR : on connait à l’avance le nombre de case a parcourir, condition, sur
l’indice
 Boucle TANT QUE : on ne connait pas à l’ avance le nombre de cases à parcourir,
condition sur le contenu
Variables :
I de types entier
T tableau de taille 90 de type Entier
Début
POUR i allant de 0 à 99
Ecrire « saisir un entier »
Lire T
FIN POUR
Fin
Variables
i de type entier
T tableau de taille 10 de type Entier
Début
I <= 0
TANT QUE T[i] > 5
i <= i + 1
FIN TANT QUE
SI i = 10
Ecrire « Tous les entiers de ce tableau sont plus grands que 5. »
SINON Ecrire « La (i + 1) ème case a un contenu inférieur ou égal à 5 »
Fin SI
Fin
III. Autre
Mémoire :
 La mémoire est découpée en octets.
 Les octets ont une certaine adresse ?
 Ces adresses ne sont pas directement accessibles par le programmeur car elles sont
difficiles à gérer
Processus :
 Un processus est un programme en cours d’exécution.
 Il a un début et une fin, il dispose de temps de calcul auprès du processeur et d’une zone
en mémoire
 Il gère la zone de mémoire
Pointeurs :
 Un pointeur est une adresse mémoire.
 C’est un entier qui correspond à un emplacement mémoire du processus
 On peut se le représenter comme une flèche qui pointe vers un emplacement mémoire.
 Une variable correspond à un emplacement mémoire et à une valeur d’un certain type (et
donc d’une certaine taille).
 Il existe autant de types de pointeurs que de types de variables.
Utilité :
 On peut composer des structures de données élaborées : par exemple les tableaux, les
listes et les arbres
Lien avec les tableaux :
 Un tableau est en fait un pointeur vers la première case.
 On connait le type des données donc la taille de chaque case en mémoire
 Puisque les cases sont consécutives, il est facile de connaître directement l’adresse des
autres cases.
Téléchargement