Résumé Du Cours PDF

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 18

Ce document présente des

fiches de cours du

programme officiel en
Document proposé
par : informatique pour les

élèves de 4ème année des

sections :

Mme Mekki Imen


• Mathématiques
• Sciences Expérimentales
• Sciences Techniques

----INFORMATIQUE----
Imen Mekki _______________ L’essentiel en informatique __________________ 1
Démarche de résolution des problèmes

✓ Analyse
- Quel est le résultat qu’on veut atteindre (Objectif) ?
- Comment l’atteindre (les étapes) ?
- De quoi on a besoin (les données à utiliser) ?

✓ Algorithme
- Réordonner les étapes de l’analyse

✓ Traduction
- Les objets déjà indiqués dans le TDO (au niveau de l’analyse) doivent être déclarés dans les sections
correspondantes du programme ( Type , Const , Var)

Les objets

Comment déclarer un objet ?


En Analyse En Pascal

Objet Type Rôle CONST


Nom_Constante Constante = Valeur Constante connue Nom_Constane = Valeur ;
Pi Pi = 3.14 Pi = 3.14 ;
Nom_Variable Type Rôle dans le programme VAR
N Entier / Réel … Nom_Variable : Type ;
N : Integer / Real … ;

Imen Mekki _______________ L’essentiel en informatique __________________ 1


Les Types de données standard
• Le type entier
Type Définition et intervalle Déclaration Opérateurs
En pascal il existe 5 types entiers : VAR Déclaration :
• INTEGER : -32768 … 32767 INTEGER ; (16 bits signés) Valeur par défaut : 0
• Longint : -2147483648..2147483647 LONGINT ; (32 bits signés) * / + –
ENTIER

• SHORTINT :-128 … 127 SHORTINT; (8 bits signés) • DIV : partie entière de la/
BYTE ; (8 bits non signés) • MOD : reste de la /
• BYTE : 0…255
WORD ; (16 bits non signé)
• WORD : 0…65535

• Table de vérité du type Booléen


Déclaration : VAR NOM_VAR: Boolean ; (valeur par défaut : false) Opérateurs : ET/OU/OUEX/NON

• Fonctions sur le type réel


Déclaration : Var NOM_VAR : REAL ; Opérateurs : * / + – et opérateurs relationnels

Algorithme Pascal Exemple Paramètre Résultat Rôle


TRONC TRUNC XTRONC (6.9) X=6 Entier-réel longint Partie entière
Arrondi ROUND XArrondi (3.45) X=3 Entier-réel longint Arrondissement
ABS ABS X Abs (-3.5) X = 3.5 Entier-réel Valeur absolue
Carré SQR X  Carré(4) X = 16 Entier-réel Le carré
Frac FRAC X Frac (1.35) X = 0.35 Réel Réel La partie fractionaire
RacineCarr SQRT XRacine(9) X = 3.00 Entier-réel réel La racine carrée
ENT INT XENT (7.8) X=7.0 Entier-réel réel Partie entière réel
X  Aléa X :=Random X  Aléa alors X = …… Réel aléatoire dans [0 ,1[
X Aléa(N) X:=Random(N) X=Aléa(9) alors X = …. Entier aléatoire dans [0, n-1]
XSIN(Y),XCOS(Y),XTAN(Y),XCOTAN(Y), XLN(Y),
Réel Réel Mathématique
X EXP(Y)

• Le type caractère :
 Un caractère peut être une lettre, un chiffre, un signe ou un symbole
 A chaque caractère correspond un code ASCII qui est un entier entre 0 et 255 (Livre : dernière page).
 Notation: En Analyse → "A" En Pascal → 'A'
 Déclaration VAR x , y : CHAR ;
 On peut comparer les caractères selon leurs codes ASCII. Ex : "A" > "a" → Faux.
 L’opérateur Dans ( IN en pascal) pour tester l’appartenance à un ensemble ou un intervalle
If X IN [‘A’..’Z’] // If Y IN [ 2,8,14,6,7]
Imen Mekki _______________ L’essentiel en informatique __________________ 1
Fonctions Prédéfinies sur les caractères
Algo Pascal Type C Type R Exemple Rôle
ORD R := ORD (C) ; Char Integer R  ORD (‘B’), R = 65 Le code d’un caractère
CHR R := CHR (C) ; Integer Char R  CHR (67) , R= ‘f’ Le carac dont le code est C
SUCC R :=SUCC (C) ; Char Char R  SUCC (‘r’), R=‘s’ Le successeur de C
PRED R :=PRED (C) ; Char Char R  PRED (‘G’), R='F’ Le prédécesseur de C
MAJUS R :=UPCASE(C) Char Char R MAJUS (‘b’) ,R='B’ Convertit en majuscule

• Le type tableau à une dimension


Un tableau (vecteur) est une structure sous forme d’une liste qui regroupe un nombre fini d’éléments de même
type

TDO EN PASCAL
Objet Type Rôle
Nom- Tableau de N éléments de ……
Tab type Type_éléments

Exemple Note est un Tableau qui va contenir les notes de 15 élèves


VAR Note : ARRAY [1..20] Of Real ;

 Accéder à chaque case par son indice. Note [5] c’est le contenu de la 5ème case dans le vecteur. Note
[5]=20
 On ne peut pas afficher un tableau entire (Ecrire (T))
 On affiche les éléments d’un tableau un par un (Ecrire (T[i])

• Le type tableau à deux dimensions


TDO EN PASCAL
Objet Type Rôle
Tableau de N
Nom- Type_éléments
……
Tab

Exemple : Déclarer un tableau bidimensionnel qui simule un jeu de dame


Var Damier : Array [‘a..’h’ , 1..8] of Integer ;
• Damier [‘b’ ,3] correspond à l’élément 3 de la ligne ‘b’
• Damier [‘c’ ,2]  10 affecter 10 à la case 2 de la ligne ‘c’

Imen Mekki _______________ L’essentiel en informatique __________________ 1


• Le type chaîne de caractères
 Une chaîne de caractères est une suite ordonnée de caractère (de 0 à 256 caractères).
 Notation: En analyse: "Informatique"/ "L""algorithme" En Pascal: 'Informatique'/ 'L''algorithme'
 VAR CH : String; (0 → 255 caractères) Précision de la taille: VAR NOM:STRING [Taille];
 CH [ i ] : le caractère numéro i dans la chaîne CH
 Exemple : CH "BAC*Math", CH [4] contient "*", CH [4]"_", donc CH= "BAC_Math".
 L’opérateur ‘+’ permet de concaténer deux ou plusieurs chaînes de caractères.
 Une fonction travail sur ses paramètres (utilise) et elle retourne un résultat qui doit être affecté à une variable
de même type
 Une procédure est toujours utilisée directement par son nom. Elle effectue ses traitements directement sur les
paramètres pour le (les) modifier

Imen Mekki _______________ L’essentiel en informatique __________________ 1


• Différence entre fonction et procédure
* Une fonction utilise ses paramètres et retourne un seul résultat qui doit être affecté à une variable de même
type
Exemple : X Length (ch)
Length est une fonction qui détermine la longueur de la chaîne, par la suite le résultat doit être affecté à une
variable de type entier. La fonction est appelée toujours par une affectation

* Une procédure est toujours appelée directement par son nom. Une procédure effectue ses traitements
directement sur les paramètres. Exemple : Insert (Ch1 ,Ch2 ,p)
Cette procédure fait l’insertion de ch1 dans ch2 à la position p. Donc le traitement est effectué sur Ch2

Les Types de données non standard

• Comment déclarer un type Tableau ?


Tableau de déclaration des nouveaux types En Pascal
Nom-Type-Tab = Tableau de Taille de Type- TYPE
élément Nom-Type-Tab = Tableau de Taille de Type-
Ex : TMOY= Tableau de 100 réels élém
T.D.O Ex TAB = Tableau de 100 réels
VAR
Objet Type Rôle Nom-Tab : Nom-Type-Tab ;
Nom-Tab Nom-Type- ….. T1 , T2 : TAB ;
Tab
T1 , T2 TMOY …..

• Le type Scalaire énuméré


 Le type scalaire énuméré est un ensemble de valeurs ordonnées et fini
 Ses valeurs ne doivent pas appartenir à un autre type : Ex: Eté=(Juin ,Juillet, Aout)
 Les opérateurs utilisés sont : PRED ,SUCC , ORD et les opérateurs relationnels
 Ex Pred(Juillet)=Juin / Succ(Juillet)=Aout / Pred (Juin) n’existe pas /ORD (Juin)=0 /ORD (Juillet) = 1
 Les opérations d'entrée/sortie ne sont pas possibles avec le type scalaire énuméré.

Tableau de déclaration des nouveaux type En Pascal


Nom-Type-scal= (Val1, Val2, …..Valn) TYPE
Eté = ( Juin , Juillet, Aout) Nom-type-scal=(Val1, Val2, …..Valn) ;
Eté= ( Juin , Juillet, Aout) ;
T.D.O
Objet Type Rôle VAR
Nom-Var1 Nom-Type-scal ….. Nom-var1 : Nom-Type-scal ;
Exemple Mois : Eté ;
Mois Eté …..

• Le type intervalle
 C’est un ensemble de valeurs compris entre une borne inférieure et une borne supérieure
 Les valeurs du type intervalle doivent être inclues dans un type (scalaire). (Ex : Note= 0..20 , Minis="a".."z")
 Une variable de type intervalle possède toutes les propriétés du type auquel elle appartient

Imen Mekki _______________ L’essentiel en informatique __________________ 1


Tableau de déclaration des nouveaux type En Pascal
Nom-Type-interv = BornInf .. BornSup TYPE
Minis="a".."z" Nom-type-interv=BornInf .. BornSup;
T.D.O Minis=’a’..’z’ ;
Objet Type Rôle VAR
Nom-Var2 Nom-Type- ….. Nom-var2 : Nom-Type-interv ;
interv Exemple Lettre : Minis ;
Lettre Minis …..

Actions élémentaires simples


• Opération d’affectation

Une affectation sert à modifier la valeur d’une variable.


On peut affecter : Syntaxe
Analyse / Algorithme En Pascal
Variable  Variable Variable := Variable ;

• Opération d’entrée
Consiste à Lire une valeur à partir du clavier et l’affecter à une variable déjà déclarée. Généralement, une
opération de lecture est précédée par un message (opération de sortie) qui demande les données à saisir.
On peut lire plusieurs variables à la fois (Readln A1, A2 , A3) à l’exception du type chaîne de caractères.

• Opération de sortie
Consiste à Ecrire (afficher) une valeur sur l’écran

• On utilise la procédure Writeln ( ) pour forcer le retour à la ligne après l’affichage


• A un réel : Writeln (A : x : y) permet d’afficher A sur x positions dont y positions après la virgule
• Soit un entier B . WRITE (B : x) permet d’afficher la valeur de B sur x positions

• Ordre des priorités des opérateurs


L’évaluation des expressions nécessite l’ordre de priorités des différents opérateurs utilisés. Dans ce qui suit
l’ordre des priorités des opérateurs (ordre décroissant):
• Niveau 1 : ( )
• Niveau 2 : NOT.
• Niveau 3 : *, /, mod, div, AND.
• Niveau 4 : +, -, OR, XOR.
• Niveau 5 : =, <, >, <=, >=, <>

Imen Mekki _______________ L’essentiel en informatique __________________ 1


Imen Mekki _______________ L’essentiel en informatique __________________ 1
Imen Mekki _______________ L’essentiel en informatique __________________ 1
Les structures de contrôle itératives

Imen Mekki _______________ L’essentiel en informatique __________________ 1


Approche Modulaire

• Séparer les différentes parties d’un programme pour les résoudre plus facilement
• Un sous-programme peut être une Fonction ou une Procédure.
• Chaque sous problème est résolu par un module (une fonction ou une procédure).
• Le programme principal est le programme appelant. Un sous-programme est le programme appelé

• Une fonction est un sous-programme qui renvoie une valeur d’un seul type. Le type du résultat est celui
de la fonction.
• A la fin des instructions de la fonction il faut affecter le résultat au nom de la fonction
• Les paramètres formels d’une fonction ne sont pas des objets à mettre dans le TDO Locaux

• Une procédure est un sous-programme qui permet la résolution d’un problème donné et qui peut avoir
zéro ou plusieurs résultats à partir d’un ou plusieurs paramètres donnés
• Une procédure exécute un traitement en utilisant les paramètres donnés.
• Une procédure ne retourne pas un résultat, elle n’a pas de type.

Objets Locaux et Objets Globaux


• Un objet : Type , constante ou variable.
• Un objet Global est déclaré parmi les objets du programme principal. Il est utilisé dans le programme
principal et ses sous programmes
• Un objet local est déclaré parmi les objets du sous-programme. Il est utilisé seulement dans le sous-
programme. (Ou ses sous programmes)

Paramètres effectifs et Paramètres Formels


• Un sous-programme est défini (l’en tête) avec des paramètres formels
• Un sous-programme est appelé par son programme principal avec des paramètres effectifs.
• Les paramètres formels (de définition) et les paramètres effectifs (de l’appel) doivent s’accorder de point de
vue ordre, nombre et type.
• Les paramètres formels d’un sous-programme ne sont pas des objets à mettre dans le TDO Locaux

Passage des paramètres :


Remplacer des paramètres formels par des paramètres effectifs s’appelle passage de paramètres.
Passage par Valeur
• Lors de l’appel d’une procédure/fonction, les valeurs des paramètres effectifs sont affectées aux paramètres
formels.
• Le transfert d’information est effectué dans un sens unique : du programme principal vers la
procédure/fonction
• Les paramètres effectifs ne sont pas précédés par le mot VAR
• Pour les fonctions on utilise uniquement le mode de passage par valeur.

Imen Mekki _______________ L’essentiel en informatique __________________ 1


Passage par variable
• Le passage de paramètres par variable permet au programme de transmettre une valeur à la procédure et
vice - versa.
• Le transfert d’information est effectué dans les deux sens, du programme principal vers la procédure et vice
- versa.
• Les paramètres formels sont procédés par le mot VAR.
• Après avoir exécuté la procédure, les paramètres formels procédés par le mot VAR sont changés et reçoivent
le contenu des paramètres formels

Comment définir une Fonction ?


En Analyse
DEF FN nom_fonction (Les paramètres formels) : Type du résultat
Résultat= nom_fonction Res TDO Locaux
………………. Objet Type Rôle
Instruction 1
Fin nom_fonction
En Algorithme
0) DEF FN nom_fonction (liste des paramètres formels) : Type du résultat
1) Instruction 1
3) ………
4) nom_fonction  res
5) Fin nom_fonction
En Pascal
Function nom_fonction (liste des paramètres formels) : Type du résultat ;
Var {Déclarations des variables locales} ;
Begin
{Instructions de la fonction} ;
nom_fonction := res ;
End;

Comment appeler une Fonction dans le programme principal ?


Analyse/Algorithme Pascal
Variable  FN nom_fonction (paramètres
Variable := nom_fonction (paramètres effectifs) ;
effectifs)
Write (nom_fonction (paramètres effectifs)) ;
Ecrire (FN nom_fonction (paramètres effectifs))

Comment définir une Procédure ?


En Analyse
DEF PROC nom_procédure (liste des paramètres formels)
Résultat= …….… TDO Locaux
………. Objet Type Rôle
Fin nom_procédure
En Algorithme
0) DEF PROC nom_procedure (liste des paramètres formels)
1) Instruction 1
3) ………
4) Fin nom_procedure
Imen Mekki _______________ L’essentiel en informatique __________________ 1
En Pascal
Procedure nom_procedure (liste des paramètres formels) ;
Var {Déclarations des variables locales} ;
Begin
…………………….
End;

Comment appeler une Procédure dans le programme principal ?


Analyse/Algorithme Pascal
Variable  PROC nom_Pocedure (paramètres effectifs) Nom_procedure (paramètres effectifs) ;
Ecrire (PROC nom_procedure (paramètres effectifs)) Write (nom_procedure (paramètres effectifs)) ;

Remarque : L’ordre d’écriture des sous programmes n’est pas important !! Sauf dans le cas où un module utilise
un autre module. Dans ce cas le module appelé doit être défini avant le module appelant.

Structure générale d’un programme modulaire en Pascal.

Imen Mekki _______________ L’essentiel en informatique __________________ 1


LES ALGORITHMES DE TRI
L’opération de tri consiste à ranger des éléments en ordre croissant ou décroissant.
Dans ce qui suit, on va choisir de trier les éléments d’un tableau en ordre croissant.
TRI PAR SELECTION

PROCEDURE TRISELECT (var V:tab; X:integer);


Var
p:integer;
aux :
Function POSMIN (V:TAB ; m:integer ; X :integer):
integer; begin //Debur Proc TriSelect //
Var for i:= 1 to X do
pos , j :integer; begin
begin p := posmin (V,i, X);
pos := m; aux := V[p] ;
for j:=m+1 to x do V[p]:=V[i] ;
begin V[i]:= aux
if V[pos] > V[j] then end;
pos :=j; end; //Fin Proc TriSelect//
end;
POSMIN := pos ;
end;
TRI PAR INSERTION

Procedure TRINSERT (var v:tab ; x:integer); while (j-1 >=1) and (p<V[j-1]) do
Var begin
i, j , p : integer ; V[j]:=V[j-1];
Begin j:= j-1;
for i:= 2 to X do end;
begin V[j]:= p;
p:= V[i]; end;
j:=i; end;

Imen Mekki _______________ L’essentiel en informatique __________________ 1


TRI A BULLES

PROCEDURE TRIBulle (var V:tab; X:integer);


Var
test:boolean;
temp : integer ;
Begin
Repeat
test := true;
for i:=1 to n-1 do
begin
if T[i]>T[i+1] then
begin
Temp:=T[i] ;
T[i]:=T[i+1];
T[i+1] := temp;
test :=false ;
end;
end;
Until (test=true);
end;

Imen Mekki _______________ L’essentiel en informatique __________________ 1


LES ALGORITHMES DE RECHERCHE

La recherche consiste à vérifier l’existence d’un élément X dans un tableau T


Recherche séquentielle

En utilisant une boucle Pour En utilisant une boucle répéter


0) DEF FN Existe (T :TAB ; X :entie) : booléen ; 0) DEF FN Existe (T :TAB ; X : entier) : booléen ;
1) Trouve  Faux 1) Trouve  faux
2) Pour i de 1 à N faire 2) i1
Si (T[ i ] = X ) alors 3) Répéter
Trouve  Vrai Si (T[i] = X) alors
Fin Si Trouve  Vrai
Fin Pour Fin Si
3) Existe  Trouve i  i +1 .
4) Fin Existe Jusqu’à (Trouve = vrai) ou ( i>=N)
4) Existe  Trouve
5) Fin Existe

Recherche Dichotomique

Imen Mekki _______________ L’essentiel en informatique __________________ 1


Les Erreurs Fréquentes En Pascal
• Chaque erreur est identifiée par un code (numéro) et un message correspondant.
• Généralement l’erreur est signalée par une ligne de couleur noire.
Code
Indications Explication et correction
erreur
Identificateur Le compilateur attend un identificateur : cette erreur survient typiquement
2
attendu lorsque vous essayez de redéclarer un mot réservé.
Identificateur
3 Vous utilisez un identificateur non déclaré ou bien déclaré dans un autre bloc.
inconnu
Déclaration
Vous déclarez deux fois le même identificateur. Par exemple, vous essayez
4 d’identificateur
de donner à une procédure le même nom qu'une variable déclarée.
dupliquée
La cause d'une erreur de syntaxe peut avoir une foule d'origines : vous utilisez
5 Erreur de syntaxe des caractères accentués dans les identificateurs, vous oubliez d'encadrer
une chaîne de caractères par des apostrophes, etc, etc.
Constante chaîne
Une constante de type chaîne de caractères faits plus d'une ligne.
8 de caractère sur
Vous avez probablement oublié l'apostrophe qui termine la chaîne...
plus d’une ligne
Variable
9 identificateur Un identificateur utilisé ne correspond pas à une variable déclarée.
attendu
Fin de fichier
10 Il manque un point au fin fichier (END.)
inattendu
Turbo Pascal ne peut compiler que des lignes d'un maximum de 127
11 Ligne trop longue
caractères. Au-delà, vous devez scinder votre ligne en plusieurs lignes.
Type
12 d’identificateur Vous avez déclaré un identificateur sans type.
attendu
Voici peut-être l'erreur de compilation la plus fréquente :
Une variable ou une expression d'un type non attendu par le compilateur.
Il y a plusieurs raisons possibles :
26 Type incompatible
• Affecter une variable à une variable d’un autre type
• Passage à une procédure ou fonction d'un paramètre d'un type
invalide ;

Le compilateur attend un begin. Cette erreur peut avoir de multiples causes.


36 BEGIN attendu Typiquement, le compilateur attend le begin du programme principal parce
qu'il y a un end en trop dans la déclaration des procédures et fonctions.

Le compilateur attend un end. Revoyez la structure de vos blocs conditionnels


37 END attendu
ou l'imbrication de procédures et fonctions.

expression
Le compilateur attend une expression de type booléen.
40 booléenne
Généralement, cette erreur vient d'un if sur une expression non booléenne.
attendue

Imen Mekki ______________________________________________ Résumé du cours informatique


Cette erreur indique généralement qu'une expression est incomplète : soit il
erreur dans manque l'opérateur, soit il manque un opérande.
42
l’expression

Il manque tout simplement le mot réservé do avec une des instructions


suivantes
50 DO attendu • while {expression} do
• with {enregistrement} do
• for {compteur} do

54 OF attendu Il manque le petit of dans une instruction case of :

57 THEN attendu Il manque le then dans une instruction if then (else) :

TO/DOWNTO
58 Il manque le to ou le downto dans une instruction for :
attendu

Imen Mekki ______________________________________________ Résumé du cours informatique

Vous aimerez peut-être aussi