Julia
Recherche dans un ensemble par position
Note: avec Julia la position du premier élément d’une collection est 1
Première forme:
function rechercheParPosition_1(ensemble,position) index = 1 existe = false Initialiser(ensemble) while Enumeration(ensemble) && index < position && position >= 1 index = index + 1 Element_Suivant(ensemble) end if Enumeration(ensemble) && (position > 0) existe = true end return existe end
Deuxième forme: parcours sur ensemble itérable
function rechercheParPosition_2(ensemble,position) existe = false index = 1 for _ in Elements(ensemble) if index == position existe = true break else index = index + 1 end end return existe end
Tests
La fonction booléen utilisée dans le test ci-dessous
function booléen(valeur) if valeur Afficher("VRAI") else Afficher("FAUX") end end
ensemble = File(10,20,30) position = 0 println("Test recherche à la position ", position) booléen(rechercheParPosition_1(ensemble,position)) booléen(rechercheParPosition_2(ensemble,position)) position = 1 println("Test recherche à la position ", position) booléen(rechercheParPosition_1(ensemble,position)) booléen(rechercheParPosition_2(ensemble,position)) position = 3 println("Test recherche à la position ", position) booléen(rechercheParPosition_1(ensemble,position)) booléen(rechercheParPosition_2(ensemble,position)) position = 4 println("Test recherche à la position ", position) booléen(rechercheParPosition_1(ensemble,position)) booléen(rechercheParPosition_2(ensemble,position))
Swift
Recherche dans un ensemble par position
Note: avec Swift la position du premier élément d’une collection est 0
Première forme:
func rechercheParPosition_1 <_Element>(_ ensemble: Ensemble<_Element> ,_ position: Int) -> Bool { var index = 1 var existe = false Initialiser(ensemble) while Enumeration(ensemble) && index < position && position >= 1{ index = index + 1 Element_Suivant(ensemble) } if Enumeration(ensemble) && (position == index) { existe = true } return existe }
Deuxième forme: parcours sur ensemble itérable
func rechercheParPosition_2 <_Element>(_ ensemble: Ensemble<_Element> ,_ position: Int) -> Bool { var existe = false var index = 0 for _ in ensemble { if index == position { existe = true break } else { index = index + 1 } } return existe }
Tests
func Test_RechercheParPosition() { var ensemble = File(10,20,39) // Création d'un ensemble var position = 4 Afficher(ensemble,rechercheParPosition_1(ensemble,position),position) position = 1 Afficher(ensemble,rechercheParPosition_1(ensemble,position),position) position = 0 Afficher(ensemble,rechercheParPosition_2(ensemble,position),position) position = 3 Afficher(texte,rechercheParPosition_2(texte,position),position) }
copyright A rchitectures A pplicatives A vancées A3-Soft