# Programming Fundamentals/Variables

Jump to navigation
Jump to search

This lesson introduces variables, constants, data types, expressions, statements, and order of operations.

## Contents

## Objectives and Skills[edit]

- Understand variables and constants.
- Use integer, floating-point, and string data types appropriately.
- Use expressions and statements to assign values to variables.
- Understand the order of operations for arithmetic and logical operators.

## Readings[edit]

- Rebus: Programming Fundamentals
- Wikipedia: Variable (computer science)
- Wikipedia: Constant (computer programming)
- Wikipedia: Data type
- Wikipedia: Expression (computer science)
- Wikipedia: Statement (computer science)
- Wikipedia: Assignment (computer science)
- Wikipedia: Order of operations
- Wikipedia: Input/output
- Wikipedia: Self-documenting code

## Multimedia[edit]

- YouTube: Programming/Scripting Concepts Explained (Variables, Arrays, Strings, & Length)
- YouTube: Programming For Beginners - Variables
- YouTube: Programming For Beginners - Data Types
- YouTube: Introduction to Programs Data Types and Variables
- YouTube: Introduction to Programming - Basics
- YouTube: Declaring and using variables and constants
- YouTube: Performing arithmetic operations
- YouTube: Introduction to order of operations
- YouTube: Algorithm using Flowchart and Pseudo code Level 1 Flowchart
- YouTube: Basic program using outputs- example 1
- YouTube: Basic program - random number example 2
- YouTube: Basic program - using inputs - example 3

## Practice[edit]

## Examples[edit]

## Activities[edit]

Complete the following activities using a flowchart tool, pseudocode, or your selected programming language.

- Create a program to prompt the user for hours and rate per hour and then calculate and display their weekly, monthly, and annual gross pay (hours * rate). Base monthly and annual calculations on 12 months per year and 52 weeks per year.
^{[1]} - Create a program that asks the user how old they are in years, and then calculate and display their approximate age in months, days, hours, and seconds. For example, a person 1-year-old is 12 months old, 365 days old, etc.
- Review MathsIsFun: US Standard Lengths. Create a program that asks the user for a distance in miles, and then calculate and display the distance in yards, feet, and inches, or ask the user for a distance in miles, and then calculate and display the distance in kilometers, meters, and centimeters.
- Review MathsIsFun: Area of Plane Shapes. Create a program that asks the user for the dimensions of different shapes and then calculate and display the area of the shapes. Do not include shape choices. That will come later. For now, just include multiple shape calculations in sequence.
- Create a program that calculates the area of a room to determine the amount of floor covering required. The room is rectangular with the dimensions measured in feet with decimal fractions. The output needs to be in square yards. There are 3 linear feet (9 square feet) to a yard.
^{[2]} - Create a program that helps the user determine how much paint is required to paint a room and how much it will cost. Ask the user for the length, width, and height of a room, the price of a gallon of paint, and the number of square feet that a gallon of paint will cover. Calculate the total area of the four walls as
`2 * length * height + 2 * width * height`

Calculate the number of gallons as:`total area / square feet per gallon`

Note: You must round up to the next full gallon. To round up, add 0.9999 and then convert the resulting value to an integer. Calculate the total cost of the paint as:`gallons * price per gallon`

.^{[3]} - Review MathsIsFun: Order of Operations. Create a program that demonstrates the order of operations. Include parentheses, exponents, multiplication, division, addition, and subtraction in your program. Use variables for the calculations and label the output. For example, part of the program might display:

`1 + 2 * 3 = 7`

`(1 + 2) * 3 = 9`

`...`

- Review Wikipedia: Data type. Create a program that demonstrates integer, floating point, and character or string data, and demonstrate converting between data types. For example, user input is always a string, but adding string values of "1" + "1" is typically "11", whereas, adding numeric values of 1 + 1 is 2. Use variables for the calculations and label the output.

## Lesson Summary[edit]

- Variables are parts of an equation that can change, thus they typically depend on user input. They should be named to refer to what the input/data represents.
^{[4]} - Constants are part of an equation that can never change.
^{[5]} - Expressions must be declared in order to be used, and they must have a unique identifier name, as well as a data type.
^{[6]} - Operator precedence sets the rules that govern the 'order of operations' or the order of parsing operators for a particular language as the order may vary from one programming language to another.
^{[7]} - Most programming languages follow the order of operations (PEMDAS) just like in regular math.
^{[8]} - Identifier names follow a set of rules imposed by the language's technical limitations, good programming practices, and common industry standards for language.
^{[9]} - Good programming techniques involve using meaningful and case consistent identifiers. Meaningful identifier helps others to understand your code better. Case consistent practice will help you to avoid errors.
^{[10]} - The data type used for a variable's declaration sets the parameters for the kind of data that the variable can contain.
^{[11]}

## Key Terms[edit]

- assignment
- Assigns a variable name to a value of data (or resets the value of data), that will then be stored by the computer.
^{[12]}

- Boolean
- A data type having two values, typically denoted true and false.
^{[13]}

- constant
- A value that cannot be altered by the program during normal execution.
^{[14]}

- data type
- A classification of data which tells the compiler or interpreter how the programmer intends to use the data.
^{[15]}

- declaration
- A language construct that specifies the properties of a given identifier.
^{[16]}

- double
- The most often used floating-point family data type used.
^{[17]}

- expression
- A combination of one or more explicit values, constants, variables, operators, and functions that a programming language interprets and computes to produce another value.
^{[18]}

- floating point
- The formulaic representation that approximates a real number to a fixed amount of significant digits.
^{[19]}

- integer
- A number that can be written without a fractional component.
^{[20]}

- modulus
- The remainder part after the division of one number by another.
^{[21]}

- NaN
- Reserved word used to indicate a non-numeric value in a numeric variable.
^{[22]}

- null
- Reserved word used to represent a missing value or invalid value.
^{[23]}

- operator
- A programming language construct that performs a calculation from zero or more input values to an output value.
^{[24]}

- precedence
- Determines the order in which the operators are allowed to manipulate the operands.
^{[25]}

- order of operations
- A collection of rules that reflect conventions about which procedures to perform first in order to evaluate a given mathematical expression.
^{[26]}

- real number
- a value that represents a quantity along a line, including integers, fractions, and irrational numbers.
^{[27]}

- self-documenting code
- Source code and user interfaces that follow naming conventions and structured programming conventions that enable the use of a system without prior specific knowledge.
^{[28]}

- statement
- The smallest standalone element of an imperative programming language that expresses some action to be carried out.
^{[29]}

- string
- A data type used to represent text rather than numbers.
^{[30]}

- truncation
- The fractional part of a floating-point data type that is dropped when converted to an integer.
^{[31]}

- variable
- A storage location paired with an associated symbolic name (an identifier), which contains some known or unknown quantity of information referred to as a value. In which case, the value can change during the program's execution.
^{[32]}

## Assessments[edit]

## See Also[edit]

## References[edit]

- ↑ PythonLearn: Variables, expressions, and statements
- ↑ Wikibooks: Programming Fundamentals/Practice: Data and Operators
- ↑ Wikibooks: Programming Fundamentals/Practice: Data and Operators
- ↑ https://press.rebus.community/programmingfundamentals/chapter/constants-and-variables/
- ↑ https://press.rebus.community/programmingfundamentals/chapter/constants-and-variables/
- ↑ https://press.rebus.community/programmingfundamentals/chapter/order-of-operations/
- ↑ https://press.rebus.community/programmingfundamentals/chapter/order-of-operations/
- ↑ https://press.rebus.community/programmingfundamentals/chapter/order-of-operations/
- ↑ https://press.rebus.community/programmingfundamentals/chapter/identifier-names/
- ↑ https://press.rebus.community/programmingfundamentals/chapter/identifier-names/
- ↑ https://press.rebus.community/programmingfundamentals/chapter/identifier-names/
- ↑ Wikipedia: Assignment (computer science)
- ↑ Wikipedia: Boolean data type
- ↑ Wikipedia: Constant (computer programming)
- ↑ Wikipedia: Data type
- ↑ Wikipedia: Declaration (computer programming)
- ↑ https://press.rebus.community/programmingfundamentals/chapter/floating-point-data-type/
- ↑ Wikipedia: Expression (computer science)
- ↑ Wikipedia: Floating point
- ↑ Wikipedia: Integer
- ↑ Wikipedia: Modulo operation
- ↑ https://press.rebus.community/programmingfundamentals/chapter/nothing-data-type/
- ↑ https://press.rebus.community/programmingfundamentals/chapter/nothing-data-type/
- ↑ Wikipedia: Operation (mathematics)
- ↑ https://press.rebus.community/programmingfundamentals/chapter/order-of-operations/
- ↑ Wikipedia: Order of operations
- ↑ Wikipedia: Real number
- ↑ "Self-documenting code" (in en).
*Wikipedia*. 2019-06-03. https://en.wikipedia.org/w/index.php?title=Self-documenting_code&oldid=900074753. - ↑ Wikipedia: Statement (computer science)
- ↑ TechTerms: String
- ↑ https://press.rebus.community/programmingfundamentals/chapter/data-type-conversions/
- ↑ Wikipedia: Variable (computer science)