Address
12 Rue de Cléry, 75002 Paris
Work Hours
Jeudi et Vendredi: de 9H à 18H
Phase D’élaboration D’un Programme
Un Programme Avant Son Introduction En Production (Opérationnel) Passe Par 4 Phases :
Algo : nom_algo
Déclaration
//objets de données
Début
//traitement : actions
Fin nom_algo
On peut expliciter le rôle des objets de données ou celui des actions en insérant des commentaires. Un commentaire permet de documenter un algorithme. Un commentaire est inséré entre /* et */, ou s’il peut tenir sur une seule ligne, il démarre avec //.
(L’importance de la documentation +++ importance pour les autres dev mais aussi pour la maintenance de l’algorithme. Obligation doc code et doc autre format)
b. Les types et les obj de données
Un obj de données est défini par :
x y x et y x ou y x Non(x)
0 0 0 0 0 1
0 1 0 1 1 0
1 0 0 1
1 1 1 1
– Les opérations de test : >, >=, <, <=, !=, =.
A ne peut pas utiliser : <> pour différent
e. Exemple complet
Rappel du premier exemple en MCA
Algo: calcul_moyenne
Déclaration
note1, note2, note3, s, m : réel
Début
afficher("donner la note 1 : ")
saisir (note1)
afficher ("Donner la note 2 : ")
saisir (note2)
afficher ( "Donner la note 3”)
saisir (note3)
s<- note1+note2+note3
m<- s/3
afficher ("La moyenne est de : ", m)
fin calcul_moyenne
Le Langage C :
1. Introduction
Le C est né de l’expérience de M. Denis Ritchie qui travaillait dans les laboratoires AT&T de Thomson en 1972 sur le système d’exploitation Unix. (la bible du C)
Les ancêtres du C :
– Algol en 1960
– Basic en 1966
Le C existe sur toutes les plateformes et est gratuit :
– MSDOS : Turbo C
– Windows : Dev C++, Code Blocs, Visual Studio C++
– Linux : Unix, VMS, MAC : Compilateur GNU gcc
Les langages respectant la syntaxe du C :
– C++ (1980), C#
– Java
– PHP, python, Ruby
2. Les types et les objets
Les types :
Algo Langage
Entier int, short, long, unsigned
Réel float (6 décimales) , double( 12 décimales)
caractère char
chaîne tableau de char
booleen assimilé à int (0,1)
Déclaration de variables : Types nomVariable ;
Exemple :
Int heures;
float prix;
Déclaration constante :
const type nomConstante = valeur;
Exemple :
const float tva = 20
3. Les actions
a. L’affichage
Algo : afficher C : printf
Syntaxe :
printf(« texte »);
printf(« format », nomVariable);
Format : %d pour un entier
%f pour un float
%c pour un char
%s pour un string (chaine)
Exemple : printf(« La moyenne est de : %f », moyenne);
b. La saisie
Algo : Saisir Langage C: scanf
Syntaxe :
scanf(« format », & nomVariable);
Format : %d pour un entier
%f pour un float
%c pour un char
%s pour un string (chaine)
& : Opérateur d’adresse mémoire qui donne l’adresse de la variable.
Exemple :
scanf(« %d », & heure);
c. L’affectation
Algo Langage C
<- = affectation
= == test d’affectation
Syntaxe :
s = lg*lr;
Les opérations :
– Arithmétiques : + ; – ; * ; / ; %
S’ajoutent à ces opérations les raccourcis :
++ ; — : x++; idem que x= x+1;
++x; idem que x= x+1;
+= ; -= ; *= ; /= ; %=
raccourcis de : x=x+a; idem que x += a;
raccourcis de : x= x/2 idem que x/=2
– Opérations logiques
Algo C
ET &&
OU ||
NON !
– Opérations de test
– >, >=, <, <=, !=, ==
Exemple :
Traduction en l’algo et en C
Déclaration
note1, note2, note3, s, m : réel
Début
afficher("donner la note 1 : ")
saisir (note1)
afficher ("Donner la note 2 : ")
saisir (note2)
afficher ( "Donner la note 3")
saisir (note3)
s<- note1+note2+note3
m<- s/"
afficher ("La moyenne est de : ", m)
fin calcul_moyenne
#include<stdio.h>
int main() {
float, note1, note2, note3, s, m;
printf("donner la note 1 : ");
scanf (%f, ¬e1);
printf ("Donner la note 2 : ");
scanf (%f, ¬e2);
printf ( "Donner la note 3");
scanf (%f, ¬e3);
s=note1+note2+note3;
m=s/3;
printf ("La moyenne est de : ", m);
return 0;
}
include : inclusion des librairies
stdio. h: standard librairie input output
fonctions d’entrée/sorties telles UE PRINTF? SCANTF
string.h : fonctions de chaines de caractères
math.h : fonctions mathématiques
Syntaxe d’algo :
si condition
alors instruction
finsi
Syntaxe en C et PHP :
If (condition) {
instruction;
}
L’alternative simple conditionne l’exécution d’une ou de plusieurs instructions. Si la condition est vérifiée, l’instruction est exécutée. Dans le cas contraire, le bloc d’instruction est simplement sauté (ignoré).
La condition peut être simple ou composée à l’aide des opérateurs logiques qui sont :
ET (&&), OU (||), NON(!).
Exemple :
Si note<0 ou note>20
alors afficher ("erreur de saisie de la note")
Fin si
If (note<0 || note>20){
printf("Erreur de saise de la note");
}
Alternative double :
Syntaxe :
Si condition
Alors instruction1
Sinon instruction2
fin si
if (condition) {
instruction1;
} else {
instruction2;
}
L’alternative double permet l’exécution de l’une des instructions selon que la condition est vérifiée ou non. Il y a une exclusion mutuelle, soit la première instruction qui est exécutée, soit la deuxième instruction qui est exécutée, mais jamais les deux à la fois.
Le SINON exprime la négation du ALORS.
Syntaxe :
Si moyenne>=10 10
alors afficher ("Etudiant admis")
sinon afficher ("Etudiant recalé")
Fin si
if (moyenne>=10){
printf ("Etudiant admis");
} else {
printf ("Etudiant recalé");
}
Choix multiple
‘Dans certaines résolutions de problèmes en informatique, on utilisera des alternatives simples ou doubles en cascades (imbrication). Les schémas obtenus peuvent être illisibles et difficiles à comprendre. Pour cela, Le Selon (Switch) est utilisé pour rendre les programmes plus ergonomiques.
Syntaxe :
Selon expression faire
cas valeur1 : instruction1
cas valeur2 : instruction2
…
cas valeurN : instructionN
Fin Selon
Switch (expression){
case valeur1 : instruction1; break;
…
case valeurN : instructionN; break;
default : instruction_par_defaut; break;
}
L’expression doit être de type énuméré : entier(int), ou caractère (char). En PHP , l’expression peut être une chaîne de caractères.
Exemple :
Selon jour faire
cas1 : cas2 : cas3 : cas4 : cas5:
Afficher ("C’est un jour de travail")
cas6 : cas7 :
Afficher ("C’est un jour de repos")
sinon : afficher ("erreur de saisie")
fin selon
Switch (jour){
case 1 : case 2 : case 3 : case 4 : case 5:
printf ("C'est un jour de travail")
break;
case 6 : case 7 :
printf ("C’est un jour de repos")
break;
default : printf ("erreur de saisie"); break;
}
Algo : perimetre_surface
Déclaration
L, l, perimetre, surface: réel
Début
afficher("donner la longueur du rectangle : ")
saisir (L)
afficher ("donner la largeur du rectangle : ")
saisir (l)
perimetre<-2*L+2*l
surface<-l*L
afficher("le périmètre est de ", perimetre)
afficher("la surface est de ", surface)
fin perimetre_surface
#include<stdio.h>
int main(){
float lg, lr, p, a;
printf("Donner la longueur : ");
scanf("%f", &lg);
printf("Donner la largeur : ");
scanf("%f", &lr);
p = 2*(lg+lr);
a = lg*lr;
printf("Le périmètre est de : %f" p);
printf("L'air est de : %f", a);
return 0;
}
<!DOCTYPE html>
<html>
<head>
<title>Rectangle</title>
<meta charset="utf-8"/>
</head>
<body>
<center>
<h1>Exercice rectangle</h1>
<p>
Ecrire un script PHP qui calcule la surface et le périmètre d'un rectangle.
</p>
<form method="post" action="rectangle.php">
<table border = 0>
<tr>
<td>longeur:</td>
<td><input type="text" name="lg"/> </td>
</tr>
<tr>
<td>largeur:</td>
<td><input type="text" name="lr"/></td>
</tr>
<tr>
<td><input type="reset" name="Annuler" value="Annuler"/></td>
<td><input type="submit" name="Valider" value="Valider"/></td>
</tr>
</table>
</form>
<?php
if(isset($_POST['Valider'])){
$lg = $_POST['lg'];
$lr = $_POST['lr'];
//calcul
$s = $lg*$lr;
$p = 2*($lg+$lr);
printf("<br/> La surface est de : %d", $s);
printf("<br/> Le périmètre est de : %d", $p);
}
?>
</center>
</body>
</html>
Algo : temps_en_ss
Déclaration
HH, mm, ss, tss : entier
Début
afficher("Donner le nombre d'heures : ")
saisir(HH)
afficher("Donner le nombre de minutes : ")
saisir(mm)
afficher("Donner le nombre de secondes : ")
saisir(ss)
tss<-mm*60+HH*3600+ss
afficher("Le total de secondes pour le temps saisie est de : " ,tss)
fin temps_en_ss
#include<stdio.h>
int main(){
int h, min, s, tot;
printf("donner les heures : ");
scanf("%d", &h);
printf("donner les minutes : ");
scanf("%d", &min);
printf("donner les secondes : ");
scanf("%d", &s);
tot = (h*60*60)+ (min*60)+s;
printf("Cela fait : %d secondes", tot );
return 0;
}
<!DOCTYPE html>
<html>
<head>
<title>Convertir le temp en second</title>
<meta charset="utf-8">
</head>
<body>
<center>
<h1>Convertir le temp en second</h1>
<p>
Ecrire un script PHP qui convertire le temp en second.
</p>
<form method="post" action="convertion_en_second.php">
<table border = 0>
<tr>
<td>heures:</td>
<td><input type="text" name="h"> </td>
</tr>
<tr>
<td>minutes:</td>
<td><input type="text" name="min"></td>
</tr>
<tr>
<td>seconds:</td>
<td><input type="text" name="s"> </td>
</tr>
<tr>
<td><input type="reset" name="Annuler" value="Annuler"></td>
<td><input type="submit" name="Valider" value="Valider"></td>
</tr>
</table>
</form>
<?php
if(isset($_POST['Valider'])){
$h = $_POST['h'];
$min = $_POST['min'];
$s = $_POST['s'];
//calcul
$tot = 60*(($h*60)+$min)+$s;
printf("<br/> Le temp en second est de : %d", $tot);
}
?>
</center>
</body>
</html>
Algo : salaire_mensuel_salarie
Déclaration
HH, Jr: Entier
Rem, Benef, Pr, Salaire : Réel
Début
afficher("Donner le nombre d'heures : ")
saisir =(HH)
afficher("Donner le nombre de jours : ")
saisir =(Jr)
afficher =("Donner la taux/horaire : ")
saisir =(Rem)
afficher("Donner le bénéfices : ")
saisir(Benef)
afficher(" Donner le pourcentage : ")
saisir =(Pr)
Salaire<-Rem*Jr*HH+Pr*Benef/100
afficher("Le salaire mensuel est de : ", Salaire)
Fin salaire_mensuel_salarie
#include<stdio.h>
int main() {
float r, j, h, p, b, tot;
printf("Donner la rémunérations : ");
scanf("%f", &r);
printf("Donner Le nombre de jour : ");
scanf("%f", &j);
printf("Donner les heures : ");
scanf("%f", &h);
printf("Donner pourcentage : ");
scanf("%f", &p);
printf("Donner Les bénéfices : ");
scanf("%f", &b);
tot = r*j*h+((p*b)/100);
printf("Le salaire est de : %f", tot);
return 0;
}
<!DOCTYPE html>
<html>
<head>
<title>salaire mensuel</title>
<meta charset="utf-8">
</head>
<body>
<center>
<h1>Exercice salaire mensuel</h1>
<p>
Ecrire un script PHP qui calcule le salaire mensuel total d'un employer.
</p>
<form method="post" action="salaire_mensuel.php">
<table border = 0>
<tr>
<td>rémunération:</td>
<td><input type="text" name="r"> </td>
</tr>
<tr>
<td>nombre de jour:</td>
<td><input type="text" name="j"></td>
</tr>
<tr>
<td>les heures:</td>
<td><input type="text" name="h"> </td>
</tr>
<tr>
<td>poucentage:</td>
<td><input type="text" name="p"> </td>
</tr>
<tr>
<td>les bénéfices:</td>
<td><input type="text" name="b"> </td>
</tr>
<tr>
<td><input type="reset" name="Annuler" value="Annuler"></td>
<td><input type="submit" name="Valider" value="Valider"></td>
</tr>
</table>
</form>
<?php
if(isset($_POST['Valider'])){
$r = $_POST['r'];
$j = $_POST['j'];
$h = $_POST['h'];
$p = $_POST['p'];
$b = $_POST['b'];
//calcul
$tot = $r*$j*$h*(($p*$b)/100);
printf("<br/> La surface est de : %f", $tot);
}
?>
</center>
</body>
</html>
Algo : Aire_de_Lombre
Déclaration
Rt, RL, DTL, Aire : Réel
Début
afficher ("Donner le rayon de La terre : ")
saisir (Rt)
afficher ("Donner le rayon de la lune : ")
saisir (RL)
afficher ("Donner la distance terre lune : ")
saisir (DTL)
Aire<-(DTL*RT*2) -((Rt-RL)*DTL)
Afficher ("L'aire de l'ombre est de : ", Aire)
fin Aire_de_Lombre
#include<stdio.h>
int main() {
float rt, rl, dtl, aire;
printf("Donner le rayon de la terre : ");
scanf("%f", &rt);
printf("Donner le rayon de la lune : ");
scanf("%f", &rl);
printf("Donner la distance terre-lune : ");
scanf("%f",&dtl);
aire = (dtl*rt*2)-((rt-rl)*dtl);
printf("L'aire de l'ombre est de : %f", aire);
return 0;
}
<!DOCTYPE html>
<html>
<head>
<title>ombre entre terre et lune</title>
<meta charset="utf-8">
</head>
<body>
<center>
<h1>Exercice ombre entre terre et lune</h1>
<p>
Ecrire un script PHP qui calcule la surface de l'ombre entre terre et lune
</p>
<form method="post" action="ombre_entre_terre_et_lune.php">
<table border = 0>
<tr>
<td>rayon de la lune:</td>
<td><input type="text" name="rl"> </td>
</tr>
<tr>
<td>rayon de la terre:</td>
<td><input type="text" name="rt"> </td>
</tr>
<tr>
<td>distance entre terre et lune:</td>
<td><input type="text" name="tl"> </td>
</tr>
<tr>
<td><input type="reset" name="Annuler" value="Annuler"></td>
<td><input type="submit" name="Valider" value="Valider"></td>
</tr>
</table>
</form>
<?php
if(isset($_POST['Valider'])){
$rl = $_POST['rl'];
$rt = $_POST['rt'];
$tl = $_POST['tl'];
//calcul
$a1 = $tl*$rt+2;
$a2 = ($rt-$rl)*$tl;
$a = $a1-$a2;
printf("<br/> La surface de l'ombre de la lune sur la terre est de : %f", $a);
}
?>
</center>
</body>
</html>
Algo : temps_quai
Déclaration
Vb, HH, MM, SS, TSS : Entier
Ht, L, Qb : Réel
Début
Afficher ("Donner La vitesse du bateau : ")
saisir(Vb)
Afficher("Donner la longueur du laser : ")
Saisir(L)
Afficher ("Donner La hauteur du phare : ")
saisir(Ht)
Qb <- V L*L-(HT/100)*(HT/100)
TSS <- (Qb/Vb) *3600
HH <- TSS/3600
MM <- (TSS%3600/60)
SS <- (TSS%3600)%60
Afficher("Temps pour arriver à quai : ",HH, MM, SS)
fin temps_quai
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main() {
int vb, hh, mm, ss, tss;
float ht, longr, qb;
printf("Donner la vitesse du bateau : ");
scanf ("%d", &vb);
printf("Donner la longueur du laser : ");
scanf ("%f", &longr);
printf("Donner la hauteur du phare : ");
scanf ("%f", &ht);
qb=sqrtf (pow(longr,2)-pow((ht/100),2));
tss=(qb/vb)*3600;
hh=tss/3600;
mm=(tss%3600)/60;
ss=(tss%3600)%60;
printf("Temps pour arriver : %d : %d : %d",hh, mm, ss);
system("pause");
return 0;
}
<!DOCTYPE html>
<html>
<head>
<title>bateau</title>
<meta charset="utf-8">
</head>
<body>
<center>
<h1>Exercice Bateau</h1>
<p>
Ecrire un script PHP qui calcule le temps que le bateau va mettre pour arriver a quai.
</p>
<form method="post" action="bateau.php">
<table border = 0>
<tr>
<td>Vitesse du bateau:</td>
<td><input type="text" name="vb"> </td>
</tr>
<tr>
<td>Longeur du laser:</td>
<td><input type="text" name="lz"></td>
</tr>
<tr>
<td>Hauteur du phare:</td>
<td><input type="text" name="ht"> </td>
</tr>
<tr>
<td><input type="reset" name="Annuler" value="Annuler"></td>
<td><input type="submit" name="Valider" value="Valider"></td>
</tr>
</table>
</form>
<?php
if(isset($_POST['Valider'])){
$vb = $_POST['vb'];
$lz = $_POST['lz'];
$ht = $_POST['ht'];
//calcul
$qb = sqrt(pow($lz, 2)-pow($ht, 2));
$tss = ($qb/$vb)*3600;
$hh = $tss/3600;
$mm = ($tss%3600)/60;
$ss = ($tss%3600)%60;
printf("Le temps est de : %d :%d :%d", $hh, $mm, $ss);
}
?>
</center>
</body>
</html>
Incroyable ton site.
GG
test