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

Exercice - Algorithmes Arithmétiques3 - Correction

Le document présente plusieurs exercices d'algorithmique, incluant des fonctions pour calculer des suites arithmétiques, vérifier des termes, et manipuler des chaînes. Il décrit également des procédures pour gérer un tableau de produits, incluant la saisie, l'affichage des produits épuisés, fabriqués en Tunisie, et périmés. Les algorithmes sont écrits en pseudo-code avec des structures de contrôle comme les boucles et les conditions.

Transféré par

Faten BEN ALI
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)
230 vues4 pages

Exercice - Algorithmes Arithmétiques3 - Correction

Le document présente plusieurs exercices d'algorithmique, incluant des fonctions pour calculer des suites arithmétiques, vérifier des termes, et manipuler des chaînes. Il décrit également des procédures pour gérer un tableau de produits, incluant la saisie, l'affichage des produits épuisés, fabriqués en Tunisie, et périmés. Les algorithmes sont écrits en pseudo-code avec des structures de contrôle comme les boucles et les conditions.

Transféré par

Faten BEN ALI
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

Les Algorithmes arithmétiques

Exercice 1
Fonction calcul(n :entier) :entier
Début
U5
Pour de 1 à n faire
U2*U+3
Finpr
Retourner U
Fin
Procedure affiche(n :entier)
Début
Pour i de 1 à n faire
Ecrire ("U"+i,"=",calcul(i))
Fin pr
Fin

Procedure verif(X: entire)


Debut
i0
tantque calcul(i) <X faire
ii+1
fin tantque
si calcul(i)=X ALORS
ecrire(X,"est un terme de la suite")
sinon
ecrire(X,"n’est pas un terme de la suite")
finsi
Fin
Exercice 2
Fonction calcul(n :entier,x :entier)
Début
Ux
Si U mod 2 = 0 ALORS
U  U div 2
Sinon
U  3*U+1
Finsi
Retourner U
FIN

Fonction verif(u0 :entier) :entier


Début
i1
tantque calcul(i,u0)  1 faire
i  i+1
fintq
retourner i
fin

Faten BEN ALI


1
exercice 3

fonction ROBINSON (n,u0 :entier) : chaine


début
U  convch(u0)
pour i de 1 à n faire
U  ""
Pour j de 9 à 0 faire
C  convch(j)
Nb  nb_occ(c, U)
Si nb 0 alors
U  U +convch(nb)+convch(j)
Finsi
Finpr
Finpr
Retourner U
Fin
Fonction nb_occ(c :caractère, ch : chaine) :entier
Début
Nb  0
Pour i de 0 à long(ch)-1 faire
Si c = ch[i] alors
Nb  Nb +1
Finsi
Fin pour
Retourne Nb
Fin
Exercice 4
Algorithme
Début
Saisir(n)
Remplir(T,N)
Affiche_epuise(T,N)
Affiche_TUN(T,N)
Affiche_perime(T,N)
Fin
T .D.N.T.
date = enregistrement
jour, mois, année : entier
fin
produit = enregistrement
code, nom : chaine
qte : entier
DLC : date
fin
Tab : tableau de 10 produit

Faten BEN ALI


2
Procedure saisie ( @N: entire)
Debut
Repeter
Lire(N)
Jusqu’a (3 <= N <=10)
fin
Procedure remplir(@T : Tab, N : entier)
Debut
Pour i de 0 à N-1 FAIRE
Répéter
Lire(T[i].code)
Jusqu’à long(T[i].code)=13 et (estnum(T[i].code))
Et valide(T[i].code)
Répéter
Lire(T[i].nom)
Jusqu’à T[i].nom  "" (long(T[i].nom)  0)
Répéter
Lire(T[i].qte)
Jusqu’à T[i].qte >=0
Répéter
Lire(T[i].DLC.jour)
Lire(T[i].DLC.mois)
Lire(T[i].DLC.annee)
Jusqu’à 1<= T[i].DLC.jour<=30 et 1<= T[i].DLC.jour<=12 et
T[i].DLC.annee>=2022
Finpr
Fin
Fonction valide (cde : chaine) : booleen
Début
Q  souschaine(cde,0,12)
Cc  cde[12]
S0
Pour i de 0 à long(Q)- 1 faire
Si (i+1) mod 2 =0 alors
S  S+ 3 * Valeur(Q[i])
Sinon
S  S + Valeur(Q[i])
Finsi
finpr
r  S Mod 10
p  10 – r
retourner p = Cc
fin
procedure affiche_epuise(T : Tab, N : entier)
début
pour i de 0 à N-1 faire
si T[i].qte = 0 ALORS
ecrire(T[i].code, T[i].nom)
Faten BEN ALI
3
finsi
finpr
fin
procedure affiche_TUN (T : Tab, N : entier)
début
nb 0
pour i de 0 à N-1 faire
si souschaine(T[i].code,0,3) ="619" ALORS
nb  nb+1
finsi
finpr
ecrire(nb," produits fabriqués en tunisie")
fin

procedure affiche_perime(T : Tab, N : entier)


début
pour i de 0 à N-1 faire
si T[i].DLC.annee <2023 OU
T[i].DLC.annee =2023 et T[i].DLC.mois <3 ou
T[i].DLC.annee=2023 et T[i].DLC.mois=3 et T[i].DLC.jour<8 ALORS
ecrire(T[i].code, T[i].nom)
finsi
finpr
fin

Faten BEN ALI


4

Vous aimerez peut-être aussi