This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
haas:fall2022:cprog:projects:sam0 [2022/10/16 15:05] – [Program] wedge | haas:fall2022:cprog:projects:sam0 [2022/10/16 15:12] (current) – [Submission] wedge | ||
---|---|---|---|
Line 142: | Line 142: | ||
lab46: | lab46: | ||
</ | </ | ||
+ | |||
+ | =====Pseudocode===== | ||
+ | |||
+ | ====encode==== | ||
+ | Your encode may end up flowing something like the following: | ||
+ | |||
+ | < | ||
+ | MODULE ENCODE (RECEIVES MESSAGE AND KEY): | ||
+ | LOOP THROUGH EACH CHARACTER IN THE MESSAGE: | ||
+ | CHARACTER IS SET TO NUMERIC VALUE OF CHARACTER PLUS THE KEY | ||
+ | SHOULD THE CHARACTER EXCEED THE RANGE OF DISPLAYABLE CHARACTERS: | ||
+ | RESET CHARACTER TO START OF RANGE PLUS REMAINING OFFSET OF KEY | ||
+ | SHOULD THE CHARACTER GO BELOW THE RANGE OF DISPLAYABLE CHARACTERS: | ||
+ | RESET CHARACTER TO END OF RANGE MINUS REMAINING OFFSET OF KEY | ||
+ | |||
+ | SET MODIFIED CHARACTER TO RESULT MESSAGE | ||
+ | END LOOP | ||
+ | SEND BACK RESULT MESSAGE | ||
+ | END MODULE | ||
+ | </ | ||
+ | |||
+ | ====decode==== | ||
+ | < | ||
+ | MODULE DECODE (RECEIVES MESSAGE AND KEY): | ||
+ | LOOP THROUGH EACH CHARACTER IN THE MESSAGE: | ||
+ | CHARACTER IS SET TO NUMERIC VALUE OF CHARACTER MINUS THE KEY | ||
+ | SHOULD THE CHARACTER EXCEED THE RANGE OF DISPLAYABLE CHARACTERS: | ||
+ | RESET CHARACTER TO START OF RANGE PLUS REMAINING OFFSET OF KEY | ||
+ | SHOULD THE CHARACTER GO BELOW THE RANGE OF DISPLAYABLE CHARACTERS: | ||
+ | RESET CHARACTER TO END OF RANGE MINUS REMAINING OFFSET OF KEY | ||
+ | |||
+ | SET MODIFIED CHARACTER TO RESULT MESSAGE | ||
+ | END LOOP | ||
+ | SEND BACK RESULT MESSAGE | ||
+ | END MODULE | ||
+ | </ | ||
=====Submission===== | =====Submission===== | ||
Line 147: | Line 183: | ||
* Code must compile cleanly (no warnings or errors) | * Code must compile cleanly (no warnings or errors) | ||
- | * Use the **-Wall** and **< | + | * Use the **-Wall** and **< |
* Output must be correct, and resemble the form given in the sample output above. | * Output must be correct, and resemble the form given in the sample output above. | ||
* Code must be nicely and consistently indented (you may use the **indent** tool) | * Code must be nicely and consistently indented (you may use the **indent** tool) |