Noms des élèves : Bac. S – Spécialité ISN
Introduction à la programmation Manipulations de variables
SPE - ISN Utiliser les types, les variables, les fonctions et constantes Durée du TP : 1h30
Organisation : Les manipulations se feront à l’aide de QT Creator installé sur les ordinateurs
Copier le programme précédent (tp1_fenetre) dans un nouveau dossier appelé tp2_bases.
Renommer les fichiers tp1_fenetre.pro en tp2_bases.pro et tp1_fenetre.pro.user en tp2_bases.pro.user
Exécuter le programme et s’assurer qu’il fonctionne.
Remarque préalable : pour alléger la programmation, nous utiliserons dans ce TP la bibliothèque QDebug qui permet de visualiser le contenu de variables sans trop de difficultés
Manipulation de types chaine
1/ Modifier la procédure on_validBtn_clicked en créant une variable de type chaine appelée phrase.
2/ phrase devra contenir le contenu du champ d’édition texteEdit. Quel type faut-il lui donner ? Remarque 1 : pour rappel, le contenu du champ d’édition est stocké dans le paramètre text Remarque 2 : il sera nécessaire d’utiliser l’aide en ligne pour répondre à la question
Le paramètre text qui contient le texte saisi dans texteEdit est du type QString. Phrase doit donc être un QString.
void MainWindow::on_validBtn_clicked() {
QString phrase;…….
3/ Changer le programme de sorte que, si on tape un mot (toto par exemple) dans le champ et que l’on valide la saisie, phrase contienne « Bonjour » suivi du mot (Bonjour toto par exemple). Recopier le bout de code :
phrase=ui->texteEdit->text();
phrase= ‘’Bonjour ‘’+phrase ; qDebug()<<phrase ;
4/ On souhaite à présent, remplacer le contenu de texteEdit par le contenu de phrase. Trouver avec l’EDI ou l’aide en ligne le code à écrire.
ui->texteEdit->setText(phrase);
Manipulation de nombres
5/ On part du postulat qu’on ne saisira que des nombres dans le champ d’édition.
On souhaite faire en sorte que le nombre saisi soit mis au carré puis affiché.
Dans l’état actuel du programme, phrase peut-il convenir ? Non car phrase n’est pas du type int
6/ Créer une variable locale appelée nombre de type entier. Modifier le programme de sorte que nombre contienne la valeur numérique correspondant à phrase. Ecrire la ligne de code nécessaire pour que cela puisse se faire. Expliquer. Tester
int nombre;
phrase=ui->texteEdit->text();
nombre=phrase.toInt();
qDebug()<<"Phrase = "<<phrase;
qDebug()<<"Nombre = "<<nombre;
7/ Elever à présent nombre au carré et trouver la limite de la valeur.
La limite est 46340
8/ Ecrire une structure procédurale (function ou void) qui calcule le carre de la valeur passée en paramètre et qui la restitue.
Déclarer la function dans mainwindow.h puis mainwindow.cpp : int MainWindow::carre(int valeur)
{ int square;
square=valeur*valeur;
return square;
}
9/ Terminer le programme de sorte que le carré de nombre soit affiché dans le champ d’édition.
void MainWindow::on_validBtn_clicked() {
QString phrase;
int nombre;
phrase=ui->texteEdit->text();
nombre=phrase.toInt();
qDebug()<<"Phrase = "<<phrase;
qDebug()<<"Carre = "<<carre(nombre);
ui->texteEdit->setText(QString::number(carre(nombre)));
}
NB27/02/2022 Manipulations de variables types et fonctions 1/1