0% ont trouvé ce document utile (0 vote)
156 vues16 pages

Resume Raja Mkhinini

Le document présente des concepts fondamentaux de l'algorithmique et de la programmation en Python, y compris des modules prédéfinis, des structures de contrôle conditionnelles et itératives, ainsi que des sous-programmes. Il fournit également des exemples d'algorithmes et de fonctions pour manipuler des tableaux, effectuer des calculs mathématiques et gérer des chaînes de caractères. Enfin, le document inclut des exercices pratiques pour appliquer ces concepts.

Transféré par

tasnim5.daga
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)
156 vues16 pages

Resume Raja Mkhinini

Le document présente des concepts fondamentaux de l'algorithmique et de la programmation en Python, y compris des modules prédéfinis, des structures de contrôle conditionnelles et itératives, ainsi que des sous-programmes. Il fournit également des exemples d'algorithmes et de fonctions pour manipuler des tableaux, effectuer des calculs mathématiques et gérer des chaînes de caractères. Enfin, le document inclut des exercices pratiques pour appliquer ces concepts.

Transféré par

tasnim5.daga
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

BAC Scientifiques

Informatique
Mme Mkhinini Raja

Résumé

1
Algorithme et programmation BAC SCIENTIFIQUES Mme Mkhinini Raja

Les modules prédéfinis

Python Algorithme Exemple

int(x) Ent(x) rent (10.2)

round ( a ) Arrondi(a) rarrondi (10.8)


from math import *
Racine carrée(a) rracine carrée(16)
sqrt ( a )
abs abs rabs(-4)
from random import *
Aléa(vi, vf) raléa(1,10)
randint(a,b)
Ch[i] Ch"coucou"
Ch[i]
On commence par 0 R Ch[1]
Ch[d : f] Ch"informatique"
Sous-chaine(ch,d,f)
On commence par 0, f exclut rsous-chaine(Ch,2,8)
len ( ch ) Ch"Bac 2024"
Long(ch)
On commence par 1 rlong(Ch)
ch"COUCOU"
[Link] ( ch2 )
rpos("O",ch)
Pos(ch2,ch1)
rpos("OU",ch)
On commence par 0
rpos("COURS",ch)
ch. upper ( ) Majus(ch) Ch"bon" rmajus(Ch)

Nb13.55
Str(nb) convch (nb)
rconvch(Nb)

int(ch)
Ch"2024"
Valeur (ch)
rvaleur(Ch)
float(ch)
ord ( car ) ord(car) rord ( "a" )

chr ( x ) chr(x) r chr ( 65 )

Ch[ : d]+Ch[f: ] Efface(ch,d,f) ch''maison"


f exclut refface(ch,1,4)
[Link]() Estnum(ch) restnum("144")
Entier seulement Entier ou réel restnum("B2")

2
Algorithme et programmation BAC SCIENTIFIQUES Mme Mkhinini Raja

Les structures de contrôle conditionnelles


REMARQUES
❖ Une condition est une expression booléenne dont le résultat vaut "vrai" ou "faux".
❖ Une condition peut contient :
➢ Un opérateur de comparaison (<, <=, > , >=, =(== en python), ≠( != en python)
➢ Un opérateur d'appartenance Exemple : si x  [1..10] alors (en algorithme)
➢ Un opérateur logique (ET, OU, NON), dans ce cas on dit que la condition est composée.
➢ Exemple : si (a>10) et (a ≠ 15) alors
A. La forme réduite
Algorithme Python

Si Condition Alors if condition:


Traitement
____Traitement
Fin Si

B. La forme complète
Algorithme Python
Si Condition Alors if condition :
Traitement1 ____traitement1
Sinon else :
Traitement2 ____traitement2
FinSi

C. La forme généralisée Algorithme Python


Si Condition1 Alors if condition1:
traitement1 ____traitement1
Sinon Si Condition2 Alors elif condition2 :
traitement2 ____traitement2
..………………………. ……………..
Sinon else:
traitement n ____traitement n
FinSi
D. Structure de
choix Algorithme
Selon <Sélecteur> match Sélecteur :
Valeur1_1[, Valeur1_2, …] : case Valeur1 :
Traitement1 Traitement1
Valeur2_1 . . Valeur2_2 : case Valeur2_1 | Valeur2_2 :
Traitement2 Traitement2
……… case Sélecteur if V3_1 <=Sélecteur<= V3_2 :
[Sinon TraitementN] Traitement3
Fin Selon case _ : TraitementN

Le sélecteur doit être de type scalaire (entier,caractère)

3
Algorithme et programmation BAC SCIENTIFIQUES Mme Mkhinini Raja

Les structures de contrôle itératives complète


PARTIE 1 : Manipulation sur les nombres

La boucle POUR
Pour compteur de début à fin (pas) faire
Algorithme Traitement à répéter
Fin pour

for i in range(debut,fin,pas):
Python Traitement à répéter
#Aller de début à fin-1
Quand Lorsqu’on connaît le nombre de répétition
utiliser la Vi ≤ Vf
structure

EXERCICE 1
Les structures de contrôle itératives à condition d’arrêt

La boucle REPETER La boucle TANTQUE


Structures
Répéter Tant que (condition) faire

Traitement à répéter Traitement répétitif


Algorithme
Jusqu'a (Condition) Fin TantQue

Initialisation obligatoire
while Condition :
Au python while not (Condition) :
_____traitement
_____traitement

Quand utiliser la si on ne connait pas d'avance le nombre de répétition


structure

Remarque Le nombre de répétition >= 1 Le nombre de répétition >= 0

4
Algorithme et programmation BAC SCIENTIFIQUES Mme Mkhinini Raja
Algorithme et programmation Bac Scientifiques Mme Mkhinini Raja

Algorithme tableau
Début
Répéter Saisir la taille du tableau entre 3 et 10
écrire("donner la taille du tableau")
Lire(n);
jusqu'à n dans [3..10]

Pour i de 0 à n-1 faire


écrire ( "t[", i ,"]=" )
Lire (T[i]) Remplir un tableau (donnée)
Fin pour

Pour i de 0 à n-1 faire


écrire (T[i]) Afficher t
Fin Pour

TDNT (tableau de déclaration de nouveau type)


TAB Un tableau de 10 entier maximum

TDO

O T/N
t TAB
n Entier
i Entier

PYTHON AFFICHAGE AVEC PYTHON

5
Algorithme et programmation Bac Scientifiques Mme Mkhinini Raja

Activité

1) Ecrire un algorithme qui remplie un tableau T contient n nombres strictement positifs avec n [3..20]
puis calculer dans un deuxième tableau le factoriel de chaque nombre, afficher le tableau V.
2) Implémenter ce programme en python dans un fichier nommé "[Link]"

Exemple : si n=10
2 5 7 3 10 3 1 5 9 6
0 1 2 3 4 5 6 7 8 9

2 120 5040 6 3628800 6 1 120 362880 720


0 1 2 3 4 5 6 7 8 9

6
Algorithme et programmation BAC SCIENTIFIQUES Mme Mkhinini Raja

LES SOUS-PROGRAMMES
Les fonctions
Algorithme Python
Retourner une chaine aléatoire de 10 caractères

Fonction Chaine_alea (): chaine


Début
ch""
Pour i de 1 à 10 faire
chch+chr(alea(0,256))
Fin Pour
Retourner(ch)
Fin

Inverser une chaine de caractère


Fonction Inverse ( ch : chaine):chaine
Début
Chx""
Pour i de long(ch)-1 à 0 (pas=-1) faire
ChxChx+ch[i]
Fin Pour
Retourner (Chx)
Fin
Retourner une chaine aléatoire de 10 lettres majuscules
Fonction Chaine_maj(): chaine
Début
ch""
Pour i de 1 à 10 faire
chch+chr(alea(65,90))
Fin Pour
Retourner(ch)
Fin
Retourner une chaine aléatoire de 10 lettres minuscules
Fonction Chaine-min(): chaine
Début
ch""
Pour i de 1 à 10 faire
chch+chr(alea(97,122))
Fin Pour
Retourner(ch)
Fin

Convertir une chaine majuscule en minuscule


Fonction minus(ch: chaine): chaine
Début
Chm""
Pour i de 0 à long(ch)-1 faire
Chmchm+chr(ord(ch[i])+32)
Fin Pour
Retourner(chm)

7
Algorithme et programmation BAC SCIENTIFIQUES Mme Mkhinini Raja

Fin
Vérifier si une chaine donnée est alphabétique

Fonction alpha (ch : chaine) : booléen


Début
Testvrai
i0
Répéter
Si (ch[i]  ["A".."Z","a".."z"]) Alors
ii+1
Sinon
Test  faux
Fin Si
Jusqu'à (i=long(ch)) ou (test=faux)
Retourner (test)
Fin
Compter l'occurrence d'un entier dans un tableau

Fonction Occ (t :tab ;n :entier, x :entier) :entier


Début
nb0
Pour i de 0 à n-1 faire
Si T[i]=x alors
nb nb+1
Fin si
Fin Pour
Retourner (nb)
Fin
Compter l'occurrence d'un caractère dans une chaine

Fonction Occ (c : caractère, ch :chaine) :entier


Début
nb  0
Pour i de 0 à long(ch)-1 faire
Si ch[i]=c alors
nb nb+1
Fin Si
Fin Pour
Retourner (nb)
Fin

Déterminer le maximum d'un tableau


Fonction maximum (t : tab ;n :entier) : entier
Début
maxit[0]
Pour i de 1 à n-1 faire
Si t[i]>maxi alors
maxit[i]
FinSi

8
Algorithme et programmation BAC SCIENTIFIQUES Mme Mkhinini Raja

Fin Pour
Retourner(maxi)
Fin
Déterminer le minimum d'un tableau
Fonction minimum (t : tab ;n :entier) : entier
Début
minit[0]
Pour i de 1 à n-1 faire
Si t[i]<mini alors
mini t[i]
Fin Si
Fin Pour
Retourner(mini)
Fin
Calculer la puissance de 2 entiers
Fonction puissance (a,b:entier):entier
Début
p1
Pour i de 1 à b faire
pp*a
Fin pour
Retourner(p)
Fin

Cherche un entier dans un tableau-recherche séquentielle-


Fonction Recherche (t:tab;,x:entier; n:entir ): booleen
Début
i0
test faux
Répéter
si t[i]=x alors
testvrai
sinon
ii+1
Fin si
Jusqu'à (test = vrai) ou (i=n)
Retourner(test)
Fin

9
Algorithme et programmation BAC SCIENTIFIQUES Mme Mkhinini Raja

Cherche un entier dans un tableau-recherche dichotomique


Fonction Rech_Dicho (T:TAB ; n,X: entier): Booléen
Début
d 0
f  n-1
trouv  Faux
Répéter
m  (d + f) DIV 2
Si T[m]=X alors
trouv  Vrai
Sinon Si T[m]>X alors
f  m-1
Sinon
d  m+1 Fin
Finsi
Jusqu'a (trouv) OU (d>f)
retourner trouv

Générer une chaine chn contenant que les chiffres à partir d'une chaine ch
Fonction générer (ch :chaine) :chaine
Début
Chn ""
Pour i de 0 a long(ch)-1 faire
Si ch[i]  ["0".."9"] alors
ChnChn+ch[i]
Fin si
Fin pour
Retourner (Chn)
Fin

Déterminer si un entier est premier ou pas


Fonction Premier (x :entier) : booleen
Début
nb0
Pour i de 1 à x faire
Si x mod i = 0 alors
nbnb+1
Fin Si
Fin Pour
Si nb=2 alors
test  vrai
Sinon Ou bien
test  Faux
Retourner(nb=2)
Fin si
Retourner(test)
Fin

10
Algorithme et programmation BAC SCIENTIFIQUES Mme Mkhinini Raja

Calculer le PGCD
Fonction PGCD(a,b:entier):entier
Début
Tant que a≠b faire
Si a>b alors
aa-b
sinon
bb-a
Fin Si
Fin Tantque
Retourner(a)
Fin
Calculer le factoriel d'un entier
Fonction factoriel (x: entier):entier
Début
f1
Pour i de 1 à x faire
ff * i
Fin Pour
Retourner(f)
Fin

Calculer le PPCM
Fonction PPCM(a,b:entier):entier
Début
xa
yb
Tant que a≠b faire
Si a<b alors
aa+x
Sinon
bb+y
Fin si
Fin Tantque
Retourner(a)
Fin

11
Algorithme et programmation BAC SCIENTIFIQUES Mme Mkhinini Raja

LES PROCEDURES

Saisir un caractère majuscule


Procédure saisie_majus (@ c : caractère)
Début
Répéter
Ecrire ("Donner un caractère")
Lire(c)
Jusqu'à c["A".."Z"]
Fin

Saisir une chaine de caractère non vide et de longueur maximale égale à 20


Procédure saisie_ch (@ ch : chaine)
Début
Répéter
Ecrire ("Donner une chaine")
Lire(ch)
Jusqu'à long(ch)  [1..20]
Fin

Afficher les éléments pairs d'un tableau T


Procédure Affiche (T : tab ; n : entier)
Début
Pour i de 0 a n-1 faire
Si T[i] mod2=0 alors
Ecrire (T[i] )
Fin Si
Fin Pour
Fin

Saisir un entier compris entre 10 et 100

Procédure saisie_n (@ n : entier)


Début
Répéter
Ecrire ("Donner un nombre")
Lire(n)
Jusqu'à n  [10..100]
Fin

12
Algorithme et programmation BAC SCIENTIFIQUES Mme Mkhinini Raja

Remplir un tableau T par n entiers

Procédure RemplirT(@ T : tab ; n : entier)


Début
Pour i de 0 à n-1 faire
Lire(T[i])
Fin pour
Fin

Remplir un tableau T par N entiers aléatoires de 2 chiffres

Procédure Tab_alea (@ T : tab ; n : entier)


Début
Pour i de 0 à n-1 faire
T[i]alea (10,99)
Fin Pour
Fin

Remplir un tableau par des caractères aléatoires

Procédure Tab_alea (@ t : tab ; n : entier)


Début
Pour i de 0 à n-1 faire
T[i]chr(alea(0,256))
Fin Pour
Fin

13
Algorithme et programmation BAC SCIENTIFIQUES Mme Mkhinini Raja

Remplir un tableau avec des chaine alphabétiques

Procédure Remplir (@T:tab;n:entier)


Début
Pour i de 0 à n-1 faire
Répéter
Lire(T[i])
Jusqu’à verif(T[i])=Vrai
Fin pour
Fin Voir fonction
verif

Remplir un tableau T par N entiers croissant

Procédure CroiTab(@ t : tab ; n : entier)


Début
Ecrire ("t[0]")
Lire(t[0])
Pour i de 1 à n-1 faire
Répéter
Lire(t[i])
Jusqu'à (t[i]>t[i-1])
Fin Pour
Fin

Afficher les entiers premiers qui [a..b]


Procédure afficher(a,b:entier)
Début
Pour i de a à b faire
Si premier(i)=vrai alors
Ecrire(i,"/") Voir
Fin si fonction
Fin pour Premier
Fin

Remplir un tableau avec des éléments distincts

Procédure Remplir(@T:tab;n:entier)
Début
Lire(T[0]) Voir fonction
Pour i de 1 a n-1 faire Recherche
Répéter
Lire(T[i])
Jusqu’à Recherche(T,T[i],i-1)=faux
Fin Pour
Fin

14
Algorithme et programmation BAC SCIENTIFIQUES Mme Mkhinini Raja

Le tri à Bulle
Procédure tri_bull(@ T:tab ; n:entier)
Début
Répéter
permut faux
Pour i de 0 à n-2 faire
Si T[i]>T[i+1] alors
Permutvrai
Aux T[i]
T[i]T[i+1]
T[i+1]  aux
Fin si
Fin Pour
Jusqu’à (permut=faux)
Fin
Le tri par sélection
Procédure tri_selection (@ t:tab; n:entier)
Début
Pour i de 0 à n-2 faire
pMini
Pour j de i+1 à n-1 faire
Si (t[j] < t[pMin]) alors
pMin  j
Fin si
Fin pour
Si (i≠pMin) alors
aux t[i]
t[i] t[pMin]
t[pMin]aux
Fin si
Fin pour
Fin
Le tri par insertion
Procédure tri_insertion (@ T:tab ; n:entier)
Début
Pour i de 1 à n-1 faire
Aux  t[i]
ji
Tant que t[j-1]> Aux et j>0 faire
T[j]t[j-1]
jj-1
Fin Tant que
T[j]Aux
Fin Pour
Fin

15
Algorithme et programmation Bac Scientifiques Mme Mkhinini Raja

16

Vous aimerez peut-être aussi