Consistent instructions and examples

I started off with "hints" that required the poor student to piece
together the information from incomplete bits. A complete example is
like a picture that is worth 1000 words and far clearer.
This commit is contained in:
Dave Gauer 2021-02-07 11:06:51 -05:00
parent 507355ec3b
commit adf5ddb27d
16 changed files with 185 additions and 89 deletions

View file

@ -1,14 +1,32 @@
//
// Oh dear! It seems we got a little carried away making const u8 values.
// * const means constant (cannot be changed)
// * u8 means unsigned (cannot be negative), 8-bit integer
// It seems we got a little carried away making everything "const u8"!
//
// Hint 1: Use 'var' for values that can change.
// Hint 2: Use enough bits to hold the value you want:
// u8 255
// u16 65,535
// u32 4,294,967,295
// Hint 3: Use 'i' (e.g. 'i8', 'i16') for signed integers.
// "const" values cannot change.
// "u" types are "unsigned" and cannot store negative values.
// "8" means the type is 8 bits in size.
//
// Example: foo cannot change (it is CONSTant)
// bar can change (it is VARiable):
//
// const foo: u8 = 20;
// var bar: u8 = 20;
//
// Example: foo cannot be negative and can hold 0 to 255
// bar CAN be negative and can hold 128 to 127
//
// const foo: u8 = 20;
// var bar: i8 = -20;
//
// Example: foo can hold 8 bits (0 to 255)
// bar can hold 16 bits (0 to 65,535)
//
// You can do just about any combination of these that you can think of:
//
// u32 can hold 0 to 4,294,967,295
// i64 can hold 9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
//
// Please fix this program so that the types can hold the desired values
// and the errors go away!
//
const std = @import("std");