Énonce
Écrire un programme (un algorithme) qui demande deux nombres à l'utilisateur et l'informe si leur produit est positif, négatif ou bien nul sans le calculer.L'objectif de cet exercice est une variété d'un autre exercice dans lequel on vérifie est ce qu'un nombre est positif, négatif ou bien nul. La différence ici est qu'on essaie de compliquer les conditions. Le reste de l'algorithme (la structure conditionnelle imbriquée) reste la même parce qu'il s'agit des mêmes cas (trois cas, exactement le même problème). A partir de l'analyse donnée dans le cadre de l'exercice précédent, il suffit de reprendre la partie concernant es conditions à vérifier :
- Le produit de a et b est positif si les deux nombres sont du même signe, c'est à dire, le produit est positif si et seulement si a et positif et b est positif ou bien a est négatif et b est négatif.
- Le produit de a et b est négatif si les deux nombres sont de signes différents, c''est à dire, le produit est négatif si a est positif et b est négatif ou bien a est négatif et b est positif.
- Le produit de a et b est nul s'il est ni positif, ni négatif.
Ainsi, le programme sera :
En Pascal :
Program PositifNegatifNul; Var a, b : Integer; Begin WriteLn('Donnez deux nombres :'); ReadLn(a); ReadLn(b); If (((a > 0) And (b > 0)) Or ((a < 0) And (b < 0))) Then WriteLn('Le produit est Positif') Else if (((a < 0) And (b > 0)) Or ((a > 0) And (b < 0))) Then WriteLn('Le produit est Negatif') Else WriteLn('Le produit est Nul'); End.
En Java :
import java.util.Scanner; public class Exemple { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("Donnez deux nombres :"); int a = scanner.nextInt(); int b = scanner.nextInt(); if(a < 0 && b < 0 || a > 0 && b > 0) System.out.println("Le produit est Positif"); else if (a < 0 && b > 0 || a > 0 && b < 0) System.out.println("Le produit est Negatif"); else System.out.println("Le produit est Nul"); } }