logo

Général

Accueil

Présentation section

Matériel section

Trombinoscopes

Liens

Plan du site

Contactez-nous

CIEL 1

Langage C

Langage C++

Langage C#

Linux sur Raspberry

TP Arduino

UML/SysML

Mini-projets

Math

CIEL 2

UML

Rasberry

Système Num. 1

TP C Visual Studio

TP C++ Arduino

Aide spécifique Java

TP C/C++ MyRIO

TP Darwin-Op

Les TP réseau Linux

Les TD Java

Les TP Java

TD C#

TP C#

Les Mini-projets

Vidéo Mini-Projet

Stage en entreprise

Système Num. 2

TP C++/C#

RaspBerry

Projets

IRIS 2

TP IPC linux / coldFire

TP PHP

Cours / TP XML

Projets

S SI

1er S SI

1er SSI mini projet

1er S SI Liens

STI2D

SysML

Terminale SIN

Projet SIN

1er ETT

Projet 1er ETT

Terminale ETT

Questions BAC ETT

AP

Serfa

UML

C++

Statistiques

3 visiteurs

Record : 207

Pages vues :

Aujourd'hui : 119

Total : 216732

Valid XHTML 1.0 Transitional

TP2 : Utilisation des boucles en C

separation

[Vous êtes ici ] ==> Accueil > Système Num. 1 > TP C Visual Studio > TP2 : Utilisation des boucles en C

separation

Mise en situation
Le travail de ce TP se déroule seul.
Temps alloué : 3h

Référentiel
C4.4 Développer un module logiciel

IDE utilisé
  • Visual Studio 2015



But

Mettre en oeuvre les boucles, les conditions et les tableaux en langage C

1er exercice : Carte au trésor

Alors que vous étiez tranquillement en train de planter vos salades dans votre potager, vous déterrez une vieille feuille de papier. Après avoir nettoyé la terre qui la recouvre, vous découvrez qu'elle contient une succession de lettres, parmi 'S', 'N', 'E', 'O' et le message suivant :

Avancez pas à pas, en suivant les lettres successives de ce message :
  • Un pas vers le sud pour 'S'
  • Un pas vers le nord pour 'N'
  • Un pas vers l' est pour 'E'
  • Un pas vers l' ouest pour 'O'
Attention, vous devez faire ces pas dans l'ordre, car si un pas vous demande de sortir du jardin, vous devez l'ignorer.
Si vous le suivez attentivement, à partir du coin nord-est de votre jardin et creusez à cet endroit, une surprise vous attend!


Le message contenant un nombre impressionnant de caractères, vous n'avez pas envie de passer le reste de votre journée à arpenter votre jardin. Vous allez plutôt écrire un programme qui lit un tableau de caractères contenant les instructions ('N', 'S'..) et qui vous affichera le nombre de pas vers l'ouest et le nombre de pas vers le sud qu'il vous faut faire pour aller directement au trésor.
Ce programme tient compte évidemment du fait de ne pas sortir du jardin, quelles que soient les instructions.
Par chance, votre jardin est rectangulaire, ses côtés sont parallèles aux points cardinaux. Vous pouvez donc le considérer comme un quadrillage dans lequel vous vous déplacez.
Votre mission, si vous l'acceptez, est de simplifier le déplacement à faire.
Vous allez déclarer un tableau de caractères contenant le message (en dur), boucler du début à la fin, suivant le nombre de caractères, vous vous déplacez et à la fin affichez le nombre de pas vers l'ouest et le nombre de pas vers le sud.

Exemple :
Exemple

char tresor[] = {'S', 'O', 'S', 'E', 'S', 'S', 'S', 'S', 'S', 'E', 'N'};
Le programme affiche : 5 pas vers le sud et 2 pas vers l'est

2em exercice : Distance


Vous cherchez sur le boncoin une armoire lorraine. Vous avez plusieurs choix aux mêmes qualités (état, prix). Vous allez donc choisir l'armoire la plus proche de chez vous.
On vous fournit les coordonnées (entières et à deux dimensions) d'un point de départ, de même que N points de destination. Vous devez écrire un programme qui affiche la distance du point de départ au plus proche des points de destination.
Les coordonnées seront rentrées en dures, deux variables X et Y pour le point de départ et deux tableaux pour les points de destinations. Vous allez boucler sur le tableau en calculant pour chaque point de destination la distance (valeur absolue de l'hypoténuse du triangle), la comparer avec la plus petite. Si elle est plus petite, la sauvegarder comme étant la plus petite.

Remarque Pour simplifier, nous utiliserons des coordonnées x et y qui ne soient que positives.

Exemple :
Départ x = 5 et y = 4
tabX = 7 8 1
tabY = 2 6 1
La plus petite distance est avec le premier point de destination et sa valeur est :
racine carrée de (x1-x)² + (y1 - x)² c'est à dire environ 2.83

Exemple2


separation

ancre