mardi 28 octobre 2014

Cours Math Appliquée (Dénombrement)

Partie 3 : Dénombrement

1. Principes de base du dénombrement
1.a Principe de la somme
1.b Principe du produit (ou principe multiplicatif)
2. Dénombrement des p-listes
3. Dénombrement des Arrangements et des Permutations
4. Dénombrement des Combinaisons




Partie 3 : Dénombrement

1. Principes de base du dénombrement:
1.a Principe de la somme :

1.b Principe du produit (ou principe multiplicatif) :

2. Dénombrement des p-listes :

3. Dénombrement des Arrangements et des Permutations :

4. Dénombrement des Combinaisons :

dimanche 26 octobre 2014

Exercice corrigé procedure stocke (Gestion des stagiaires)


Exercice corrigé procedure stocke

1) La procédure permettant de lister les stagiaires d'une filière donnée

create proc ex1 @fil char(30)
as
begin
select stagiaire.* from stagiaire, filière
where stagiaire.nfilière=filière.nfilière and intituléfil=@fil
end

2) La procédure permettant d'afficher les stagiaires ayant l'âge dans la tranche précisé par l'utilisateur

create proc ex2 @d1 int,@d2 int
as
begin
select *, DATEDIFF(YEAR,datenaiss,GETDATE()) as age from stagiaire
where DATEDIFF (YEAR,datenaiss,GETDATE()) between (@d1 and @d2)
end

3) Augmenter d'un point les notes des stagiaires dans le module -métier et formation-

create proc ex3
as
begin
Update notation
Set note=note+1
where n_module in (select n_module from module where intitulémod='métier et formation')
end

4) La liste des stagiaires dont le nom commence par une lettre spécifiée par l'utilisateur

create proc ex4 @l char(1)
as
begin
select * from stagiare where nom like @l+'%'
end

5) Le bulletin de notes d'un stagiaire donné

create proc ex5 @num int as
begin
select * from stagiaire where stagiaire.N_stagiaire=@num
select note,intmod
from notation,stagiaire,module where stagiaire.N_stagiaire=notation.N_stagiaire
and stagiaire.N_stagiaire=@num and module.N_module=Notation.N_module
compute avg (note)
end

6) Liste des stagiaires inscrits entre deux dates

create proc ex6 @d1 datetime,@d2 datetime
as
begin
select * from stagiaire where dateinscrit between (@d1 and @d2)

end

7) Liste des stagiaires non notés pour le module -SGBDI-

create proc ex7
as
begin
select * from stagiaire where n_stagiaire not in (select n_stagiaire from notation where n_module in (select n_module from module where intmod='SGBDI'))
end

8) Avant de supprimer un stagiaire, vérifier s'il existe et vérifier s'il a des notes

create proc ex8 @num int
as
begin
if exists (select * from stagiaire where n_stagiaire=@num)
begin
if exists (select * from notation where n_stagiaire=@num)
begin
delete from notation where n_stagiaire=@num
print 'les notes du stagiaire numéro '+ convert(varchar(5),@num)+ 'ont été supprimés')
end
print 'stagiaire numéro' + convert (varchar(5),@num) + 'est supprimé'
delete from stagiaire where n_stagiaire=@num
end
else
begin
print 'le stagiaire numéro' + convert (varchar(5),@num) + 'n"existe pas'
end

end

9) Procédure qui supprime une filière avec l'ensemble des stagiaires affectés à cette filière

create proc ex9 @nf char(3)
as
begin
if exists (select * from filière where nomfil=@nf)
begin
if (select COUNT(*) from stagiaire where n_fil in (select n_fil from filiere where nomfil=@nf))>0
begin
delete from stagiaire where n_fil in (select n_fil from filiere where nomfil=@nf)
print 'les stagiaires de la filière'+@nf+'ont été supprimés'
end
delete from filiere where nomfil=@nf
print 'la filiere'+@nf+'a été supprimée'
end
else
begin
print 'la filière'+@nf+'n"existe pas'
end
end

10) Affecter une note pour un stagiaire : vérifier l'existance du stagiaire et du module. Vérifier si le stagiaire est déjà noté pour ce module

create proc ex10 @ns int, @m char(3), @not float
as
begin
if exists (select * from stagiaire where n_stagiaire=@ns)
begin
if exists (select * from module where n_module=@m)
begin
if exists (select * from notation where n_stagiaire=@ns and n_module=@m)
begin
print 'le stagiaire n°' + convert(varchar(3),@ns) + 'est déjà noté pour le Module' + @m
end
else
begin
insert into notation values (@ns,@m,@not)
print'la note est affecté au stagiaire'
end
end
else
begin
print'le module n"existe pas'
end
else
begin
print 'le stagiaire n"existe pas'
end
end

11) Supprimer les stagiaires inscrits l'année dernière et stocker les dans la table archive

if exists (select * from stagiaire where DATEDIFF(YEAR,dateinscrip,GETDATE())=1)
begin
select * into archive from stagiaire where DATEDIFF(YEAR,dateinscrip,GETDATE())=1
delete from stagiaire where DATEDIFF(YEAR,dateinscrip,GETDATE())=1
end
else
begin
print 'aucun stagiaire'
end

12) Afficher les informations des stagiaires qui ont plus de deux notes

select * from stagiaire
where n_stagiaire in (select n_stagiaire from notation group by n_stagiaire having COUNT (n_stagiaire)>=2)

13) Supprimer les 3 premiers stagiaires

delete from stagiaire
where n_stagiaire in (select top 10 n_stagiaire from notation group by n_stagiaire order by AVG(note) desc)




samedi 25 octobre 2014

Cours Math Appliquée (Algèbre de Boole)

Partie 2 : Algèbre de Boole

1. Généralités
2. Définitions
2.a Variable logique ou variable binaire
2.b Fonction logique
2.c Table de vérité
2.d Forme canonique
3. Les fonctions logiques fondamentales
3.a Fonction NON ou "NO"
3.b Fonction OU ou "OR"
3.c Fonction ET ou "AND"
4. Lois de l'algèbre de Boole



Partie 2 : Algèbre de Boole

1. Généralités

3. Les fonctions logiques fondamentales :

3.a Fonction NON ou "NO" :







3.c Fonction ET ou "AND" :



mercredi 22 octobre 2014

Cours Math Appliquée (Systèmes de numération)

Partie 1 : Systèmes de numération

1. Base d’un système de numération
1.1 Principe d'une base
1.2 Système décimal
1.3 Système binaire
1.4 Système octal
1.5 Système hexadécimal
1.6 Autres systèmes de codage
1.6.a Code gray ou binaire réfléchi
1.6.b Le code BCD
1.6.c Le code ASCII
1.7 Tableau récapitulatif des différents codes binaires
2. Changement de base
2.1 Conversion d’un nombre d’une base « b » en un nombre décimal
2.2 Conversion d’un nombre décimal en un nombre d’une autre base
2.3 Conversion d’un nombre hexadécimal en binaire
2.4 Conversion d’un nombre binaire en hexadécimal
3. Les opérations en binaire
3.1 L’addition
3.2 La multiplication
3.3 La soustraction
3.4 La division
4. Représentation des nombres
4.1 Le binaire signé : Représentation d'un entier relatif
4.1.a Représentation Signe - Valeur absolue
4.1.b Représentation par complément à 2
4.1.c Représentation biaisée (par excès) 
4.2 Représentation à "virgule fixe"
4.3 Représentation "à virgule flottante"


Partie 1 : Systèmes de numération

1. Base d’un système de numération :







1.2 Système décimal :




1.3 Système binaire :
1.6 Autres systèmes de codage:
1.6.a Code gray ou binaire réfléchi:
2. Changement de base :

2.1 Conversion d’un nombre d’une base « b » en un nombre décimal :
3. Les opérations en binaire :

3.1 L’addition :
4. Représentation des nombres :

4.1 Le binaire signé : Représentation d'un entier relatif :