0% ont trouvé ce document utile (0 vote)
3 vues4 pages

Ingénierie Logicielle et Python

Le cours de Développement d'applications avec Python vise à enseigner les concepts de base de l'ingénierie logicielle, l'importance des bases de données et les compétences en programmation Python. Les étudiants apprendront à rédiger des documents SRS, à utiliser la programmation orientée objet, à concevoir des bases de données et à résoudre des problèmes mathématiques avec Python. Le cours comprend des modules sur l'ingénierie logicielle, les bases de données, la programmation Python, ainsi que des exercices pratiques pour renforcer les compétences acquises.

Transféré par

ScribdTranslations
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues4 pages

Ingénierie Logicielle et Python

Le cours de Développement d'applications avec Python vise à enseigner les concepts de base de l'ingénierie logicielle, l'importance des bases de données et les compétences en programmation Python. Les étudiants apprendront à rédiger des documents SRS, à utiliser la programmation orientée objet, à concevoir des bases de données et à résoudre des problèmes mathématiques avec Python. Le cours comprend des modules sur l'ingénierie logicielle, les bases de données, la programmation Python, ainsi que des exercices pratiques pour renforcer les compétences acquises.

Transféré par

ScribdTranslations
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Ingénierie Électronique et de Communication

Course Code Développement d'applications avec Python L T P C


20A05305 1 0 2 2
Prérequis NIL Semestre III

Objectifs du cours :
Apprendre les concepts de base de l'ingénierie logicielle et des modèles de cycle de vie
Explorer l'importance des bases de données dans le développement d'applications
Acquérir des compétences en programmation en Python de base

Pour comprendre l'importance de la programmation orientée objet


Course Outcomes (CO):
Les étudiants devraient être capables de
Identifier les problèmes dans la spécification des exigences logicielles et permettre de rédiger des documents SRS pour
problèmes de développement de logiciels
Explorez l'utilisation des concepts de la programmation orientée objet pour résoudre des problèmes de la vie réelle
Concevoir une base de données pour un problème réel
Résoudre des problèmes mathématiques en utilisant le langage de programmation Python

Module 1. Concepts de base en ingénierie logicielle et gestion de projet logiciel

Concepts de base : abstraction contre décomposition, l'évolution des techniques d'ingénierie logicielle, Logiciel
cycle de vie du développement
Gestion de projet logiciel : planification de projet et programmation de projet

Tâche :
[Link] les exigences à partir des énoncés de problème

Module 2. Concepts de base des bases de données


Database systems applications, Purpose of Database Systems, view of Data, Database Languages, Relational
Bases de données, instructions de langage de définition de données (DDL) : (Créer une table, Modifier une table, Supprimer une table), Données
Instructions de Manipulation des Données (IMD)
Tâche :
1. Implémenter des instructions de langage de définition de données (DDL) : (Créer une table, Modifier une table, Supprimer une table)
2. Implementer des instructions de langage de manipulation de données (DML)

Module 3. Programmation Python :


Introduction to Python:Features of Python, Data types, Operators, Input and output, Control Statements,
Instructions de boucle
Structures de données Python : Listes, Dictionnaires, Tuples.

Chaînes : Création de chaînes et opérations de base sur les chaînes, méthodes de test de chaînes.

Functions:Defining a function- Calling a function- Types of functions-Function Arguments- Anonymous


fonctions - Variables globales et locales

Concepts OOPS ; Classes et objets - Attributs - Héritage - Surcharge - Redéfinition - Masquage des données

Modules et paquets : Modules standard - Importation de son propre module ainsi que de modules externes Compréhension
Fonction puissante de Lamda dans la programmation Python utilisant des fonctions, des modules et des paquets externes
Ingénierie électronique et de communication

Travailler avec des données en Python : Affichage à l'écran - Lecture de données au clavier - Ouverture et fermeture de fichier -
Lecture et écriture de fichiers - Fonctions - Chargement des données avec Pandas - Numpy

Tâches :
[Link]
[Link] une liste de nombres et écrivez un programme pour vérifier si un élément particulier est présent ou non en utilisant
opérateurs d'appartenance.
[Link] votre nom et votre âge et écrivez un programme pour afficher l'année où vous aurez 100 ans.
lisez le rayon et la hauteur d'un cône et écrivez un programme pour trouver le volume d'un cône.
d. Écrivez un programme pour calculer la distance entre deux points en prenant l'entrée de l'utilisateur (indice : utilisez
Théorème de Pythagore

[Link] DE CONTRÔLE
[Link] votre identifiant email et écrivez un programme pour afficher le nombre de voyelles, de consonnes, de chiffres et d'espaces dans celui-ci
utiliser l'instruction if…elif…else.
[Link] un programme pour créer et afficher un dictionnaire en stockant les antonymes des mots. Trouver l'antonyme de a
mot particulier donné par l'utilisateur à partir du dictionnaire en utilisant une boucle while.
Écrivez un programme pour trouver la somme d'une série 1/1! + 2/2! + 3/3! + 4/4! +…….+ n/n!. (Entrée : n = 5, Sortie :
2.70833)
d. En théorie des nombres, un nombre abondant ou un nombre excessif est un nombre pour lequel la somme de ses diviseurs propres
les diviseurs sont supérieurs au nombre lui-même. Écrivez un programme pour déterminer si le nombre donné est abondant. (Entrée :
12, Somme des diviseurs de 12 = 1 + 2 + 3 + 4 + 6 = 16, somme des diviseurs 16 > nombre original 12)

3 : LISTE
[Link] une liste de nombres et imprimez les nombres divisibles par x mais pas par y (Supposez que x = 4 et y = 5).
[Link] une liste de nombres et imprimez la somme des entiers impairs et des entiers pairs de la liste. (Ex : [23, 10, 15, 14,
63], la somme des nombres impairs = 101, la somme des nombres pairs = 24)
[Link] une liste de nombres et imprimez les nombres présents à des positions d'index impaires. (Ex : [10, 25, 30, 47, 56, 84, 96], Le
nombres en position d'index impair : 25 47 84).
lisez une liste de nombres et supprimez les nombres dupliqués. (Ex : Entrez une liste avec des doublons
elements: 10 20 40 10 50 30 20 10 80, The unique list is: [10, 20, 30, 40, 50, 80])

4 : TUPLE
a. Étant donné une liste de tuples. Écrivez un programme pour trouver des tuples dont tous les éléments sont divisibles par K à partir d'une liste de
tuples. test_list = [(6, 24, 12), (60, 12, 6), (12, 18, 21)], K = 6, Output : [(6, 24, 12), (60, 12, 6)]
[Link] une liste de tuples. Écrivez un programme pour filtrer tous les tuples de caractères majuscules de la liste donnée de tuples.
(Input: test_list = [(“GFG”, “IS”, “BEST”), (“GFg”, “AVERAGE”), (“GfG”, ), (“Gfg”, “CS”)], Output :
[('GFG', 'EST', 'LE MEILLEUR')]}
[Link] un tuple et une liste en entrée, écrivez un programme pour compter les occurrences de tous les éléments de la liste dans le tuple.
(Input : tuple = ('a', 'a', 'c', 'b', 'd'), list = ['a', 'b'], Output : 3)
5 : RÉGLER
a. Écrivez un programme pour générer et imprimer un dictionnaire qui contient un nombre (entre 1 et n) sous la forme (x,
x*x).
b. Écrivez un programme pour effectuer l'union, l'intersection et la différence en utilisant l'ensemble A et l'ensemble B.
c. Écrivez un programme pour compter le nombre de voyelles en utilisant des ensembles dans la chaîne donnée (Entrée : "Bonjour le monde", Sortie : Nombre de
vowels : 3)
d. Écrivez un programme pour former une chaîne concaténée en prenant les caractères inhabituels de deux chaînes en utilisant des ensembles
concept (Input : S1 = "aacdb", S2 = "gafd", Output : "cbgf").
Ingénierie des Électroniques et de la Communication

6: DICTIONARY
a. Écrivez un programme pour effectuer les opérations suivantes :
[Link]éer un dictionnaire vide avec la méthode dict()
[Link] des éléments un à la fois
[Link] à jour la valeur de la clé existante
[Link] un élément en utilisant une clé et aussi la méthode get()
[Link] une valeur clé en utilisant la méthode del()
b. Écrire un programme pour créer un dictionnaire et appliquer les méthodes suivantes :
méthode [Link]()
méthode [Link]()
méthode [Link]()
c. Étant donné un dictionnaire, écrivez un programme pour trouver la somme de tous les éléments dans le dictionnaire.
d. Écrivez un programme pour fusionner deux dictionnaires en utilisant la méthode update().

7: CHAÎNES
[Link] a string, write a program to check if the string is symmetrical and palindrome or not. A string is said
être symétrique si les deux moitiés de la chaîne sont identiques et une chaîne est dite une chaîne palindrome si
une moitié de la chaîne est le revers de l'autre moitié ou si une chaîne apparaît identique lorsqu'elle est lue en avant ou en arrière.
[Link] un programme pour lire une chaîne de caractères et compter le nombre de voyelles et imprimer toutes les lettres sauf 'e' et 's'.
[Link] a program to read a line of text and remove the initial word from given text. (Hint: Use split() method,
L'Inde est mon pays.
d. Écrivez un programme pour lire une chaîne de caractères et compter combien de fois chaque lettre apparaît. (Histogramme).

8 : FONCTIONS DÉFINIES PAR L'UTILISATEUR


Un générateur est une fonction qui produit une séquence de résultats au lieu d'une seule valeur. Écrivez un
fonction génératrice pour les nombres de Fibonacci jusqu'à n.
[Link] une fonction merge_dict(dict1, dict2) pour fusionner deux dictionnaires Python.
c. Écrire une fonction fact() pour calculer la factorielle d'un nombre positif donné.
[Link]é une liste de n éléments, écrivez une fonction linear_search() pour rechercher un élément donné x dans une liste.

9 : FONCTIONS INTÉGRÉES
a. Écrire un programme pour démontrer le fonctionnement des fonctions statistiques intégrées mean(), mode(),
médiane() en important la bibliothèque statistiques.
[Link] un programme pour démontrer le fonctionnement des fonctions trigonométriques intégrées sin(), cos(), tan(), hypot(),
degrés(), radians() en important le module math.
c. Écrivez un programme pour démontrer le fonctionnement des fonctions logarithmiques et de puissance intégrées exp(), log().
log2(), log10(), pow() en important le module math.
d.Rédigez un programme pour démontrer le fonctionnement des fonctions numériques intégrées ceil(), floor(), fabs(),
factoriel(), pgcd() en important le module math.

10. CLASSE ET OBJETS


a. Écrivez un programme pour créer une classe BankAccount. Votre classe doit prendre en charge les méthodes suivantes pour
i) Dépôt
Retirer
iii)ObtenirSolde
Changement de broche

b. Créez une classe SavingsAccount qui se comporte exactement comme un BankAccount, mais qui a également un taux d'intérêt.
méthode qui augmente le solde du montant approprié des intérêts (Indice : utilisez l'héritage).
Ingénierie Électronique et de Communication

c. Écrivez un programme pour créer une classe d'employé et stocker le nom de l'employé, l'identifiant, l'âge et le salaire en utilisant le
constructeur. Affichez les détails de l'employé en invoquant la méthode employee_info() et en utilisant également le dictionnaire (dict
).
d. Les modificateurs d'accès en Python sont utilisés pour modifier la portée par défaut des variables. Écrivez un programme pour
{"public":"démontrer le modificateur d'accès public","private":"démontrer le modificateur d'accès privé","protected":"démontrer le modificateur d'accès protégé"}

11. GESTION DE FICHIERS


a.. Write a program to read a filename from the user, open the file (say [Link]) and then perform the
opérations suivantes :
[Link] les phrases dans le fichier.
[Link] le nombre de mots dans le fichier.
[Link] les caractères dans le fichier.
b.. Créez un nouveau fichier ([Link]) et copiez le texte dans un autre fichier appelé [Link]. Le fichier [Link] doit stocker
uniquement des lettres minuscules et afficher le nombre de lignes copiées.
c. Écrivez un programme Python pour stocker les enregistrements de N étudiants contenant le nom, le numéro de rouleau et la branche. Imprimez le
détails de l'étudiant de la branche donnée uniquement.

Références :
[Link] Mall, “Fundamentals of Software Engineering”, 5th Edition, PHI, 2018.
[Link], Shamkant, B. Navathe, “Systèmes de bases de données”, Pearson Education, 6e édition, 2013. [Link]
Thareja, "Programmation Python - En utilisant l'approche de résolution de problèmes", Oxford Press, 1ère édition, 2017.
4. Larry Lutz, « Python pour les débutants : Guide étape par étape pour apprendre la programmation Python »
Plateforme d'édition indépendante CreateSpace, Première édition, 2018

Ressources d'apprentissage en ligne/Laboratoires virtuels :

[Link]://[Link]/se/
[Link]://[Link]/vlabs-dev/labs/dblab/[Link]
[Link]://[Link]

Vous aimerez peut-être aussi