Découverte du c

qu'est-ce que le code ?

qu'est-ce que le code ?

UNIX / Linux

Linux

UNIX / Linux

Terminal

Permet d'interagir directement avec l'ordinateur

UNIX / Linux

ls (list): Liste les fichiers / dossiers

mkdir (make directory): Crée un dossier


cd (change directory): Change de dossier

UNIX / linux

emacs

Permet de modifier des fichiers

Sauvegader: Ctrl + X  Ctrl + S

Quitter: Ctrl + X, Ctrl + C

UNIX / Linux

Récapitulatif:

ls: Affiche le contenu d'un dossier

cd: Permet de se déplacer dans un dossier

mkdir: Permet de créer un dossier

emacs: Permet de modifier des fichiers

Objectif:

  • Créer un Dossier JD,
  • Se déplacer dans le dossier JD
  • Créer un fichier contenant votre nom
  • Afficher le contenu du dossier

Le projet

Les variables

Nombre entier

Nombre à virgule

Lettre

int

float

char

Les variables

type nom;

nom = valeur;

Les variables

int carte;

carte = 10;

rENDRE LE PROGRAMME COMPREHENSIBLE PAR L'ORDINATEUR

$> gcc fichier.c fonctions.c

Mais Comment lancer le programme ?

$> ./a.out

Les variables

int carte;

carte = 10;
afficher_carte(carte);

Objectif: Afficher l'As

$> gcc fichier.c fonctions.c
$> ./a.out

Les conditions

On passe le feu

On ne passe pas le feu

Le feu est vert ?

si oui

si non

Les conditions

if (le feu est vert)
{
  J'avance
}
else
{
  Je m'arrête
}

Les conditions et comparaisons

Strictement plus grand

Strictement plus petit

Plus grand ou égal

Plus petit ou égal

Égal

Diffèrent

>

<

>=

<=

==

!=

Les conditions

int carte_j1;
int carte_j2;

carte_j1 = 10;
carte_j2 = 5;

if (carte_j1 > carte_j2)
{
  afficher("Joueur 1 à gagné !");
}
else
{
  afficher("Joueur 2 à gagné !");
}

Strictement plus grand

Strictement plus petit

Plus grand ou égal

Plus petit ou égal

Égal

Diffèrent

>

<

>=

<=

==

!=

Les conditions

int carte_j1;
int carte_j2;

carte_j1 = 10;
carte_j2 = 5;

if (carte_j1 > carte_j2)
{
  afficher("Joueur 1 à gagné !");
}
else if (carte_j1 < carte_j2)
{
  afficher("Joueur 2 à gagné !");
}
else
{
  afficher("Egalitée");
}

Les conditions

int carte_j1;
int carte_j2;

int score_j1;
int score_j2;

score_j1 = 0;
score_j2 = 0;

carte_j1 = 10;
carte_j2 = 5;

if (carte_j1 > carte_j2)
{
  ...
}
else if (carte_j1 < carte_j2)
{
  ...
}
else
{
  afficher("Egalitée !");
}
...

Objectif :

  • Augmenter le score du joueur avec la meilleure carte
  • Afficher le gagnant

Strictement plus grand

Strictement plus petit

Plus grand ou égal

Plus petit ou égal

Égal

Diffèrent

>

<

>=

<=

==

!=

Les boucles

Les boucles

while (le feu n'est pas vert)
{
  je m'arrête;
}

Les boucles

int carte_j1;
int carte_j2;

carte_j1 = 10;
carte_j2 = 1;

while (carte_j1 > carte_j2)
{
  carte_j2 = carte_j2 + 1;
}

Les boucles

int carte_j1;
int carte_j2;

int score_j1;
int score_j2;

score_j1 = 0;
score_j2 = 0;

carte_j1 = tirer_carte();
carte_j2 = tirer_carte();

if (carte_j1 > carte_j2)
{
    score_j1 = score_j1 + 1;
} 
else if (carte_j2 > carte_j1) 
{
    score_j2 = score_j2 + 1;
}
else
{
    afficher("Egalitée!");
}



if (score_j1 > score_j2)
{
    afficher("J1 à gagné!");
} 
else
{
    afficher("J2 à gagné!");
}

Objectif :

  • Lancer de nouveaux tirages tant que le joueur 1 n'a pas 10 points
  • Afficher le déroulement de la bataille
while (condition)
{
    action;
}

Objectif final

int carte_j1;
int carte_j2;

int score_j1;
int score_j2;

score_j1 = 0;
score_j2 = 0;

while (score_j1 < 10 && score_j2 < 10)
{
    carte_j1 = tirer_carte();
    carte_j2 = tirer_carte();

    if (carte_j1 > carte_j2)
    {
        score_j1 = score_j1 + 1;
    } 
    else if (carte_j2 > carte_j1) 
    {
        score_j2 = score_j2 + 1;
    }
    else
    {
        afficher("Egalité!");
    }
}


if (score_j1 > score_j2)
{
    afficher("J1 a gagné!");
} 
else
{
    afficher("J2 a gagné!");
}
  • Que faire en cas d'égalité ?

afficher_bataille(carte1, carte2);

 

JD

By foret_a