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:
parent
507355ec3b
commit
adf5ddb27d
16 changed files with 185 additions and 89 deletions
|
|
@ -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");
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue