Algo C Ii
Algo C Ii
Algo C Ii
CHAPITRE 1 : introduction
I) Historique
¿
CHAPITRE 1 : introduction
^ Vrai Faux
Vrai Vrai Faux
Faux Faux Faux
v Vrai Faux
Vrai Vrai Vrai
Faux Vrai Faux
Vrai Faux
Faux vrai
Les instructions entrée /sortie :
Sortie :afficher
Permet d’afficher une, expression , une variable ou
une constante à l’écran.
Syntaxe :
Afficher (‘’constante chaine’’ + expression) ;
Exemple :
Afficher (‘’votre age est : ‘’ + varage) :
Entreé : lire
Permet de lire une variable au clavier.
Syntaxe
Lire(nom_variable) :
Exemple :
Lire(varage)
EXO : ECRIRE les instructions pour visualiser ce
écran .
Entrer a :4
Enter b :7
Somme(7,4)=11
Afficher (« entrer a : ») ;
Lire(a) ;
Afficher (« entrer b : ») ;
Lire(b)
Afficher(‘ somme(‘ +a+ ’,’ +b+’)=’
+a+b)
V- les structures de contrôle
V-1 . si condition alors … sinon finsi
Permet de realiser une alternative simple
EXO DE MAISON :
Ecrire un algorithme qui permet de lire
3entiers a,b,c et calculer le plus grand
SOLUTION :
1er cas :
a) Résultat
max est un entier
b) Données
a , b , c sont des entiers
c) Variable de travail
Néant
d)L’enchaînement logique des opérations
Début
Afficher (« entrer a : ») ;
Lire(a) ;
Afficher (« entrer b : ») ;
Lire(b) ;
Afficher (« entrer c : ») ;
Lire(c) ;
si a<b alors
a← b;
finsi
si a<c alors
a← c;
finsi
max ←a ;
afficher
(« maximum= »+max) ;
finsi
2 cas :
si a>b ∩ a>c alors
max←b ;
sinon
si b>c alors
max←b ;
sinon
max ←c ;
finsi
finsi
Logigramme correspondant
Condition faux
bloc d’instruction 2
vrai
Bloc d’instructions 1
Avec le 2 cas on a le logigramme suivant :
V-2. selon que cas cas1 … cas casn autrement
finselon(alternative multiple)
Cette structure de contrôle est utilisée quand il
existe plusieurs choix à faire selon que la valeur prise
par la variabe de condition
Syntaxe :
Selon que variable – condition
Cas valeur 1 :
Bloc d’instructions 1
Cas valeur 2 :
Bloc instructions 2
Cas valeur 3 :
Bloc d’instructions n
Autrement :
Fin selon que
NB : pour eviter d’exécuter la suite des blocs
d’instructions suivantes on utilise l’instruction exit
EXO 1
Ecrire un algorithme qui permet de lire un caractère et
retourner si le caractère est une voyelle ou une consonne
EXO2
Ecrire un algorithme qui permet de lire un nombre
entier et retourner sa traduction en lettre
Solution EXO 1 :
a)résultat : type booléen
b)données :caract. est un caractère
c) variable de travail :néant
d)enchainement logique des opérations :
début
afficher(« entrer caract : »)
lire(caract) ;
si (caract >a ∩ caract ≤ z) alors
selonque (caract)
cas ’a’:
cas ‘e ‘ :
cas ‘i’ :
cas ‘u’ :
cas ‘o’ :
cas’y’ :
type←v
exit
autrement :
type ←f ;
fin selonque
si (type) alors
afficher (caract+ ‘ est une voyelle’) ;
sinon
afficher(carct + ‘ est une consonne ‘) ;
finsinon
sinon
afficher (caract +’est inconnu ‘) ;
fin si
fin
la SUITE DU COURS SE TROUVE DANS CE PDF
cc
SOLUTION DE L’exo 1 :
M procédure que pour la boucle tant que (résultat,
donnés ,var de travail, enchainement logique )
Début
Afficher (« entrer max : ») ;
Lire(max)
i←0 ;
répéter
afficher (i+ « ») ;
i← i+5
jusqu’à (i≤ max ¿ ;
fin
SOLUTION DE l’exo 2 :
M procédure (résultat, données, var de travail :i,
enchainement logique)
Début
Afficher (« entrer a : ») ;
Lire(a) ;
Afficher (« entrer b : ») ;
Lire(b) ;
p← 1;
i ← 1;
répéter
p← p xa ;
i← i+1 ;
jusqu’à (i≤ b ¿ ;
afficher(‘puissance ”+a+”, “+b+”=+p ‘)
bloc initialisation
instruction-à-repeter
bloc incrémentation
Condition
fin
EXO 1 :
Debut
i← O;
répétera
afficher(i+’ ‘)
i← i+5 ;
i≤ max
fin
Remarque :
Différences entre les boucles tant que et repeter
Jusqu’à :
la séquence d’instructions est exécutée au
moins une fois dans la boucle repeter
jusqu’à, alors qu’elle peut ne peut pas
être exécutée dans le cas du tant que
Par référence :
ref arg :type
la fonction travaille directement dans la variable
passée en paramètre
Par valeur :
ref arg :type
la fonction travaille sur une copie de la variable
passée en paramètre
REMARQUE :
1. Une fonction peut fournir comme résultat :
Un type arithmétique
Rien
2 . si une fonction ne fournit pas de résultat , il faut
indiquer vide comme types de résultat.
3 . Dans le cas où type- résultat est différent du type vide,
le corps de la fonction doit obligatoirement comporter
une instruction retourner, dite instruction de retour à la
fonction appelante. La syntaxe de cette instruction est :
retourner expression ;
EX :
Fonction exemple(val n entier, ref m :entier) :vide
Début
n← 5
m← 7
Fin
Finfonction
A : Exemple de correction
Corrigés de L’EXO1 :
Fonctionproduit(a :entier, b :entier) :entier
Var ;
P :entier ;
Début
p← a xb;
retourner p ;
fin
finfonction
II. Différent type de passage de paramètres
En ce qui concerne le passage de paramètres à une
procédure ou fonction, le programmeur a deux besoins
fondamentaux :
Soit il désire passer une valeur qui sera exploitée
par l’algorithme de la procédure(c’est ce dont on
a besoin quand on écrit par ex sin(x) . une telle
façon de passer un paramètre s’appelle du,
passage par valeur ;
Soit il désire passer une référence à une variable,
de manière a permettre à la procédure de
modifier la valeur de cette variable
Exercice :
Ecrire la fonction qui permet la permutation de a,b
Solution :
Fonctionechange(ref a :entier, ref b :entier) :vide
Var
Temps :entier
Debut
temps← a
a← b
b← temps
fin
foncfonction
III- La récursivité
La récursivité est possible dans bcp de langages ;c’est la
propriété qu’a une fonction de s’auto appelé( cad de se
répéter elle m plusieurs fois ).
EXERCICES
1- Considérons une suite
U0=1
U0=2Un+1 ∀ n ≥1
Ecrire une fonction récursive permettant de
calculer le n terme de cette suite
Ecrire une fonction permettant de calculer le
factoriel d’un nombre entier quelconque positif
PROGRAMmATION C :
Plan
Chapitre 1 : présentation et généralité sur le langage
c
Chapitre 2 :outils de l’algorithme en langage c
Chapitre 3 :fonction en langage c
Chapitre 4 : les tableaux
Chapitre 1 :
A. Historique et évolution
Les années 1967et 19785 (structuration)
1970 :PASCAL
1972 : c’est le 1er langage de programmation système
(années 70 par Dennis Ritchie aux laboratoires Bell).
B . les familles de langages
Ils sont composés de 2 langages :
Les langages orientés procédures (c)
Les langages orientés objets (java)
les langages informatiques du point de vue
compilation ou interprétation
les langages interprétés( java script)
les langages compilés ©
les langages intermédiaires (python)
2) déclarations de variables :
3) définition de fonctions : ce sont des sous-
programmes dont les instructions vont définir
un traitement sur des variables.
SYNTAXE :
Type -résultat nom fonction (type1 arg, …type
n arg){
« déclaration de variables locales »
« liste d’instructions »
}
EX de programme en c :
#include « stdio.h »
int addition(int a, int b)
{ int s
s =a+b
returns;
}
Autre méthode:
int somme(int a; int b)
{
Return a+b ;
}
Int main ()
{ int a,b ;
Printf(« entrer a : »)
Scanf («%d »,¿ a ¿ ;
Printf(« entrer b: »)
Scanf («%d »,¿ b ¿ ;
Printf(« somme (%d,%d)=%d\n »,a,
b ,addition(a,b));
Printf(« produit(%d,%d)=%d\n ,a ;b ,
produit(a,b));
Return o
E- l’entrée-sortie
Il s’agit des fonctions de la librairie standard stdio.h
utilisées avec les unités classiques d’entrées-
sorties,qui sont respectivement le clavier et l’ecran
La fonction printf
Syntaxe :
Printf(« chaine de contrôle [%type1type2,…] » ,
[expression1,….,expression n]) ;
%type sont :
CHAINE DE
CONTROLE Le type entier(int) en c
est représenté par %d
Expression
EX
EXO:
Ecrire un programme qui permet de lire 3 entiers
a;b;c et de calculer le plus petit
#include¿stdio.h¿
Int main ()
printf( entrer a: )
scanf( %d βa )
printfenter b :
scanf( %d ; βb )
printf( entrer c : )
scanf( %d βc )
if min=a¿ b
printf( %d ; %d=%d )
if c=min ;and , min ¿ c
printf( %d ; %d=%d )
return 0