Vous êtes sur la page 1sur 8

Srie3

Techniques de la programmation structure

TRI1F

Partie1 : Traitements des chaines.


Les fonctions principales (ou mthodes) spcialises pour traiter une chane de caractres : Position dun caractre dans la chane : position (chaine1,caract) Extraire un caractre ou une sous chane : extraire(chane, position, nbrecar) Longueur dune chane : longueur (chaine1) Concatnation avec une autre chane : (chaine1+chaine2) Convertir une chane en numrique : valeur(chane) Exemple : chaine1,chaine2, chaine3,ch1,ch2 : chane de caractre i, j, l :Entier chaine1="cours java" position (chaine1, j ) Ecrire ("la valeur de i :",i) ch1 extraire (chaine1,2,1) Ecrire ("la valeur de ch1:",ch1) ch2 extraire (chaine1,7,4) Ecrire ("la valeur de ch2:",ch2) l longueur(chaine1) Ecrire ("la valeur de l:",l) i chaine2 chaine3 Questions de cours : 1. Quelle est la diffrence entre les trois formes de rptition ? 2. Soit l algorithme suivant :
Dbut

// donne le caractre o // on obtient "java" // on obtient 10 la longueur

" Procdurale "

// initialisation de la chane

(chaine1+chaine2) // on obtient "cours java Procdurale" Ecrire ("la valeur de chaine3:",chaine3);

Lire A ,B ; Q 0; Tant que (A>= B) faire A A -B; Q Q+1; Fin Tant que R A; Ecrire( Q , R ) ; Fin a. Excuter lalgorithme avec : A = 15 et B = 7 b. Quel est lobjectif de lalgorithme ?

Techniques de la programmation structure

A.BENALIA

Exercice1 : Ecrire un algorithme qui permet de saisie une chane de caractres Chaine1 , de retirer les voyelles et dafficher le rsultat. Exercice2 : Ecrire un algorithme qui permet de saisie une chane de caractres Chaine1 (compose de plusieurs mots spars par des espaces) , de remplacer les espaces par des ; et dafficher le rsultat. Exercice3 : Ecrire un algorithme qui permet de saisie une chane de caractres Chaine1 (compose de plusieurs mots spars par des espaces) , dinsrer aprs chaque mot la lettre V et dafficher le rsultat. Exercice4 : Ecrire un algorithme qui permet de saisie une chane de caractres Chaine1 , de compter le nombre de voyelles et le nombre de consonnes et dafficher le rsultat. Exercice5 : Ecrivez un algorithme qui effectue : La demande du prnom de lutilisateur La demande de la date de naissance de lutilisateur La demande de la date du jour

1- Transformez la date saisie sous forme dune chane de caractre en trois entier : jour, mois, anne. 2- Contrlerez la validit des dates saisies : Jour compris entre 1 et 31, infrieur ou gal 28 ou 29 pour le mois de fvrier. Mois compris entre 1 et 12. Anne infrieure ou gale 2000. Si une date nest pas valide, le programme affiche un message derreur, et il doit sarrter. 3- Calculez lge de la personne (en nombre danne entiers) .De plus, si la date du jour correspond lanniversaire de la personne, lalgorithme affichera joyeux anniversaire suivi du prnom de lutilisateur. Exercice6 : Variables, i, s, t (n) : Entier Tableau t(n) :Entier Dbut N=3 Pour i=1 n Lire t (i) Fin pour Tant que i <> n faire Ecrire ("saisir un entier") Lire t (i) I=i+1 Fin tantque

Techniques de la programmation structure

A.BENALIA

S=0 Pour i=1 n S=s+i Ecrire s Fin pour Fin Lalgorithme devrait permettre de saisir des nombres entiers dans un tableau de dimension n, et de faire ensuite la somme de ces entiers et lafficher lcran. 1-Dtecter les erreurs qui empchent cet algorithme de tourner.

Exercice7 : Lobjectif de lexercice est de traduire une phrase en JAVANAIS.le principe est le suivant : Dans une phrase, une fois quon rencontre une consonne suivie dune voyelle, on insre la chane de caractres VA entre les deux. Exemple : Je suis malade JVAe sVAuis mVAalVAadVAe Indication : les voyelles sont : a, e, i, u, y, o 1. a. Ecrire une procdure Lecture () qui permet de : Stocker une phrase dans un tableau de taille maximale 80 caractres, $ indique la fin de la phrase ; Contrler la saisie, et ce en nacceptant que les lettres de A Z.

7.1. b) Ecrire une fonction Recherche () qui retourne lindice dune consonne lorsquelle est suivie dune voyelle. 7.2. c) Ecrire une procdure insertion () qui insre la chane VA aprs une consonne lorsquelle est dune consonne lorsquelle est suivie dune voyelle. 7.3. d) Ecrire une procdure Traduction () qui partir dune phrase dans un tableau, retourne la mme phrase dans celui-ci traduite en JAVANAIS

Techniques de la programmation structure

A.BENALIA

Partie 2 : Manipulation des tableaux


Exercice1 : Trier les lignes dun tableaux de deux dimensions (n,m) puis trier Les Colonnes. Exercice 2 : Permuter les lments du tableau en commenant par le milieu et calculer le produit des lments non nuls et trier le tableau de plus petit au grand. Exercice 3 :Fusion de deux tableaux tris On considre deux tableaux tris T1 et T2 de dimension respectives n et m que lon doit unir dans un seul tableau T3 tri. Exemple : T1 : 1 T2 : 1 T3 : 1 3 2 2 5 4 3 8 7 4 10 9 5

10 7

13 8

15 9

10

13

15

Ecrire lalgorithme qui fait ce tri. Exercice 4: Lire un tableau t de n lments A. Afficher le nombre des lments pairs B. Afficher le nombre des lments impairs C. Lire un tableau V puis calculer : P=[t(1) + v(1)] ** [t(n) + v(n)] Exercice 5 : Ecrire un programme qui lit une matrice de n lignes et c colonnes m (n, c). A. -Afficher le min de chaque ligne ainsi que sa position. B. le nombre dapparition du 1 dans chaque ligne.

Partie 3 : Les fonctions et les procdures.


Exercice 1 : A. Ecrire la fonction qui calcul le factoriel dun nombre entier positif. B. Intgrer la fonction dfinie prcdemment dans un programme calculant la somme des factoriels des 100 premiers nombres entiers positif. C. Afficher le rsultat de la somme des factoriels obtenue. Exercice 2 : Ecrire une fonction qui calcule la valeur absolue dun entier, et afficher le rsultat lors de lappel de la fonction dans un algorithme. Exercice 3:

Techniques de la programmation structure

A.BENALIA

On veut grer les coordonnes de 150 personnes adhres dans un club, chaque personne est identifie par : Nom chaine de caractre, Prnom chaine de caractre, Age entier date_adhesion Date (jour, mois, anne) A. Dclarer la structure Personne et Date. B. saisir les informations des 150 personnes C. Afficher le nom et le prnom des personnes adhres depuis lan 2000. D. Trier et afficher la liste des personnes (nom et prnom) selon lordre dcroissant de leur ge (tri par bulle).

Les Tris
Tri bulle :
Son principe est de faire remonter petit petit un lment trop grand vers le haut du tableau, en comparant les lments 2 2. Si llment de gauche est suprieur celui de la droite, en les inverses puis on continue avec le suivant. Lorsquon est au haut du tableau, on repart au dbut, et on sarrte lorsque tous les lments sont bien placs. Algorithme : Variables K, J, I entiers S rel Tableau T [10] rel Dbut Pour K :=1 10 faire Pour I :=1 9 faire J :=I+1 Si T (I)>T (J) alors S :=T (I) T (I):=T (J) T (J):=S Fin si Fin pour I Fin pour K Fin

Tri par permutation :


On parcourt le tableau jusqu ce que lon trouve un lment plus petit que le prcdent, mal plac. On prend cet lment et on le range sa place dans le tableau puis on continue la lecture puis on sarrte la fin du tableau. Algorithme : Dbut Pour I :=1 10 faire Si T (I)>T (I+1) alors S: =T (I) T (I):=T (I+1) Techniques de la programmation structure A.BENALIA

T (I+1):=S I: =1 Fin si Fin pour Fin

Tri par slection :


On cherche le plus petit lment du tableau et on le place en premier, puis on cherche le plus petit dans ce qui reste et on le met en second, etc. Algorithme : Variables I, J, K, S entiers Tableau T [10] entier Dbut Pour I :=1 9 faire K :=I Pour J := I+1 10 faire Si T (K)>T (J) alors K :=J Fin si Fin pour J S :=T (I) T (I) :=T (J) T (J) :=T (k) Fin pour I Fin

Tri par comptage :


Consiste pour chaque lment du tableau compter combien dlments sont plus petits que lui, grce ce chiffre on connat sa position dans le tableau rsultat. Algorithme : Dec I, J, K entiers Tableau T [10] entier Tableau Res [10] entier Dbut Pour I :=1 10 faire K :=1 Pour J :=1 10 faire Si T (I)>T (J) alors K :=K+1 Fin si Fin pour J Si Res (K) :=0 alors Res (K):= T (I) Sinon K :=K+1 Res (K) :=T (I) Fin si Techniques de la programmation structure A.BENALIA

Fin pour I Pour I :=1 10 faire Afficher Res (I) Fin pour Fin

Tri alphabtique :
Le programme consiste saisir des mots (au maximum 10) de 20 caractres maximum et de les insrer dans un tableau dans lordre alphabtique. Puis dafficher ensuite ce tableau. Le tableau rsultat est du type TABLEAU CAR [10,20] Algorithme : Variables I, r, J, K, m entiers Mot (20), mots (10,20) rel Dbut Pour r = 1 20 faire Faire Lire mot(r) Jusqu (mot(r) :=$) ou (r>20) f=r Fin pour I :=I+1 Pour J :=1 f faire Mots (I, J) :=mot (J) Fin pour J Pour K :=I-1 1 pas-1 Si mots (I, 1) <mots (K, 1) alors Pour J :=1 f faire S :=mots (I, J) Mots (I, J):=mots (K, J) Mots(K,J) :=S Fin pour J Fin si Fin pour K Mo= " " Pour m:=1 10 faire Pour J :=1 20 faire Mo :=mo + mots (m, J) Fin pour J Fin pour m Afficher mo Fin

Calcule des heures :


Le programme ralise laddition de deux donnes en hh :mm :ss et affiche le rsultat sous la mme forme. Algorithme : H (3), M (3), S (3) entiers Pour I :=1 3 faire Techniques de la programmation structure A.BENALIA

Dbu Lire H (I) Lire M (I) Lire S (I) Si (H (I)>24) ou (M (I)>60) ou (S (I)> 60) alors Afficher "Erreur" I:=I-1 Fin si Fin pour H (3):=H (1) +H (2) M (3):=M (1) +M (2) S (3):=S (1) +S (2) Si S (3)>60 alors M (3):=M (3) +1 S (3) := S (3)-60 Fin si Si M (3)>60 alors H (3) :=H (3) +1 M (3) :=M (3)-60 Fin si Pour I :=1 3 faire Afficher H (I), M (I), S (I) Fin pour Fin

Techniques de la programmation structure

A.BENALIA