Structures conditionnelles [if] Sujets d Examens

Documents pareils
Programmation C++ (débutant)/instructions for, while et do...while

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1


alg - Classes, instances, objets [oo] Exercices résolus

C++ - Classes, instances, objets [oo] Exercices résolus

INFO-F-105 Language de programmation I Séance VI

Cours de C++ François Laroussinie. 2 novembre Dept. d Informatique, ENS de Cachan

Claude Delannoy. 3 e édition C++

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai.

Programme Compte bancaire (code)

1.6- Génération de nombres aléatoires

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Cours d initiation à la programmation en C++ Johann Cuenin

Initiation à la programmation en Python

Introduction à l algorithmique et à la programmation M1102 CM n 3

Probabilités sur un univers fini

Cours d Algorithmique et de Langage C v 3.0

Introduction au pricing d option en finance

Introduction à l héritage en C++

Corrigé des TD 1 à 5

CHAPITRE V. Recherche et tri

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Utilitaires méconnus de StrataFrame

Programmation stochastique

Programmation en C/C++

Recherche dans un tableau

Coefficients binomiaux

Algorithmique et Programmation, IMA

OBESITE ET EPS. Cf national, nutrition santé, courbe de corpulence)

4ème RONDE MUSSIDANAISE Ballade touristique pour véhicules historiques

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Probabilités sur un univers fini

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

IUT ANNECY Département Mesures Physiques Cours d informatique Initiation au langage C

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

et Programmation Objet

GOL502 Industries de services

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

STAGE IREM 0- Premiers pas en Python

EXAMEN : CAP ADAL SESSION 2011 N du sujet : SPECIALITE : CEB - GEPER SUJET SECTEUR : FOLIO : 1/6 EPREUVE : EG2 (MATH-SCIENCES)

Programmer en JAVA. par Tama

Distribution Uniforme Probabilité de Laplace Dénombrements Les Paris. Chapitre 2 Le calcul des probabilités

TP : Gestion d une image au format PGM

Activités de mesure de longueur avec des unités conventionnelles

- affichage digital - aiguille

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Initiation à l algorithmique

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

TEST D APTITUDES PHYSIQUES POUR LES TECHNIQUES AMBULANCIÈRES (TAPTA)

INTÉRÊT DU SCANNER 3D DANS LA MESURE DE L'ANTÉVERSION DES COLS FÉMORAUX

îundesdruokerei Berlin

Probabilité. Table des matières. 1 Loi de probabilité Conditions préalables Définitions Loi équirépartie...

Guide du stationnement à Strasbourg

Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé.

MISE EN SERVICE D UN RESEAU DE CAMERA DE VIDEOSURVEILLANCE

Faites connaissance avec votre Rubik s Cube Étape 1

Algorithmique et programmation : les bases (VBA) Corrigé

Analyses de Variance à un ou plusieurs facteurs Régressions Analyse de Covariance Modèles Linéaires Généralisés

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Notions fondamentales du langage C# Version 1.0

Services de Marketing sur Internet

Port de Saint Laurent du Var - Barème des redevances Année /10

Exercices de dénombrement

ETUDE DE CAS en UML : GESTION DES COMMANDES DE PIECES FABRIQUEES PAR LA SOCIETE C

Les structures. Chapitre 3

Informatique I. Sciences et Technologies du Vivant (Semestre 1)

Comptes rendus d Activités Techniques et Financières du Service de l Eau Potable Année 2004

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr

Le langage C++ (partie I)

30.avr.10 Présentation miniprojet. 9.mars.10 Cours 3 4.mai.10 Cours C mars.10 Cours 4 11.mai.10 Cours C++ 2

Qu est-ce qu une probabilité?

Plan du cours Cours théoriques. 29 septembre 2014

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

Les probabilités. Chapitre 18. Tester ses connaissances

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Plan Pédagogique du cours

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Département Automatisation et Informatisation Année Programmation en C++ Institut des Sciences et Techniques de l Ingénieur d Angers

SOMMAIRE... SOMMAIRE... SOMMAIRE... SOMMAIRE... SOMMAIRE... SOMMAIRE... LES MESURES

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

BACCALAUREAT GENERAL MATHÉMATIQUES

Convers3 Documentation version Par Eric DAVID : vtopo@free.fr

Structures algébriques

Bureau N301 (Nautile)

Continuité et dérivabilité d une fonction

SRC Plus. Programmateur pour Installations Résidentielles. 601i Modèle international 6-stations (montage intérieur) 901i

Premiers Pas en Programmation Objet : les Classes et les Objets

Objets et Programmation. origine des langages orientés-objet

Comment utiliser les générateurs de mots clés?

Vente - Location Aménagement Self stockage Evénementiel

Exprimer ce coefficient de proportionnalité sous forme de pourcentage : 3,5 %

CHAPITRE 1. Suites arithmetiques et géometriques. Rappel 1. On appelle suite réelle une application de

Le mouvement vitalité! Un pas vers la forme! Sport-Santé. Acti March

Quelques Algorithmes simples

DOCM Solutions officielles = n 2 10.

Structurer ses données : les tableaux. Introduction à la programmation

I. Introduction aux fonctions : les fonctions standards

Transcription:

Structures conditionnelles [if] Sujets d Examens Karine Zampieri, Stéphane Rivière, Béatrice Amerein-Soltner Unisciel algoprog Version 15 octobre 2016 Table des matières 1 Indice de masse corporelle / pgimc 2 2 Tarifs d assurance / pgassurance 5 3 Abonnements téléphoniques / pgtelecom 7 4 Calcul du poids idéal / pgpoids 9 5 Le stationnement alternatif / pgalternatif 12 6 La fourchette / pgfourche 14 7 Manipulation du temps 17 7.1 Une minute plus tard / pgminute...................... 17 7.2 L horloge / pghorloge............................ 19 8 Références générales 19 C++ - Sujets d Examens (Solution) 1

Unisciel algoprog Sujets d examens [if17], October 15, 2016 2 1 Indice de masse corporelle / pgimc Utilise Conditions, Si Durée estimée 15 min Objectif L Indice de Masse Corporelle (IMC) constitue un indice d appréciation des risques pour la santé liés au surpoids. Cet indice est calculé en divisant le poids (en kilogrammes) par la taille (en mètres) au carré. L interprétation de l IMC se fait selon les critères suivants : Strictement inférieur à 16 : dénutrition De 16 à 18.5 non inclus : maigreur De 18.5 à 25 non inclus : corpulence normale De 25 à 30 non inclus : surpoids De 30 à 35 non inclus : obésité modérée De 35 à 40 non inclus : obésité sévère 40 ou plus : obésité massive Ce «non inclus» est une précision d informaticien qui a besoin de ce détail : elle n a pas de sens pratique dans la vie réelle. Écrivez un programme qui saisit : Le poids (en kg) d un individu dans p (réel). Sa taille (en mètre) dans t (réel). Affichez les invites : Votre poids (en kg)? Votre taille (en m)? Calculez l IMC dans imc (réel) défini par : IMC = p / t 2 Affichez (où [x] désigne le contenu de x) : ==> Votre IMC vaut [imc]

Unisciel algoprog Sujets d examens [if17], October 15, 2016 3 Affichez l un des messages suivants (c.-à-d. uniquement de texte de gauche) de l interprétation de l IMC : ==> Denutrition // imc < 16 ==> Maigreur // 16 <= imc < 18.5 ==> Corpulence normale // 18.5 <= imc < 25 ==> Surpoids // 25 <= imc < 30 ==> Obesite moderee // 30 <= imc < 35 ==> Obesite severe // 35 <= imc < 40 ==> Obesite massive // 40 <= imc Solution simple Les opérateurs de comparaison d infériorité ou de supériorité devant être utilisés, plusieurs instructions alternatives imbriquées s imposent. Validez votre programme avec la solution. Solution C++ #include <iostream> using namespace std; @[pgimc1.cpp] int main() double poids; cout<<"votre poids (en kg)? "; cin>>poids; double taille; cout<<"votre taille (en m)? "; cin>>taille; double imc = poids / (taille * taille); cout<<"==> Votre IMC vaut "<<imc<<endl; if (imc < 16) cout<<"==> Denutrition"<<endl; else if (imc < 18.5) cout<< "==> Maigreur"<<endl; else if (imc < 25) cout<< "==> Corpulence normale"<<endl; else if (imc < 30) cout<< "==> Surpoids"<<endl; else if (imc < 35) cout<< "==> Obesite moderee"<<endl; else if (imc < 40)

Unisciel algoprog Sujets d examens [if17], October 15, 2016 4 cout<< "==> Obesite severe"<<endl; else cout<<"obesite massive"<<endl;

Unisciel algoprog Sujets d examens [if17], October 15, 2016 5 2 Tarifs d assurance / pgassurance Utilise Conditions, Si Durée estimée 15 min Objectif Une assurance propose trois couleurs de tarifs (Vert, Orange et Rouge) selon l âge et le nombre d accidents des automobilistes. Accidents Moins de 25 ans 25 ans et plus 0 accidents Orange Vert 1 ou 2 accidents Rouge Orange 3 à 6 accidents Pas assuré Rouge 7 accidents ou plus Pas assuré Pas assuré Étant donnés l âge et le nombre d accidents d un automobiliste, cet exercice détermine la couleur de tarif. Écrivez un programme qui saisit : L âge d un automobiliste dans age (entier). Son nombre d accidents dans naccs (entier). Affichez les invites : Votre age? Nombre d'accidents? Calculez les booléens de la couleur de tarif : bv (tarif vert). bo (tarif orange). br (tarif rouge). Affichez l un des textes : VERT ORANGE ROUGE Pas assure Aide simple Utilisez l alternative Si.

Unisciel algoprog Sujets d examens [if17], October 15, 2016 6 Testez. Exemples d exécution. Votre age? 30 Nombre d'accidents? 0 VERT Votre age? 20 Nombre d'accidents? 2 ROUGE Votre age? 22 Nombre d'accidents? 5 Pas assure Validez votre programme avec la solution. Solution C++ #include <iostream> using namespace std; @[pgassurance1.cpp] int main() int age; cout << "Votre age? "; cin >> age; int naccs; cout << "Nombre d accidents? "; cin >> naccs; bool bv = (naccs==0 && age>=25); bool bo = ((naccs==0 && age<25) (naccs>=1 && naccs<=2 && age>=25)); bool br = ((naccs>=1 && naccs<=2 && age<25) (naccs>=3 && naccs<=6 && age>=25)); if (bv) cout << "VERT" << endl; else if (bo) cout << "ORANGE" << endl; else if (br) cout << "ROUGE" << endl; else cout << "Pas assure" << endl;

Unisciel algoprog Sujets d examens [if17], October 15, 2016 7 3 Abonnements téléphoniques / pgtelecom Utilise Conditions, Si Durée estimée 15 min Objectif Vous désirez comparer deux offres d abonnement téléphonique. La facture est calculée avec un fixe (somme à payer obligatoirement tous les mois) et une partie proportionnelle au temps (en minutes) passé à téléphoner. Offre Fixe Prix à la minute Telecom 1 10e 0.50e Telecom 2 15e 0.40e Écrivez un programme qui saisit la consommation moyenne mensuelle (en minutes) dans consom (réel). Affichez l invite : Consommation moyenne (en minutes)? Calculez les montants des deux offres : Dans tarif1 (réel) pour Télécom 1. Et tarif2 (réel) pour Télécom 2. Affichez (ou [x] désigne le contenu de x) : Avec Telecom1 = [tarif1] euros Avec Telecom2 = [tarif2] euros Affichez l opérateur le plus intéressant, c.-à-d. l un des messages : ==> Prenez Telecom1 ==> Prenez Telecom2 ==> Prenez l'un ou l'autre Orientation C/C++ Attention à l opérateur de comparaison. Calculez et affichez à partir de combien de minutes l opérateur Telecom2 est plus intéressant que Telecom1, à savoir : (fixe2 fixe1 )/(prix1 prix2 )

Unisciel algoprog Sujets d examens [if17], October 15, 2016 8 Testez. Exemples d exécution. Consommation moyenne (en mn)? 30 Avec Telecom1 = 25 euros Avec Telecom2 = 27 euros ==> Prenez Telecom1 Prenez Telecom2 a partir de 50 mn Consommation moyenne (en mn)? 50 Avec Telecom1 = 35 euros Avec Telecom2 = 35 euros ==> Prenez l'un ou l'autre Prenez Telecom2 a partir de 50 mn Validez votre programme avec la solution. Solution C++ @[pgtelecom1.cpp] #include <iostream> using namespace std; int main() const double FIXE1 = 10.0; const double FIXE2 = 15.0; const double PRIX1 = 0.5; const double PRIX2 = 0.4; double consom; cout << "Consommation moyenne (en mn)? "; cin >> consom; double tarif1 = FIXE1 + PRIX1 * consom; double tarif2 = FIXE2 + PRIX2 * consom; cout << "Avec Telecom1 = " << tarif1 << " euros" << endl; cout << "Avec Telecom2 = " << tarif2 << " euros" << endl; if (tarif1 < tarif2) cout << "==> Prenez Telecom1" << endl; else if (tarif1 > tarif2) cout << "==> Prenez Telecom2" << endl; else cout << "==> Prenez l un ou l autre" << endl; cout << "Prenez Telecom2 a partir de " << (FIXE2-FIXE1)/(PRIX1-PRIX2)<< " mn" << endl;

Unisciel algoprog Sujets d examens [if17], October 15, 2016 9 4 Calcul du poids idéal / pgpoids Utilise Conditions, Si Durée estimée 25 min Objectif Mon poids se situe-t-il dans la moyenne? Écrivez un programme qui saisit : Le poids d un individu dans poids (réel). Sa taille dans taille (réel). Son sexe dans sexe (caractère). Affichez les invites : Votre poids (en kg)? Votre taille (en cm)? Votre sexe (f,m)? Outil C/C++ Le type caractère s écrit char. Calculez dans pn (réel) la limite inférieure du poids normal : PN = Taille(en cm) 100 Calculez dans sp (réel) la limite inférieure de la surcharge pondérale qui se situe 10% au-dessus du poids normal : SP = 1.10 PN Calculez dans pi (réel) la limite inférieure du poids idéal. Les conditions s avèrent plus sévères pour les femmes (15% en-dessous du poids normal) que pour les hommes (10%) : Femmes : Hommes : PI = 0.85 PN PI = 0.90 PN Outil C/C++ Pour tester si un char x vaut la lettre 'f', on écrit : if (x == f )

Unisciel algoprog Sujets d examens [if17], October 15, 2016 10 Calculez dans sa (réel) la limite supérieure de la sous-alimentation qui représente 95% du PI : SA = 0.95 PI Affichez les calculs (où [x] désigne le contenu de x) : Surcharge ponderale >= [sp] Poids normal = [pn] Poids ideal = [pi] Sous alimentation <= [sa] En fonction du poids et des valeurs calculées, Affichez l un des messages suivants : (Ce qui est après les // est un commentaire. N affichez que la partie gauche) : Vous etes en Surcharge ponderale // si poids >= sp Bravo, votre poids est normal // si poids >= pn et poids <= sp Super, vous avez le poids idéal // si poids >= sa et poids <= pn Vous etes en Sous alimentation // si poids <= sa Orientation Ordonnez vos tests de sorte à ne faire qu un unique test dans la structure Si. Finalement affichez l éventuel message : Parlez-en à votre médecin // si poids<=sa ou si poids>=sp Testez. Exemples d exécution. Votre poids (en kg)? 50 Votre taille (en cm)? 165 Votre sexe (f,m)? f ==> Surcharge ponderale >= 71.5 ==> Poids normal = 65 ==> Poids ideal = 55.25 ==> Sous alimentation <= 52.4875 ==> Vous etes en Sous alimentation ==> Parlez-en à votre médecin Votre poids (en kg)? 74 Votre taille (en cm)? 180 Votre sexe (f,m)? m ==> Surcharge ponderale >= 88 ==> Poids normal = 80

Unisciel algoprog Sujets d examens [if17], October 15, 2016 11 ==> Poids ideal = 72 ==> Sous alimentation <= 68.4 ==> Super, vous avez le poids idéal Validez votre programme avec la solution. Solution C++ #include <iostream> using namespace std; @[pgpoids1.cpp] int main() double poids; cout << "Votre poids (en kg)? "; cin >> poids; double taille; cout << "Votre taille (en cm)? "; cin >> taille; char sexe; cout << "Votre sexe (f,m)? "; cin >> sexe; double pn = taille - 100; double sp = 1.1 * pn; double pi = (sexe == f )? pn * 0.85 : pn * 0.90; double sa = 0.95 * pi; cout << "==> Surcharge ponderale >= " << sp << endl; cout << "==> Poids normal = " << pn << endl; cout << "==> Poids ideal = " << pi << endl; cout << "==> Sous alimentation <= " << sa << endl; if (poids >= sp) cout << "==> Vous etes en Surcharge ponderale" << endl; else if (poids >= pn) cout << "==> Bravo, votre poids est normal" << endl; else if (poids >= sa) cout << "==> Super, vous avez le poids idéal" << endl; else cout << "==> Vous etes en Sous alimentation" << endl; if (poids <= sa poids >= sp) cout << "==> Parlez-en à votre médecin" << endl;

Unisciel algoprog Sujets d examens [if17], October 15, 2016 12 5 Le stationnement alternatif / pgalternatif Utilise Conditions, Si Durée estimée 15 min Objectif Dans une rue où se pratique le stationnement alternatif, on se gare : Du 1 au 15 du mois : du côté des maisons ayant un numéro impair. Et le reste du mois : de l autre côté. Écrivez un programme qui saisit le numéro du jour dans jr (entier supposé compris entre 1 et 31). Affichez l invite : Numero du jour? Selon la valeur de jr, affichez de quel côté (impair ou pair) on doit se garer. Exemple : Pour jr valant 20 : Garez-vous du cote pair Saisissez le numéro de maison devant laquelle vous vous êtes arrêté dans num (entier). Affichez l invite : Numero de maison? Sur la base du numéro du jour jr et du numéro de maison num, Indiquez dans un booléen b si vous êtes bien stationné ou non. Affichez (où [x] signifie le contenu de x) : Stationnement correct : [b] (Le C++ indiquera 1 pour Vrai et 0 pour Faux.) Testez. Exemples d exécutions. Numero du jour? 20 Garez-vous du cote pair Numero de maison? 67 Stationnement correct : 0 Numero du jour? 5 Garez-vous du cote impair Numero de maison? 9 Stationnement correct : 1

Unisciel algoprog Sujets d examens [if17], October 15, 2016 13 Validez votre programme avec la solution. Solution C++ #include <iostream> using namespace std; @[pgalternatif1.cpp] int main() int jr; cout << "Numero du jour? "; cin >> jr; if (1 <= jr && jr <= 15) cout << "Garez-vous du cote impair" << endl; else cout << "Garez-vous du cote pair" << endl; int num; cout << "Numero de maison? "; cin >> num; bool b = (1 <= jr && jr <= 15 && num%2==1) (15 < jr && jr <= 31 && num%2==0); cout << "Stationnement correct : " << b << endl;

Unisciel algoprog Sujets d examens [if17], October 15, 2016 14 6 La fourchette / pgfourche Utilise Conditions, Si Durée estimée 15 min Objectif Cet exercice demande trois entiers puis affiche si le premier des trois appartient à l intervalle donné par le plus petit et le plus grand des deux autres. Exemple : Vos trois entiers? 2 6-1 a=2 b=-1 c=6 Fourchette : -1<=2<=6 Écrivez un programme qui saisit trois entiers dans a, b et c. Affichez l invite : Vos trois entiers? Pour réaliser le test, il faut que b et c soient ordonnés. Par conséquent, Réordonnez-les de sorte que b contienne le plus petit et c le plus grand de b et c. Rappel de cours Pour permuter deux contenus, il faut passer par une variable intermédiaire. Solution simple Affichez (où [x] désigne le contenu de x) : a=[a] b=[b] c=[c]

Unisciel algoprog Sujets d examens [if17], October 15, 2016 15 Selon les valeurs de a, b et c, affichez l un des trois messages. Fourchette cassee : [b]=[a]=[c] Fourchette : [b]<=[a]<=[c] [a] non dans [[b]..[c]] Testez. Exemples d exécution. Vos trois entiers? 2 6-1 a=2 b=-1 c=6 Fourchette : -1<=2<=6 Vos trois entiers? 1 3 6 a=1 b=3 c=6 1 non dans [3..6] Vos trois entiers? 3 3 3 a=3 b=3 c=3 Fourchette cassee : 3=3=3 Validez votre programme avec la solution. Solution C++ @[pgfourche1.cpp] #include <iostream> using namespace std; int main() int a, b, c; cout << "Vos trois entiers? "; cin >> a >> b >> c; int tmp; if (b > c) tmp = b; b = c; c = tmp; cout << "a=" << a << " b=" << b << " c=" << c << endl; if (b == a && a == c) cout <<"Fourchette cassee : " << b << "=" << a << "=" << c << endl; else if (b <= a && a <= c) cout <<"Fourchette : " << b << "<=" << a << "<=" << c << endl; else cout << a << " non dans [" << b << ".." << c << "]" << endl;

Unisciel algoprog Sujets d examens [if17], October 15, 2016 16 Qu est-ce qui change si on exclus les bornes? Indiquez votre Réponse comme suit en fin de programme : /*... (votre réponse)... */ Solution simple Il suffit de mettre des inégalités strictes.

Unisciel algoprog Sujets d examens [if17], October 15, 2016 17 7 Manipulation du temps 7.1 Une minute plus tard / pgminute Utilise Conditions, Si Durée estimée 15 min Objectif Cet exercice affiche l horaire (heure, minute) qu il sera une minute plus tard. (Une montre à affichage digital effectue un calcul semblable toutes les minutes.) Écrivez un programme qui saisit un horaire exprimé par deux entiers dans hr (heure) et mn (minute). Affichez l invite : Votre horaire (hr mn)? Dans ces mêmes entiers hr et mn, Calculez l horaire (heure, minute) qu il sera une minute plus tard. Aide simple On peut envisager deux familles de solutions : Soit ajouter 1 au nombre des minutes puis changer l heure si on arrive à 60. Soit traiter différemment le cas où le nombre des minutes est 59 (changement d heure) de celui où il n est pas 59 (pas de changement d heure). Dans les deux cas, on se méfiera de 23 heures et 59 minutes. Affichez l horaire en tenant compte du cas spécial de minuit et des minutes nulles. Testez. Exemples d exécution. Votre horaire (hr, mn)? 11 32 Une minute plus tard : 11h33' Votre horaire (hr, mn)? 23 59 Une minute plus tard : Minuit Votre horaire (hr, mn)? 3 59 Une minute plus tard : 4h Validez votre programme avec la solution.

Unisciel algoprog Sujets d examens [if17], October 15, 2016 18 Solution C++ @[pgminute1.cpp] #include <iostream> using namespace std; int main() int hr, mn; cout << "Votre horaire (hr, mn)? "; cin >> hr >> mn; if (mn < 59) ++mn; else mn = 0; if (hr < 23) ++hr; else hr = 0; cout << "Une minute plus tard: "; if (hr == 0 && mn == 0) cout << "Minuit" << endl; else cout << hr << "h"; if (mn!= 0) cout << mn << " "; cout << endl;

Unisciel algoprog Sujets d examens [if17], October 15, 2016 19 7.2 L horloge / pghorloge Utilise Conditions, Si Durée estimée 15 min Objectif Cet exercice fait avancer une horloge de 1 seconde. Cette horloge est représentée par un triplet de trois variables (heure, minute, seconde). Exemple : si l horloge indique 15:12:59, une seconde plus tard, elle devra indiquer 15:13:00. On suppose que le passage au jour suivant remet l horaire à 00:00:00. Écrivez un programme qui saisit un triplet d entiers dans hr (heure), mn (minute) et ss (seconde). Affichez l invite : Votre horloge (hr mn ss)? Dans ces mêmes entiers hr, mn, ss supposés valides, Calculez l horaire (heure, minute, seconde) qu il sera une seconde plus tard. Aide simple On peut envisager deux familles de solutions : Soit ajouter 1 au nombre de secondes puis changer les minutes si on arrive à 60. Soit traiter différemment le cas où le nombre de secondes est 59 (changement de minutes) de celui où il n est pas 59 (pas de changement de minutes). Affichez l horaire en tenant compte du cas spécial de minuit et des minutes nulles. Testez. Validez votre programme avec la solution. 8 Références générales Comprend [Dabancourt-PG1 :c2 :ex1], [Felea-PG1 :c3 :ex22]