Noms des élèves :
NB25/10/2015
Introduction à la programmation
SPE - ISN Utiliser les types, les variables, les fonctions et constantes Durée du TP : 30minutes
Organisation : Les manipulations se feront à l’aide
Structures conditionnelles
1/ Ecrire un programme qui restitue la chaîne de caractère «
« Bonjour » dans texteEdit et « Soyez poli !
2/ Effacer les modifications précédentes et é
semaine est écrit dans le champ de saisi en fonction du numéro rentré (de 1 à 7). Le premier jour de la semaine est le lundi.
Le programme éliminera les nombres qui ne sont pas compris entre 1 et 7 invalide ». On utilisera une fonction pour alléger la procédure
Structures itératives
3/ Ecrire le programme permettant de calcul l
calcul. Quel est le maximum de la valeur avant dépassement de capacité
Structures de contrôle
Introduction à la programmation Structures de contrôle
Utiliser les types, les variables, les fonctions et constantes
manipulations se feront à l’aide de QT Creator installé sur les ordin
Ecrire un programme qui restitue la chaîne de caractère « Bravo ! » lorsque l’utilisateur saisi Soyez poli ! » dans le cas contraire
Effacer les modifications précédentes et écrire une deuxième structure grâce à laquelle le jour de la le champ de saisi en fonction du numéro rentré (de 1 à 7). Le premier jour de Le programme éliminera les nombres qui ne sont pas compris entre 1 et 7 en écriv
. On utilisera une fonction pour alléger la procédure on_validBtn_clicked
Ecrire le programme permettant de calcul la factorielle du nombre saisi. Utiliser une fonction pour le calcul. Quel est le maximum de la valeur avant dépassement de capacité ?
Bac. S – Spécialité ISN
1/3
Introduction à la programmation
QT Creator installé sur les ordinateurs
» lorsque l’utilisateur saisi
deuxième structure grâce à laquelle le jour de la le champ de saisi en fonction du numéro rentré (de 1 à 7). Le premier jour de
en écrivant « Valeur on_validBtn_clicked
Utiliser une fonction pour le
Noms des élèves : Bac. S – Spécialité ISN
NB25/10/2015 Structures de contrôle 2/3
4/ On souhaite calculer le déplacement d’une balle après n rebonds. La hauteur initiale de la balle est de 1m. A chaque rebond, la hauteur diminue de 20%.
Modifier le programme précédent de sorte que la valeur saisie correspond au nombre de rebonds.
Dans le header :
class MainWindow : public QMainWindow {
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
float hauteurTotale=1;
float hauteurPrecedente=1;
float nouvelleHauteur(float h);
public slots:
void on_actionQuitter_triggered();
void on_validBtn_clicked();
private:
Ui::MainWindow *ui;
};
Dans le fichier source :
//--- void MainWindow::on_validBtn_clicked()
{
QString nombreChaine;
int N;
nombreChaine = ui->texteEdit->text();
N=nombreChaine.toInt();
//on connait le nombre de rebonds donc une structure FOR est nécessaire for (int i=0;i<N-1;i++)
hauteurTotale+=2*nouvelleHauteur(hauteurPrecedente);
//on rajoute la dernière hauteur s'il y a au moins un rebond if (N>0)
hauteurTotale+=nouvelleHauteur(hauteurPrecedente);
ui->texteEdit->setText(QString::number(hauteurTotale)+'m');
//on réinitialise les valeurs hauteurPrecedente=1;
hauteurTotale=1;
}
//--- float MainWindow::nouvelleHauteur(float h)
{
hauteurPrecedente=hauteurPrecedente*0.8;
return hauteurPrecedente;
}
5/ Cette fois ci, on veut connaitre le nombre de rebonds (r) faits par la balle jusqu’à ce que sa hauteur de rebond soit inférieure à 2cm. La hauteur initiale est donnée en cm.
Noms des élèves :
NB25/10/2015
void MainWindow::on_validBtn_clicked() {
QString nombreChaine;
float H;
nombreChaine = ui->texteEdit H=nombreChaine.toFloat();
int r=0;
/*on ne connait pas le nbre de répétitions et une valeur inférieure à 2 peut-être saisie… Il faut une boucle WHILE */
while (H>2) {
r++;
H=nouvelleHauteur(H);
}
//le dernier rebond ne doit pas if (r>0)
r=r-1;
ui->texteEdit->setText(
}
//--- float MainWindow::nouvelleHauteur(
{
return h*0.8;
}
Structures de contrôle ::on_validBtn_clicked()
nombreChaine;
texteEdit->text();
H=nombreChaine.toFloat();
on ne connait pas le nbre de répétitions et une valeur inférieure à 2 t une boucle WHILE */
H=nouvelleHauteur(H);
//le dernier rebond ne doit pas être comptabilisé
setText(QString::number(r)+" rebond(s)"
--- ::nouvelleHauteur(float h)
Bac. S – Spécialité ISN
3/3 on ne connait pas le nbre de répétitions et une valeur inférieure à 2
rebond(s)");