Exercices d'algorithmique: Tableaux et fonctions

Telechargé par ayman shop
Questions 1 :
Procedure ReadTable(var Tab[]:Réel,D:Entier)
Variable
i : entier
Début
Pour i <-- 0 à D-1
Ecrire("Entrer la note N",i+1)
Lire(Tab[i])
Finpour
Fin Procedure
Questions 2 :
Procedure DisplayTable(var Tab[]:Réel,D:EnTabier)
Variable
i: entier
Début
Pour i <-- 0 à D-1
Ecrire("Tab["i+1"]=",Tab[i])
Finpour
Fin Procedure
Questions 3 :
Fonction SequSearch(Tab[]:Réel,D:Entier):Entier
Variable
i: entier
valeur : entier
Début
ido <-- -1
Pour i <-- 0 à D - 1 faire
Si T[i] = valeur alors
ido <-- i
Fin Si
Fin Pour
Retourner ido
Fin Fonction
Questions 4 :
Fonction IsSorted(Tab[]:Réel,D:Entier):Booléen
Variable
i : entier
Début
Pour i <-- 0 à D-2 Faire
Si T[i]>T[i+1] alors
Retourner ( Faux )
Fin Si
Fin Pour
Retourner ( Vrai )
Fin Fonction
Questions 5 :
Procedure SortTable(Tab[]:Reel,D:Entier)
Variable
i, j , ip : entier
tmp : reel
Début
pour i <-- 0 à D - 2
ip <-- i
pour j <-- i+1 a D - 1
Si ( T [j] < T [ip] ) alors
ip <-- j
Fin Si
Fin Pour
Si ip <> i alors
tmp <-- T [i]
T [i] <-- T [ip]
T [ip] <-- tmp
Fin Si
Fin Pour
Fin Procedure
Question 6 :
Fonction DichoSearch(Tab[]:Reel,D:Entier,V:Réel):Entier
Variables
p,g,m : entier
Début
p <-- 0
g <-- D - 1
Tant que ( p <= g )
m <-- ( p + g ) div 2
Si T[m] = v alors
Retourner (m)
Sinon Si (T[m]> v) alors
g <-- m - 1
Sinon p <-- m + 1
Fin Si
Fin Si
Fin Tant que
Retourner (-1)
Fin Fonction
Question 7 :
Procedure DeleteValue( Var Tab[]:Reel,D:Entier,V:Réel)
Variable
i : entier
k : entier *k pour garder la trace du nombre d'éléments valides
dans le tableau.*
Debut
K <-- 0
Pour i <-- 0 à D-1 faire
Si T[i] <> V alors
T[k] <-- T[i]
k ++
Fin Si
Fin Pour
Procédure DeleteValue(Var TC[]: Réel, Var D:
Entier, V: Réel)
Variables
existe : Booléen
i, j : Entier
Début
existe <-- Faux
i <-- 0
Tant que (i <= D-1) Faire
Si V = T[i] Alors
Si (D = 1) OR (i = D - 1) Alors
D <-- D-1
Sinon
Pour j <-- i À D - 2 Faire
T[j] <-- T[j + 1]
Fin Pour
D <-- D - 1
Fin Si
existe <-- Vrai
Sinon
i <-- i + 1
Fin Si
Fin Tant que 
Si existe = Vrai Alors
Afficher "Valeur supprimée. Nouveau
tableau : "
Pour j <-- 0 À D - 1 Faire
Afficher T[j]
Fin Pour
Sinon
Afficher "Valeur non trouvée."
Fin Si
Fin Procédure
Si k = D alors
Ecrire("la valeur n'existe pas dans le tableau ")
Fin Si
Retourner k
Fin Procedure
Question 8 :
Fonction AddValue( var Tab[]:Reel,D:entier,V:Reel):Entier
Variable
i , j : Entier
Si ( IsSorted(T,D) = Faux ) Alors
T[D] <-- V
D ++
Sinon Si ( V > T [D-1]) alors
T[D] <-- V
D++
Sinon
i <-- 0
Tant que ( i <= D-1 And V > T[i] )
i++
Fin Tant que
Pour j <-- 0 à i + 1
T[j] <-- T[j-1]
Fin Pour
T[i] <-- V
D++
Finsi
Finsi
Fin Fonction
Question 9 :
Algorithme gestion_notes
Variables
Note[],valeur : Réel
Nbet,choix,nbMax
position <-- -1 :Entier
Début
Nbet <-- 0
Répéter
Ecrire("Menu:")
Ecrire("Pour saisir les notes tapez 1 :")
Ecrire("Pour afficher les notes tapez 2 :")
Ecrire("Pour la recherche d'une note tapez 3:")
Ecrire("Pour le triage des notes tapez 4:")
Ecrire("Pour la suppression d'une note tapez 5:")
Ecrire("Pour l'ajoute d'une note tapez 6:")
Ecrire("Pour quitter tapez 0:")
Lire(choix)
Cas (choix) Vaut:
1: Ecrire("Entrer le nombre des etudiants :")
Lire(Nbet)
nbMax <-- Nbet
ReadTable(tab, D)
2: Si (Nbet = 0) alors
Ecrire ("Le tableau est vide ")
Sinon
DisplayTable(Tab,D)
3: Ecrire("Entrer une valeur ")
Lire (N)
Si IsSorted(tab,D) alors
position <-- DichoSearch(Tab,D,valeur)
Sinon
position <-- SequSearch(Tab,D,valeur)
Finsi
Si position = -1 alors
Ecrire("Valeur non trouve")
Sinon
Ecrire("Valeur trouver a la position ",position)
Finsi
4: SortTable(Tab,D)
Ecrire("Tableau trié")
5: Ecrire("entrer la valeur que vous vouliez la supprimer
")
Lire (valeur)
DeleteValue(Tab,D,V)
6: Ecrire("Entrer la valeur à ajouter :")
Lire (valeur)
AddValue(Tab,D,V)
7: Ecrire("Fin du programme")
Quitter
Sinon:
Ecrire("Choix invalide")
ju
Jusqu'à choix = 7
Fin
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!