sc2mosta

LE LANGAGE DE PROGRAMMATION PASCAL .
 
AccueilPortailCalendrierGalerieFAQRechercherMembresGroupesS'enregistrerConnexion
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Derniers sujets
» NOTE EMD1 + EMD2+ DS + RAT. 2010-2011
Dim 18 Sep - 13:58 par maachou mohamed

» TD NO 02
Mer 14 Sep - 18:12 par BENYAMINA MOHAMED RABEH

» cours numéro 03
Mer 14 Sep - 15:19 par belhocine faycal.g1

» cours numéro 02
Mar 13 Sep - 18:19 par BENYAMINA MOHAMED RABEH

» cours numéro 01
Mar 13 Sep - 18:19 par BENYAMINA MOHAMED RABEH

» cours numéro 06
Mar 13 Sep - 18:19 par BENYAMINA MOHAMED RABEH

» cours numéro 04
Mar 13 Sep - 18:18 par BENYAMINA MOHAMED RABEH

» pascal en arabe
Mar 13 Sep - 18:18 par BENYAMINA MOHAMED RABEH

» cours numéro 08
Mar 13 Sep - 18:17 par BENYAMINA MOHAMED RABEH

Marque-page social
Conservez et partagez l’adresse de sc2mosta sur votre site de social bookmarking
Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Forum
Partenaires
Forum gratuit



Tchat Blablaland

Partagez | 
 

 cours numéro 08

Aller en bas 
Aller à la page : 1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Suivant
AuteurMessage
Admin
Admin
avatar

Messages : 23
Points : 39
Réputation : 16
Date d'inscription : 15/03/2008
Age : 57
Localisation : MOSTAGANEM

MessageSujet: cours numéro 08   Dim 16 Mar - 0:21

L'instruction de choix multiple:
Nous avons vu que l'instruction de rupture de séquence (if-then-else) permet de séparer tous les cas possibles d'une solution. Dans des situations où la différenciation des cas se base sur la valeur d'une variable, et si cette variable peut prendre un nombre important de valeurs, l'utilisation de l'instruction if- then-else devient encombrante.


Exemple : on veut écrire un programme qui lit le numéro du mois et affiche le nom de ce mois. Ce programme peut être écrit ainsi:



Program nom_du_mois ;
Var
mois: 1..12 ;
Begin
Readln (mois) ;
If (mois=l) Then Writeln ('Janvier')
Else If mois=2 then Writeln ('Fevrier')
Else If mois=3 Then Writeln ('Mars')
Else If ……………………..
End.


Il est évident que l'écriture du programme de cette manière, bien qu'elle soit possible, donne lieu à un programme peu lisible. C'est pour ce genre de situation que Pascal met à la disposition du programmeur une structure de contrôle qui permet une écriture plus claire du programme. Il s'agit de l'instruction Case. La résolution de l'exemple ci-dessus en utilisant l'instruction Case peut être écrite de la manière suivante:


Case mois of
1 : writeln ('Janvier');
2 : Writeln('Fevrier') ;
3 : writeln (‘Mars') ;
…………………
12 : Writeln(‘Decembre’)

End ;




Remarques: . La variable utilisée dans l'instruction Case pour différencier les cas est appelée sélecteur. . Les différentes valeurs que peut prendre le sélecteur sont appelées des étiquettes.


. Après chaque étiquette on peut écrire une seule instruction (ou bien une instruction composée).
. Quand l'instruction Case est exécutée le sélecteur est évalué, si sa valeur est égale à l 'une des étiquettes l'instruction qui suit cette étiquette est exécutée puis l'exécution se poursuit à l'instruction suivante.
. il est possible de regrouper des étiquettes dans le cas où elles correspondent au même traitement.

Par exemple le fragment de programme suivant affiche le nombre de jours du mois:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Case mois of
1,3,5,7,8,10, 12: writeln ('nombre de jours : ‘, 31);
2: wrileln ('nombre de jours: ‘ ,28) ;
4,6,9,11: writeln ('nombre de jours :’ , 30)
End ;


. Le sélecteur de l'instruction Case doit être d'un type ordinal (Integer, Boolean, Char, type
énuméré, type intervalle).
. il arrive parfois que pour certaines valeurs du sélecteur aucune action ne soit prévue, dans ce cas l'instruction qui suit cette étiquette est réduite à un point virgule.
. Dans le cas d'étiquettes successives il est possible de les écrire sous forme d'intervalle.

Exemple:
Var
jour: (samedi, dimanche, lundi, mardi, mercredi, jeudi, vendredi);
Begin
…………………
Case jour of
samedi..mardi : writeln ( Aller à l'université') ;
mercredi: writeln ('Faire le Marche:) ;
jeudi: ;
vendredi: writeln ('Visilè de famille')
End;


4. Le type tableau (array):


a) Définition: Un tableau est une collection ordonnée de variables ayant toutes le même type et qui partagent le même nom. Par exemple, nous pouvons employer un tableau de caractères pour représenter une ligne de texte, ou un tableau de réels pour représenter un vecteur. Une matrice est constituée de colonnes, chacune de ces colonnes étant un vecteur, et peut donc être représentée par un tableau de vecteurs.

b) Déclaration d'un type tableau:

La déclaration d'un type tableau se fait dans la section de déclaration de types en utilisant le descripteur de type ARRAY, comme dans l'exemple suivant:


type
vecteur = array [1..10] of real;



Dans cette exemple, on a déclaré le type 'vecteur' qui représente un tableau à dix composantes réelles. Une variab1e de type 'vecteur' représente en fait dix variables de type réel différenciée par un indice qui varie de 1à 10. Une Variable de type ‘vecteur’ peut être déclarée, dans la section de déclaration de variables, en utilisant l'identificateur de type 'vecteur’. Par exemple:


var

i: 1..10;
x : vecteur;


Dans cet exemple, i est une variable de type intervalle (1..10) qui sera utilisée comme indice de la variable x de type 'vecteur'. Les composantes du vecteur x sont écrites comme suit:
X[l] x[2] x[3] ... x[9] et x[10], ou alors x[i].

Règles relatives au type tableau :


. il est possible de remplacer les déclarations plus haut par :
var
x: array [1..10] of real ;



mais, comme il a été mentionné auparavant, il est préférable de séparer les déclarations de type des déclarations des variables. .'
. L'indice d'un tableau est souvent d'un type intervalle, aussi est il préférable de déclarer le type intervalle avant le type tableau comme dans l'exemple suivant:

type
indice = 1..10 ;
vecteur = array [indice] of real ;



. il est possible d'utiliser un type énuméré comme type de l'indice d'un tableau, comme dans l’exemple :

type
semaine = (samedi, dimanche, lundi, mardi, mercredi, jeudi, vendredi);
heures = array [semaine] of integer;
var
ahmed : heures;


on peut imaginer que la variable ahmed est un vecteur dont les composante sont égales au
nombre d'heures supplémentaires faites par fonctionnaire nommée ahmed pendant chaque jour de semaine. Ces composantes s'écrivent:

ahmed[samedi], ahmed[dimanche],..........., ahmed[Vedredi].

. Les composantes d'un tableau sont des variables simples dont le type est le type de la base du tableau et peuvent être utilisées comme toute variable simple suivant les règles de Pascal.


Exemple :
var
x : vecteur;
i : indice;
a : real ;
begin
. . . . .. .. . . . ...
x[i] := a ;

………………


. La lecture des composantes d'un vecteur (tableau à une dimension), ainsi que la plupart des opérations qui manipulent les composantes d'un vecteur, passe souvent par l'utilisation d'une boucle For. L'exemple suivant calcule la norme d'un vecteur :

Exemple :
var
x : vecteur ;
i : indice;
begin
(* lecture des composantes du vecteur x*)
for i:= 1 to 10 do
read (x[i]) ;
end.

. Il est possible d'affecter la valeur d'un tableau à un autre tableau de même type par une simple affectation comme dans l'exemple suivant:

var
x, y : vecteur;
begin
. . . .. . . . . ... . .. . .
y :=x;

. . . . . . . . .. .. . . . ..
end.



Cette affectation remplace en fait la boucle suivante (1 est une variable de type 1.10) :

For I:= 1 to 10 do
y[I] := x[I] ;


. Les composantes d'un même tableau sont stockées en mémoire dans des emplacements successifs. Le nombre d'octets utilisés est fonction du type de base du tableau.

c) Exemples d'application :

Nous allons traiter dans cette partie deux exemples d’applications des tableaux à une dimension (ou vecteurs;). Le premier calcule le produit scalaire de deux vecteurs et le second recherche le minimum d’un vecteur.

Produit scalaire de deux vecteurs: on définit le produit scalaire de deux vecteurs X et Y à n composantes comme étant le scalaire P = Σ xi yi i=1 to N d'où le programme suivant:


Program Produitscalaire ;
Const
N=10;
Type
Indice = l..N ;
Vect = Array [Indice] of Real ;
Var
X, Y : Vect ;
I : Indice;
Somme, P : Real ;
Begin
For I := 1 to N do
Read (X[I]) ;
For I:= 1 to N do
Read (Y[I]) ;
Somme := 0 ;
For I := 1 to N do
Somme:= Somme + X[I]*Y[I] ;
P := sqrt (Somme);
Writeln ('Le produit scalaire X.Y = ‘, P: 10:4)
End.


Recherche du minimum d'un vecteur:

Soit un vecteur X à n composantes, on recherche la plus petite composante de ce vecteur. On suppose que les types 'Indice' et 'Vect' sont définis Comme dans l’exemple précédent.

Program RechercheMinimum;
…………………………
Var
X : Vect ;
I : Indice;
M : Real;
Begin
(* lecture du vecteur X *)
M := X[ 1] ; (* on suppose que le minimum est la première composante *)
For I:= 2 To N Do
If M> X[I] Then M:= X[I] ;
Writeln ('Le minimum est: ‘, M: 10:4) ;
End.


Dernière édition par Admin le Sam 22 Mar - 15:53, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://sc2mosta.forums-actifs.com
belhadji
Invité



MessageSujet: Re: cours numéro 08   Jeu 3 Déc - 15:26

ex1: 3*(4+(7-8div3)-7)/2 =3*(4+(7-2)-7)/2 =3*(2)/2 6/2=2
Revenir en haut Aller en bas
belhadji
Invité



MessageSujet: Re: cours numéro 08   Jeu 3 Déc - 15:36

ex2:program ex2; var v1,v2,t begin t:=v1; v1:=v2; v2:=v1; end.
Revenir en haut Aller en bas
belhadji
Invité



MessageSujet: Re: cours numéro 08   Jeu 3 Déc - 15:55

3*(4*(7-8div3)-7)=3*(4+(5)-7)/2=3*2/2==6/2=3
Revenir en haut Aller en bas
CHERAOUI
Invité



MessageSujet: Re: cours numéro 08   Jeu 14 Jan - 17:19

salam .cherfaoui fouzia G03
Revenir en haut Aller en bas
Bouziane Mohamed

avatar

Messages : 107
Points : 167
Réputation : 0
Date d'inscription : 15/01/2010
Age : 28
Localisation : Oued Rhiou

MessageSujet: Re: cours numéro 08   Sam 16 Jan - 12:29

merci monsieu j'ai l'honneur d'etre ton etudiant
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
DJEFFAL KHEIR EDDINE



Messages : 133
Points : 136
Réputation : -2
Date d'inscription : 15/01/2010
Age : 29

MessageSujet: salut   Sam 16 Jan - 13:24

BON JOUR lol!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
cherfaou
Invité



MessageSujet: salam 3likom   Sam 16 Jan - 15:43

salam
Revenir en haut Aller en bas
cherfaou
Invité



MessageSujet: salut   Sam 16 Jan - 15:45

salam prof
Revenir en haut Aller en bas
zoubida



Messages : 33
Points : 39
Réputation : 0
Date d'inscription : 25/11/2009

MessageSujet: BOUKHOUDMI ZOUBIDA   Mer 27 Jan - 0:54

je ss boukhoudmi zoubida G03
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Bendref Belkacem



Messages : 41
Points : 58
Réputation : 0
Date d'inscription : 16/11/2009

MessageSujet: Re: cours numéro 08   Jeu 28 Jan - 14:03

Bendref Belkacem . G2
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
DJAKMINE ABDELFATEH



Messages : 112
Points : 117
Réputation : 0
Date d'inscription : 05/01/2010
Age : 30
Localisation : mostaganem

MessageSujet: Re: cours numéro 08   Jeu 28 Jan - 14:34

salut prof je ss djakmine abdelfateh g 04 cheers
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Benalioua Yahya

avatar

Messages : 71
Points : 139
Réputation : 1
Date d'inscription : 28/01/2010

MessageSujet: salut   Ven 29 Jan - 17:15

benalioua yahya g2 :salut a tous
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Benalioua Yahya

avatar

Messages : 71
Points : 139
Réputation : 1
Date d'inscription : 28/01/2010

MessageSujet: Re: cours numéro 08   Ven 29 Jan - 17:19

vive l'algerie malgri ngoulou khssarna Wink normalment larbit kan reservé!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Bendref Belkacem



Messages : 41
Points : 58
Réputation : 0
Date d'inscription : 16/11/2009

MessageSujet: Re: cours numéro 08   Ven 5 Fév - 14:31

bendref belkacem g2
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
GRINE NA
Invité



MessageSujet: G04   Mar 9 Fév - 21:30

SALUT JE S EPER QUE TU ES BIEN G0:
Revenir en haut Aller en bas
ADDA REZ
Invité



MessageSujet: G01   Mar 9 Fév - 21:32

SALUT.......b8
Revenir en haut Aller en bas
fatima a
Invité



MessageSujet: g01   Mar 9 Fév - 21:35

salut
Revenir en haut Aller en bas
rachida
Invité



MessageSujet: g01   Mar 9 Fév - 21:37

salut
Revenir en haut Aller en bas
djaafar
Invité



MessageSujet: g04   Mar 9 Fév - 21:40

salut
Revenir en haut Aller en bas
hammou m
Invité



MessageSujet: Re: cours numéro 08   Mer 10 Fév - 16:37

salu prof hammou malika g05 sc.
Revenir en haut Aller en bas
messaoudi ali

avatar

Messages : 34
Points : 47
Réputation : 2
Date d'inscription : 15/02/2010

MessageSujet: SALAM   Lun 15 Fév - 21:54

MESSAOUDI ALI GRP 6 MERCI BN8 MON PROFF Sleep lol! study
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
hachelaf hayet

avatar

Messages : 33
Points : 62
Réputation : 10
Date d'inscription : 13/02/2010
Age : 28
Localisation : mostaganem

MessageSujet: bjjjrrr   Mer 24 Fév - 11:41

Cool bonne journéé study study
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
cherfaou
Invité



MessageSujet: cherfaoui fouzia G03   Mer 24 Fév - 11:51

bon jour
Revenir en haut Aller en bas
Benalioua Yahya

avatar

Messages : 71
Points : 139
Réputation : 1
Date d'inscription : 28/01/2010

MessageSujet: Re: cours numéro 08   Mer 24 Fév - 13:28

benalioua yahya G2...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: cours numéro 08   

Revenir en haut Aller en bas
 
cours numéro 08
Revenir en haut 
Page 1 sur 10Aller à la page : 1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Suivant
 Sujets similaires
-
» Ouvrir un fichier dans Mapsource sans effacer les données en cours?
» Problème sur l'arret en cours
» Cours ImageReady
» Cours par ChatBox - Samedi 19 Janvier 2013
» Des cours de InDesign ?

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
sc2mosta :: cours-
Sauter vers: