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

1 visiteur

Record : 207

Pages vues :

Aujourd'hui : 64

Total : 233066

Valid XHTML 1.0 Transitional

TP3 : Boucles, conditions et tableaux en C

separation

[Vous êtes ici ] ==> Accueil > Système Num. 1 > TP C Visual Studio > TP3 : Boucles, conditions et tableaux 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 : Et les shadocks pompaient



Ecrire un programme qui affiche toutes les phrases Shadok d'un nombre de mots donné. Pour simplifier, nous ne ferons que les phrases de deux mots ou de trois mots.
Pour ceux (rares) qui ne la sauraient pas, le Shadok ne connaît que 4 mots : Ga, Bu, Zo et Meu.
Exemple : si l'on rentre 2 comme nombre, il y aura 16 phrases possibles (BuBu, BuGa, BuMeu, BuZo, GaBu, GaGa...)

Remarques :
Comparaison de programme

On veut comparer l'efficacité de deux algorithme calculant la puissance d'un nombre (sans utiliser math.h)

Nombre au carré



Calculer le carré d'un nombre saisi au clavier

Puissance



Calculer la puissance d'un nombre x exposant y, x et y saisis au clavier.

Autre algorithme puissance



Même question que précédemment mais en utilisant les remarques suivantes :
En prenant par exemple 3 à la puissance 5.
5 en base deux s'écrit : 101 ==> on aura donc :
image1

Pour obtenir les puissances multiples de 2, il faut remarquer que :
image2

Il faut faire une boucle et vérifier s'il y a un 1 au nombre binaire de l'exposant.
Remarque :

Calcul du temps des deux algorithmes



En utilisant la fonction clock() de la bibliothèque time.h, faire la comparaison des deux temps d'exécution.

clock_t t1, t2;
t1 = clock();
//Programme
t2 = clock();
temps = (double)(t2 - t1) / CLOCKS_PER_SEC;

Remarque : comme le temps d'exécution est très rapide, pour bien voir la différence, rajouter un sleep(1) dans les boucles.

separation

ancre