============================================================================== IF121 TP-0 : Introduction Version 26/09/02 ============================================================================== Ce premier TP vise à préparer les étudiants à l'utilisation de l'ordinateur et de l'IHM choisie. Il donne des indications sommaires et vous êtes libres de l'adapter selon vos préférences. Il doit etre surtout suivi pour les groupes ayant le TP avant le TD. IMPORTANT : N'oubliez pas d'apporter avec vous une DISQUETTE 3"1/2. N'oubliez pas de dire aux étudiants d'apporter une disquette s'ils veulent sauvegarder leurs programmes POUR LES SÉANCES SUIVANTES. 1. Présentation de l'environnement général ------------------------------------------ Suggestions pour les notions à présenter pour la partie MATÉRIEL : - moniteur - unité centrale - clavier - souris - imprimante - CD-ROM - disquette Ensuite, il faut leur montrer comment : - ils doivent allumer/éteindre l'ordinateur - ils doivent se logger (login et passwd = nom machine, ex m05 A VERIFIER) Suggestions pour les notions à présenter pour la partie LOGICIEL : - système d'exploitation - compte utilisateur - connexion (login) - mot de passe (password) - environnement graphique - pointeur souris - bouton - menu, sous-menu (comment faire un choix) - fenêtre (comment la déplacer, fermer, ...) - barre de tâches NOTE : Pour faciliter la présentation, vous pouvez distribuer une feuille contenant l'explication des termes informatiques ci-dessus. Une telle feuille est disponible dans le bureau 6A27 (c'est la mm que l'année 1999). 2. Présentation de l'environnement de compilation ------------------------------------------------- NOTE : Le travail sera effectue dans un environnement Linux. Suggestions pour les notions à présenter : - langage de programmation (si pas encore présenté en Cours) - fichier : création, nommage (nom, extension ".C" ou ".cpp"), édition (kwrite), sauvegarde - gestionnaire de fichiers - compilation sous C++ : dans un terminal o commande sans appel au pre-processeur : g++ -Wall -o toto toto.C o commande avec l'appel du pre-processeur : g-- toto.C -Wall -o toto - exécution d'un programme o attention, ils n'ont pas le repertoire courant dans le "path", donc il faut appeler "./toto" Ces notions peuvent être exemplifiées sur l'exercice ci-dessous. 3. Exercice introductif : affichage "Bonjour !" ---------------------------------------------- Vous pouvez écrire cet exemple sur le tableau pour qu'ils puissent pratiquer l'édition de texte. Sinon, le mettre sur une disquette, pour les faire pratiquer le gestionnaire de fichiers. ATTENTION : il semble que l'icone Disquette ne marche pas, donc il faut utiliser les commandes : - mdir a: pour faire in ls - mcopy toto a: - mcopy a:toto . '''''''''''''''''''''''''''''''''''''''' #include void main () { cout << "Bonjour !\n"; } '''''''''''''''''''''''''''''''''''''''' NOTE : Conformément aux règles données, l'utilisation du "printf" est bannie. Utilisez à la place les streams C++. A la fin, faites sauvegarder ce premier exemple sur la disquette. 4. Exercice sur la puissance entiere (voir cours) ---------------------------------------------- 5. Exercice plus grand pour exercer le cycle de vie d'un programme ---------------------------------------------- Algorithme pour effectuer la soustraction de deux nombres en base 10. A distribuer le listing du code et qu'ils le tapent, le compilent et le testent. '''''''''''''''''''''''''''''''''''''''' #include void main () { int a, b, c, d; /* les entrees */ int e, f; /* les sorties */ cout << "Programme qui effectue l'operation ab - cd\n avec a, b, c, d des chiffres \n"; cout << "Introduisez le deux nombres, chiffre par chiffre :\n"; /* lecture de a */ do { cout << "a (0..9) = "; cin >> a; } while ((a < 0) || (a > 9)); /* fin do */ /* lecture de b */ do { cout << "b (0..9) = "; cin >> b; } while ((b < 0) || (b > 9)); /* fin do */ /* lecture de c */ do { cout << "c (0..9) = "; cin >> c; } while ((c < 0) || (c > 9)); /* fin do */ /* lecture de d */ do { cout << "d (0..9) = "; cin >> d; } while ((d < 0) || (d > 9)); /* fin do */ /* algorithme de soustraction */ cout << "Le resultat de " << a << b << " - " << c << d << " = "; if ((a > c) || ((a==c) && (b >= d))) { if (b >= d) { f = b - d; e = a - c; } else { f = (10 + b) - d; e = a - 1 - c; } /* fin if */ } else { if (d >= b) { f = d - b; e = c - a; } else { f = (10 + d) - b; e = c - 1 - a; } /* fin if */ cout << "-"; } /* fin if */ cout << e << f << "\n"; } ''''''''''''''''''''''''''''''''''''''''