
This program determines if a year is a leap year or not. A leap year is divisible by 4 but not by 100, except when it is divisible by 400. A number x is divisible by a number y if the remainder of x/y is identical to zero, i.e. Rem(x/y}=O is true therefore
Leap Year = {Rem (Year/4) = 0 And Not (Rem (Year/100) = 0)} Or Rem (Year/400) = 0 (3.1)
where And, Or and Not are Boolean operators.
For example:
1900 is not a leap year because it is divisible by 100
1970 is not a leap year because it is not divisible by 4
1980 is a leap year because it is divisible by 4 but not by 100
2000 is a leap year because it is divisible by 400
Start a new G program and right click on the Block Diagram window. Go to the Functions » Programming » Numeric menu in the Block Diagram window.

Select three copies of the Quotient & Remainder function and three numeric constants. Type in 4, 100 and 400 for the numeric constants and wire these constants to the lower input terminal (corresponding to the dividend) of the Quotient & Remainder function.

From the Functions » Programming » Comparison menu, select 2 copies of the Equal to Zero function and one copy of the Not Equal to Zero function.

Organize the comparison operations as show in the diagram.

From the Functions » Programming » Boolean menu select the AND and OR operators

Place the Boolean operators as shown in Q&R, Comparison & Boolean Functions.

From the Functions » Programming » Structures menu, click on the Case Structure.

Click and drag on the Block Diagram window to create the Case Structure.

The True diagra m option is indicated at the top of the case structure.

Drop a string constant and type "Is a Leap Year".

Click on the down arrowhead next to the True label and select the False option .

Drop another string constant and type "Is not a Leap Year".

Go to the Front Panel window and place a numeric input and an output string. Re-label the numeric input to Year and the output string to Message.

Right click on Year and select Representation » I32 from the numeric pop-up menu.

Arrange the Year and Message terminals in the Block Diagram window as shown in the figure.

Wire the OR operator is to the "7" in the case structure and the string constant "Is not a Leap Year" is wired to Message.

Select the True option and Wire the "Is a Leap Year" string constant to the output terminal of the Case Structure.

Save the program as Leap Year.vi, enterYear values and run the program to determine whether the value of Year is that of a leap year or not.

- 1513 reads