{VERSION 5 0 "IBM INTEL NT" "5.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 1 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 1 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 2 0 1 0 0 0 0 0 0 1 }{CSTYLE "2D Comment" 2 18 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 256 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 257 "Courier" 1 10 0 0 0 0 0 1 0 0 0 0 3 0 0 1 }{CSTYLE "" -1 258 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 259 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 260 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 261 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 262 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 263 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 264 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 265 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 266 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 267 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 268 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 269 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 270 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 271 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 272 "" 0 1 40 101 120 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 273 "" 0 1 40 101 120 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 274 "" 0 1 50 1 50 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 275 "" 0 1 0 0 64 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 276 "" 0 1 0 0 168 0 1 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 277 "" 0 1 0 0 236 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 278 "" 0 1 0 0 236 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 279 "" 0 1 0 0 236 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 280 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 281 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 282 "" 0 1 51 1 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 283 "" 0 1 74 0 158 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 284 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 285 "" 0 1 0 0 10 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 286 "" 0 1 0 0 168 0 0 1 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 287 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 288 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 289 "" 0 1 19 1 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 290 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 291 "" 0 1 74 0 241 0 1 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 292 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 293 "" 0 1 0 0 15 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 294 "" 0 1 0 0 96 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" 20 295 "" 0 1 177 0 1 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" 20 296 "" 0 1 0 0 64 0 1 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 297 "" 0 1 0 0 28 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" 20 298 "" 0 1 0 0 64 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 299 "" 0 1 0 0 22 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 300 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 301 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 302 "" 0 1 0 0 22 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 303 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 304 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 305 "" 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 306 "" 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 307 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 308 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 309 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 310 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 311 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 312 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 313 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 314 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 315 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 316 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 317 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 318 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 319 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 320 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 321 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 322 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 323 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 324 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 325 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 326 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 327 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 328 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 329 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 330 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 331 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 332 "" 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 333 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Heading 1" 0 3 1 {CSTYLE "" -1 -1 "" 1 18 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }1 0 0 0 8 4 0 0 0 0 0 0 -1 0 }{PSTYLE "Head ing 2" 3 4 1 {CSTYLE "" -1 -1 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 1 }0 0 0 -1 8 2 0 0 0 0 0 0 -1 0 }{PSTYLE "Title" 0 18 1 {CSTYLE "" -1 -1 " " 1 18 0 0 0 0 0 1 1 0 0 0 0 0 0 1 }3 0 0 -1 12 12 0 0 0 0 0 0 19 0 } {PSTYLE "" 0 256 1 {CSTYLE "" -1 -1 "" 0 1 1 0 208 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 257 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 258 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 259 1 {CSTYLE " " -1 -1 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 260 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 261 1 {CSTYLE "" -1 -1 "" 0 1 90 1 156 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 262 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 263 1 {CSTYLE "" -1 -1 "" 0 1 0 0 50 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 264 1 {CSTYLE "" -1 -1 "" 0 1 242 0 0 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 } {PSTYLE "" 0 265 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 266 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 267 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 1 }3 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 268 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 269 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 270 1 {CSTYLE " " -1 -1 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 271 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 272 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 273 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 274 1 {CSTYLE "" -1 -1 "" 0 1 0 0 3 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 275 1 {CSTYLE "" -1 -1 "" 0 1 0 0 32 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 276 1 {CSTYLE "" -1 -1 "" 0 1 0 0 67 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 277 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE " " 0 278 1 {CSTYLE "" -1 -1 "" 0 1 79 0 248 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 279 1 {CSTYLE "" -1 -1 "" 0 1 97 100 105 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 } {PSTYLE "" 0 280 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 281 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 282 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 283 1 {CSTYLE "" -1 -1 "" 0 1 5 28 212 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 284 1 {CSTYLE "" -1 -1 "" 0 1 32 32 32 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 285 1 {CSTYLE "" -1 -1 "" 0 1 32 1 77 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 286 1 {CSTYLE "" -1 -1 "" 0 1 45 49 32 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 287 1 {CSTYLE "" -1 -1 "" 0 1 32 45 49 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 288 1 {CSTYLE "" -1 -1 "" 0 1 49 32 45 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 } {PSTYLE "" 0 289 1 {CSTYLE "" -1 -1 "" 0 1 48 32 125 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 290 1 {CSTYLE "" -1 -1 "" 0 1 83 84 89 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 291 1 {CSTYLE "" -1 -1 "" 0 1 34 32 48 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 292 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 293 1 {CSTYLE "" -1 -1 "" 0 1 1 0 208 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 294 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 }3 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 295 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 }3 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE " " 0 296 1 {CSTYLE "" -1 -1 "" 0 1 1 0 208 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 297 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 } {PSTYLE "" 0 298 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 299 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 300 1 {CSTYLE "" -1 -1 "" 0 1 90 1 156 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 301 1 {CSTYLE " " -1 -1 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 302 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 303 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 304 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 305 1 {CSTYLE "" -1 -1 "" 0 1 0 0 3 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 306 1 {CSTYLE "" -1 -1 "" 0 1 0 0 32 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 307 1 {CSTYLE "" -1 -1 "" 0 1 1 0 208 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 308 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE " " 0 309 1 {CSTYLE "" -1 -1 "" 0 1 1 0 208 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 310 1 {CSTYLE "" -1 -1 "" 0 1 0 0 3 0 0 2 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {PARA 18 "" 0 "" {TEXT -1 63 "Introdu\347\343o ao Maple. M\363 dulo XI: Comandos b\341sicos de programa\347\343o" }}{SECT 1 {PARA 4 " " 0 "" {TEXT -1 9 "Itera\347\365es" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 61 "Existem duas formas de executar itera\347\365es atrav\351s do coma ndo " }{HYPERLNK 17 "for" 2 "for" "" }{TEXT -1 1 ":" }}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 258 3 "for" }{TEXT -1 10 " con tador " }{TEXT 259 4 "from" }{TEXT -1 15 " valor_inicial " }{TEXT 260 2 "by" }{TEXT -1 11 " intervalo " }{TEXT 261 2 "to" }{TEXT -1 13 " val or_final " }{TEXT 262 5 "while" }{TEXT -1 20 " express\343o_booleana\n " }{TEXT 263 2 "do" }{TEXT -1 11 " comando_1;" }}{PARA 0 "" 0 "" {TEXT -1 15 " comando_2;" }}{PARA 0 "" 0 "" {TEXT -1 15 " coma ndo_3;" }}{PARA 0 "" 0 "" {TEXT -1 13 " ... " }}{PARA 0 "" 0 " " {TEXT 257 3 "od;" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 1 "e" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 256 3 "for" }{TEXT -1 10 " vari\341vel " }{TEXT 264 2 "in" } {TEXT -1 11 " express\343o " }{TEXT 258 5 "while" }{TEXT -1 20 " expre ss\343o_booleana\n" }{TEXT 259 2 "do" }{TEXT -1 11 " comando_1;" }} {PARA 0 "" 0 "" {TEXT -1 15 " comando_2;" }}{PARA 0 "" 0 "" {TEXT -1 15 " comando_3;" }}{PARA 0 "" 0 "" {TEXT -1 13 " ... " }}{PARA 0 "" 0 "" {TEXT -1 3 "od;" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 90 "Os comandos em negrito devem ser escritos em letras min\372sculas. A maior parte \351 opcional. " }}{PARA 0 "" 0 "" {TEXT -1 91 "Vejamos um exemplo da primeira forma. Os n\372meros \+ pares podem ser gerados da seguinte forma." }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 22 "for i to 5 do 2*i; od;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 23 "Na aus\352ncia do comando " }{TEXT 265 4 "from" }{TEXT -1 80 ", o valor inicial do contador \351 1. Um forma quase equivalent e do mesmo comando \351" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 33 " for i from 2 by 2 to 10 do i; od;" }}}{EXCHG {PARA 307 "" 0 "" {TEXT -1 54 "Segue exemplos da segunda forma de executar itera\347\365es:" } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 41 "for i in 4*x^3-cos(t+u)+8 \+ do print(i) od;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "for i in 4*x^3 do print(i) od;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "f or i in x^3 do print(i) od;" }}}{EXCHG {PARA 293 "" 0 "" {TEXT -1 5 "S eja " }{XPPEDIT 18 0 "L;" "6#%\"LG" }{TEXT -1 22 " uma lista de fun \347\365es." }}{PARA 257 "> " 0 "" {MPLTEXT 1 0 24 "L:=[exp(x^2),x^3,l n(x)];" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 81 "Queremos calcular uma a proxima\347\343o para integral definida de 1 a 2 dessas fun\347\365es. " }}}{EXCHG {PARA 258 "> " 0 "" {MPLTEXT 1 0 53 "for i in L do Int(i,x =1..2)=evalf(int(i,x=1..2)); od;" }}}{EXCHG {PARA 259 "" 0 "" {TEXT -1 20 "Note que o contador " }{XPPEDIT 18 0 "i;" "6#%\"iG" }{TEXT -1 70 " no comando acima recebe fun\347\365es como valor. Vejamos o valor final de " }{XPPEDIT 18 0 "i;" "6#%\"iG" }{TEXT -1 1 "." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 2 "i;" }}}{EXCHG {PARA 289 "" 0 "" {TEXT -1 84 "Considere o seguinte problema. Suponha que temos uma list a de fun\347\365es na vari\341vel x." }}}{EXCHG {PARA 261 "> " 0 "" {MPLTEXT 1 0 39 "L := [ x^2, g(x), sin(x), a*exp(x^2)];" }}}{EXCHG {PARA 262 "" 0 "" {TEXT -1 83 "Queremos construir a lista das derivada s. O pr\363ximo comando n\343o resolve o problema." }}{PARA 263 "> " 0 "" {MPLTEXT 1 0 28 "for i in L do diff(i,x); od;" }}}{EXCHG {PARA 264 "" 0 "" {TEXT -1 103 "A solu\347\343o atrav\351s do uso do comando de itera\347\343o requer primeiramente a inicializa\347\343o de uma l ista nula." }}{PARA 265 "> " 0 "" {MPLTEXT 1 0 17 "derivadas := [ ];" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 21 "Agora vem a itera\347\343o." }} }{EXCHG {PARA 266 "> " 0 "" {MPLTEXT 1 0 13 "for i in L do" }}{PARA 292 "> " 0 "" {MPLTEXT 1 0 46 " derivadas := [ op(derivadas), diff(i , x) ];" }}{PARA 267 "> " 0 "" {MPLTEXT 1 0 3 "od:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 30 "Note que terminamos o comando " }{TEXT 266 9 "for do od" }{TEXT -1 223 " com dois pontos para que nada seja mostrado na tela. Os comandos dentro da itera\347\343o podem terminar com dois po ntos ou ponto e v\355rgula. Isso n\343o tem efeito algum em termos de \+ mostrar resultados na tela. Vejamos o resultado." }}}{EXCHG {PARA 268 "> " 0 "" {MPLTEXT 1 0 10 "derivadas;" }}}{EXCHG {PARA 269 "" 0 "" {TEXT -1 108 "O valor que o contador assume no final da itera\347\343o pode ser importante, como \351 o caso no seguinte problema. " }} {PARA 294 "" 0 "" {TEXT -1 42 "Qual \351 o maior n\372mero primo abaix o de 808?" }}{PARA 270 "> " 0 "" {MPLTEXT 1 0 49 "for i from 808 by -1 while not isprime(i) do od;" }}}{EXCHG {PARA 271 "" 0 "" {TEXT -1 54 "O valor do contador cont\351m a informa\347\343o que desejamos:" } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 2 "i;" }}}{EXCHG {PARA 272 "" 0 "" {TEXT -1 9 "Exceto o " }{TEXT 267 5 "do od" }{TEXT -1 89 ", todos os outras partes s\343o opcionais. Vejamos um exemplo do comando whil e. Suponha que " }{XPPEDIT 18 0 "N;" "6#%\"NG" }{TEXT -1 16 " tem o va lor 68." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "N := 68;" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 17 "Queremos dividir " }{XPPEDIT 18 0 "N;" "6#%\"NG" }{TEXT -1 16 " por 2 enquanto " }{XPPEDIT 18 0 "N;" "6# %\"NG" }{TEXT -1 9 " for par." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "while type(N,even) do N := N/2 od;" }}}{EXCHG {PARA 273 "" 0 "" {TEXT -1 75 "Existem dois nomes especiais para serem usados dentro de \+ itera\347\365es que s\343o " }{HYPERLNK 17 "break" 2 "break" "" } {TEXT -1 3 " e " }{HYPERLNK 17 "next" 2 "next" "" }{TEXT -1 13 ". A va ri\341vel " }{HYPERLNK 17 "break" 2 "break" "" }{TEXT -1 165 " faz com que a itera\347\343o seja imediatamente interrompida. Por exemplo, no comando seguinte conseguimos interromper a itera\347\343o sem que o c ontador tenha um valor final." }}}{EXCHG {PARA 275 "> " 0 "" {MPLTEXT 1 0 5 "i:=0;" }}}{EXCHG {PARA 276 "> " 0 "" {MPLTEXT 1 0 3 "do " }} {PARA 277 "> " 0 "" {MPLTEXT 1 0 10 " i:=i+1;" }}{PARA 278 "> " 0 " " {MPLTEXT 1 0 24 " if i=3 then break fi;" }}{PARA 279 "> " 0 "" {MPLTEXT 1 0 3 "od;" }}}{EXCHG {PARA 280 "" 0 "" {TEXT -1 11 "A vari \341vel " }{HYPERLNK 17 "next" 2 "next" "" }{TEXT -1 147 " por sua vez n\343o interrompe a itera\347\343o, mas quando avaliada faz com que u ma volta seja pulada. Vamos imprimir os n\372meros \355mpares da segui nte forma." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "for i to 10 d o" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 30 " if type(i,odd) then next fi; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 11 " print(i);" }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 3 "od;" }}}{EXCHG {PARA 281 "" 0 "" {TEXT -1 0 "" }} {PARA 282 "" 0 "" {TEXT -1 190 "Podemos ter itera\347\365es dentro de \+ itera\347\365es, por\351m os c\341lculos executados dentro de itera \347\365es encaixadas n\343o s\343o mostrados na tela.. Para que os re sultados sejam exibidos, o valor da vari\341vel " }{HYPERLNK 17 "print level" 2 "printlevel" "" }{TEXT -1 32 " tem que ser maior ou igual a 2 :" }}}{EXCHG {PARA 283 "> " 0 "" {MPLTEXT 1 0 16 "printlevel := 2;" }} }{EXCHG {PARA 284 "> " 0 "" {MPLTEXT 1 0 14 "for i to 2 do " }}{PARA 285 "> " 0 "" {MPLTEXT 1 0 15 " for j to 2 do" }}{PARA 286 "> " 0 "" {MPLTEXT 1 0 25 " a||i||j := P[i]+Q[j];" }}{PARA 287 "> " 0 "" {MPLTEXT 1 0 4 " od" }}{PARA 288 "> " 0 "" {MPLTEXT 1 0 3 "od;" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "printlevel := 1;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 44 "Existem tr\352s formas particulares do co mando " }{HYPERLNK 17 "for" 2 "for" "" }{TEXT -1 9 " que s\343o " } {HYPERLNK 17 "seq" 2 "seq" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "add" 2 " add" "" }{TEXT -1 3 " e " }{HYPERLNK 17 "mul" 2 "mul" "" }{TEXT -1 86 ". A sintaxe desses comandos s\343o iguais, de forma que vamos apenas \+ descrever o comando " }{HYPERLNK 17 "add" 2 "add" "" }{TEXT -1 67 " qu e executa um somat\363rio. A sua sintaxe \351 uma das seguintes formas " }}{PARA 291 "" 0 "" {XPPEDIT 18 0 "add(f,i = a .. b);" "6#-%$addG6$% \"fG/%\"iG;%\"aG%\"bG" }{TEXT -1 0 "" }}{PARA 290 "" 0 "" {XPPEDIT 18 0 "add(f,i = L);" "6#-%$addG6$%\"fG/%\"iG%\"LG" }{TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 5 "onde " }{XPPEDIT 18 0 "f;" "6#%\"fG" } {TEXT -1 50 " \351 uma express\343o que geralmente depende do \355ndic e " }{XPPEDIT 18 0 "i;" "6#%\"iG" }{TEXT -1 30 ". Na primeira forma, o \355ndice " }{XPPEDIT 18 0 "i;" "6#%\"iG" }{TEXT -1 28 " assume valor es inteiros de " }{XPPEDIT 18 0 "a;" "6#%\"aG" }{TEXT -1 5 " at\351 " }{XPPEDIT 18 0 "b;" "6#%\"bG" }{TEXT -1 7 ", onde " }{XPPEDIT 18 0 "a; " "6#%\"aG" }{TEXT -1 3 " e " }{XPPEDIT 18 0 "b;" "6#%\"bG" }{TEXT -1 100 " tem que ser num\351ricos. Na segunda forma o \355ndice assume va lores da express\343o ou estrutura de dados " }{XPPEDIT 18 0 "L;" "6#% \"LG" }{TEXT -1 14 ". Por exemplo " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "add( a[i]*x^i, i=0..5 );" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 35 "add( sin(i), i=[theta,-omega,tau]);" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 22 "Estruturas de controle" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 123 "Em certas situa\347\365es desejamos executar um \+ comando somente se uma certa condi\347\343o for verdadeira. Para isto \+ usamos o comando " }{HYPERLNK 17 "if" 2 "if" "" }{TEXT -1 19 " da segu inte forma:" }}{PARA 267 "" 0 "" {TEXT -1 4 " if" }{TEXT 306 1 " " } {TEXT 271 8 "condi\347\343o" }{TEXT -1 1 " " }{TEXT 268 4 "then" } {TEXT -1 1 " " }{TEXT 270 7 "comando" }{TEXT -1 1 " " }{TEXT 269 2 "fi " }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 97 "Por exemplo vamos ve rificar quais n\372meros de uma lista de n\372meros s\343o divis\355ve is por 7 ou por 11:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "L := [82,28,21,447,921,34,165];" }}} {EXCHG {PARA 256 "> " 0 "" {MPLTEXT 1 0 13 "for i in L do" }}{PARA 257 "> " 0 "" {MPLTEXT 1 0 52 " if frac(i/7)=0 or frac(i/11)=0 the n print(i) fi" }}{PARA 258 "> " 0 "" {MPLTEXT 1 0 3 "od;" }}}{EXCHG {PARA 259 "" 0 "" {TEXT -1 10 "O comando " }{XPPEDIT 18 0 "print[``](i )" "6#-&%&printG6#%!G6#%\"iG" }{TEXT -1 39 " \351 executado somente qu ando a condi\347\343o " }{XPPEDIT 18 0 "frac[``](i/7)=0 or frac[``](i/ 11)" "6#5/-&%%fracG6#%!G6#*&%\"iG\"\"\"\"\"(!\"\"\"\"!-&F'6#F)6#*&F,F- \"#6F/" }{TEXT -1 21 " = 0 for satisfeita. " }}{PARA 308 "" 0 "" {TEXT -1 10 "O comando " }{HYPERLNK 17 "frac" 2 "frac" "" }{TEXT -1 77 " retorna a parte fracion\341ria de um n\372mero. Este comando faz \+ parte da fam\355lia " }{TEXT 257 19 "trunc, round, ceil " }{TEXT -1 2 "e " }{TEXT 256 5 "floor" }{TEXT -1 111 " que trunca, arredonda para o inteiro mais pr\363ximo, arredonda para cima e arredonda para baixo r espectivamente." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 32 "Outro exemplo de uso do comando " }{TEXT 258 2 "if" } {TEXT -1 67 " \351 para definir fun\347\365es cont\355nuas por parte. \+ Por exemplo, a fun\347\343o " }{TEXT 263 4 "step" }{TEXT -1 37 " pode \+ ser definida da seguinte forma:" }}}{EXCHG {PARA 261 "> " 0 "" {MPLTEXT 1 0 39 "step := x -> if x<=0 then -1 else 1 fi;" }}}{EXCHG {PARA 262 "" 0 "" {TEXT -1 7 " Assim:" }}}{EXCHG {PARA 263 "> " 0 "" {MPLTEXT 1 0 8 "step(3);" }}}{EXCHG {PARA 264 "> " 0 "" {MPLTEXT 1 0 9 "step(-2);" }}}{EXCHG {PARA 265 "> " 0 "" {MPLTEXT 1 0 40 "plot('ste p(x)',x=-1..1,`step(x)`=-2..2);" }}}{EXCHG {PARA 266 "" 0 "" {TEXT -1 23 " A defini\347\343o da fun\347\343o " }{TEXT 261 4 "step" }{TEXT -1 243 " acima \351 muito rudimentar. N\343o podemos derivar, integrar ou obter a expans\343o em s\351rie de Taylor atrav\351s dos comandos \+ usuais do Maple. Ela n\343o pode nem ser usada de maneira simb\363lica . Por exemplo, o pr\363ximo comando retorna uma mensagem de erro:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "step(x);" }}}{EXCHG {PARA 0 " " 0 "" {TEXT -1 83 "NN Para fazer o gr\341fico, usamos as aspas direit as no primeiro argumento do comando " }{TEXT 265 4 "plot" }{TEXT -1 274 " para evitar que este erro fosse retornado. O desenvolvimento de \+ procedimentos com caracter\355sticas mais gerais compat\355veis com ou tros comandos do Maple requerem o uso de procedimentos auxiliares que \+ \351 um topicos abordados neste livro. Podemos melhorar a defini\347 \343o da fun\347\343o " }{TEXT 262 4 "step" }{TEXT -1 24 " de forma qu e o comando " }{XPPEDIT 18 0 "step[``](x)" "6#-&%%stepG6#%!G6#%\"xG" } {TEXT -1 49 " retorne n\343o avaliado caso a condi\347\343o do comando " }{TEXT 264 2 "if" }{TEXT -1 35 " anterior n\343o possa ser verifica da:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "step := x -> " }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 " if not type(x,'numeric') " }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 " then 'step'(x)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 12 " elif x<=0 " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 12 " then -1 " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 9 " else 1 " }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 5 " fi;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 63 " Agora teremos sa\355da simb\363licas quando a entrada n \343o \351 do tipo " }{TEXT 267 7 "numeric" }{TEXT -1 1 ":" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "step(a);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 80 "Por\351m, n\343o foi dada nenhuma informa\347\343o sobre \+ como calcular a derivada da fun\347\343o " }{TEXT 266 4 "step" }{TEXT -1 1 ":" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "diff(step(x),x); " }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 60 " No caso de fun\347\365es co nt\355nuas por partes, existe o comando " }{TEXT 259 9 "piecewise" } {TEXT -1 33 " que substitui os uso do comando " }{TEXT 260 2 "if" } {TEXT -1 131 " e cria automaticamente fun\347\365es que podem ser dife renciadas, integradas e usados em um s\351rie de outros comandos do Ma ple. A fun\347\343o " }{TEXT 272 4 "step" }{TEXT -1 24 " pode ser defi nida como:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "step := x -> \+ piecewise(x<=0,-1,1);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 38 "Podemos \+ trat\341-la de maneira simb\363lica:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "step(x);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 40 " e di ferenci\341-la, entre outros c\341lculos:" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 16 "diff(step(x),x);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 27 " Podemos encaixar v\341rios " }{TEXT 274 2 "if" }{TEXT -1 20 "'s dentro de outros " }{TEXT 273 2 "if" }{TEXT -1 37 "'s. Podemos ter a seguinte estrutura:" }}}{EXCHG {PARA 275 "" 0 "" {TEXT 20 22 "if b oolean condition1" }}{PARA 276 "" 0 "" {TEXT 20 12 "then if ..." }} {PARA 277 "" 0 "" {TEXT 20 16 " then ..." }}{PARA 278 "" 0 "" {TEXT 20 16 " else ..." }}{PARA 279 "" 0 "" {TEXT 20 9 " \+ fi" }}{PARA 280 "" 0 "" {TEXT 20 9 "else ..." }}{PARA 281 "" 0 "" {TEXT 20 2 "fi" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 15 " ou esta outra:" }}}{EXCHG {PARA 268 "" 0 "" {TEXT 20 22 "if boolean condition2" }}{PARA 269 "" 0 "" {TEXT 20 9 "then . .." }}{PARA 270 "" 0 "" {TEXT 20 12 "else if ..." }}{PARA 271 "" 0 " " {TEXT 20 16 " then ..." }}{PARA 272 "" 0 "" {TEXT 20 16 " \+ else ..." }}{PARA 273 "" 0 "" {TEXT 20 9 " fi" }}{PARA 274 " " 0 "" {TEXT 20 2 "fi" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 57 "A primeira pode ser convertida na segunda se trocarmos a " }{TEXT 278 18 "boolean condition1" }{TEXT -1 6 " par a " }{TEXT 279 3 "not" }{TEXT 20 1 "(" }{TEXT 281 18 "boolean conditio n1" }{TEXT 20 1 ")" }{TEXT -1 103 ". Na segunda estrutura, podemos us ar uma forma mais simples totalmente equivalente atrav\351s do recurso " }{TEXT 275 4 "elif" }{TEXT -1 15 ", contra\347\343o de " }{TEXT 276 4 "else" }{TEXT -1 5 " com " }{TEXT 277 2 "if" }{TEXT -1 8 ", que \+ \351:" }}}{EXCHG {PARA 282 "" 0 "" {TEXT 20 15 "if ... then ..." }} {PARA 283 "" 0 "" {TEXT 20 18 "elif ... then ..." }}{PARA 284 "" 0 " " {TEXT 20 8 "else ..." }}{PARA 285 "" 0 "" {TEXT 20 2 "fi" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 52 " Esta \+ \372ltima estrutura admite v\341rias linhas do tipo " }{TEXT 280 4 "el if" }{TEXT -1 6 " ... " }{TEXT 282 4 "then" }{TEXT -1 6 " ... ." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 122 "A conver s\343o da primeira estrutura na segunda n\343o \351 totalmente equival ente pois uma condi\347\343o Booleana pode ser avaliada em " }{TEXT 283 4 "true" }{TEXT -1 2 ", " }{TEXT 287 5 "false" }{TEXT -1 3 " e " } {HYPERLNK 17 "FAIL" 2 "FAIL" "" }{TEXT -1 59 ". Esta \372ltima tem a s eguinte particularidade. A nega\347\343o de " }{TEXT 284 4 "FAIL" } {TEXT -1 3 " \351 " }{TEXT 285 4 "FAIL" }{TEXT -1 21 ". O comportament o de " }{TEXT 307 4 "FAIL" }{TEXT -1 15 " \351 igual ao do " }{TEXT 286 5 "false" }{TEXT -1 51 " exceto em uma nega\347\343o. Vejamos este s dois exemplo:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "if FAIL \+ then 1 else 2 fi;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "if not (FAIL) then 1 else 2 fi;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 27 "NN Al \351m do operador l\363gico " }{TEXT 288 3 "not" }{TEXT -1 24 ", exist em os operadores " }{TEXT 289 4 "and " }{TEXT -1 2 "e " }{TEXT 290 2 " or" }{TEXT -1 27 ". A ordem de preced\352ncia \351 " }{TEXT 293 3 "not " }{TEXT -1 2 ", " }{TEXT 292 3 "and" }{TEXT -1 2 ", " }{TEXT 291 2 "o r" }{TEXT -1 39 ". Isto \351, na aus\352ncia de par\352nteses, o " } {TEXT 294 3 "not" }{TEXT -1 32 " \351 executado primeiro, depois o " } {TEXT 295 3 "and" }{TEXT -1 16 " e finalmente o " }{TEXT 296 2 "or" } {TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 343 "Na constru\347\343o de condi\347\365es Booleanas, podemo s usar os operadores relacionais <, <=, >, >=, = e <> que significam m enor, menor ou igual, maior, maior ou igual, igual e diferente, respec tivamente. Duas ou mais condi\347\365es Booleanas devem ser unidas pel os operadores l\363gicos. A avalia\347\343o de uma express\343o Boolea na \351 feita automaticamente dentro do " }{TEXT 297 2 "if" }{TEXT -1 41 ". Ela tamb\351m pode ser feita pelo comando " }{TEXT 298 5 "evalb " }{TEXT -1 2 " (" }{TEXT 299 29 "evaluate in a boolean context" } {TEXT -1 19 ") ou pelo comando " }{TEXT 300 2 "is" }{TEXT -1 53 ". Es te \372ltimo faz uma an\341lise mais rigorosa do que o " }{TEXT 301 5 "evalb" }{TEXT -1 14 ". Por exemplo:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "evalb((a-b)^2=a^2-2*a*b+b^2);" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 26 "is((a-b)^2=a^2-2*a*b+b^2);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "evalb(Pi>1);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "is(Pi>1);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 11 " O comando " }{TEXT 304 2 "i s" }{TEXT -1 22 " faz parte da fam\355lia " }{TEXT 302 41 "assume, add itionally, about, addproperty" }{TEXT -1 3 " e " }{TEXT 303 8 "proper ty" }{TEXT -1 79 " que s\343o comandos para atribuir propriedades e re la\347\365es a vari\341veis. O comando " }{TEXT 305 5 "evalb" }{TEXT -1 89 " n\343o leva em conta as propriedades e rela\347\365es estabele cidas pelos comandos desta fam\355lia." }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT 312 13 "Type checking" }}{PARA 0 "" 0 "" {TEXT -1 28 "Cada objet o do Maple tem um " }{TEXT 314 4 "tipo" }{TEXT -1 57 " associado. Esse tipo pode ser obtido atrav\351s do comando " }{HYPERLNK 17 "whattype " 2 "whattype" "" }{TEXT -1 1 "." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "whattype([a,b,c]);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 72 "Out ro comando cuja utilidade n\343o podemos desprezar \351 o comando bool eano " }{HYPERLNK 17 "type" 2 "type" "" }{TEXT -1 1 "." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "type(3/5, 'float');" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "type(-10, 'integer');" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 86 "O primeiro argumento \351 um objeto qualquer do Maple e o segun do deve ser um tipo (veja " }{HYPERLNK 17 "type" 2 "type" "" }{TEXT -1 48 "). Vamos descrever alguns dos principais tipos. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 315 18 "Os tipos num\351ric os" }{TEXT -1 1 ":" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{HYPERLNK 17 "posint" 2 "type[posnegint]" "" }{TEXT -1 36 " - n\372mero natural sem incluir o zero" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{HYPERLNK 17 "nonnegint" 2 "type[posnegint]" "" } {TEXT -1 34 " - n\372mero natural incluindo o zero" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{HYPERLNK 17 "integer" 2 "type[integer]" "" }{TEXT -1 17 " - n\372mero inteiro" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{HYPERLNK 17 "negint" 2 "type[posnegint]" "" }{TEXT -1 32 " - n\372mero inteiro \+ menor que zero" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{HYPERLNK 17 "nonpos int" 2 "type[posnegint]" "" }{TEXT -1 39 " - n\372mero inteiro menor o u igual a zero" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{HYPERLNK 17 "odd" 2 "type[evenodd]" "" }{TEXT -1 27 " - n\372mero inteiro \355mpar " }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{HYPERLNK 17 "even" 2 "type[evenodd] " "" }{TEXT -1 21 " - n\372mero inteiro par" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{HYPERLNK 17 "prime" 2 "type[prime]" "" }{TEXT -1 25 " - n \372mero inteiro primo " }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{HYPERLNK 17 "fraction" 2 "type[fraction]" "" }{TEXT -1 19 " - n\372mero na form a " }{XPPEDIT 18 0 "a/b;" "6#*&%\"aG\"\"\"%\"bG!\"\"" }{TEXT -1 6 " on de " }{XPPEDIT 18 0 "a;" "6#%\"aG" }{TEXT -1 3 " e " }{XPPEDIT 18 0 "b ;" "6#%\"bG" }{TEXT -1 13 " s\343o inteiros" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{HYPERLNK 17 "rational" 2 "type[rational]" "" }{TEXT -1 18 " - n\372mero do tipo " }{HYPERLNK 17 "integer" 2 "integer" "" }{TEXT -1 4 " ou " }{HYPERLNK 17 "fraction" 2 "fraction" "" }}{PARA 0 "" 0 " " {TEXT -1 1 " " }{HYPERLNK 17 "float" 2 "type[float]" "" }{TEXT -1 29 " - n\372mero em ponto flutuante" }}{PARA 0 "" 0 "" {TEXT -1 1 " \+ " }{HYPERLNK 17 "numeric" 2 "type[numeric]" "" }{TEXT -1 18 " - n\372m ero do tipo " }{HYPERLNK 17 "integer" 2 "type[integer]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "fraction" 2 "type[fraction]" "" }{TEXT -1 4 " ou " }{HYPERLNK 17 "float" 2 "type[float]" "" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{HYPERLNK 17 "positive" 2 "type[posneg]" "" }{TEXT -1 18 " - n\372mero do tipo " }{HYPERLNK 17 "numeric" 2 "type[numeric]" "" } {TEXT -1 15 " maior que zero" }}{PARA 0 "" 0 "" {TEXT -1 1 " " } {HYPERLNK 17 "nonneg" 2 "type[posneg]" "" }{TEXT -1 19 " - n\372mero d o tipo " }{HYPERLNK 17 "numeric" 2 "type[numeric]" "" }{TEXT -1 22 " \+ maior ou igual a zero" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{HYPERLNK 17 "negative" 2 "type[posneg]" "" }{TEXT -1 19 " - n\372mero do tipo " } {HYPERLNK 17 "numeric" 2 "type[numeric]" "" }{TEXT -1 15 " menor que z ero" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{HYPERLNK 17 "realcons" 2 "type [realcons]" "" }{TEXT -1 11 " - n\372mero " }{XPPEDIT 18 0 "n;" "6#% \"nG" }{TEXT -1 9 " tal que " }{XPPEDIT 18 0 "evalf(n);" "6#-%&evalfG6 #%\"nG" }{TEXT -1 11 " \351 do tipo " }{HYPERLNK 17 "float" 2 "type[fl oat]" "" }{TEXT -1 4 " ou " }{XPPEDIT 18 0 "n = infinity;" "6#/%\"nG%) infinityG" }{TEXT -1 7 " ou n=-" }{XPPEDIT 18 0 "infinity;" "6#%)infin ityG" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{HYPERLNK 17 "complexcons" 2 " type[complexcons]" "" }{TEXT -1 11 " - n\372mero " }{XPPEDIT 18 0 "n; " "6#%\"nG" }{TEXT -1 9 " tal que " }{XPPEDIT 18 0 "evalf(n) = a+b*I; " "6#/-%&evalfG6#%\"nG,&%\"aG\"\"\"*&%\"bGF*%\"IGF*F*" }{TEXT -1 6 " o nde " }{XPPEDIT 18 0 "a;" "6#%\"aG" }{TEXT -1 3 " e " }{XPPEDIT 18 0 " b;" "6#%\"bG" }{TEXT -1 13 " s\343o do tipo " }{HYPERLNK 17 "float" 2 "type[float]" "" }{TEXT -1 4 " ou " }{XPPEDIT 18 0 "n = infinity;" "6# /%\"nG%)infinityG" }{TEXT -1 7 " ou n=-" }{XPPEDIT 18 0 "infinity;" "6 #%)infinityG" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{HYPERLNK 17 "constant " 2 "type[constant]" "" }{TEXT -1 18 " - n\372mero do tipo " } {HYPERLNK 17 "numeric" 2 "type[numeric]" "" }{TEXT -1 22 " ou express \343o igual a " }{TEXT 318 4 "FAIL" }{TEXT -1 2 ", " }{TEXT 319 5 "fal se" }{TEXT -1 2 ", " }{TEXT 320 4 "true" }{TEXT -1 2 ", " }{XPPEDIT 18 0 "gamma;" "6#%&gammaG" }{TEXT -1 2 ", " }{XPPEDIT 18 0 "infinity; " "6#%)infinityG" }{TEXT -1 2 ", " }{XPPEDIT 18 0 "Pi;" "6#%#PiG" } {TEXT -1 4 " ou " }{TEXT 321 7 "Catalan" }{TEXT -1 8 " (veja " } {HYPERLNK 17 "ininame" 2 "ininame" "" }{TEXT -1 1 ")" }}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{TEXT 316 20 "Os tip os alg\351bricos:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{HYPERLNK 17 "algebraic" 2 "type[algebraic]" "" } {TEXT -1 22 " - express\343o alg\351brica" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{HYPERLNK 17 "`*`" 2 "type[arithop]" "" }{TEXT -1 13 " - produ to " }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{HYPERLNK 17 "`+`" 2 "type[ari thop]" "" }{TEXT -1 7 " - soma" }}{PARA 0 "" 0 "" {TEXT -1 1 " " } {HYPERLNK 17 "`^`" 2 "type[arithop]" "" }{TEXT -1 29 " - pot\352ncia \+ (equivalente a " }{HYPERLNK 17 "`**`" 2 "type[arithop]" "" }{TEXT -1 3 ") " }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{HYPERLNK 17 "string" 2 "typ e[string]" "" }{TEXT -1 98 " - sequ\352ncia de caracteres entre aspas \+ duplas (aspas duplas tem preced\352ncia sobre as outras aspas)" }} {PARA 0 "" 0 "" {TEXT -1 1 " " }{HYPERLNK 17 "symbol" 2 "type[symbol] " "" }{TEXT -1 56 " - sequ\352ncia de caracteres alpha-num\351ricos (i ncluindo o " }{TEXT 322 10 "underscore" }{TEXT -1 60 "), ou sequ\352nc ia de quaisquer caracteres entre aspas inversas" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{HYPERLNK 17 "indexed" 2 "type[indexed]" "" }{TEXT -1 22 " - express\343o da forma " }{TEXT 323 1 "A" }{TEXT -1 1 "[" } {TEXT 324 1 "B" }{TEXT -1 8 "], onde " }{XPPEDIT 18 0 "B;" "6#%\"BG" } {TEXT -1 26 " pode ser de qualquer tipo" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{HYPERLNK 17 "name" 2 "type[name]" "" }{TEXT -1 21 " - express \343o do tipo " }{HYPERLNK 17 "symbol" 2 "type[symbol]" "" }{TEXT -1 4 " ou " }{HYPERLNK 17 "indexed" 2 "type[indexed]" "" }{TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{HYPERLNK 17 "function" 2 "type[func tion]" "" }{TEXT -1 21 " - express\343o do tipo " }{TEXT 326 1 "F" } {TEXT -1 1 "(" }{TEXT 325 1 "x" }{TEXT -1 7 ") onde " }{XPPEDIT 18 0 " x;" "6#%\"xG" }{TEXT -1 26 " pode ser de qualquer tipo" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{TEXT 317 12 "Out ro tipos:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{HYPERLNK 17 "anything" 2 "type[anything]" "" }{TEXT -1 11 " - \+ retorna " }{TEXT 327 4 "true" }{TEXT -1 49 " para qualquer objeto do M aple (exceto sequ\352ncia)" }}{PARA 0 "" 0 "" {TEXT -1 1 " " } {HYPERLNK 17 "nothing" 2 "type[nothing]" "" }{TEXT -1 11 " - retorna \+ " }{TEXT 328 5 "false" }{TEXT -1 31 " para qualquer objeto do Maple " }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{HYPERLNK 17 "list" 2 "type[set]" " " }{TEXT -1 8 " - lista" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{HYPERLNK 17 "listlist" 2 "type[listlist]" "" }{TEXT -1 18 " - lista de listas" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{HYPERLNK 17 "set" 2 "type[set]" "" }{TEXT -1 11 " - conjunto" }}{PARA 0 "" 0 "" {TEXT -1 1 " " } {HYPERLNK 17 "table" 2 "type[table]" "" }{TEXT -1 9 " - tabela" }} {PARA 0 "" 0 "" {TEXT -1 1 " " }{HYPERLNK 17 "equation" 2 "type[equati on]" "" }{TEXT -1 27 " - equa\347\343o (equivalente a " }{HYPERLNK 17 "`=`" 2 "type,equation" "" }{TEXT -1 1 ")" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{HYPERLNK 17 "exprseq" 2 "exprseq" "" }{TEXT -1 15 " - sequ \352ncia " }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{HYPERLNK 17 "series" 2 "type[series]" "" }{TEXT -1 8 " - s\351rie" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 25 " Por exemplo, a express\343o" } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "expr := a*b+c;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 14 "n\343o \351 do tipo " }{HYPERLNK 17 "`*` " 2 "type[arithop]" "" }{TEXT -1 1 " " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "type(expr,`*`);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 14 "mas \351 do tipo " }{HYPERLNK 17 "`+`" 2 "type[arithop]" "" } {TEXT -1 1 " " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "type(expr, `+`);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 36 "Podemos usar os operador es l\363gicos (" }{TEXT 330 3 "not" }{TEXT -1 2 ", " }{TEXT 331 3 "and " }{TEXT -1 2 ", " }{TEXT 329 2 "or" }{TEXT -1 7 ", veja " }{HYPERLNK 17 "boolean" 2 "boolean" "" }{TEXT -1 32 ") para combinar v\341rios co mandos " }{HYPERLNK 17 "type" 2 "type" "" }{TEXT -1 26 ". Em particula r, o comando" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 294 "" 0 "" {XPPEDIT 18 0 "type(expr,'tipo1') or type(expr,'tipo2') or type(expr,' tipo3') or `...`;" "6#555-%%typeG6$%%exprG.%&tipo1G-F'6$F).%&tipo2G-F' 6$F).%&tipo3G%$...G" }{TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 25 "\351 equivalente ao comando " }}{PARA 0 " " 0 "" {TEXT -1 0 "" }}{PARA 295 "" 0 "" {XPPEDIT 18 0 "type(expr, '\{ tipo1, tipo2, tipo3, `...`\}');" "6#-%%typeG6$%%exprG.<&%&tipo1G%&tipo 2G%&tipo3G%$...G" }{TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 2 " " }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 68 "Al\351m dos tipos simples, podemos tamb\351m usar tipos estruturados (ver " }{HYPERLNK 17 "type[structur e]" 2 "type[structure]" "" }{TEXT -1 198 "). Nesse caso, combinamos di versos tipos simples como se fossem elementos de uma express\343o. Por exemplo, queremos saber se uma express\343o consiste de um n\372mero \+ inteiro elevado a uma vari\341vel do tipo " }{HYPERLNK 17 "symbol" 2 " type[symbol]" "" }{TEXT -1 2 ". " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "type(2^n, 'integer^symbol');" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "type(a^2, 'integer^symbol');" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 40 "Queremos saber se a express\343o \351 do tipo " } {HYPERLNK 17 "function" 2 "type[function]" "" }{TEXT -1 29 " por\351m \+ aplicada em uma lista." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "t ype(f([a,b]), 'function(list)');" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "type(f(\{a,b\}), 'function(list)');" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "whattype(f(\{a,b\}));" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 12 "Os comandos " }{HYPERLNK 17 "match" 2 "match" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "patmatch" 2 "patmatch" "" }{TEXT -1 4 " e " }{HYPERLNK 17 "typematch" 2 "typematch" "" }{TEXT -1 24 " compl ementam o comando " }{HYPERLNK 17 "type" 2 "type" "" }{TEXT -1 191 " p ara testar tipos estruturados. Eles tem uma vantagem adcional j\341 qu e podem gravar sub-express\365es no momento do teste do tipo. Por exem plo, vamos testar se a express\343o \351 do tipo estruturado " } {XPPEDIT 18 0 "symbol = list;" "6#/%'symbolG%%listG" }{TEXT -1 34 ", p or\351m vamos guardar na vari\341vel " }{XPPEDIT 18 0 "r1;" "6#%#r1G" }{TEXT -1 35 " o lado esquerdo da express\343o e em " }{XPPEDIT 18 0 " r2;" "6#%#r2G" }{TEXT -1 16 " o lado direito." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 42 "ty pematch(L=[a,1], 'r1::symbol=r2::list');" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 33 "Note agora o valor das vari\341veis " }{XPPEDIT 18 0 "r1; " "6#%#r1G" }{TEXT -1 3 " e " }{XPPEDIT 18 0 "r2;" "6#%#r2G" }{TEXT -1 1 "." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "r1;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "r2;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 12 "Os comandos \+ " }{HYPERLNK 17 "type" 2 "type" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "mat ch" 2 "match" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "patmatch" 2 "patmatch " "" }{TEXT -1 3 " e " }{HYPERLNK 17 "typematch" 2 "typematch" "" } {TEXT -1 175 " em geral s\343o suficientes para testar express\365es b astante complexas. Por\351m se eles n\343o forem suficientes, o usu \341rio pode programar novos tipos, como veremos em outro cap\355tulo. " }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 10 "Exerc\355cios" }}{PARA 0 " " 0 "" {TEXT -1 80 "1) Explique porque o comando n\343o funciona e mos tre como se soluciona o problema." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "for i t o 10 do z := z+1 od;" }}}{PARA 0 "" 0 "" {TEXT -1 11 "A vari\341vel " }{TEXT 332 1 "z" }{TEXT -1 33 " n\343o foi definida como nnum\351rica. " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "assume(z,numeric);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "for i to 10 do z := z+1 od;" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 71 "2) Sem executar o pr\363x imo comando diga quantas itera\347\365es ele vai gerar." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "for i to 10 do i := i+1 od;" }}} {PARA 293 "" 0 "" {TEXT -1 0 "" }}{PARA 256 "" 0 "" {TEXT -1 48 "3) Co mo se define uma itera\347\343o usando o comando " }{TEXT 308 9 "for d o od" }{TEXT -1 54 " que executa a mesma tarefa que os seguintes coman dos," }}{PARA 296 "" 0 "" {TEXT -1 9 " onde " }{TEXT 309 1 "a" } {TEXT -1 2 ", " }{TEXT 310 1 "b" }{TEXT -1 3 " e " }{TEXT 333 1 "h" } {TEXT -1 14 " s\343o n\372meros. " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "a:=10: b:=16: h:= 2:" }}}{PARA 257 "" 0 "" {TEXT -1 42 "a) seq1:=seq(termo(a+i*h), i=0..(b-a)/h); " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "seq1:=Seq(termo(a+i*h), i=0..(b-a)/h); " }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "seq1:=seq(termo(a+i*h), i=0..(b-a)/ h); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "seq1:=NULL:" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "for i from 0 to (b-a)/h do" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 " seq1:=seq1,termo(a+i*h)" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "od:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "seq1:=seq1;" }}}{PARA 297 "" 0 "" {TEXT -1 0 "" }}{PARA 258 "" 0 "" {TEXT -1 36 "b) sum1:=sum('termo(i)', 'i'=a..b); " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "sum1:=Sum('termo(i)', 'i'=a..b); " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "sum1:=sum('termo(i)', 'i'=a..b); \+ " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "sum1:=0:" }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 20 "for i from a to b do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 23 " sum1:=sum1+termo(i)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "od:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "sum1:=sum1; " }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 259 "" 0 "" {TEXT -1 41 "c) prod1:=product('termo(i)', 'i'=a..b); " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "prod1:=Product('termo(i)', 'i'=a..b); " }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 37 "prod1:=product('termo(i)', 'i'=a..b);" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "prod1:=1:" }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 20 "for i from a to b do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 25 " prod1:=prod1*termo(i)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "od:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "prod1:=prod1;" }}}{PARA 299 "" 0 "" {TEXT -1 0 "" }}{PARA 260 "" 0 "" {TEXT -1 35 "d) list1:=[ seq(termo(i), i=a..b)]; " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 " list1:=[Seq(termo(i), i=a..b)]; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "list1:=[seq(termo(i), i=a..b)];" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "list1:=[]:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "for \+ i from a to b do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 31 " list1:=[op( list1),termo(i)]" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "od:" }}{PARA 0 " > " 0 "" {MPLTEXT 1 0 13 "list1:=list1;" }}}{PARA 300 "" 0 "" {TEXT -1 0 "" }}{PARA 261 "" 0 "" {TEXT -1 35 "e) set1:=\{seq(termo(i), i=a. .b)\}; " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "set1:=\{Sseq(ter mo(i), i=a..b)\}; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "set1:=\{seq(t ermo(i), i=a..b)\};" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "set1: =\{\}:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "for i from a to b do" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 " set1:=\{op(set1),termo(i)\}" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "od:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "set1:=set1;" }}}{PARA 301 "" 0 "" {TEXT -1 0 "" }}{PARA 262 "" 0 "" {TEXT -1 23 "f) seq2:=seq(f(i),i=L);" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "L:=[10,11,12,13,14,15,16]:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "seq2:=Seq(f(i),i=L);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "seq2:=seq(f(i),i=L);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "seq2:=NULL:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "for i in L do" } }{PARA 0 "> " 0 "" {MPLTEXT 1 0 19 " seq2:=seq2,f(i)" }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 3 "od:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "seq2: =seq2;" }}}{PARA 302 "" 0 "" {TEXT -1 0 "" }}{PARA 268 "" 0 "" {TEXT -1 20 "4) Usando o comando " }{TEXT 311 9 "for do od" }{TEXT -1 49 ", \+ gere as seguintes estruturas com 10 repeti\347\365es." }}{PARA 269 "" 0 "" {TEXT -1 34 "a) [0, [0, [0, ... , [0]]]]]]]]]]." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "lista:=NULL:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "for i to 10 do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 16 " lista:=[0,lista]" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "od:" }}{PARA 0 " > " 0 "" {MPLTEXT 1 0 6 "lista;" }}}{PARA 298 "" 0 "" {TEXT -1 0 "" }} {PARA 270 "" 0 "" {TEXT -1 31 "b) \{\{0\}, \{\{0\}\}, \{\{\{0\}\}\}, . .. \}." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "conjunto:=\{\}:" } }{PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "elem[0]:=0:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "for i to 7 do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 26 " \+ elem[i]:= \{elem[i-1]\}:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 36 " \+ conjunto:=\{op(conjunto),elem[i]\}" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "od:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "conjunto;" }}}{PARA 309 " " 0 "" {TEXT -1 3 "ou " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "L1 :=\{0\}:L2:=\{\}:for i to 7 do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 11 " \+ L1:=\{L1\}:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 18 " L2:=L2 union L1: " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "od:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "print(L2);" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 121 "A menos da quantidade (mais que 7 ocuparia dua s linas) e da ordem, que n\343o interessa nos conjuntos. Numa lista, t er\355amos:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "lista:=[]:" } }{PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "elem[0]:=0:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "for i to 7 do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 26 " \+ elem[i]:= \{elem[i-1]\}:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 30 " \+ lista:=[op(lista),elem[i]]" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "od:" } }{PARA 0 "> " 0 "" {MPLTEXT 1 0 6 "lista;" }}}{PARA 304 "" 0 "" {TEXT -1 0 "" }}{PARA 271 "" 0 "" {TEXT -1 48 "c) [tan(x), tan(tan(x)), tan( tan(tan(x))), ...]." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "lista :=[]:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "elem[0]:='x':" }}{PARA 0 " > " 0 "" {MPLTEXT 1 0 13 "for i to 5 do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 29 " elem[i]:= tan(elem[i-1]):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 30 " lista:=[op(lista),elem[i]]" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "od:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 6 "lista;" }{TEXT -1 0 "" } }}{PARA 303 "" 0 "" {TEXT -1 54 "A menos da quantidade, que ocuparia m ais de uma linha." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 273 "" 0 " " {TEXT -1 85 "5) a) Gere uma lista de n\372meros naturais rand\364mic os com 100 elementos menores que 30." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "val:=1+rand(29):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "lista:=[]:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "for i to 100 do l ista:=[op(lista),val()] od:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 6 "lista ;" }}}{PARA 305 "" 0 "" {TEXT -1 0 "" }}{PARA 274 "" 0 "" {TEXT -1 33 "b) Elimine os n\372meros repetidos, " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "convert(lista,set):convert(%,list);" }}}{PARA 310 "" 0 "" {TEXT -1 21 "colocando-os em ordem" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "lis:=[]:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "for i t o 30 do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 48 " if member(i,lista) t hen lis:=[op(lis),i] fi:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "od;" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "lis;" }}}{PARA 306 "" 0 "" {TEXT -1 0 "" }}{PARA 275 "" 0 "" {TEXT -1 92 "c) Elimine os n\372meros repetid os sem alterar a ordem com que eles aparecem na lista original." }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "lis:=[]:" }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 17 "for i in lista do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 50 " if not member(i,lis) then lis:=[op(lis),i] fi:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "od;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 5 "lis; \+ " }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 50 "6) D efina a fun\347\343o usando a estrutura de controle " }{TEXT 313 15 "i f then else fi" }{TEXT -1 32 ". e fa\347a o gr\341fico no intervalo " }{XPPEDIT 18 0 "[-1, 3];" "6#7$,$\"\"\"!\"\"\"\"$" }{TEXT -1 1 "." }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "if x <-1 then f(x)=0" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "elif x<0 then f(x) = x fi;" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "F := x -> " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 18 " if x <-1 then -1" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 18 " elif x<=0 then x" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 23 " elif x<=3 then sin(x)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 13 " el se sin(3)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 5 " fi;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "plot('F(x)',x=-1..3);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}}{MARK "4" 0 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }