Académique Documents
Professionnel Documents
Culture Documents
Histoire :
A l'origine, un ordinateur ne comprenait que le langage binaire :
un programme tait constitu d'une suite de 0 et de 1
reprsentant un programme. Le programmeur devait lui-mme
traduire son programme sous cette forme. En 1950, Alan Turing
et Maurice V.Wilkes de l'universit de Cambridge branchent un
clavier un ordinateur, il est dornavant possible de rentrer des
mots associs au langage machine. Par exemple : mov, load,
sub Ces mots ne sont pas compris par lordinateur qui ne
comprend que le langage binaire. Il faut alors un assembleur
qui transforme le code en langage binaire.
La ncessit de crer un langage de haut niveau se fait sentir,
le FORTRAN (FORmula TRANslator, traducteur de formules) est
cr en 1957. Il est utilis pour des programmes
mathmatiques et scientifiques.
En 1970, Ken Thompson, cra un nouveau langage : Le B,
descendant du BCPL (Basic Combined Programming Language,
cr en 1967 par Martin Richards). Son but tait de crer un
langage simple, malheureusement, son langage fut trop simple
et trop dpendant de larchitecture utilise
En 1971 Dennis Ritchie commence mettre au point le
successeur du B, le C. Le rsultat est convaincant : Le C est
totalement portable (il peut fonctionner sur tous les types de
machines et de systmes), il est de bas niveau (il peut crer du
code aussi rapide que de lassembleur) et il permet de traiter
des problmes de haut niveau. Le C permet de quasiment tout
faire, du driver au jeu.
Le C devient trs vite populaire, tout le monde veut crer sa
version. Beaucoup de compilateurs qui voient le jour sont
incompatibles entre eux et la portabilit est perdue. Il est
dcid quil faut un standard pour le C. L'ANSI (American
National Standards Institute) sen charge en 1983. La plupart
Prsentation du C++:
Le C++ est un langage multi paradigme. Il supporte
essentiellement les paradigmes suivants :
programmation procdurale : il reprend essentiellement les
concepts du langage C, notamment la notion de fonction (une
procdure tant une fonction avec un retour de type 'void') ;
programmation structure : il reprend la notion struct du
langage C. Cette notion est considre en C++ aussi comme
des classes dont l'accs par dfaut est public ;
programmation oriente-objet : il implmente la notion de
classe (dont l'accs par dfaut est priv), d'encapsulation grce
aux restrictions d'accs (publique, protg, priv), d'hritage
(simple ou multiple) l'aide du mcanisme de drivation,
d'abstraction grce aux classes de base abstraites pures (on
peut parler d'interface bien que les hritages multiples sur une
interface C++ lvent des difficults montrant que leur
implmentation est plus proche d'une classe abstraite que
d'une vraie interface comme on peut en trouver en Java) ou
non, de polymorphisme dynamique (ou au runtime) grce aux
fonctions membres virtuelles ;
programmation gnrique : il implmente les fonctions et
classes gnriques.
Y1=
x 9
|(x 3)10| x1
2
X 10 y 10+ 1
|Y 2+3 1|
|7 x 39|
Y2=
1+ ( x3)
#include <conio.h>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int x,y ;
float y1,y2 ;
main ( )
{
printf("x = ");
scanf("x = %d",&x);
printf("y = ");
scanf("y = %d",&y);
y1= (abs (pow(x-3,10)-abs (sqrt (pow(x,2)-9)) / sqrt ( 1 +
sqrt (pow(x-3,2)));
printf("a= %f",a);
y2= (abs (7*pow(x,3) - 9)- abs(2/(y+3) + 1))/sqrt(pow(x,10) pow(y,10)+1);
printf("b= %f",b);
getch();
}
TP2:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
int i,j,n,v,m,r,S,Q;
main ()
{
printf(" n = ");
scanf(" %d",&n);
printf("m = ");
scanf("%d",&m);
S=0;
Q=1;
for (i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
v=i+j;
r=pow(v,2);
Q=Q*r;
}
S=S+2*i*Q;
}
printf("S=%d",S);
getch();
}
TP3:
1+ x
1+ x
1+ x
3
5
S=1+ 3 !+ x - 5 !+ x + 7 ! + x7 -
Le programme en c :
#include <stdio.h>
#include <conio.h>
#include <math.h>
int i,n,f,signe;
float p1,p2,S,x;
main ()
{
p1=p1*x*x;
p2=p1*x;
f=f*(2*i)*(2*i+1);
S=S+(1+p1)/(f+p2);
signe=-signe;
}
printf("S=%f",S);
getch ();
}
Introduction :
Le C est un langage plein de paradoxes. Pouvant aussi
bien s'accommoder d'applications bas niveau que proposer des
interfaces relativement proches des mthodes orientes objets,
ce langage a de quoi sduire un large public. Pourtant, force est
de constater qu'il a fait souffrir beaucoup de personnes et pas
seulement les programmeurs. Issu de l'poque o la mmoire
et les capacits de calcul taient encore des denres rares et
chres, les pionniers de la programmation ont trop souvent
privilgi le ct bas niveau de ce langage. Il en rsulta des
applications difficilement maintenables, abusant des aspects les
plus complexes ou non-portables qu'offre le C pour conomiser
le moindre cycle processeur. C'est de cette poque que sa
rputation d'assembleur plus compliqu et plus lent que
l'assembleur s'est forge, clipsant ses aspects de plus haut
niveau, qui pourtant mritent une meilleure estime.
Les fonctions de la bibliothque standard et surtout le langage
lui-mme contiennent beaucoup de piges , notamment par
les comportements indfinis, ou dpendants de
l'implmentation, qui rendent des bogues parfois trs difficiles