HP 40gs HP 39gs_40gs_Mastering The Graphing Calculator_English_E_F2224-90010.p - Page 269

extra spaces is minimal but, memory take up by a few

Page 269 highlights

.TRANSF.SHAPE .TRANSF.MAT (continued...) Since the default contents of any variable is zero and there is no zero'th option on a list this means a program bug waiting to happen unless you preset the value. This program uses the CHOOSE command to offer a list of options. Note the need to pre-load a value into C. This value determines which option is initially highlighted when the menu appears. If a list has only three options but the highlight is set to some other value than those three then it can crash the program. Options 1 and 2 load preset matrices while option 3 allows the user to edit their own. Note the check to ensure the matrix they entered has a valid size. The number of columns is then extracted and used to reset the value of Tmax. The new image matrix is also recalculated. Note: The indenting used is not required and is there simply to make the program easier to read. The amount of memory take up by a few extra spaces is minimal but well worth it in terms of readability. This program puts up a message instructing the user and then allows them to edit the transformation matrix in M1. The size of the matrix is checked to ensure it is 2x2, with the DO...UNTIL loop ensuring that the user cannot exit without a valid matrix entered. Assuming that you have the .TRANSF.SV program to create the new altered VIEWS menu then you can now test the aplet. Don't forget that you must the aplet first to ensure that the new VIEWS menu is attached to the right aplet. Its operation should be familiar to you if you have already examined its 'cousin' on page 234. 269

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302
  • 303
  • 304
  • 305
  • 306
  • 307
  • 308
  • 309
  • 310
  • 311
  • 312
  • 313
  • 314
  • 315
  • 316
  • 317
  • 318
  • 319
  • 320
  • 321
  • 322
  • 323
  • 324
  • 325
  • 326
  • 327
  • 328
  • 329
  • 330
  • 331
  • 332
  • 333
  • 334
  • 335
  • 336
  • 337
  • 338
  • 339
  • 340
  • 341
  • 342
  • 343
  • 344
  • 345
  • 346
  • 347
  • 348
  • 349
  • 350
  • 351
  • 352
  • 353
  • 354
  • 355
  • 356
  • 357
  • 358
  • 359
  • 360
  • 361
  • 362
  • 363
  • 364
  • 365
  • 366

.TRANSF.SHAPE
.TRANSF.MAT
(continued…)
Since the default contents of
any variable is zero and
there is no zero’th option on
a list this means a program
bug waiting to happen unless
you preset the value.
Options 1 and 2 load preset
This program uses the
CHOOSE
command to offer
a list of options. Note the
need to pre-load a value into
C
. This value determines
which option is initially
highlighted when the menu
appears. If a list has only
three options but the highlight
is set to some other value
than those three then it can
crash the program.
matrices while option 3
allows the user to edit their
own. Note the check to
ensure the matrix they entered
has a valid size. The number
of columns is then extracted
and used to reset the value of
Tmax
. The new image
matrix is also recalculated.
Note: The indenting used is
not required and is there
simply to make the program
easier to read. The amount of
memory take up by a few
extra spaces is minimal but
well worth it in terms of
readability.
This program puts up a
message instructing the user
and then allows them to edit
the transformation matrix in
M1
. The size of the matrix is
checked to ensure it is 2x2,
with the
DO…UNTIL
loop
ensuring that the user cannot
exit without a valid matrix
entered.
Assuming that you have
the
.TRANSF.SV
program to create the new altered
VIEWS
menu then you
can now test the aplet. Don’t forget that you must
the aplet first to ensure that the new
VIEWS
menu is
attached to the right aplet. Its operation should be familiar to you if you have already examined its ‘cousin’
on page 234.
269