Escolar Documentos
Profissional Documentos
Cultura Documentos
1 Dfinition
Un algorithme est une suite finie d'oprations ou rgles appliquer dans un ordre dtermin, un
nombre fini de donnes, pour arriver en un nombre fini d'tapes, un certain rsultat et cela
indpendamment des donnes.
Mots cls :
-> dmarche
-> prpare une programmation fiable (sans garantir que ce soit la meilleure solution toutefois)
Inconvnients :
-> dmarche pas forcment unique
-> on se limite souvent aux "bonnes pratiques"
-> peut-tre assimil une recette
Pour crire un algorithme il faut connatre les outils utiliser
Graphiquement :
spcifccaiio
Priblme
rsiluaiio
oioc
Algiriahme
cidcge
Prigrcmme
Algorithme / Programme C
count, val_max entier
saisir (val_maxi)
pour compteur = 1 val_max
afficher (count)
incrmenter count
fin pour count
#include <stdlib.h>
#include <stdio.h>
int saisir_val_max( int value );
int main (void)
{
long val_max;
long count;
for ( count = 1 ; count < val_max ; count ++ )
printf("Compteur : %d\n", count );
return EXIT_SUCCESS;
}
int saisir_val_max( value)
{
fscanf("Entrer valeur maxi : %d\n",&value);
return value;
}
Note: l'algorithme met en avance le concept, l'essentiel de la mthode, qui pourra tre
implmente en utilisant un langage de programmation.
L'algorithme est plus facile lire, et plus concis
la squence
l'alternative
l'itration
La squence :
C'est une suite d'instructions, excutes squentiellement, i.e. linairement la suite les unes des
autres.
Remarques:
Une squence est traduite en langage C par une suite d'instructions simples enchanes dans
un bloc, qui peut ne compter qu'une ligne. On parle alors d'instruction simple.
affectation : le priphrique d'entre est le clavier, celui de sortie une variable (ou une
constante) crit dans la mmoire du programme en cours d'excution
affichage: le priphrique d'entre est l'espace mmoire du programme, celui de sortie, l'cran
acquisition: priphrique d'entre est le clavier, en sortie, l'espace mmoire du programme
autres cas: entre : fichier, sortie cran
.... etc
L'alternative
Toute alternative est base sur une expression boolenne.
Une expression boolenne est une quation logique qui ne peut prendre que deux valeurs: VRAI ou
FAUX.
La valeur FAUX est represente par un 0 ( zro ) en langage C
La valeur vraie, par un entier non nul
Cette expression boolenne pourra tre construite l'aide de :
variables
valeurs
expressions mathmatiques
comparaisons ( vrai si gal, vrai si infrieur ou gal .. etc )
if 1 /* toujours vrai */
if ( 0 == sin(x) )
if ( a == 1 )
{
snprintf(stdout, sizeof(buff), "chaine %s " , string);
for (i = 0 ; i < 10 ; i+=1 )
{
compteur += 1;
}
}
if ( 0 != erreur )
EXIT_FAILURE; /* pas de { } si une seule ligne, amliore la lisibilit */
if defined (MACOSX) && !defined (LINUX ) || defined ( QUARTZ)
{
.....
}
if !( strcmp ( string1, string2 )) /* si strcmp() est vraie, elle retourne 0 */
{
/* cas ou string1 est gale string2 */
.....
}
else /* strings diffrentes */
{
}
si NOT ((a ET b) OU c ) pourrait s'crire sans parenthses : si NOT a ET b OU C
-> mais il vaut mieux en mettre , ce qui constitue une bonne habitude
Rappel: Thormes de De Morgan :
Premire forme : AB=AB
Seconde forme :
Exercice:
AB= AB