Algorithme - aide
zazou26
-
Kuku007 Messages postés 183 Date d'inscription Statut Membre Dernière intervention -
Kuku007 Messages postés 183 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai une procédure et une séquence algo qui exploite la procédure suivante:
//--permet de contrôler si un nombre est pair --
procédure pair (E a:entier, S b:booléen)
debut
b <-- vrai
si a mod 2 <> 0 alors
b <-- faux
finsi
fin
// --séquence permettant de forcer la saisie d'un nombre pair --
...
repeter
saisir nb
pair (nb, estpair)
jusqu'à est pair
...
mes questions sont les suivantes:
Quelles variables je dois déclarer en local du programme principal ?
comment je peux transformer la procédure en fonction la plus optimisée possible ?
quelqu'un a une idée d'écriture de séquence algorithmique la plus simple possible pour qu'elle puisse marcher avec la fonction la plus optimisée possible ?
Merci d'avance pour votre aide.
j'ai une procédure et une séquence algo qui exploite la procédure suivante:
//--permet de contrôler si un nombre est pair --
procédure pair (E a:entier, S b:booléen)
debut
b <-- vrai
si a mod 2 <> 0 alors
b <-- faux
finsi
fin
// --séquence permettant de forcer la saisie d'un nombre pair --
...
repeter
saisir nb
pair (nb, estpair)
jusqu'à est pair
...
mes questions sont les suivantes:
Quelles variables je dois déclarer en local du programme principal ?
comment je peux transformer la procédure en fonction la plus optimisée possible ?
quelqu'un a une idée d'écriture de séquence algorithmique la plus simple possible pour qu'elle puisse marcher avec la fonction la plus optimisée possible ?
Merci d'avance pour votre aide.
A voir également:
- Algorithme - aide
- Logiciel algorithme euromillion - Télécharger - Loisirs créatifs
- Logiciel algorithme gratuit - Télécharger - Édition & Programmation
- Algorithme euromillion excel gratuit - Forum Algorithmes / Méthodes
- Algorithme ajout rapide snapchat - Forum Snapchat
- Ajout rapide snap - Forum Snapchat
1 réponse
//--permet de contrôler si un nombre est pair --
procédure pair (E a:entier, S b:booléen)
debut
b <-- vrai
si a mod 2 <> 0 alors
b <-- faux
finsi
fin
// --séquence permettant de forcer la saisie d'un nombre pair --
...
repeter
saisir nb
jusqu'à est PAIR (NB, ESTPAIR)
...
Hum j'ai du mal à saisir le réel sens de ta question. Un algorithme selon moi reste une idée directrice générale de ce que l'on souhaite réaliser. En d'autres termes, je ne vois pas comment optimiser du générique... Il faudrait choisir le langage de programmation et ensuite implémenter une version optimisée.
Par exemple en langage C :
#include <stdio.h>
//Retourne vrai si a est pair
int pair (int a) {
return a % 2;
}
//Force l'utilisateur à saisir un nombre pair
int main (){
int n,val;
do {
printf("Entrez un nombre\n");
scanf("%d",&n);
}while (pair(n));
system ("pause");
return 0;
}
Par exemple en Java :
import java.util.Scanner;
public class Test {
//Retourne vrai si a est pair
private static boolean pair (int a){
if(a%2==0)return true;
return false;
}
//Force l'utilisateur à saisir un nombre pair
public static void main(String[] args) {
do {
System.out.println("Entrez un nombre");
}while(pair(new Scanner(System.in).nextInt()));
}
}
Comme je l'ai dis on voit bien qu'il y a des légères différences d'optimisation en fonction du langage utilisé.
procédure pair (E a:entier, S b:booléen)
debut
b <-- vrai
si a mod 2 <> 0 alors
b <-- faux
finsi
fin
// --séquence permettant de forcer la saisie d'un nombre pair --
...
repeter
saisir nb
jusqu'à est PAIR (NB, ESTPAIR)
...
Hum j'ai du mal à saisir le réel sens de ta question. Un algorithme selon moi reste une idée directrice générale de ce que l'on souhaite réaliser. En d'autres termes, je ne vois pas comment optimiser du générique... Il faudrait choisir le langage de programmation et ensuite implémenter une version optimisée.
Par exemple en langage C :
#include <stdio.h>
//Retourne vrai si a est pair
int pair (int a) {
return a % 2;
}
//Force l'utilisateur à saisir un nombre pair
int main (){
int n,val;
do {
printf("Entrez un nombre\n");
scanf("%d",&n);
}while (pair(n));
system ("pause");
return 0;
}
Par exemple en Java :
import java.util.Scanner;
public class Test {
//Retourne vrai si a est pair
private static boolean pair (int a){
if(a%2==0)return true;
return false;
}
//Force l'utilisateur à saisir un nombre pair
public static void main(String[] args) {
do {
System.out.println("Entrez un nombre");
}while(pair(new Scanner(System.in).nextInt()));
}
}
Comme je l'ai dis on voit bien qu'il y a des légères différences d'optimisation en fonction du langage utilisé.