Bonjour monsieur, j'aimerais bien que vous m' aidez à résoudre cet exercice qui ma torturé, voici l'énoncé de ce dernier: Écrire l'analyse, l'algorithme et la traduction en Pascal d'un programme intitulé PARFAIT qui permet d'afficher les 4 premiers nombre parfait, merci de le répondre
Bonjour, Il n y a pas une application précise pour écrire de l'algorithmique Essayer de voir cette application : Algo play.google.com/store/apps/details?id=com.abdo.algo&hl=fr&gl=US Bon courage & Travaillez bien. Cordialement.
Bonsoir, Merci pour votre commentaire. Dans cette vidéo j'ai utilisé BPW (Borland Pascal for Windows) Version 7. Mais je préfère que vous utilisez l'éditeur MyPASCAL, voici le lien de téléchargement : my-c.blogspot.com/ Bon courage & Travaillez bien. Cordialement.
Bonjour, Comme vous venez de le dire, la définition mathématique d'un nombre premier est qu'il est divisible par 1 et lui même. Autrement dit, ce nombre possède exactement et uniquement deux diviseurs. L'idée de l'algorithme, dans cette vidéo, est de compter le nombre de diviseurs d'un entier positif N. Soit Nd est le nombre de divisieurs de N. Si Nd est égale à 2 donc, N est premier, sinon, N n'est pas premier. Initialement, on initialise Nd à 0 ( Nd := 0;) On parcours toutes les valeurs entières d entre 1 et N, et on vérifier si N est divisible par d. Si c'est le cas, alors on a trouvé un diviseur de plus et on incrémente Nd de 1 ( Nd := Nd +1;). Une fois, on a terminé le parcours, nous aurons exactement combient N possède de diviseurs : Nd (le nombre de divisieurs). Si Nd = 2 donc : N est premier Si Nd 2 (différent) : N n'est pas premier. Cordialement.
Bonsoir, En PASCAL, je ne connais pas une fonction qui fait ça. Je vous donne le code d'une fonction qui réalise le traitement demandé : {.... Fonction "SommeChiffres" qui réalise la somme des chiffres ....} function SommeChiffres(N : integer) : integer; var // Les variables locales de la fonction SommeChiffres m, r, somme : integer; Begin somme := 0; m := n; Repeat r := m mod 10; somme := somme + r; m := m div 10; Until r = 0; SommeChiffres := somme; // retourner le résultat à la fonction (en langage C : return somme;) End; {La fin de la fonction SommeChiffres} //------------------------------------------------------------- Voici, en ligne, un programme complet, avec la fonction ci-dessus, qui permet à utilisateur de saisir une valeur entière positive et d'afficher la somme de ses chiffres : onlinegdb.com/3BpwF6Mp3 Si le lien n'est pas accessible, ci-dessous, le code complet du programme PASCAL avec la fonction SommeChiffres : //------------------------------------------------------------------------------------------------------------------------------------------------------ program Exemple_Somme_Chiffres; uses crt; {** LES VARIABLES GLOBALES **} Var N, SC : integer; {.... Fonction "SommeChiffres" qui réalise la somme des chiffres ....} function SommeChiffres(N : integer) : integer; var // Les variables locales de la fonction SommeChiffres m, r, somme : integer; Begin somme := 0; m := n; Repeat r := m mod 10; somme := somme + r; m := m div 10; Until r = 0; SommeChiffres := somme; // retourner le résultat à la fonction (en langage C : return somme;) End; {La fin de la fonction SommeChiffres} BEGIN {Le début du programme principal} clrscr; Repeat write('Donner une valeur entière positive N : '); Read(N); Until N>0;
SC := SommeChiffres(N); write('La somme des chiffres de N = ', N, ' est : ', SC); END. {La fin du programme principal} //------------------------------------------------------------------------------------------------------------------------------------------------------ Bon courage & Travaillez bien. Cordialement.
@@algo-prog Bonjour monsieur, merci pour votre contenu, mais j'ai une proposition, a mon avis on peut encore améliorer la boucle au lieu jusqu'a N-1 en vérifie jusqu'a Racine de N.
Bonsoir, Je pense qu'il y a une petite erreur dans votre énoncé. Vous dite : Si d=2 alors n%d=0 Si on prend, comme contre exemple, n=3 alors n%2=1 Ainsi votre assertion est fausse. Par contre, si d=1 alors n%d=0 puisque 1 divise tous les nombre, ainsi nd sera incrémenté. Et c'est le cas dans l'exercice. Merci pour votre aimable commentaire. Bon courage et travaillez bien. Cordialement.
merciii t le meilleur comme tjr wlh .. bonne continuation
De rien.
Bonjour monsieur, j'aimerais bien que vous m' aidez à résoudre cet exercice qui ma torturé, voici l'énoncé de ce dernier:
Écrire l'analyse, l'algorithme et la traduction en Pascal d'un programme intitulé PARFAIT qui permet d'afficher les 4 premiers nombre parfait, merci de le répondre
Bonjour,
Je vais essayer de le faire le plus tôt possible... Excuses pour la réponse tardive
@@algo-progje vous remercie de m'avoir répondu,
Merci Monsieur
De rien
Merci pr la vidéo
De rien
Bon courage & Travaillez bien.
Merci pour la vidéo
De rien
De rien
intéressant! Quelle est l'application utilisé pour faire l'algorithme?
Bonjour,
Il n y a pas une application précise pour écrire de l'algorithmique
Essayer de voir cette application : Algo
play.google.com/store/apps/details?id=com.abdo.algo&hl=fr&gl=US
Bon courage & Travaillez bien.
Cordialement.
Salut très bonne explication svp je veux savoir l'application que vous utilisez 🙏
Bonsoir,
Merci pour votre commentaire.
Dans cette vidéo j'ai utilisé BPW (Borland Pascal for Windows) Version 7.
Mais je préfère que vous utilisez l'éditeur MyPASCAL, voici le lien de téléchargement :
my-c.blogspot.com/
Bon courage & Travaillez bien.
Cordialement.
Dans le math le nombre première est divisible par 1 ou lui-même
Dans l'algorithme nd=2
donc n est première
ça me fait en colère
Monsieur pourriez vous expliquer bien ce problème
Bonjour,
Comme vous venez de le dire, la définition mathématique d'un nombre premier est qu'il est divisible par 1 et lui même. Autrement dit, ce nombre possède exactement et uniquement deux diviseurs.
L'idée de l'algorithme, dans cette vidéo, est de compter le nombre de diviseurs d'un entier positif N. Soit Nd est le nombre de divisieurs de N. Si Nd est égale à 2 donc, N est premier, sinon, N n'est pas premier.
Initialement, on initialise Nd à 0 ( Nd := 0;)
On parcours toutes les valeurs entières d entre 1 et N, et on vérifier si N est divisible par d. Si c'est le cas, alors on a trouvé un diviseur de plus et on incrémente Nd de 1 ( Nd := Nd +1;).
Une fois, on a terminé le parcours, nous aurons exactement combient N possède de diviseurs : Nd (le nombre de divisieurs).
Si Nd = 2 donc : N est premier
Si Nd 2 (différent) : N n'est pas premier.
Cordialement.
Pour la boucle pas besoin d'aller a N. Il est possible de s'arreter a racine de N
Oui, c'est une propriété mathématique.
Merci pour votre précision.
Cordialement
y a il une function qui somme les chiffre d'un nombre? please - merci
Bonsoir,
En PASCAL, je ne connais pas une fonction qui fait ça.
Je vous donne le code d'une fonction qui réalise le traitement demandé :
{.... Fonction "SommeChiffres" qui réalise la somme des chiffres ....}
function SommeChiffres(N : integer) : integer;
var // Les variables locales de la fonction SommeChiffres
m, r, somme : integer;
Begin
somme := 0;
m := n;
Repeat
r := m mod 10;
somme := somme + r;
m := m div 10;
Until r = 0;
SommeChiffres := somme; // retourner le résultat à la fonction (en langage C : return somme;)
End; {La fin de la fonction SommeChiffres}
//-------------------------------------------------------------
Voici, en ligne, un programme complet, avec la fonction ci-dessus, qui permet à utilisateur de saisir une valeur entière positive et d'afficher la somme de ses chiffres :
onlinegdb.com/3BpwF6Mp3
Si le lien n'est pas accessible, ci-dessous, le code complet du programme PASCAL avec la fonction SommeChiffres :
//------------------------------------------------------------------------------------------------------------------------------------------------------
program Exemple_Somme_Chiffres;
uses crt;
{** LES VARIABLES GLOBALES **}
Var
N, SC : integer;
{.... Fonction "SommeChiffres" qui réalise la somme des chiffres ....}
function SommeChiffres(N : integer) : integer;
var // Les variables locales de la fonction SommeChiffres
m, r, somme : integer;
Begin
somme := 0;
m := n;
Repeat
r := m mod 10;
somme := somme + r;
m := m div 10;
Until r = 0;
SommeChiffres := somme; // retourner le résultat à la fonction (en langage C : return somme;)
End; {La fin de la fonction SommeChiffres}
BEGIN {Le début du programme principal}
clrscr;
Repeat
write('Donner une valeur entière positive N : ');
Read(N);
Until N>0;
SC := SommeChiffres(N);
write('La somme des chiffres de N = ', N, ' est : ', SC);
END. {La fin du programme principal}
//------------------------------------------------------------------------------------------------------------------------------------------------------
Bon courage & Travaillez bien.
Cordialement.
@@algo-prog Merci bcp
Je t'en prie.
Merci monsieur ... Si on écrit :
Pour d
De rien.
Le code ci-dessous n'est pas correct toujours....
Pour d
@@algo-prog Bonjour monsieur, merci pour votre contenu, mais j'ai une proposition, a mon avis on peut encore améliorer la boucle au lieu jusqu'a N-1 en vérifie jusqu'a Racine de N.
De rien.
Oui. On peut s'arrêter à (N div 2 )
Pour la racine de, je vais le vérifier.
Cordialement.
Merci
De rien
stop svp , mais si d=2 alors n%d!=0 !!
Bonsoir,
Je pense qu'il y a une petite erreur dans votre énoncé.
Vous dite : Si d=2 alors n%d=0
Si on prend, comme contre exemple, n=3 alors n%2=1
Ainsi votre assertion est fausse.
Par contre, si d=1 alors n%d=0 puisque 1 divise tous les nombre, ainsi nd sera incrémenté. Et c'est le cas dans l'exercice.
Merci pour votre aimable commentaire. Bon courage et travaillez bien.
Cordialement.
@@algo-prog merci bcq ☺
De rien