Résolution de Problèmes en Python
Résolution de Problèmes en Python
BANQUE DE QUESTIONS
UNITÉ I
RÉSOLUTION DE PROBLÈMES ALGORITHMIQUES
PARTIE A (2 points)
1. Qu'est-ce qu'un algorithme ? (Nov/Déc 2017)
Un algorithme est une séquence ordonnée d'instructions finies, bien définies et sans ambiguïté.
pour accomplir une tâche. C'est une représentation semblable à l'anglais de la logique qui est utilisée pour résoudre
le problème. C'est une procédure étape par étape pour résoudre une tâche ou un problème. Les étapes doivent
être ordonné, sans ambiguïté et en nombre fini.
2. Écrivez un algorithme pour trouver le minimum de 3 nombres dans une liste.
Avr/Mai 2017
ALGORITHME : Trouver le minimum de 3 nombres dans une liste
Étape 1 : Commencer
Étape 2 : Lire les trois nombres A, B, C
Étape 3 : Comparez A et B.
Si A est minimum, allez à l'étape 4, sinon allez à l'étape
5. Étape 4 : Comparer A et C.
Si A est minimum, affichez « A est minimum » sinon affichez « C est minimum ». Allez à l'étape 6.
Étape 5 : Comparer B et C.
Si B est minimum, affichez "B est minimum" sinon affichez "C est minimum".
Étape 6 : Arrêter
3. Énumérez les éléments de base d'un algorithme. (Nov/Dec 2021)
Déclarations
Séquence
Sélection ou Conditionnel
Répétition ou Flux de contrôle
Fonctions
Définir une déclaration.
Les instructions sont des instructions en Python conçues comme des composants pour des problèmes algorithmiques.
résoudre, plutôt que comme des traductions un à un des instructions de langage machine sous-jacentes
ensemble de l'ordinateur.
Il existe trois types d'instructions de langage de programmation de haut niveau Entrée/Sortie
les instructions constituent un type d'instruction. Une instruction d'entrée collecte une valeur spécifique de
l'utilisateur pour une variable dans le programme. Une instruction de sortie écrit un message ou la valeur
d'une variable de programme à l'écran de l'utilisateur.
5. Écrivez le pseudo-code pour calculer la somme et le produit de deux nombres et les afficher
initialiser les variables somme, produit, nombre1, nombre2 de type réel
IMPRIMER "Entrer deux nombres"
LIRE nombre1, nombre2
somme
IMPRIMER "La somme est ", somme
CALCULER produit = nombre1 * nombre2
IMPRIMER "Le produit est ", produit
FIN du programme
6. Comment le flux de contrôle fonctionne-t-il ? (Nov/Déc 2017)
Le flux de contrôle (ou le contrôle de flux) est l'ordre dans lequel les instructions, les déclarations ou les
Les appels de fonctions d'un programme impératif sont exécutés ou évalués. Une instruction de flux de contrôle est
une déclaration dans laquelle l'exécution aboutit à un choix entre deux ou plusieurs
chemins à suivre.
7. Qu'est-ce qu'une fonction ?
Les fonctions sont des modules de code "autonomes" qui accomplissent une tâche spécifique. Les fonctions
généralement "prendre" des données, les traiter et "retourner" un résultat. Une fois qu'une fonction est écrite, elle peut être utilisée
encore et encore et encore. Les fonctions peuvent être "appelées" depuis l'intérieur d'autres fonctions.
8. Écrivez le pseudo-code pour calculer la somme et le produit en affichant la réponse sur le
écran de moniteur. (Avr/Mai 2017)
INITIALISER les variables somme, produit, nombre1, nombre2 de type réel
IMPRIMER "Entrez deux nombres"
LIRE nombre1, nombre2
somme
IMPRIMER "La somme est ", somme
CALCULER produit = nombre1 * nombre2
IMPRIMER "Le produit est ", produit
FIN du programme
9. Donnez les règles pour écrire des pseudo-codes.
Écrivez une déclaration par ligne.
Mettre en majuscules les mots clés initiaux.
Indentez pour montrer la hiérarchie.
Fin de structure multilignes.
Gardez les énoncés indépendants de la langue.
10. Donnez la différence entre un organigramme et un pseudo-code. (Nov/Déc 2017)
Les organigrammes et le pseudo-code sont utilisés pour documenter et représenter l'algorithme. En d'autres termes,
Un algorithme peut être représenté à l'aide d'un organigramme ou d'un pseudo-code. L'organigramme est un graphique
représentation de l'algorithme. Le pseudo-code est un langage lisible, formellement stylisé, semblable à l'anglais.
représentation de l'algorithme.
11. Définissez un diagramme de flux. (Nov/Déc 2021)
Un organigramme est une représentation diagrammatique de la logique pour résoudre une tâche. Un organigramme est
dessiné à l'aide de boîtes de différentes formes avec des lignes les reliant pour montrer le flux de contrôle. Le
L'objectif de dessiner un organigramme est de rendre la logique du programme plus claire sous une forme visuelle.
12. Donnez un exemple de
iteration.a = 0
pour i de 1 à 3 // boucle trois fois
{
a=a+i // ajouter la valeur actuelle de i à a
}
imprimer a // le numéro 6 est imprimé (0 + 1; 1 + 2; 3 + 3)
13. Écrivez les règles pour préparer un organigramme. (Nov/Déc 2017)
Lors de la création d'un organigramme, certaines règles doivent être suivies—
(1) Un organigramme doit avoir un début et une fin,
(2) La direction du flux dans un organigramme doit être de haut en bas et de gauche à droite, et
(3) Les symboles pertinents doivent être utilisés lors de la création d'un diagramme de flux.
14. Énumérez les catégories de langages de programmation.
Les langages de programmation sont divisés en les catégories suivantes :
Interpreted, Functional, Compiled, Procedural, Scripting, Markup, Logic-Based,
Langages de programmation concurrents et orientés objet
15. Mentionnez les caractéristiques d'un algorithme. (Nov/Déc 2017)
L'algorithme doit être précis et sans ambiguïté.
Une instruction dans un algorithme ne doit pas être répétée indéfiniment.
Assurez-vous que l'algorithme se terminera finalement.
L'algorithme doit être écrit en séquence.
L'algorithme doit être écrit en anglais normal.
Le résultat souhaité ne doit être obtenu qu'après la fin de l'algorithme.
16. Compare le langage machine, le langage d'assemblage et le langage de haut niveau.
Le langage machine est une collection de chiffres binaires ou bits que l'ordinateur lit.
et interprète. Cette langue n'est pas facilement compréhensible par l'humain.
Un langage d'assemblage contrôle directement le matériel physique. Un programme écrit en
le langage d'assemblage se compose d'une série de mnémoniques d'instructions qui correspondent à un flux de
des instructions exécutables, lorsqu'elles sont traduites par un assembleur, peuvent être chargées en mémoire et
exécuté. Les programmes écrits dans ce langage ne sont pas portables et le processus de débogage est
ce n'est pas très facile non plus.
Un langage de haut niveau est beaucoup plus abstrait, qui doit être traduit ou compilé en
langage machine. Il est facilement compréhensible et les programmes sont portables. Le débogage du code est
facile et le programme écrit n'est pas dépendant de la machine.
17. Quelle est la différence entre un algorithme et un pseudo-code ?
Un algorithme est une approche logique systématique utilisée pour résoudre des problèmes dans un ordinateur.
alors que le pseudo code est l'énoncé en anglais simple qui peut être traduit plus tard en un
langage de programmation. Le pseudo-code est l'intermédiaire entre l'algorithme et le programme.
18. Énumérez les étapes simples pour développer un algorithme.
(Avr/Mai 2017)
Le processus de développement d'algorithmes se compose de cinq étapes,
Étape 1 : Obtenez une description du problème.
Étape 2 : Analyser le problème.
Étape 3 : Développez un algorithme de haut niveau.
Étape 4 : Affinez l'algorithme en ajoutant plus de détails.
Étape 5 : Examiner l'algorithme.
19. Donnez les différences entre la récursion et l'itération. (Nov/Déc 2017)
Récursion Itération
La fonction s'appelle elle-même jusqu'à ce que la condition de base soit atteinte.
Répétition du processus jusqu'à ce que la condition échoue.
atteint.
La seule condition de base (condition de terminaison) est Cela implique quatre étapes : initialisation, condition,
spécifié. exécution et mise à jour.
Cela garde notre code court et simple. L'approche itérative rend notre code plus long.
C'est plus lent que l'itération en raison de la surcharge de L'itération est plus rapide.
maintien de la pile.
Cela prend plus de mémoire que l'itération car l'itération prend moins de mémoire.
coût de maintenance de la pile.
20. Quels sont les avantages et les inconvénients de la récursion ?
Avantages Inconvénients
Les fonctions récursives rendent le code plus propre Parfois, la logique derrière la récursion est difficile à
et élégant. suivre jusqu'au bout.
Une tâche complexe peut être décomposée en Les appels récursifs sont coûteux (inefficaces) car
problèmes secondaires plus simples à l'aide de la récursion. Ils prennent beaucoup de mémoire et de temps.
La génération de séquences est plus facile avec la récursion. Les fonctions récursives sont difficiles à déboguer.
que d'utiliser des itérations imbriquées.
premier + second
gorge-de-loup
22. Donnez la syntaxe de la définition de fonction.
def NOM( LISTE DE PARAMÈTRES ):
DÉCLARATIONS
23. Expliquer le concept de la division entière. (Nov/Déc 2017)
L'opération qui divise deux nombres et supprime la partie fractionnaire est connue sous le nom de plancher.
division.
24. Qu'est-ce que la coercition de type ? Donnez un exemple. (Avr/Mai 2017)
La méthode automatique pour convertir entre les types de données s'appelle coercition de type. Pour les mathématiques
les opérateurs, si un des opérandes est un flottant, l'autre est automatiquement converti en flottant.
Ex :
> minute = 59
> minute / 60.0
0,983333333333
25. Écrire une fonction mathématique pour effectuer √2 / 2. (Nov/Déc 2017)
> [Link](2) / 2.0
0,707106781187
UNITÉ III
FLUX DE CONTRÔLE, FONCTIONS
PARTIE A (2 points)
elif est une abréviation de « else if ». Encore une fois, exactement une branche sera exécutée. Il n'y a pas de limite sur
le nombre d'instructions elif. S'il y a une clause else, elle doit être à la fin, mais il n'y en a pas.
doit être un.
9. Expliquer la 'boucle for' avec un exemple. (Nov/Déc 2017)
Le processus par lequel une fonction s'appelle elle-même directement ou indirectement s'appelle la récursivité et le
la fonction correspondante est appelée fonction récursive.
Exemple :
def factoriel(n):
si n == 1 :
retourner 1
sinon :
retourne n * factorielle(n-1)
14. Expliquer la portée globale et la portée locale.
La portée d'une variable fait référence aux endroits où nous pouvons voir ou accéder à une variable. Si nous définissons
une variable en haut du script ou du module, la variable s'appelle variable globale. Les variables
qui sont définies à l'intérieur d'une classe ou d'une fonction s'appelle variable locale.
Ex :
def ma_local() :
a=10
Ceci est une variable locale
Ex:
a=10
def mon_global():
print(“Ceci est une variable globale”)
[Link] de chaînes et de tranches de chaînes.(Nov/Déc 2017)
Une chaîne est une séquence de caractères.
banane
Tranches de chaîne :
Un segment d'une chaîne est appelé un morceau de chaîne, sélectionner un morceau est similaire à sélectionner un
[Link]:>>> s ='Monty Python'
> imprimer
Monty
> imprimer
s[6:12] Python
16. Définir l'immutabilité des chaînes.
Les chaînes de caractères en Python sont immuables. 'a' n'est pas une chaîne de caractères. C'est une variable avec une valeur de chaîne. Nous ne pouvons pas
muter la chaîne mais peut changer la valeur de la variable en une nouvelle chaîne.
Programme : output
foo #foofoo
# a pointe maintenant vers foo #foo
b=a Il est observé que 'b' n'a même pas changé.
# b pointe maintenant vers le même foo que a pointe vers bien que 'a' ait changé.
a=a+a
a pointe vers la nouvelle chaîne "foofoo", mais b
pointe vers le même vieux “foo”
prin
t a
imprimer
tb
[Link] quelques fonctions de chaîne. (Nov/Déc 2017)
[Link]() – Met en majuscule le premier caractère de la chaîne
[Link](sub) – Compter le nombre d'occurrences de sub dans
chaîne
[Link]() - convertit une chaîne en minuscules
[Link]() – renvoie une liste de mots dans la chaîne
18. Quelles sont les méthodes de chaîne ?
Une méthode est similaire à une fonction : elle prend des arguments et retourne une valeur, mais le
la syntaxe est différente. Par exemple, la méthode upper prend une chaîne et retourne une nouvelle chaîne avec tous
LETRES MAJUSCULES :
Au lieu de la syntaxe de fonction upper(mot), elle utilise la syntaxe de méthode
[Link]() .>>> word = 'banane'
nouveau_mot = [Link]()
> imprimer nouveau_mot
BANANE
19. Expliquez le module de chaînes. (Nov/Déc 2017)
Le module string contient un certain nombre de constantes et de classes utiles, ainsi que quelques
des fonctions héritées obsolètes qui sont également disponibles en tant que méthodes sur les chaînes.
Ex :
Programme : output
importer des chaînes MONTY PYTHON'S FLYING
Le Cirque Volant des Monty Python CIRQUE
imprimer "supérieur", "=>", chaî[Link](texte) le cirque volant de monty python
imprimer "inférieur", "=>", chaî[Link]érieur(texte) split => ['Monty', "Python's", 'Flying', 'Circus']
Rejoindre => Le Cirque Volant de Monty Python
imprimer "split", "=>", chaî[Link](texte)
Le Cirque Volant
imprimer "rejoindre", "=>", chaî[Link](chaî[Link](texte), de Monty Python
"+") trouver => 6 -1
imprimer"remplacer" => count => 3
"Python", "Java")
imprimer "trouver", "=>", chaî[Link](texte, "Python")
[Link](texte, "Java")
imprimer "compte", "=>", chaî[Link](texte, "n")
Un objet avec plus d'une référence a plus d'un nom, alors l'objet est dit
être aliasé. Exemple : Si a fait référence à un objet et que nous assignons b = a, alors les deux variables font référence à l
même objet
a = [1, 2, 3]
> b=a
b est vrai
8. Définir le clonage dans la liste. (Nov/Déc 2017)
Pour modifier une liste tout en conservant une copie de l'original, il est nécessaire de faire une copie.
de la liste elle-même, pas seulement la référence. Ce processus s'appelle le clonage, pour éviter l'ambiguïté de la
copie
9. Expliquez les paramètres de liste avec un exemple.
Passer une liste comme argument passe en réalité une référence à la liste, et non une copie de la liste.
Par exemple, la fonction head prend une liste comme argument et retourne le premier élément :
def tête(liste):
retourner liste[0]
output
> numbers = [1, 2, 3]
> tête(chiffres)
10. Écrivez un programme en Python pour supprimer le premier élément d'un
liste.(Avr/Mai 2017)
def supprimerTete(liste): del liste[0]
Voici comment deleteHead est utilisé :
> numbers = [1, 2, 3]
> supprimerTete(chiffres)
> imprimer les nombres [2, 3]
11. Écrivez un programme en Python qui renvoie une liste contenant tous les éléments sauf le premier.
liste donnée.(nov/déc 2021)
déf
queue(liste):
retourner
liste[1:]
Voici comment on utilise tail :
>>> numbers = [1, 2, 3]
>>> reste = queue(numbers)
> imprimer le reste [2, 3]
12. Quel est l'avantage d'utiliser l'affectation de tuples en Python ?
Il est souvent utile d'échanger les valeurs de deux variables. Avec des affectations conventionnelles, un
une variable temporaire serait utilisée. Par exemple, pour échanger a et b :
> temp = a
> a = b
> b = temp
> a, b = b, a
13. Définir les paires clé-valeur. (Nov/Déc 2017)
Les éléments d'un dictionnaire apparaissent dans une liste séparée par des virgules. Chaque entrée contient un index et un
valeur séparée par un deux-points. Dans un dictionnaire, les indices sont appelés clés, donc les éléments sont appelés
paires clé-valeur.
14. Définir un dictionnaire avec un exemple. (Nov/Déc 2021)
Un dictionnaire est un tableau associatif (également connu sous le nom de hachages). Toute clé du dictionnaire est associée
(ou mappé) à une valeur. Les valeurs d'un dictionnaire peuvent être de n'importe quel type de données Python. Donc, les dictionnaires sont
paires clé-valeur non ordonnées.
Exemple :
>>> eng2sp = {} # empty dictionary
un
deux
15. Comment retourner des tuples comme valeurs ? (Avr/Mai 2017)
Une fonction ne peut retourner qu'une seule valeur, mais si la valeur est un tuple, l'effet est le même que de retourner
valeurs multiples. Par exemple, si nous voulons diviser deux entiers et calculer le quotient et
reste, il est inefficace de calculer x/y puis x%y. Il vaut mieux les calculer tous les deux à la
même temps.
> t = divmod(7, 3)
> imprimer t (2, 1)
16. List two dictionary operations.
9. Quelles sont les deux parties d'un message d'erreur ? (Nov/Déc 2017)
Le message d'erreur a deux parties : le type d'erreur avant les deux-points, et des détails concernant l'erreur après.
deux-points.
10. Comment gérez-vous l'exception à l'intérieur d'un programme lorsque vous essayez d'ouvrir un fichier inexistant ?
fichier ?
nom_de_fichier = input('Entrez un nom de fichier : ')
essayer :
f = open (nom_fichier, "r")
sauf IOError :
Il n'y a pas de fichier nommé
11. Comment fonctionne le try et execute ?
L'instruction 'try' exécute les instructions dans le premier bloc. Si aucune exception ne se produit, alors
l'instruction except est ignorée. Si une exception de type IOError se produit, elle exécute les instructions dans
lebranchementexceptépuispoursuit.
12. Quelle est la fonction de l'instruction raise ? Quels en sont ses deux arguments ? (Nov/Déc 2017)
L'instruction raise est utilisée pour lever une exception lorsque le programme détecte une erreur. Elle prend
deux arguments : le type d'exception et des informations spécifiques sur l'erreur.
13. Qu'est-ce qu'un cornichon ? (Avr/Mai 2017)
La sérialisation enregistre un objet dans un fichier pour un accès ultérieur. Le module pickle aide à traduire presque n'importe quel
type d'objet en chaîne adaptée au stockage dans une base de données puis traduire les chaînes en
objets.
14. Quelles sont les deux méthodes utilisées dans le pickling ?
Les deux méthodes utilisées dans la sérialisation sont [Link]() et [Link](). Pour stocker une structure de données,
La méthode dump est utilisée et pour charger les structures de données qui sont dumpées, la méthode load est utilisée.
15. Quelle est l'utilisation de l'opérateur de format ? (Nov/Déc 2017)
L'opérateur de format % prend une chaîne de format et un tuple d'expressions et renvoie une chaîne.
cela inclut les expressions, formatées selon la chaîne de format.
16. Qu'est-ce que des modules ?
Un module est simplement un fichier qui définit une ou plusieurs fonctions liées regroupées ensemble. Pour réutiliser
les fonctions d'un module donné, nous devons importer le module. Syntaxe : import <nomdumodule>
17. Qu'est-ce qu'un paquet ? (Nov/Déc 2017)
Les packages sont des espaces de noms qui contiennent plusieurs packages et modules eux-mêmes. Ils sont simplement
répertoires.
Syntaxe : depuis <mypackage> importer <modulename>
18. Quel est le fichier spécial que chaque package en Python doit contenir ?
Chaque paquet en Python doit contenir un fichier spécial appelé __init__.py
[Link] supprimer un fichier en Python ? (Avr/Mai 2017)
La méthode remove() est utilisée pour supprimer les fichiers en fournissant le nom du fichier à supprimer.
comme argument.
Syntaxe : [Link](nom_de_fichier)
20. Comment utilisez-vous les arguments de ligne de commande pour donner des entrées au programme ? (Nov/Déc 2017)
Le module sys de Python fournit un accès à tous les arguments de la ligne de commande via [Link]. [Link] est le
liste des arguments de la ligne de commande. len([Link]) est le nombre d'arguments de la ligne de commande.
21. Qu'est-ce qu'un module ? Donnez un exemple. (Nov/Déc 2021)
Les modules sont des morceaux de code pré-écrits utilisés pour effectuer des tâches courantes telles que la génération
nombres aléatoires, effectuant des opérations mathématiques, etc.
22. Trouvez l'erreur de syntaxe dans le code donné : (Nov/Déc 2017)
while True print ('Bonjour le monde')
while True print ('Hello world') montre l'erreur de syntaxe invalide en python. Parce que le while
la déclaration doit se terminer par le symbole (:). Le code correct sera,
tant que vrai :
print("Bonjour le monde")
23. Écrivez un script python pour afficher la date et l'heure actuelles. (Avr/Mai 2017)
Programme :
import datetime
[Link]()
imprimer("Date et heure actuelles en utilisant la méthode str de l'objet datetime:")
imprimer(str(now))