 
                        Dans un tableau d’entiers, l’existence d’au minimum de deux éléments pairs d’une façon consécutive forme ce qu’on appelle une séquence paire.
On se propose d’écrire un programme Python qui permet de remplir un tableau T par n entiers (avec 3≤N≤20) et d’afficher les entiers de chacune de ces séquences et le nombre de séquences paires de ce tableau.
Exemple : Pour N=15 et le tableau T suivant :

Le programme affiche :
Les séquences d’entiers pairs sont :
18, 6
4,32,8
10,2
Le nombre de séquences paires est 3
Voici le principe algorithmique pour remplir un tableau d'entiers T avec 3≤n≤20, puis identifier et afficher les séquences paires consécutives ainsi que le nombre de séquences paires.
1- Lire la taille n du tableau (3≤n≤20)
2- Si n<3 ou n>20, afficher un message d'erreur : "La taille du tableau doit être comprise entre 3 et 20" et retourner à l'étape 1
3- Initialiser un tableau T de taille n
4- Pour chaque index i allant de 0 à n−1 : Lire l'entier à la position ii dans le tableau T
5- Initialiser le compteur cp à 0 pour compter les séquences paires
6- Initialiser un booléen test_liste à faux pour suivre si on est dans une séquence paire
7- Pour chaque index i allant de 0 à n−2 faire
Si T[i] et T[i+1]T sont pairs :
Si test_liste est faux :
Afficher T[i]
Incrementer cp de 1
Mettre test_liste à vrai
Si T[i] ou T[i+1] n'est pas pair :
Mettre test_liste à faux
8- Afficher le nombre de séquences paires : "Nombre de séquences paires = cp"
Dans cet algorithme, On va utiliser une fonction et deux procédures:

Algorithme du programme Principal
| 1 2 3 4 5 6 7 | Algorithme sequences_paires Debut      n<-saisie_taille()      Ecrire('Remplissage du tableau t')      remplir(t,n)      afficher_sequences(t,n) Fin | 
Déclaration des objets
| Objet | Type / Nature | 
|---|---|
| n | entier | 
| t | tableau des entiers | 
La fonction saisie_taille
Cette fonction saisit un entier entre 3 et 20.
| 1 2 3 4 5 6 7 8 9 10 | fonction saisie_taille():entier Début      Ecrire('donner un entier entre 3 et 20')      Lire(n)       Tant que (n<3) ou (n>20) faire          Ecrire('donner un entier entre 3 et 20')          Lire(n)      Fin tant que      retourner n Fin | 
Déclaration des objets
| Objet | Type / Nature | 
|---|---|
| n | entier | 
La procédure remplir
Cette procédure remplit le tableau t par des chiffres.
| 1 2 3 4 5 6 7 | procedure remplir(@t:tab;n:entier) Début      Pour  i de 0 à n-1 faire         Ecrire("donner t["+i+"]:")         lire(t[i])      Fin pour  Fin | 
Déclaration des objets
| Objet | Type / Nature | 
|---|---|
| i | entier | 
La procédure afficher_sequences
Cette procédure recherche et affiche les séquences nulles du tableau
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | procedure afficher_sequences(t:tab;n:entier) Début       cp<-0      test_liste<-Faux      Ecrire('les sequences des entiers paires sont');      Pour i de 0 à n-1 faire         Si (t[i] mod 2 ==0) et (t[i+1] mod 2 ==0) alors            Ecrire(t[i],', ')            test_liste<-Vrai          Sinon            Si (test_liste=Vrai) alors                Ecrire(t[i]) # afficher le dernier element de la sequence                test_liste<-Faux                cp<-cp+1            Fin si         Fin si        Fin pour         Si (t[i] mod 2 =0) et (t[i+1] mod 2 =0) alors            Ecrire(t[i+1]) # afficher le dernier element de la sequence            cp=cp+1      Fin si       ecrire('le nombre de sequences paires est '+cp) Fin | 
Déclaration des objets
| Objet | Type / Nature | 
|---|---|
| i | entier | 
| cp | entier | 
| test_liste | booléen | 
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | from numpy import array t=array([str]*30) #declaration du tableau des entiers def saisie_taille() :     n=int(input("donner un entier entre 3 et 20: "))     while(n<3) or (n>20) :       n=int(input("donner un entier entre 3 et 20: "))     return n def remplir(t,n):     for i in range (n) :        t[i]=int(input("donner t["+str(i)+"]: ")) def afficher_sequences(t,n):      cp=0      test_liste=False      print('les sequences des entiers paires sont');      for i in range(n-1):           if (t[i] % 2 ==0) and (t[i+1] % 2 ==0):                print(t[i],end=', ')                test_liste=True                    else:                if (test_liste==True):                   print(t[i])                   test_liste=False                   cp=cp+1      if (t[i] % 2 ==0) and (t[i+1] % 2 ==0):           print(t[i+1])           cp=cp+1      print('le nombre de sequences paires est '+str(cp)) #programme principal n=saisie_taille() print('Remplissage du tableau t') remplir(t,n) afficher_sequences(t,n) | 
Exécution du programme

Pour créer une application en Python et Designer QT qui remplit un tableau T par n entiers (avec 3≤N≤20) et affiche les entiers de chacune de ces séquences et le nombre de séquences paires de ce tableau, on va suivre ces étapes:
a- Ouvrez Qt Designer et créez un nouveau fichier de type Main Window.
b- Ajoutez ces widgets:
QLineEdit nommé 'ch' pour entrer les entiers.
QPushButton nommé 'remplir_bt pour mettre les entiers dans le tableau t
QLabel nommé 'msg' pour afficher des messages d'erreur
QPushButton nommé 'bt_recherche' pour rechercher les séquences paires
QLabel nommé 'tab_label' pour afficher les entiers du tableau
QLabel nommé 'resultat' pour afficher les séquences paires

Enregistrez le fichier avec l'extension .ui, par exemple tabtab-2.ui.
Voici un exemple de script Python qui utilise l'interface graphique générée par Qt Designer.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | from PyQt5.uic import loadUi from PyQt5 import QtCore, QtGui from PyQt5.QtWidgets import * from PyQt5 import QtCore, QtGui, QtWidgets from numpy import array t=array([int()]*30) app = QApplication([]) windows = loadUi ("tabtab-2.ui") # Fonction qui supprime des espaces de la chaine des carcatères def supprimer_espaces (ch) :     while(ch[0]==' '): # elimnier tous les espaces au début de la chaine      ch=ch[1:len(ch)]     while(ch[len(ch)-1]==' '): # elimnier tous les espaces a la fin de la chaine      ch=ch[0:len(ch)-1]            while (ch.find('  ')>0):       ch=ch.replace("  ", " ") # remplacer les doubles espaces apar un seul espace     return ch # Procedure qui remplit un tableau a partir d'une chaine des caractère    def createTab():     ch = windows.ch.text()     windows.msg.clear()     windows.resultat.clear()     global n # pour la taille di tableau      if ch=="":             windows.msg.setText("Veuillez remplir la chaîne")     else:               windows.msg.clear() # effacer le message d erreur         ch= supprimer_espaces(ch)         i=0         j=0                 ch1=''         # parcourir les caracteres de la chaine         while((i<len(ch))  and (('0'<=ch[i]<='9') or (ch[i]==' '))):             if ('0'<=ch[i]<='9'):                 ch1=ch1+ch[i]             if ((ch[i]==' ') or (i==len(ch)-1)) :                    t[j]=int(ch1)                 ch1=''                 j=j+1                           i=i+1         if (i<len(ch)):             windows.msg.setText("La chaine doit contenir des entiers >=0 ")         else :          if 5<=j<=25:              n=j               tab=''              for k in range (j) :                 tab=tab+ 't['+str(k)+']= '+ str(t[k])+ '\n'              #afficher les elements du tableau                windows.tab_label.setText(tab)            else:             windows.msg.setText("La taille du tableau entre 5 et 25 ") def afficher_sequences():      cp=0      test_liste=False      liste='les sequences des entiers paires sont \n'      for i in range(n-1):           if (t[i] % 2 ==0) and (t[i+1] % 2 ==0):                liste=liste+str(t[i])+', '                test_liste=True                    else:                if (test_liste==True):                   liste=liste+str(t[i])+' \n'                   test_liste=False                   cp=cp+1      if (t[i] % 2 ==0) and (t[i+1] % 2 ==0):           liste=liste+str(t[i+1])+' \n'           cp=cp+1      liste=liste+('le nombre de sequences paires est '+str(cp))      windows.resultat.setText(liste) windows.remplir_bt.clicked.connect ( createTab ) windows.bt_recherche.clicked.connect ( afficher_sequences )  windows.show() app.exec_() | 
Exécution du programme
1) Remplissage du tableau

2) Recherche et affichage des séquences paires

Vous pouvez voir aussi :
 
                                
                             
                                
                            La robotique éducative joue un rôle important dans l'éducation des enfants et des jeunes en les aidant à acquérir des compétences en science et technologie.
                Dans ce cadre notre site web représente une excellente ressource pour les parents, les enseignants et les enfants qui souhaitent découvrir la robotique.
Zaouiet Kontech-Jemmel-Monastir-Tunisie
+216 92 886 231
medaliprof@gmail.com
Site robotique réalisé par Mohamed Ali-Prof Info