Ecrivez un algorithme et un programme avec Python pour remplir deux tableaux de même longueur 1<=n<=30 et calculer la somme des éléments des ces deux tableaux dans un nouveau tableau.
Pour créer un algorithme qui remplit deux tableaux de même longueur (1 ≤ n ≤ 30) et calcule la somme des éléments de ces deux tableaux dans un nouveau tableau, nous pouvons procéder comme suit :
1- Demander à l'utilisateur la taille des tableaux (assurez-vous que cette taille est entre 1 et 30).
2- Remplir les deux tableaux avec des entiers.
3- Calculer la somme des éléments correspondants des deux tableaux et stocker cette somme dans un nouveau tableau.
4- Afficher les troisième tableau.
4- Affichage du tableau: Une fois le tableau rempli, l'algorithme affiche le contenu du tableau.
Dans cet algorithme, On va utiliser une fonction et deux procédures :
Algorithme du programme principal
1 2 3 4 5 6 7 8 9 10 |
Algorithme remplir_tableau Debut n<-saisie_taille() Ecrire('remplissage du tableau 1') remplir(t1,n) Ecrire('remplissage du tableau 2') remplir(t2,n) Ecrire('voici le tableau la somme des deux tableaux t1 et t2') somme_tabs(t1,t2,t3,n) Fin |
Déclaration des objets
Objet | Type / Nature |
n | entier |
t1 | tableau de 30 entiers |
t2 | tableau de 30 entiers |
t3 | tableau de 30 entiers |
La fonction saisie
Cette fonction retourne un entier n entre 1 et 30 saisi par l'utilisateur.
1 2 3 4 5 6 7 8 9 10 |
foncttion saisie() Début Ecrire('donner un entier entre 1 et 30') lire (n) Tant que n<1 ou n>30 faire Ecrire('donner un entier entre 1 et 30') lire (n) Fin tant que retourner n Fin |
La procédure remplir
Cette procédure remplit le tableau t de n entiers.
1 2 3 4 5 6 7 |
Procédure remplir(@t:Tab,n:entier) Début Pour i de 0 à n-1 faire Ecrire('donner elt N°',i,':') lire(t[i]) Fin pour Fin |
Objet | Type / Nature |
i | entier |
La procédure somme_tabs
Cette procédure calcule la somme des éléments des tableaux t1 t2 et la stocke dans le tableaux t3 .
1 2 3 4 5 6 7 8 |
Procédure afficher(t1:Tab,t2:tab,@t3:tab,n:entier) Début Pour i de 0 à n-1 faire t3[i]<-t1[i]+t2[i] Ecrire('t3[',i,']=') Ecrire(t3[i]) Fin pour Fin |
Objet | Type / Nature |
i | entier |
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 |
from numpy import array t1=array([int()]*30) t2=array([int()]*30) t3=array([int()]*30) def saisie_taille() : n=int(input("donner un entier entre 1 et 30 ")) while (n<1) or (n>30) : n=int(input("donner un entier entre 1 et 30 ")) return n def remplir(t,n): for i in range (n) : t[i]=int(input("donner elt N°"+str(i)+":")) def somme_tabs(t1,t2,t3,n): for i in range (n) : t3[i]=t1[i]+t2[i] print("t3["+str(i)+"]="+str(t3[i])) n=saisie_taille() print('remplissage du tableau 1') remplir(t1,n) print('remplissage du tableau 2') remplir(t2,n) print('voici le tableau la somme des deux tableaux t1 et t2') somme_tabs(t1,t2,t3,n) |
Exécution du programme
Pour remplir les deux tableaux T1 et T2 d'entiers à partir de deux chaînes de caractères CH1 et CH2 en Python, vous pouvez suivre les étapes suivantes :
1- Découper chque chaîne de caractères en sous-chaînes contenant les entiers.
2- Convertir chaque sous-chaîne en entier.
3- Ajouter chaque entier au tableau.
Ensuite, on calcule la somme des éléments des deux tableaux et on affiche le troisième tableau.
Pour créer une application en Python en utilisant Qt Designer pour l'interface graphique, suivez ces étapes :
a- Ouvrez Qt Designer et créez un nouveau fichier de type Main Window.
b- Ajoutez ces widgets:
QLineEdit
nommé 'ch1' pour entrer des entiers .
QLineEdit
nommé 'ch2' pour entrer des entiers .
QPushButton
nommé 'remplir1_bt' pour exécuter le module createTab1 afin de remplir le tableau T1 à partir de la chaine 'ch1'.
QPushButton
nommé 'remplir2_bt' pour exécuter le module createTab2 afin de remplir le tableau T2 à partir de la chaine 'ch2'.
QPushButton
nommé 'somme_bt' pour exécuter le module sommeTabs afin de remplir le tableau T2 à partir de la chaine 'ch2'.
QLabel
nommé 'msg' pour afficher un message d'erreur si ch est vide ou contient des valeurs non numériques .
QLabel
nommé 'tab_label_1' pour afficher les éléments du tableau T1.
QLabel
nommé 'tab_label_2' pour afficher les éléments du tableau T2.
QLabel
nommé 'tab_label_3' pour afficher les éléments du tableau T3.
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 |
from PyQt5.uic import loadUi from PyQt5 import QtCore, QtGui from PyQt5.QtWidgets import * from PyQt5 import QtCore, QtGui, QtWidgets from numpy import array t1=array([int()]*30) t2=array([int()]*30) t3=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 def remplir_tableau(ch,t,tab_label): global taille_t3 taille_t3=0 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)) : # si la chaine contient des valeurs non numeriques msg.setText("la chaîne contient des valeurs non numériques") else : tab='' for k in range (j) : tab=tab+ 't['+str(k)+']= '+ str(t[k])+ '\n' #afficher les elements du tableau tab_label.setText(tab) #preciser la taille du tableau T3 if taille_t3<j : taille_t3=j # Procedure qui remplit le tableau T1 par des entiers a partir d'une chaine des caractère def createTab1(): ch1 = windows.ch1.text() remplir_tableau(ch1,t1,windows.tab_label_1 ) # Procedure qui remplit le tableau T2 par des entiers a partir d'une chaine des caractère def createTab2(): ch2 = windows.ch2.text() remplir_tableau(ch2,t2,windows.tab_label_2 ) # fonction qui calcule la somme des éléments des tableaux T1 et T2 # dans un nouveau tableau T3 def sommeTabs(): tab='' for i in range (taille_t3) : t3[i]=t1[i]+t2[i] tab=tab+ 't3['+str(i)+']= '+ str(t3[i])+ '\n' #afficher les elements du tableau T3 windows.tab_label_3.setText(tab) windows.remplir1_bt.clicked.connect (createTab1) windows.remplir2_bt.clicked.connect (createTab2) windows.somme_bt.clicked.connect (sommeTabs) windows.show() app.exec_() |
Exécution du programme
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