DevInformatique Ralis par HACHIMI SAFAE Module N 2

  • Slides: 19
Download presentation
Dev-Informatique Réalisé par : HACHIMI SAFAE

Dev-Informatique Réalisé par : HACHIMI SAFAE

Module N° 2 : Techniques de programmation structurée Partie 7 : Les structures Exercice

Module N° 2 : Techniques de programmation structurée Partie 7 : Les structures Exercice 1 : 1)-Déclarer une structure salariés qui est composés des champs suivants : Matricule, Nom, Prénom, Ville, Adresse, Age, Grade, Etat_Familial, Nbre_Enfant, Sexe, Salaire_Statut 2)-Déclarer la table de la structure salariés : A)-Afficher les noms des salariés de CASA. B)-Afficher les prénoms des salariés dont âge est supérieur à 35 ans. C)-Afficher les villes des salariés célibataires. D)-Afficher les adresses des salariés dont grade est Technicien Spécialisé et âgé entre 40 ans et 60 ans. E)-Afficher les prénoms des salariés divorcés dont Nbre enfants est supérieur à statut contrat indéterminé.

F)-Afficher les hommes mariés dont grade est ingénieur et prénom égal Karim Afficher les

F)-Afficher les hommes mariés dont grade est ingénieur et prénom égal Karim Afficher les noms 3)-Remplir la table de la structure : G)-Calculer la moyenne des salaires. H)-Calculer la somme des salaires. I)-Afficher les prénoms et noms des salariées dont salaire entre 5000 DH et 15000 DH. J)-Afficher les noms des salariées dont salaires est inférieur à 15000 et Nbre Enfant inférieur à 5. K)-Quel est le salaire Max et Min. L)-Calculer la moyenne des salaires des célibataires dont âge entre 20 ans et 30 ans. M)-Trier les salaires selon l’ordre croissant par le tri de Bulle. N)-Trier le salaire des femmes divorcées selon l’ordre décroissant. O)-Afficher noms et prénoms des salariés dont salaire est supérieur à la moyenne des salaires du salariées de RABAT. P)-Compter le nbre des salariés de CASA. Q)-Compter le nbre des salariés de RABAT dont salaire et différent de 5000.

R)-Vérifier que le salariée dont le nom est KARIMI existant dont la structure. S)-Stocker

R)-Vérifier que le salariée dont le nom est KARIMI existant dont la structure. S)-Stocker les salaires dans un tableau d’une seule dimension. T)-Stocker les salaires des salariées de CASA d’un tableau d’une seule dimension après il faut trier le tableau de dimension. Exercice 2 : On souhaite créer une application qui permet de gérer les informations des stagiaires de notre établissement. -Chaque Stagiaire est identifié Numéro de type entier, Nom de type chaine et Prénom de type chaine. -Note[3] Tableau d’une dimension est une liste qui contient les notes de chaque stagiaire sur l’examen des modules M 1, M 2 et M 3. 1)-Ecrire la structure stagiaire qui permet de contenir les informations des stagiaires. 2)-Ecrire les algorithmes qui permet de : A)-Créer un tableau qui peut contenir les informations des stagiaires sachant que le nbre est toujours inférieur à 25. B)-Remplir le tableau par les informations des stagiaires sachant que les notes doivent être entre 0 et 20. C)-Afficher le stagiaire qui a la 1 er moyenne et le stagiaire qui a la dernière moyenne.

Exercice 3 : Une société emplois 30 fonctionnaires. Les informations relatives à un fonctionnaire

Exercice 3 : Une société emplois 30 fonctionnaires. Les informations relatives à un fonctionnaire sont : § Matricule: Entier § Nom: chaine de 40 caractère § Prénom : chaine de 40 caractère § Salaire : Réel A)-Définir la structure fonctionnaire les informations des fonctionnaires qui stockée dans un tableau de type fonctionnaire. B)-Déclarer ce tableau. C)-Ecrire un algorithme qui remplit ce tableau. D)-Ecrire un algorithme qui affiche les fonctionnaires ayant un salaire supérieur à une valeur saisie par l’utilisateur. E)-Trier le tableau des fonctions par ordre croissant des noms.

Corrections des exercices : Var T[]: Salariés Lire(T[i]. Adresse) Ex 1: 1)- Var N

Corrections des exercices : Var T[]: Salariés Lire(T[i]. Adresse) Ex 1: 1)- Var N : Entier/Dimension/ Ecrire(‘’Donner l'âge d’indice’’, i+1) Type Salariés : Structure Début Ecrire(‘’Donner un entier : ’’) Matricule : Entier Lire(N) Nom : Chaine de caractère Pour(i=0 à N-1)faire Prénom : Chaine de caractère Ecrire(‘’Donner le matricule d’indice’’, i+1) Lire(T[i]. Age) Ecrire(‘’Donner le grade d’indice’’, i+1) Lire(T[i]. Grade) Ecrire(‘’Donner état familial d’indice’’, i+1) Lire(T[i]. Etat_Familial) Ville : Chaine de caractère Adresse : Chaine de caractère Age : Entier Grade : Chaine de caractère Etat_Familial : Chaine de caractère Nbre_Enfant : Entier Salaire : Réel Statut: Chaine de caractère 2)-Var i : Entier /Compteur/ Lire(T[i]. Matricule) Ecrire(‘’Donner le nom d’indice’’, i+1) Lire(T[i]. Nom) Ecrire(‘’Donner le prénom d’indice’’, i+1) Lire(T[i]. Prénom) Ecrire(‘’Donner la ville d’indice’’, i+1) Lire(T[i]. Ville) Ecrire(‘’Donner adresse d’indice’’, i+1) Ecrire(‘’Donner le nbre d’enfant d’indice’’, i+1) Lire(T[i]. Nbre_Enfant) Ecrire(‘’Donner le sexe d’indice’’, i+1) Lire(T[i]. Sexe) Ecrire(‘’Donner le salaire statut d’indice’’, i+1) Lire(T[i]. Salaire_Statut) Fin Pour

A)- Pour(i=0 à N-1)faire Si(T[i]. Etat_Familial=‘’Célibataire’’) Alors Si(T[i]. Ville=‘’CASA’’)Alors Ecrire(T[i]. Ville) Ecrire(T[i]. Nom) Finsi

A)- Pour(i=0 à N-1)faire Si(T[i]. Etat_Familial=‘’Célibataire’’) Alors Si(T[i]. Ville=‘’CASA’’)Alors Ecrire(T[i]. Ville) Ecrire(T[i]. Nom) Finsi Fin Pour D)- B)- Pour(i=0 à N-1)faire Si(T[i]. Grade=‘’Technicien Spécialisé’ ’ET T[i]. Age<=60 ET T[i]. Age>=40)Alors Si(T[i]. Age>35)Alors Ecrire(T[i]. Adresse) Ecrire(T[i]. Prénom) Finsi Fin Pour

E)Pour(i=0 à N-1)faire Si(T[i]. Situation_Familial=‘’Célibataire’’ ET T[i]. Nbre_Enfant>=2 ET T[i]. Statut=‘’Contrat indéterminé’’)Alors Ecrire(T[i]. Prénom)

E)Pour(i=0 à N-1)faire Si(T[i]. Situation_Familial=‘’Célibataire’’ ET T[i]. Nbre_Enfant>=2 ET T[i]. Statut=‘’Contrat indéterminé’’)Alors Ecrire(T[i]. Prénom) Finsi Fin Pour F)Pour(i=0 à N-1)faire Si(T[i]. Sexe=‘M’ ET T[i]. Situation_Familial=‘’Marié’’ ET T[i]. Grade=‘’Ingénieur’’ ET T[i]. Prénom=‘’Karim’’)Alors Ecrire(T[i]. Nom) Finsi Fin Pour

G)- Fin Pour Var S: Réel /Aide Ecrire(M) Var M: Réel/Résultat/ I)- S 0

G)- Fin Pour Var S: Réel /Aide Ecrire(M) Var M: Réel/Résultat/ I)- S 0 Pour(i=0 à N-1)faire S S+T[i]. Statut Fin Pour Si(T[i]. Salaire>=5000 ET T[i]. Salaire<=15000)Alors Ecrire(T[i]. Nom, T[i]. Prénom) Finsi Fin pour H)Var S: Réel /Résultat S 0 Pour(i=0 à N-1)faire S S+T[i]. Statut Si(T[i]. Salaire<=15000 ET T[i]. Nbre_Enfant<5)Alor s M S/N Ecrire(M) Pour(i=0 à N-1)faire J)- Finsi Fin Pour

K)- L)-var S: Réel/Aide/ Var Min : Réel/Résultat/ Var Max : Réel/Résultat/ Var j:

K)- L)-var S: Réel/Aide/ Var Min : Réel/Résultat/ Var Max : Réel/Résultat/ Var j: Entier/Compteur/ Max T[0]. Salaire S 0 Min T[0]. Salaire Pour(i=0 à N-1)faire Pour(i=1 à N-1)faire Si(T[i]. Etat_Familial=‘’Célibataire’’ ET T[i]. Age<=30 ET T[i]. Age>=20)Alors Si(T[i]. Salaire>Max)Alors j 0 S S+T[i]. Salaire Max T[i]. Salaire j j+1 Finsi Si(T[i]. Salaire<Min)Alors Min T[i]. Salaire Finsi Fin Pour Ecrire(Min, Max) Finsi Fin. Pour M S/j Ecrire(M)

M)- Var j: Entier/Compteur/ Var Temp: Réel /Aide/ j 0 Var j: Entier/Compteur/ Pour(i

M)- Var j: Entier/Compteur/ Var Temp: Réel /Aide/ j 0 Var j: Entier/Compteur/ Pour(i 0 à N-2)faire Pour(j i+1 à N-1)faire j 0 Pour(i 0 à N-2)faire Pour(j i+1 à N-1)faire Si(T[i]. sexe=‘F’ ET T[i]. Situation_Familial=‘’Divorcé’’)Alors Si(T[j]. Salaire>T[i]. Salaire)Alors Si(T[j]. Salaire<T[i]. Salaire)Alors Temp T[j]. Salaire T[i]. Salaire Temp Finsi Fin Pour

O)- Var cpt: Entier/Compteur/ Var S: Réel /Aide cpt 0 Var M: Réel/Résultat/ Pour(i=0

O)- Var cpt: Entier/Compteur/ Var S: Réel /Aide cpt 0 Var M: Réel/Résultat/ Pour(i=0 à N-1)faire S 0 Si(T[i]. Ville=‘’CASA’’ )Alors Pour(i=0 à N-1)faire S S+T[i]. Statut cpt+1 Finsi Fin Pour M S/N Ecrire(cpt) Pour(i=0 à N-1)faire Si(T[i]. Salaire>M)Alors Ecrire(T[i]. Nom, T[i]. Prénom) Finsi Fin Pour P)-

Q)- Fin Pour Var cpt: Entier/Compteur/ S)- cpt 0 Var M[]: Réel /Tableau des

Q)- Fin Pour Var cpt: Entier/Compteur/ S)- cpt 0 Var M[]: Réel /Tableau des réels/ Pour(i=0 à N-1)faire Var T[] : Salariés Si(T[i]. Ville=‘’RABAT’’ ET T[i]. Salaire<>5000)Alors cpt+1 Finsi Var i : Entier/compteur/ Var N : Entier/Dimension/ Début Fin Pour Ecrire(‘’Donner un entier : ’’) Ecrire(cpt) Lire(N) R)- Pour (i=0 à N-1)faire Var trouver: Booléen Trouver Faux Pour(i=0 à N-1)faire Si(T[i]. Nom=‘’KARIMI’’)Alors Trouver Vrai Finsi M[i] T[i]. Salaire Fin Pour

T)- Pour(k i+1 à cpt-1)faire Var cpt: Entier/Compteur/ Si(M[k]. Salaire<M[i]. Salaire)Alors Var Temp :

T)- Pour(k i+1 à cpt-1)faire Var cpt: Entier/Compteur/ Si(M[k]. Salaire<M[i]. Salaire)Alors Var Temp : Réel /Aide/ Temp M[k]. Salaire Var K: Entier/Compteur/ M[k]. Salaire M[i]. Salaire Var M[]: Réel/Résultat/ M[i]. Salaire Temp cpt 0 Finsi Pour(i=0 à N-1)faire Si(T[i]. Ville=‘’CASA’’)Alors M[cpt] T[i]. Salaire cpt+1 Finsi Fin Pour K 0 Pour(i 0 à cpt-2)faire Fin Pour

Ex 2 : Ecrire(‘’Donner le nom d’indice ’’, i+1) 1 -Type Stagiaire : Structure

Ex 2 : Ecrire(‘’Donner le nom d’indice ’’, i+1) 1 -Type Stagiaire : Structure Lire(T[i]. Nom) Début Ecrire(‘’Donner le prénom d’indice ’’, i+1) Var Numéro : Entier Lire(T[i]. Prénom) Var Nom[] : Chaine de caractère Pour(j=0 à 2)faire Var Prénom[] : Chaine de caractère Ecrire(‘’Donner la note >=0 et note <=20) Var Note[3] : Réel Lire(T[i]. Note[j]) Fin Tant que(T[i]. Note[j]<=0 ET T[i]. Note[j]>=20)faire 2 -A)-var N : Entier /Dimension/ Lire(T[i]. Note[j]) Var i : Entier/Compteur/ Fin Tant que Var T[25]: Stagiaire/Tableau/ Fin Pour B)-Var i, j : Entier Fin Pour(i=0 à N-1)faire Ecrire(‘’Donner le numéro d’indice ’’, i+1)

C)- N 1 T[i]. Numéro Var N 1, N 2 : Entier Max N

C)- N 1 T[i]. Numéro Var N 1, N 2 : Entier Max N 1 Var A[], B[]: chaine de caractères A[] T[i]. Nom Var C[], D[]: chaine de caractères B[] T[i]. Prénom Var N 2 : char Finsi Var S : Réel Si(M<Min)Alors Var M : Réel/Moyenne/ N 2 T[i]. Numéro Var i, j : Entiers/Compteur/ Min N 2 S 0 A[] T[i]. Nom Max 0 Min 20 B[] T[i]. Prénom Pour(i=0 à N-1)faire Pour(j=0 à 2)faire S S+T[i]. Note[j] Fin Pour M S/3 Si(M>Max)Alors Finsi Fin Pour Ecrire(‘’La première note est : ’’, N 1, A[], B[]) Ecrire(‘’La dernière note est : ’’, N 2, C[], D[])

Ex 3: C)- Fin Pour A)-Type Fonctionnaire : Structure Début D)- Début Ecrire(‘’Donner N

Ex 3: C)- Fin Pour A)-Type Fonctionnaire : Structure Début D)- Début Ecrire(‘’Donner N : ’’) Var K : Réel Var Matricule : Entier Lire(N) Ecrire(‘’Entrer un salaire : ’’) Var Nom[40] : Char Pour(i=0 à 29)faire Lire(K) Var Prénom[40] : Char Ecrire(‘’entrer le matricule d’indice ’’, i+1) Pour(i=0 à 29)faire Var Salaire : Réel Si(T[i]. Salaire>K)Alors Lire(T[i]. Matricule) Fin Ecrire(T[i]. Matricule) Ecrire(‘’entrer le nom d’indice ’’, i+1) B)-Var i: Entier/cpt/ Ecrire(T[i]. Nom, T[i]. Prénom) Lire(T[i]. Nom) Var N : Entier /dimension/ Finsi Ecrire(‘’entrer le prénom d’indice ’’, i+1) Var T[]: Fonctionnaire/tableau/ Fin Pour Lire(T[i]. Prénom) Ecrire(‘’entrer le Salaire d’indice ’’, i+1) Lire(T[i]. Salaire)

Var A[]: chaine de caractère T[j]. Matricule C Var B[] : chaine de caractère

Var A[]: chaine de caractère T[j]. Matricule C Var B[] : chaine de caractère A[] T[i]. Prénom Var M : Réel T[i]. Prénom T[j]. Prénom Var C : Entier T[j]. Prénom A[] M T[i]. Salaire Var i, j : Entier/Compteurs/ j 0 T[i]. Salaire T[j]. Salaire Pour(i=0 à 28)faire T[j]. Salaire M pour(j i+1 à 29)faire Si(T[j]. Nom>T[i]. Nom)Alors A[] T[i]. Nom T[j]. Nom A[] C T[i]. Matricule T[j]. Matricule Fin Pour

Dev-Informatique MERCI POUR VOTRE ATTENTION

Dev-Informatique MERCI POUR VOTRE ATTENTION