Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Problématique: Lire un nombre entier et vérifiée si il est premier ou non tel que
un nombre est dit premier s’il n’est divisible que par lui-même et par le 1
Entrée : n,i,p,x des entiers: n pour lire le nombre entré par l’utilisateur, i pour le
compteur de la boucle, p pour une variable booléen, x pour la valeur absolue de
n
Traitement : On affiche « Veuillez entrer une valeur positif » ensuite on lit la
valeur n : si elle est négatif alors x reçoit –n sinon x reçoit n (pour la valeur
absolue) ensuite on vérifie si x égale à 2 alors on affiche direct le nombre est
premier sinon si x égale à 0 ou égale à 1 on affiche que le nombre n’est pas
premier ensuite on initialise la valeur booléen p par 0 et le i par 2 on répète la
vérification de la division de x par i si il est égale à zéro alors la valeur booléen
p devient vrais sinon on incrémente i tant que i est inférieur ou égale à la moitié
de x car les diviseurs ne peuvent pas dépasser la moitié du nombre et p doit être
faux pour la répétition
Affichage : si la valeur booléen est 1 (vrais) on affiche : Le nombre est premier
sinon on affiche qu’il n’est pas premier
Algorithme EXO1;
var n,i,p,x:entiers;
DEBUT
écrire("Veuillez entrer une valeur positif:");
lire(n);
si (n<0) alors
x <- -n;
sinon
x <- n;
si (n==2) alors écrire("Le nombre",n,"est premier");
sinon si (n==0 ou n==1) alors écrire("Le nombre",n,"n'est pas premier");
sinon
début
p <- 0; i <- 2;
Répeter
si(xmodi==0) alors p <- 1; sinon i <- i+1;
tantque ( i <= (x/2)) et (p==0) );
si (p==0) alors écrire("Le nombre",n,"est premier");
sinon écrire("Le nombre",n,"n'est pas premier");
FIN.
Problématique : Lire plusieurs nombres entiers tel que le dernier est égale à 0
ensuite on affiche : Le nombre total des entiers qui ont été lus, la somme de ces
nombres entiers, la plus grande valeur lue, le nombre de valeur multiple de 3
Entrée: i,m,s,max,n : i pour le compteur de la boucle, m pour pour calculer le
nombre de fois l’opérateur qui a été répété, s pour calculer la somme max pour
définir le max, n pour lire les valeurs entieres
Traitement : on initialise la valeur de i, m ,s par zéro
on affiche : « Veuillez entrer une valeur : » on lit la valeur
Ensuite on vérifie si il est divisible par 0 alors m reçoit m+1 et le max et s
reçoivent cette valeur, la valeur de i par 1
On répète cette opération et on incrémente la valeur de i, et si la valeur n est
supérieur ou égale au max alors max reçoit cette valeur, on répète tout sa tant
que n est différent de zéro
Affichage : on affiche le nombre des valeurs lus (i-1) la somme des valeurs s, le
maximum des nombres lus (max) et enfin les multiples de 3 (m-1)
Algorithme EXO2;
var i,m,s,max,n;
i <- 0;
m <- 0;
s <- 0;
écrire("Veuillez entrer une valeur:");
lire(n);
si(nmod3==0) alors m <- m+1; max <- n; s <- n; i <- 1;
Répeter
debut
écrire("Veuillez entrer une valeur:");
lire(n);
s <- s+n;
si(nmod3==0) alors m <- m+1; i<- i+1;
si (n>=max)
max <- n;
Jusqu'à (n==0);
fin ;
écrire("Le nombre des valeurs lus",(i-1),"La somme des valeurs:",s,"La plus grande valeur lue est:",max,"Le nombre
de valeurs multiples de 3 est:",(m-1));
FIN.
Algorithme EXO3;
var i=1,j=1,k=1:entiers;
R,xrad,e:réel;
fonction fact(E/x: entier);entier;
var i,f=1;
pour i <- 2 à x faire
f <- f*i;
fact <- f;
DEBUT
écrire("Ce programme permet de calculer sin(x), veuillez donner une valeur a x en rad");
lire(xrad);
si (xrad<0) alors debut
k <- -1;
xrad <- -xrad; fin;
écrire("Veuillez donner la precision epsilon, exemple: epsilon= 0,000000001");
lire(e);
répeter debut
R= j*(puiss(xrad,i))
j <- j*(-1)
jusqu'à (puiss(xrad,i)/fact(i)>e);
R=k*R;
écrire("Sin(",xrad,")=",R);
FIN.