Copyrighted Material
Total Page:16
File Type:pdf, Size:1020Kb
51_108543-bindex.qxp 4/30/08 8:35 PM Page 671 Index aligning text using in JavaScript, 493–494 Numerics HTML, 466 linked lists versus, 342 Alpha Five database multi-dimensional, 0 (zero) programming 321–323, 375–376 initializing arrays, 317 language, 79 one-based, 315, 316 zero-based arrays, alpha-beta pruning, overview, 314 315–316 420–421 in Pascal/Delphi, 586–587 1-based arrays, 315, 316 American Standard Code in Perl, 569–570 1-time pad algorithm, 446 for Information in PHP, 506 4th Dimension database Interchange (ASCII) requirements for programming codes, 423 defining, 314 language, 79 Analytical Engine, 10 resizable, 319–321, 326 anchor points (HTML), retrieving data from, A 470–471 318–319 And operator, 175–176. See searching and sorting, 326 Ada language, 10, 58, 130 also logical/Boolean speed and efficiency address space layout operators issues, 328 randomization AndAlso operator (Visual storing data in, 318 (ASLR), 642 Basic), 597 for string data types in Adobe AIR RIA tool, 664 Apple Xcode compiler, 25, C/C++, 526 adversarial search 84, 85 structures with, 314, alpha-beta pruning, AppleScript (Mac), 76, 91 323–325 420–421 applets (Java), 66 uses for, 327–328 depth versus time in, arrays in VB/RB, 603–604 419–420 associative, 352–353, zero-based, 315–316 horizon effect, 420 517–518 artificial intelligence (AI) library lookup, 421–422 in C#, 554–555 applications, 656 overview, 418–419 in C/C++, 537 Bayesian probability, 653 agile documentation, 287 data type limitations, 326 camps, strong versus agile (extreme) declaring, 318 weak, 644 programming, 112–114 default bounds, 315–316 declarative languages, AI. See artificial intelligence definable bounds for, 70–73 algorithms. See also specific 316–317 expert systems, 646–648 kinds defining the size, 314–317, game-playing, 645–646 “best,” 9 COPYRIGHTED325–326 MATERIALimage recognition, comments describing, 282 deleting elements, 327 651–652 data compression, disadvantages, 325–328, machine learning, 652–655 435–444 329, 375–376 natural language defined, 9 elements, defined, 314 processing, 648–650 encryption, 445–459 for heap sort data, neural networks, 653–655 overview, 9 402–403 problem solving, 644–652 searching, 409–422 initializing, 317–318 robotics, 655 sorting, 393–408 inserting elements, speech recognition, string searching, 423–433 326–327 650–651 Alice teaching language, in Java, 554–555 Turing Test, 643 60–61 51_108543-bindex.qxp 4/30/08 8:35 PM Page 672 672 Beginning Programming All-in-One Desk Reference For Dummies ASCII (American Standard calling functions, 226 “battling robot” Code for Information combining with C, 134–135 programming games, Interchange) codes, 423 comments, 278 61–62 ASCII files. See text files as database programming Bayesian probability, 653 ASLR (address space layout language, 623, 624 Big-O notation, 407 randomization), 642 defining functions, 225 binary arithmetic, 11 assembly language defining random-access binary searching assemblers for, 16 files, 265 algorithm, 413 comments, 278 descriptive commands, binary trees other languages compared 53–54 heap sort using, 399–402 to, 15 development of, 52 overview, 382–383 overview, 12–14 dialects, 52, 589–590 bioinformatics as processor-specific, 14 evolution of, 589 complimentary speed and efficiency of, financial rewards less sequences, 628 16, 666 for, 51 concatenating molecules, typical command, 12–13 as first language, 50–51 627, 628 uses for, 16, 17 as good language to described, 423, 625 assignment operators know, 49 languages for, 631–632 C/C++, 530–531 GOTO command mutating molecules, Java/C#, 547–548 problems, 33 627–628 JavaScript, 490 hardware and operating programming, 630–632 overview, 162 system shielded by, purpose of, 625–626 Perl/Python, 564–565 54, 589 representing molecules, PHP, 502 as high-level language, 14 626–627 Ruby, 513 instant feedback with, searching databases, associative arrays. See 54, 55 628–630 hash tables interpreters and bit depth, 444 asymmetric (public-key) compilers, 55 BLAST (Basic Local encryption, 453–455 limitations, 589 Alignment and Search attributes, database, 616 multi-dimensional arrays Tool), 629–630 automated documentation, in, 322, 323 block ciphers, 449, 450–452 287 practicing online, 590 block comments principles, 53 C#, 543 problem-solving focus C/C++, 525 B of, 128 describing code and B+ trees, 384 program structure, 590 algorithms, 282–283 background of Web pages, reading random-access documenting 469–470 files, 267 subprograms, 283–284 backward chaining, 646 resizable arrays in, Java, 543 backward or forward 319–320 JavaScript, 487 searching algorithm, True BASIC, 52 overview, 279–281 411 versatility of, 54 PHP, 498 BASIC (Beginner’s All- viewed as toy language, Ruby, 510–511 purpose Symbolic 51, 54 surrounding with Instruction Code). See writing random-access asterisks, 281 also REALbasic; Visual files, 266–267 symbols for, 280–281 Basic Basic Local Alignment and block searching algorithm, C compared to, 50–51, 128 Search Tool (BLAST), 412 629–630 blocks in untyped files, 268 51_108543-bindex.qxp 4/30/08 8:35 PM Page 673 Index 673 blocks of commands breaking up programs. See development of, 14–15 in curly bracket objects; subprograms efficiency of, 64–65 languages, 63, 280 breakpoints, 98–99 as first language, 50–51, defined, 182 brute force attacks on 65, 69 in IF-THEN statements, encryption, 456–457 as good language to 182–183 brute-force searching know, 49 in IF-THEN-ELSE algorithms high-level languages statements, 184–185 adversarial search, 419 versus, 14–15 in IF-THEN-ELSEIF overview, 409–410 IF statements, 183 statements, 186, 188 sequential search, including libraries, 524 BlueJ editor (Java), 26 410–416, 424–429 keywords minimal in, 64, body text (HTML), 464–465 B-trees, 383–384 130 Boolean data type bubble sort algorithm, languages based on, 50 in C++, 528 394–396, 406–408 looping statements, in Java/C#, 545 buffer overflow problems, 533–534 mimicking in C, 528 641 as low-level language, 666 in Pascal/Delphi, 579 bugs, 97. See also operators, 528–531 storage requirements debuggers; debugging other languages for, 150 Burrows-Wheeler transform compared to, 15 in VB/RB, 595 (BWT) algorithm, overview, 523 Boolean operators. See 436–438 portability, 65, 660–661 logical/Boolean bus, defined, 12 power of, 63–64 operators buttons, best use of, 294 problem-solving focus Borland Turbo byte, defined, 149 of, 128 compilers, 25 bytecode. See p-code program structure, Boyer-Moore algorithm, 425 524–525 branching statements. See reasons for popularity, also specific statements C 63–65 Boolean operators in, C language. See also curly SWITCH statement, 189–190 bracket languages 191–193 branches, defined, 34 advantages, 15, 16, 523 as systems programming C/C++, 531–533 arrays, 537 language, 73–74 comparison operators BASIC compared to, use for major programs, in, 181 50–51, 128 15 defined, 181 branching statements, C++ language. See also Java/C#, 548–551 531–533 curly bracket JavaScript, 490–492 calling functions, 226 languages overview, 34–35, 181 challenges for learning, 51 advantages, 667 Pascal/Delphi, 581–582 combining with BASIC, arrays, 537 Perl/Python, 565–566 134–135 based on C, 50, 65, 523 PHP, 502–504 comments, 525 bioinformatics Ruby, 514–515 creating functions, subprogram, 632 VB/RB, 597–599 534–535 branching statements, break command dangers from power of, 531–533 with case statements 54, 64, 523 comments, 278, 280, 525 (Java/C#), 550–551 data structures, 535–537 creating functions, with loops, 211 declaring variables, 147, 534–535 with SWITCH statement, 525–528 dangers from power 192–193, 503 defining functions, 226 of, 523 51_108543-bindex.qxp 4/30/08 8:35 PM Page 674 674 Beginning Programming All-in-One Desk Reference For Dummies C++ language (continued) as type-safe, 68 SELECT CASE, 190–197, data structures, 535–537 calling. See also parameter 598–599 as database programming passing VB/RB, 598–599 language, 78, 623, 624 functions, 226–227 CBR (constant bit rate), 444 declaring variables, polymorphism with, 243 central processing units 525–528 recursion, 227–229 (CPUs). See processors as first language, 65, 69 subprograms in files, chaining hash tables, 357 IF statements, 183 217–218 check boxes, 297–298 including libraries, 524 subprograms in objects, chess-playing computers, looping statements, 252–253 646 533–534 capitalization Chinese lottery attack, multi-dimensional arrays in curly bracket 456–457 in, 323 languages, 144 Chinese Postman problem, as object-oriented, 65 of local variables (Ruby), 379–380 objects, 537–539 511 Chipmunk BASIC, 590 operators, 528–531 variable naming cipher-block chaining overview, 523 conventions, 144 (CBC), 451–452 program structure, Carriage Return (CR) code, circular linked lists, 341, 524–525 261 371 resizable arrays in, cascading stylesheets. See Clarion database 320–321 CSS programming language, as systems programming CASE (Computer-Aided 79 language, 73–74 Software Engineering) Class diagrams (CASE), C++ Robots programming Class diagrams, 117–119 117–119 game, 62 flowcharts, 115–116 class files (VB/RB), 591 C# language. See also curly formatting source code classes bracket languages automatically, 120–121 creating objects from, advantages, 67–68, 667 generating code 251–252 based on C, 50 automatically, 119–120 defining objects branching statements, modeling a large project, with, 249–251 548–551 115–119 #include command comments, 542–543 Sequence diagrams, 119 for, 252 creating functions, tools common in, 115 clear command (Python), 552–553 tracking revisions, 332 data structures,