Digital FXtbook
Easy Contacts
  • Home
    • Software
    • The Author
    • Former Students Hall of Fame
    • A tribute....
    • Treasure Hunt
  • Video Game Training
    • 3d Motion Graphics >
      • Unity >
        • Unity Essentials >
          • Unity's Interface >
            • Our First Assignment
          • Modeling and Level Design >
            • The Essentials
            • The Floor is Lava Name Project
            • ProBuilder >
              • ProBuilder Pro Skater Park
              • ProBuilder Pro Skater Park 2
              • ProBuilder Pro Skater Park 3
              • ProBuilder Pro Skater Park 4
              • ProBuilder Image Planes
              • ProBuilder Steve Modeling
              • ProBuilder Steve Texturing
          • Programming >
            • Getting Started with Scripting
            • Default Scripting
            • Scripting a Game Object
          • Real Time Audio >
            • Adding Background Music
            • 3-d Audio effects
          • 2d Essentials >
            • 2d Game Objects
            • Objects on 2d Game Objects
        • Creative Core >
          • Introduction to Creative Core
          • Shaders and Materials
          • Lighting
          • Animation
          • VFX
          • Cameras
          • Post Processing
          • Audio
          • User Interface
          • Proto-Typing
    • C# Programming >
      • Visual Studios >
        • First Program >
          • Getting input from the User
        • Comments >
          • PsuedoCode
        • Variable Types >
          • AlphaNumeric Variables
          • Numeric Variables
          • Putting it all together
        • Operators >
          • Assignment and Arithmetic Operators >
            • Use of Parenthesis
            • When is Easter??
          • Comparison and Logical Operators >
            • Logical Data, Illogical Assignment
          • Random Class
        • Conditional Statements >
          • Number validator
          • Number tester
          • Speed Camera
        • Loops >
          • For Loops >
            • Adding Numbers
          • For Each Loops
          • While Loops
          • Do While Loops
        • Arrays >
          • Simple Arrays
          • Complex Arrays
      • Intro to Unity >
        • Unity Essentials >
          • Unity's Interface
          • The Essentials
          • Programming >
            • Getting Started with Scripting
            • Default Scripting
            • Scripting a Game Object
        • Intro to Programming 1 >
          • Player Control 1 >
            • Player Control 1.2
            • Player Control 1.3
            • Player Control 1.4
          • Player Control 2 >
            • Player Control 2.2
            • Player Control 2.3
            • Player Control 2.4
          • Player Control Challenge
        • Intro to Programming 2 >
          • Sound and Effects >
            • Sound and Effects 3.2
            • Sound and Effects 3.3
            • Sound and Effects 3.4
          • GamePlay
          • User Interface
          • Feedback and Testing
          • Next Steps
        • Intro to Programming 3 >
          • Manage Scene Flow and Data
          • Apply Object-Oriented Principles
    • Modeling and Rigging >
      • Modeling >
        • Introduction: The Temple
        • Name Text Curve
        • Character Modeling >
          • Minecraft Steve
          • Minecraft Steve UV
          • Roblox Character modeling
          • Big Daddy
          • Character Modeling Legion the Geth
          • Character Modeling Geth Armor
        • Weapons >
          • Minecraft Tools and Weapons
          • Minecraft Movie Pickaxe
          • Minecraft Movie Sword
          • Thor's Hammer
          • Hammer
          • LOL Sword
          • Sword of Light
          • Buzz Axe
          • Weapon
      • Rigging >
        • Intro to Rigging
        • Controls
        • Rigging Basics
        • Rigging Creating Skeletons
        • Rigging: Body Controls
        • Rigging: Hands
        • Rigging: Skinning
        • Smooth Skinning
      • Animation >
        • Walk-Cycle 1
        • Walk-Cycle 2
    • Advanced >
      • Modeling >
        • Image Planes
        • Polygon Modeling >
          • Coke Can
          • Low Polygon Character
          • Character Modeling Legion the Geth
          • Character Modeling Geth Armor
          • Face Modeling
        • NURBS Modeling >
          • Intro to NURBS
          • Lofting
          • CV Curves
          • Organic Modeling
          • Autombile
      • Linda Training >
        • Advanced Modeling >
          • Modeling Basics
          • Modeling Room Objects
      • Texturing
      • Rigging >
        • Rigging with HumanIK
        • Smooth Skinning
  • Student Films
    • Advanced Student's movies
    • Beginning Student's movies
  • Links
    • BPA >
      • BPA Computer Modeling
    • The Top Six Animation Schools
    • The Top Video Game Design Schools

When is Easter????

Ok.... so in this lesson we are going to figure out when Easter falls for a given year

Easter is a so-called moveable feast, and its date depends on two astronomical phenomena:

the beginning of spring in the Northern hemisphere and the first full moon occurring after it.

You may think that finding the date of Easter would be extremely complex and connected to complicated astronomical calculations, but, fortunately, it's much, much easier.

The algorithm we're going to show you was created by a famous German mathematician, Carl Friedrich Gauss.

It's known in many variations – we're going to use one of the simpler forms adapted for the 20th and 21st centuries.

The only data it uses is the year number.

Okay, let's go!



​The program should ask the user for the year number and output a date in the form Month Day, e.g. April 5. Test your code using the data we've provided. 




​Psuedocode

1. Create variables with the following names
     A. a string variable named stringYear (this will be for the user's input)
     B. an int variable name year (this will be the converted variable)
     C. int variables for these a, b, c, d, e
2. Ask the user for a year
3. Get input from user
4. Convert the answer to Arithmetically usable variable type
4. Divide year by 19 and find the remainder – assign it to a;

5. Divide year by 4 and find the remainder – assign it to b;
6. Divide year by 7 and find the remainder – assign it to c;
7. Take a, multiply it by 19, add 24, divide by 30 and find the remainder – assign it to d
8. Divide (2b + 4c + 6d + 5) by 7 and find the remainder - assign it to e;
9. Check the value of d + e;
10. If it's less than 10, Easter falls on the (d + e + 22) day of March; output to the console
11. Otherwise it falls on the (d + e – 9) day of April; output to the console
That's it.... Good luck!



To test your program and make sure that it works....

​

Here is the test data

Example input
2016


Example output
March 27


Example input
1980


Example output
April 6


Example input
2026


Example output
April 5 
Proudly powered by Weebly