Serie d'exercice 5 2SI

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 6

Série d’exercices Algorithme et Programmation N°5

Exercice n° 1 :
En informatique chaque machine (ordinateur) connectée au réseau Internet est
identifiée par une adresse réseau unique IPV4 représentée sous la forme
W.X.Y.Z

Une adresse IPV4 est valide si W, X, Y et Z sont quatre entiers naturels


appartenant chacun à l’ensemble [0...255] et séparés par le caractère "."

Chaque adresse IPV4 valide appartient à une classe

 Classe A, si W ∈ [0…127].
 Classe B, si W ∈ [128…191].
 Classe C, si W ∈ [192…223].
 Classe D, si W ∈ [224…239].
 Classe E, si W ∈ [240…255].

On se propose d’écrire un algorithme qui permet de :

 Lire une adresse IPV4 sous forme d’une chaine de caractères ch.
 Afficher le message "adresse valide" et la classe de l’adresse IP si elle est
valide et le message "adresse non valide" si non.

Exemple :

ch="121.100.52.16" =>le programme affiche Adresse Valide Classe A.

ch="172.16.0.1" =>le programme affiche Adresse Valide Classe B.

ch="121.300.52.16" =>le programme affiche Adresse non Valide.

ch="ab.120.52.16" =>le programme affiche Adresse non Valide.


Exercice n°2 :

Ecrire un algorithme et déclarer les objets d’un programme qui permet de lire
un caractère C puis afficher :

 Sa majuscule si C en minuscule.
 Sa minuscule si C en majuscule.
 Son carré si C représente un chiffre.
 Le code ASCII de C s’il est un caractère de ponctuation (: . , ? ! ;)
 Le message ‘’Le caractère n’est pas pris en considération’’ sinon.

Exemples

 Si C= ‘’b’’ le programme affiche : La majuscule de b est B


 Si C= ‘’Z’’ le programme affiche : La minuscule de Z est z
 Si C= ‘’5’’ le programme affiche : Le carré de 5 est 25
 Si C= ‘’?’’ le programme affiche : Le code ASCII du ? est 63.
 Si C= ‘’+’’ le programme affiche : ‘’Le caractère n’est pas pris en
considération’’

Exercice n°3 :

Soit l’algorithme suivant :

Répéter

Ecrire(‘’ch=’’)

Lire (ch)

Jusqu’à (0 < long(ch) ≤ 7)

[S0]

Pour i de 0 à long(ch)-1 Faire

Si (valeur (ch[i]) mod 2 ≠ 0) Alors S  S+ valeur (ch[i])

Fin Si

Fin pour

Ecrire (‘’S=’’, S)

Fin

Questions
1) Compléter le TDO.
2) Exécuter manuellement l’algorithme pour : ch=’’12345’’ et ch=’’486’’.
3) En déduire le rôle de cet algorithme.

Exercice n° 4 :

Ecrire un algorithme qui permet de saisir un rayon r puis calculer et afficher la

valeur de la surface hachurée.

Surface du carré= côté * côté

Surface du cercle= 𝝅r2 r

Exercice n°5 :

Ecrire un algorithme qui permet de saisir un temps t en secondes puis afficher


son équivalent en heures, minutes et secondes.

Exemple : t=4000s  le programme affiche : 1 h 6 mns 40 s

Exercice n° 6 :

Ecrire un algorithme qui permet de saisir une lettre alphabétique majuscule ou


minuscule puis afficher :

 le prédécesseur et le rang dans l’alphabet si la lettre est majuscule.


 le successeur et le rang dans l’alphabet si la lettre est minuscule.

Exemple :

 si lettre=’’D’’  Prédécesseur= ‘’C’’ , Rang=4


 si lettre=’’r’’  Successeur=’’s’’, Rang=18

Exercice n° 7 :

Ecrire un algorithme qui permet de saisir deux entiers A et B puis afficher leur
minimum.

Exemple : A=5, B=7  Minimum=5


Exercice n° 8 :

Ecrire un algorithme qui permet de saisir aléatoirement un nombre N composé


de 3 chiffres puis afficher s’il est magique ou non.

Un nombre N (dont le chiffres des unités U, le chiffre des dizaines D et le chiffre


des centaines C) est dit magique si N=C1+D2+U3

Exemple :

 135 est magique car 11+32+53=135


 127 n’est pas magique car 11+22+73≠127

Exercice n°9 :

Ecrire un algorithme qui permet de remplir un tableau T par N chaine, avec

N<=20, puis de saisir un caractère alphabétique c, enfin de calculer et d’afficher


le nombre de chaine de T contenant la lettre c.

Exemple :

 Pour N=5, soit le tableau T suivant :

Youssef salut mon grand fils

0 1 2 3 4

 Pour C=’’s’’, on affiche 3

Explications :

La chaine ‘’ Youssef ’’ contient la lettre ‘’s’’

La chaine ‘’ salut ‘’contient la lettre ‘’s’’

La chaine ‘’ fils ‘’contient la lettre ‘’s’’

 Pour C=’’b’’, on affiche : 0 Car aucune chaine de T contient la lettre ‘’b’’

Questions :

1) Ecrire le programme principal en décomposant le problème en module.

2) Ecrire les algorithmes des modules envisagés


Exercice n°10 :

Ecrire un algorithme qui permet de saisir un entier N (N>0), de saisir un chiffre


X (1<X<=9), puis de calculer le nombre des entiers compris entre 2 et N divisible

par X.

1) Décomposer votre algorithme en des modules


 Saisie(@N :entier)
 Saisie(@X :entier)
 Nombre(N :entier, X :entier) : entier

Exercice n° 11 :

Soit la fonction ‘’Quoi ‘’ suivante :

Fonction Quoi( ch : chaine) : entier

Début

Nb……..

Pour i de 0 à long(ch)-1 faire

Si ch[i] ∈ [‘’A ‘’..’’Z’’] alors

NbNb+1

Fin Si

Fin pour

Retourner Nb

Questions

Fin

1) Tracer le tableau de déclaration des objets (TDO).


2) Dans la partie ‘’ #initialisation de Nb, compléter le pointillé (Nb ? )
3) Donner la trace de l’exécution de l’algorithme précédent avec :
 Ch=’’YouSseF’’
 Ch= ‘’jour’’
4) Déduire le rôle de la fonction

Exercice n°12 :
On se propose de remplir un tableau par les notes de N élèves (N entre 5 et
40 et une note est entre 0 et 20, subdiviser le tableau en deux tableaux : T1
pour les notes strictement inférieures à 10 et T2 pour celles qui sont
supérieures ou égales à 10. Enfin, on demande d’afficher chaque tableau à
part avec le nombre de ses éléments.

Exemple : si N =5 et T : 12 7 3 10 17
On obtient : T1 : 7 3
T2 : 12 10 17

L’affichage sera comme suit :

On a 2 notes < 10 : 7 , 3

On a 3 notes >= 10 : 12,10, 17

Travail demandé : faire l’algorithme du programme principal (sans oublier


TDNT et TDOG) ainsi que des différents modules : saisir, remplir, subdiviser,
afficher (sans oublier les TDOL) Pour ceci, on donne l’algorithme du
programme principal :

Debut

Procédure saisir(n)

Procédure remplir(n,t)

Procédure subdiviser(n,t,nbr1,t1,nbr2,t2)

Procédure afficher(nbr1,t1)

Procédure afficher(nbr2,t2)

Fin

Questions :

1) Faire le TDNT ainsi que le TDOG.


2) Elaborer l’algorithme de chaque procédure

Vous aimerez peut-être aussi