บทที่ 1 หลักการและส่วนประกอบในการเขียน PDF

Summary

เอกสารนี้แนะนำหลักการและส่วนประกอบในการเขียนโปรแกรมใช้กับชุดพัฒนาแอพพลิเคชัน LabVIEW ศึกษาถึงพื้นฐานการใช้เครื่องมือต่าง ๆ ในบทนี้จะแนะนำให้รู้จักกับ LabVIEW, ตัวอย่างการใช้งาน, และส่วนประกอบหลัก ๆ

Full Transcript

บทท 1 หลกการและส่ว นประกอบในการเขีย น IลเวVIธผ เบื้องต้น บทนี้จะแนะนำให้รู้จักกับ 1ลช\/เธพ, ตัวอย่างการนำไปใช้งาน พร้อมกับส่วนประกอบหลัก ๆ แล พื้นฐานการใช้เครื่องมือต่าง ๆ ที่จำเป็นต้องรู้ก่อนที่จะเริ่มศึกษาการเขียนโปรแกรมในบทต่อไป แล๖Vเธพ คืออะไร? แลชVเแผ คือ ชุดพัฒนาแอพพลิเคชัน (อ6V6I©เวทา©กเ...

บทท 1 หลกการและส่ว นประกอบในการเขีย น IลเวVIธผ เบื้องต้น บทนี้จะแนะนำให้รู้จักกับ 1ลช\/เธพ, ตัวอย่างการนำไปใช้งาน พร้อมกับส่วนประกอบหลัก ๆ แล พื้นฐานการใช้เครื่องมือต่าง ๆ ที่จำเป็นต้องรู้ก่อนที่จะเริ่มศึกษาการเขียนโปรแกรมในบทต่อไป แล๖Vเธพ คืออะไร? แลชVเแผ คือ ชุดพัฒนาแอพพลิเคชัน (อ6V6I©เวทา©กเ ©กVIโ©กกา©กเ) จากเนชันแนลอินสทรูเม้นทลิ’ เพื่อใช้ในการสร้างระบบการวัด, ทดสอบ, และควบคุม โดยใช้การเขียนโปรแกรมด้วยภาษาโค้ดรูปภาพ (0โลเวห!๐3เ เวโ-๐9โ3กกกกเก9) และมีการต่อสายส่งค่าข้อมูลคล้ายกับการวาดโฟลชาร์ตที่เข้าใจได้ง่าย ซึ่งชุดพัฒนาจะมาพร้อมกับชุดฟังก์ชันทางคณิตศาสตร์และวิศวกรรมนับร้อยแบบสำหรับการวิเคราะห์, ประมวลผล, และแสดงข้อมูล รวมถึงความสามารถต่าง ๆ ในการใช้งานร่วมกับฮาร์ดแวร์และ ซอฟต์แวร์อื่นๆ ได้ดี ทำให้แลชVเธผซึ่งออกสู,ตลาดมาตั้งแต่ปี 1986 ถูกนำไปใช้งานอย่างกว้างขวาง ในแทบทุกส่วนของอุตสาหกรรมและการวิจัยที่ต้องการระบบอัตโนมติในการวัดและการควบคุม อาทิ เช่น ในอุตสาหกรรมการผลิต,อิเล็คทรอนิกส์, ยานยนต์,การทหารและอากาศยาน,พลังงาน, การ สื่อสาร, เครื่องมือแพทย์หรือแม้แต่ในของเล่นเด็กอย่างเลโก้ ไปจนถึงเครื่องจักรที่ชับช้อนที่สุดอย่าง เครื่องเร่งอนุภาค แแอ ที่เซิร์น อ ิ แ ล ช V เค /V *-ไ. -./ แ©๐ ๐ ® เฒเง0ร7๐1?เฬร® 11X7 “ 016 รทใ3ห:031100010311๐/. เส์^ ® ’*"6* ๒ โฐ6 แ โ ๐ ก 0 0 แ ฬ 6 โ “016ทา031 1*01*6เ1นเ ๗ 0 1 6 / 6 3 / ’” เก301เท 16ท ! ๐ท 63101” ในปัจจุบัน นอกจาก แลชVเธผ จะถูกใช้งานบนพีซีทั่วไปเพื่อการดีงลัญญาณหรือควบคุมเครื่องมือวัด แล้ว แนวคิดของเนชั่นแนลอินสทรูเม้นทส์ที่เรียกว่า 0โลIวเาเ0ลเ รVรไ6๓ อ©รเฐก ยังขยายขีด ความสามารถของแพล็ตฟอร์ม แลชVเแผให้สามารถทำการออกแบบได้ทั้งระบบ ตั้งแต่ส่วนของการ ออกแบบซอฟต์แวร์, การคำนวณ ไปจนถึงการดีงลัญญาณและการติดตั้งลงไปรันในฮาร์ดแวร์ทั้งแบบ วินโดวส์, เรืยลใทม์, และ โ!3(ว^โดยใช้แพล็ตฟอร์ม แลชVเแผ เพียงแพล็ตฟอร์มเดียว จึงทำให้ สามารถทำงานต่อยอดได้ทันทีเมื่อเวลาที่เราต้องการย้ายจากการทำงานกับพีซีบนวินโดวส์ใปเป็น ฮาร์ดแวร์แบบฝังตัว เป็นต้น รVร!©โฑ0©รเ9ก3ง!!ผลโ© ^0ลรบโ©๓©ก! ลกช 0๐ก!โ๐1 แ ล ๗ ผลโ© / '/ ( X ) ๘ X ^15" \เ\^~ ^ ล!!ไ & ^ก3เ7รเร บร©โ เก!©โ!ล©© เก9 ช !/0 บ!9น! ธเ9กลเร่ 1*** ( 161 0 ะ - เ ะ * X ) 101 * - 9. 1| &/10ช6เร 0! อ 0 ๓ ๓©โ0เ3เ 0©9เ0^๓ ©ก! 0 0 ๓ 9 น!ร! ©ก 7©0แก0เ09เ6ร 7ลโ9©! 6โ-ล[ว[า1031 ร7ร1©กก อ63เ9ก อย่าง1 โรก็ดี หนังสือเล่มนี้จะกล่าวถึงการใช้ แล!วVเธผ สำหรับพีซีบนวินโดวส์เท่านั้น สำหรับการเตรียม โค้ด ไปรัน บนระบบเรีย ลไทม์ห รีอ บนฮาร์ด แวร์โ?1ผู้อ่านสามารถนำหลักการเขียน แล!วVเธผ จาก หนังสือเล่มนีไปศึกษาข้อมูลต่อได้เองที ท!.00๓/โ0ล!!!๓© และ ก!.00๓เ\เว9ฮ ส่ว นประกอบของ 1ล1วVเธพ หลังจากติดตั้งแล!วVเโผและไดร์ฟเวอร์เสร็จตามขั้นตอนแล้ว เมื่อเริ่มเปิดแล!วVเธผมาที่หน้าแรก (0611๒9 31ลโเ60เ) เราสามารถเริ่มต้นทดลองเขียน แลชVเธผ ได้ทันที โดยให้คลิกที่ ธเลกแ VI ซึ่งจะทำ ให้เราได้ VI เปล่าขึ้นมา และเราจะเรียกไฟล์แล!วVเธพ ว่า VI I I I 0©*ปก9 513กเ6ฟ 711© 0|ว©โ3เ© 700๒ โ!©๒ 0 แ36พค/V 1 เ 8๒ก^ฬ *เ ^ 7กาเวเ7 โโอุ!©©* VI*โอก17©กา!3๒*6... ^ ^ ©โ©... ไฟล์ แลชVเแผ VI มีนามสกุลเป็น.VI ซึ่งไฟลนไฟล์เดียวจะประกอบด้วยสองหน้าต่าง คือหน้าต่าง สำหรับสร้าง นร6โ เท16โ!ลออ ที่พื้นเป็นตารางสีเทาซึ่งเรียกว่า แโอก! ภลกอเ และหน้าต่างพื้นเป็นสีขาว สำหรับเขียนโค้ดรูปภาพ เรียกว่า ธเออแ อเลฎโล๓ 3 ช0(1(เฟ18เ00เะ01^9^01 ' 0' 2 คเ® เฟ1( ?โ04)ฟ 100*5 กฟ้0\* ๘®I? V [ไ ^ # 1^1II กุ^ ® 40*5* I15เ*6เ)|)*10ฬ0000ฅ* ^ 8๐^ 35^]เ^^I3เป้ II^ I 9 ชก(11*๗1โโ00(030๘ |ช 1( V I 0 ? * 1ฬ ® 1 0 0 เ5 \ 4 โ 1 0 ( เ0 ^ ๘ * ะ*? - * ร * * ^ 1 ❖ กุ I I 1 5 | ว (^ { 3 |) 1 1 0 3 (1 0 ก 0 0 0 ( * ♦ ๐ '' : [ ๒ '' & '' - แถบเครื่องมือบน โโอก! ?ลก©! ประกอบไปด้วยปุมต่าง ๆ ดังนี้ * ^ นก สัญลักษณ์เป็นรูปลูกศรชี้ไปทางขวา ใช้สำหรับเริ่มรันโปรแกรม แต่ถ้าโค้ดยังไม่สมบูรณ์ ปุมนี้จะกลายเป็นสัญลักษณ์ลูกศรแตก และถ้ากดเราจะได้รายการของข้อผิดพลาดต่าง ๆ เช่น ยังต่อสายไม่ครบ เป็นต้น * ^ นก ออก!เกนอนรเV สำหรับสั่งรันแบบวนซํ้าต่อเนื่อง ไซในกรณีที่ต้องการทดสอบโค้ดเล็ก ๆ แต่ไม่ควรใช้ถ้าไม่แน่ใจว่าโค้ดที่จะทดลองรันทำงานอย่างไร เพราะอาจะทำให้หยุดโปรแกรม ไม่ได้และต้องสั่งปิดด้วยวินโดวล์จึงต้องระมัดระวังการใช้ป่มนี้ * /\\วอโ! ธX©อบ!เอก ใช้สำหรับยกเลิกการรันแบบทันที ควรใช้ในกรณีที่ไม่สามารถหยุดด้วยวิธี อื่นได้ ซึ่งอาจจะทำโปรแกรมหยุดกลางดันอย่างไม่สมบูรณ์ในกรณีที่มีการเปิด เรียกใช้ โอรอบโออ เช่น การเปิดไฟล์หรือการเรียกฮาร์ดแวร์ต่าง ๆ * ?ลนรอ ใช้เมื่อต้องการหยุด VI ชั่วคราว และเมื่อกดซํ้า, VI จะรันต่อไป ® 7อฬ รอพก95 ใช้สำหรับจัดการเกี่ยวกับตัวหนังสือ เช่น ฟอนต์ขนาด สี เป็นต้น * อช]ออ!ร /\ โโลก9©๓อก! สี่ปุมนี้ใช้สำหรับการจัดเรียง อช]ออ! ให้เป็นระเบียบ และการจัด เรียงลำดับหน้าหลังในกรณีที่เราวาง อช]ออ! ทับช้อนกัน ^01 ชก* เป๗ 1 โโ ๐ก* ?3ก6เ โ!!© โ ฟ!* 2 โ0 )^ * 0|ว©โ3*© 700เ5 พ ! กฟ0ฬ ผ©แว โ0 (ฒ*) II 15|ว* 4เ3^แ03*!0ก โ 0ก* -*' *0^ ^[๒'' *0*.๚โ 136- &บก V" &บก 0อก*1กบอบรเV โ,3บ56 0 ชฺ]60*5 /\ก'3ก9©โก©ก* 76X1 ร6**1ก9ร ช03โช 6x60บ*!อก ถ้าทดลองคลิกขวาตรงพื้นที่ว่างของ โโอก* โ3ลก6เ เราจะเจอกับอุปกรณ์สำหรับการสร้าง นร©โ เก*©โ*ลอ© ที่เรียกว่า ออก*โอเร ?ลเ6**6 ซึ่งจะมี อช]©อ* ถูกแบ่งเก็บไว้หลายรูปแบบ คือ (VIอช©กา, รแV©โ, รVร*©ทา, และ อเลรรเอ * เฬ0ฝ่6๓ เป็นรูปแบบที่แสดงแสงเงาของ อช]©อ* เป็นแบบสามมิติ (หนังสือเล่มนี้จะใช้แบบนี้ เป็นหลัก) * รแV©โ เป็นรูปแบบที่ออกมาใหม่ เพื่อให้ดูแปลกตาและทันสมัยมากขึ้น ® รVร*©ทา ใช้การเลียนแบบ อช]©อ* ของวินโดวส์โดย อช]©อ* ในรูปแบบนี้จะมีสีและลักษณะ แบบเดียวกับธีมของวินโดวส์บนเครื่องนั้นๆซึ่งถ้าเราเขียนหน้า โโอก*?ลก©! ด้วย อช]©อ* ใน รูปแบบนี้ทั้งหมด ผู้ใช้อาจจะดูไม่ออกว่าโปรแกรมเขียนมาจาก แลชVเธผ * (วเลรรเอ เป็น อช]©อ* ที่แสดงด้วยกราฟิกง่าย ๆ ไม่มีแสงเงา วัตถุประสงค์เพื่อช่วยลดการ ทำงานของส่วนแสดงกราฟิกของพืช ในแต่ละรูปแบบก็จะแบ่งเป็นชุดตามประ๓ ทของข้อมูล เช่น ล่วนข้อมูล แบกา©โ!อ ภายในก็จะมี อช]©อ* สำหรับแสดงหรือป้อนค่าตัวเลข, มิเตอร์เข็ม, เทอร์โมมิเตอร์, ปุมปรับวอลลุ่ม, ระดับนํ้า เป็นต้น และถ้า เป็นแบบ ธออเอลก ก็จะมีป่มและสวิตช์แบบต่าง ๆ และ แแอ เป็นต้น 0 ไ 3 ก 9 ^ ฬ51๖1® ? อ เ ฬ *5... 719: เราสามารถปรับแต่ง ออ/ใ?/ อ/ร 9 3เ6แ6 ให้แสดงเฉพาะบางหมวดแล้วซ่อนหมวดที่เหลือ ไว้ข้างล่างได้โดยคลิกที่ลูกศรด้านล่างสุดแล้วเลือก 0เาลกฎ6 14ร//ว/อ ?3เ6แ63... ถ้าทดลองวาง อช]©อ!แบบต่าง ๆ ลงไป บ น โโอ ก !?ลท©! เราจะสังเกตได้ว ่า แต่ล ะ อช]©อ! จะมีซื่อ (ชลช©!) ของแต่ละตัว และที่ ธเออช อ!ลฐโล ๓ ก็จะปรากฏไอคอนพร้อม ชลช©! แสดงถึง อช]©อ! แต่ละ ตัวด้วย ซึ่งไอคอนเหล่านี้จะถูกเรียกว่า 7©โ๓!กล! แถบเครื่องมือบน 81๐อช อ!ลฐโล๓ จะมีบางส่วนที่เพิ่มเติมมาจาก โโอก! ช,ลก©! คือ * แ!9เาเ!9เา{ ^X©©บ!เอก ถ้ากดปุมนสัญลักษณ์หลอดไฟจะติด การรันโปรแกรมจะช้ากว่าปกติ และจะมีจุดของข้อมูลไหลตามสายให้ดูทีละจุด เพื่อการตรวจสอบความถูกต้องของโค้ด * เ^©{ฟก ผ เ โ© Vลเบ©ร จะคงข้อมูลล่าสุดที่ผ่านสายแต่ละเค้นไว้ เพื่อให้เราสามารถ เวโอช© สายตรวจสอบข้อมูลหลังจากจบการรันได้ ^ อ©ชน991ก9 ไ’๐๐เร คือเครื่องมือสำหรับการดีบักโปรแกรม * 01©ลท บเว อเล9 โ ลโก สำหรับทำการจัดระเบียบ อช]©อ{ ทุกอย่างทีอยู่บน ฒออ^ อเลฐโล๓ แบบอัตโนมัติ 4 3 ช ก { เ{ เฟ 1 81๐อ1( 0๒ 9โ3กา * 700เ5 ผ เ ก ผ ฟ เ ว [7 1 # ][๏ |แ |[7 22 ^๒* ^ 4 4 ๐ โฉิ* 3 15^1 0 [3แอ3{เอก โอ ก * ^ *๐ ’ แเ9เา119^{ 0 ©เวบ99 เก9 ไ’๐๐^ 0©3ก บเว อ(©อบ{๒ ก อเ39โ3โก (*©{3เก โ© V©!บ©5 ต่อมาถ้าลองคลิกขวาที่พื้นที่ว่างของ 61๐๐{ง อ1ล9โลโท ก็จะได้อุปกรณ์อีกชุดขึ้นมาที่เรียกว่า โ บกอ11๐กร โลเ6แ6 ซึ่งเป็นเครื่องมือสำหรับการเขียนโปรแกรม, การคำนวณและประมวลผลต่าง ๆ ซึ่งเป็น สัญลักษณ์โค้ดกราฟิกทั้งหมด สังเกตที่มุมขวาบนจะมืปุม ร©ลโอเา ซึ่งเราสามารถใช้ค้นหาเครื่องมือ ต่าง ๆ ได้ 3 บกนิ* !6 4 1 8 ๒ 0 เ( 0 เ4 9 เ’3 ภ1 * 6 ๒ 841 * ฬ ุ6 * ? โอ]6 อ* 0 ? 6 โ3 *6 7 0 0 เ5 \เ71ก 4 อ\* แ 6 !? 0 แ จ 5 3 '๐ * 1 5 0 * ^ 0 0 เ1 0 3 น ิอ ก โ อ ก * * ‘ - น 1? 4๐ '{ใ.] โช ก 0*เ0 ก 5 0. 5 6 3 " * !| 8 x 0 โ655 ช ุ 1(ะะะ^ 9 7 1ก 0 ช* รเ 9 ก 3 เ & ก 3 เ/ 515 0 ช*0 ช* เ อ ิธ 1ุ้ 8 ? 8 ใ ^ 5 เ9 ^ 3 ก |0 8x 60 0 อก*โอ! /^โเ*!า & 0 อโฑ... โ 3 Vอกํ* 65 V บ 56 โ นนิโ 3 ก่65 ร 6 เ60 * 3 VI... ป ^ ต่อมาถ้าเราทดลองกด รเาIIไ และคลิกขวา หรือเลือกที่เมนู \71©ผ ะ^ 7ออ1ร 8ล I©!!© ก็จะได้700เร 8ลเ©!!6ซึ่งเป็นเครื่องมือสำหรับเปลี่ยนรูปแบบ อบโร๐โ ของเม้าสํโดยปกติจะถูกเซ็ตให้เป็นแบบ อัตโนมัติอยู่แล้ว (ซ่องใหญ่บนสุด) คือ อนโรอโจะเปลี่ยนไปเองตามตำแหน่งที่เราเอาเม้าส์ไปวาง เช่น ถ้าวางบนพื้นที่เปล่าจะเป็นรูปเครื่องหมายบวก และถ้าไปวางตรงกับจุดต่อสายของ 7©โ๓ เกลเ บน 8เออ^ อเลฐโลกา เม้าส์จะเปลี่ยนเป็นรูปเครื่องมือต่อสาย (ผ เโเกฐ) เป็นต้น และมีเครื่องมือเปลี่ยนสีตรง ซ่องใหญ่ล่างสุด เครื่องมือเลือก ^ ^ เ^ หรือย้าย 0 ช]60! ^ '' แบบอัตโนมต * ' ๏ ♦©- เครืองมือ พเโเก9 ค ู] ^ - — เครื่องมือเปลี่ยนสี เราแบ่ง อช]©อ! ที่ถูกวางอยู่บน โโอก! 8ลก©1 เป็นสามประเภท คือ 1. ออก!โ-๐I คือประ๓ ทที่สามารถรับค่าจากผู้ใช้(เกเวน!)ซึ่งผู้ใช้สามารถพิมพ์ค่าลงไปหรือใช้เม้าส์คสิก เพื่อเปลี่ยนแปลงค่าได้ เซ่น ปมหมุน, ปมเลื่อน, สวิตช์, กล่องใส่ข้อความ เป็นต้น 2. เโฟเอล!๐] คือประเภทที่ใซ้แสดงค่าเท่านั้น(อบ!เวน!) ผู้ใช้ไม่สามารถค ีย ค ์ ่า ผ่า น8โอก!83ก©!ได้เซ่น กราฟ, มิเตอร์, หลอดไฟ เป็นต้น 3. □©ออโล!!อก เป็นอช]©อ!ที่วางไว้เพื่อความสวยงามเป็นระเบียบ แต่ไม่สามารถรับหรือแสดงค่าได้ เซ่น เส้นแบ่ง, กล่องลี่เหลี่ยมนูน, ข้อความ (8โ©© ชลช©I)1ภาพประกอบ เป็นต้น ส่วนอช]©อ!ที่อยู่บนธเออแ อ1ล9โลกาในเบื้องต้นมีอยู่หกประ๓ ทหลัก คือ 1. 7©โ๓ เกลุ! คือไอคอนท ี่เกิดมาจากการสร้าง ออก!โอเ/เทอแอล๒ โ ซึ่งจะเป็นจุดเริ่ม (รอบโอ©)หรือ จุดสิ้นสุด (รเก!*) ของข้อมูล 2. ออกธ!ลุก! คือ รอนโอ© ของข้อมูลที่เป็นค่าคงที่ ไม,สามารถรับค่าจากผู้ใช้ไดในขณะรันโปรแกรม แล จะปรากฏอยู่บน ธเออเ* อ!ลฐโลกา เท่านั้น 3. ผออI© คือบล็อกที่มีการประมวลผลหรือคำนวณอยู่ภายใน 4. พ!โ© คือสายที่ใช้สำหรับส่งผ่านข้อมูลจากจุดหนึ่งไปยังอีกจุดหนึ่ง 5. ธ!โนอ!บโ©คือกรอบที่สามารถล้อมโค้ดไว้ใต้ ซึงเป็นส่วนหนึ่งของการเขียนโปรแกรมที่จะได้พูดถึง รายละเอียดต่อไปยกตัวอย่างเซ่นพเาII©1๐๐[ว, Vอโแ๐๐[ว,อลุร©ร!โบอ!นโ©, ธV©ท! ร!ณอ!นโ©เป็นต้น 6. 0©อ๐โลุ!!อก คือส่วนกราฟิกที่ใช้จัดระเบียบ หรือ อาจจะเป็น โโ©6 แลช©! สำหรับเขียนอธิบายการ ทำงานของโค้ด ซึ่งจะไม่มีผลต่อการรันโปรแกรม ผ ๐ ช 6ร การดูว่า 0เว]6อ! ตัวใด เป็น ออก!โ0เ หรือ เกอแอล!อโให้ดูที่ทิศทางของลูกศรบนไอคอน7©โกาเทล! บน 8๒(* อเล9โล๓ ถ้าลูกศรอยู่ด้านขวาชี้ออกคือเป็น ออก!โ0เ และถ้าลูกศรีอยู่ด้านซ้ายชี้เข้าแปลว่า เป็น เกชเ0ล1อโ 0อก1โ0เ5 1ก(ะ1เ0310โ5 0เ3เ รแ0เ6 \^/3\'6^0โกา 0โ3{3เา ไอคอนปกติของ ออก!โอเ/เกอแอล!อโ7©โกาเกลเ บน □เออ^ อ!ลฐโลกาอาจจะใหญ่และกินเนอทีได้เมือเรา เขียนโค้ดที่เริ่มซับซ้อนมากขึ้น เราสามารถทำให้เล็กลงโดยคลิกขวาที่แต่ละตัวและเลือก VI©พ^ร เออท เพื่อ เอา เครื่องหมาย ถูกออ กไป 0 0 ก *โ0 เ5 1โไชเอล?0โ5 \^?3'^6*0โกา 6โ3{วเา 0๗ รแอเ6 081 V โ 08 V ^ \?เ5แ3เ61*6กา5 V 77- ?เกอเ 1กก่เ อ3 *0 โ เ^ แใ3เ(6 7^|ว6 06*. เ*อก่ 8 บ **0 ก 0 0 □ 9 1. เ-แช6 ๒ ก ่เ อ 3 *0 โ 0 า 3 ก 9 6 * 0 (ะ0ก*โ0เ 0 1 า3 ก 9 6 *0 0 0 ก 5 *3 ก * 5*ก่ก 9 065อโแว*เ0ก 3กฟ 7 เ0... 1เ3 * ^ โ โ 3 / 03เ6**6 ^ 0 โ63*6 ^ 0 3 *3 (ว 0 6 โ3 *เอ ก 5 V ^ ๗ ’^ 3 ก อ 6ฟ ^ 7 พ6ผ^5เอ0ก 71?: ถ้าต้องการให้ 761-๓1กลเ มีขนาดเล็กทันทีที่วาง ให้เลือกที่เมนู 700เ8 ะ^ อ/ว?/๐กร... จะ เจอกับหน้าต่าง อ/ว?/'0/1ร จากนั้นฝังซ้ายเลือก 8100/อ 01ล9โล๓ และฝังขวาคลิกเอา เครองหมายถูกออกจากหัวข้อ ?1ล06 {โ‘อกI เวลก&เ (6โ๓!กลเ8 98 10008 เราสามารถเปลี่ยนเวช]©อ!ให้เป็นออก?โอIหรือเป็นเกอ!เอล?อโกลับไปมาได้ตามความเหมาะสมโดย คลิกขวาทีอช]ออ? นันบนเ1โอก? เ3ลกอ!หรือบน8เออเออเล9โลโก ก็ได้และเลือก อเาลกฐอ เอ ออก?โอ! หรือ อเาลท9อ ?๐ เกอ)เอล?อโ แ บ ก า6ก่อ \?151เ5๒ 1*6กา5 7 ๒ ก ่ 0 ๐ ก *โอ เ แ?3เ(6 7 ^ 6 0 ๗. เ-||ฟ6 0 ๐ ก * X๐1 0 า 3 ก 9 6 * 0 1กชเอ3*0โ ^ 0 เ า 3 ก 9 6 *๐ 0 อ ก 5 *3 ก * การสร้าง ออกร?ลก? ทำได้โดยการเลือกเอาจาก 8นกอ?1๐กร 8ลเอ??อ ตามชนิดของข้อมูล เช่น แบ๓อโเอ ออกร?ลก? ก็เลือกเอาจากหมวด แช๓อโเอ, หรืออีกวิธีหนึ่งทำได้จากการเปลี่ยน ออก?โอเ โดยคลิกขวาที่ ออก?โอI 7อโ๓!กล! แล้วเลือก อเาลก96 ?0 ออกร?ลก? 54โ!ก9 0 ฒ ฬ5แว๒ 1461าก5 ^ โ!กฟ โ0 ก 4 โ0เ เ-||ฟ6 โ0 ก 4 โ’0เ 0 ไ 3 ก ฐ 6 40 1กฟ!0340โ 0 ใ 3 ก 9 6 40 โ0ก543ก4 0650โ!|ว4!0ก 3กฟ 7!?... ฒ อ อ เโ อ เล ฐ โ ล โ ท แ อ โ]© แอช6ร คือบล็อกที่อยู่บน 81ออแ อเลฐโลกา ที่มีการประมวลผลอย่างใดอย่างหนึ่ง เราอาจเปรียบเทียบ ว่าหนึ่ง แอช© ในVI เทียบเท่ากับโค้ดหนึ่งบรรทัดในภาษาซีก็ได้โดยที่ แอช©บล็อกหนึ่งอาจจะมี เทเวน!และ/หรอ อบ!เวน! หรืออาจจะไม่มีเลยก็ได้และจะทำงานตามหน้าที่เมื่อมีการรันมาถึงลำดับของ มัน โดยแบ่ง 81ออแ อเล9โล๓ แอช©ร เป็นสามชนิดหลัก ๆ ได้แก่ 1. โนกอ!;อก แอช© คือ แอช© ที่มีหน้าที่พื้นฐานของโปรแกรม ซึ่งเราไม่สามารถที่จะเปิดเข้าไปดู รายละเอียดภายในได้อีก เซ่น การบวก, การคูณ, การเปิดปิดไฟล์เป็นต้น2 3 2. ธบชVI แอช© หรือในภาษาทางซอฟแวร์อาจเรียกว่า รนชโอน!เก© คือโปรแกรมย่อยทีถ ่ ูกเขียนขึ้นมา เพื่อนำมาเรียกใช้ในโปรแกรมหลัก และสามารถเรียกใช้ซํ้า (โ©บร©) ได้ในอีกหลายโปรแกรม เรา สามารถเปิดเข้าไปดู โโอก! โลก©I และ 8เออแ อเล9โลกา ของมันได้เมื่อดับเบิ้ลคลิกที่ดัวบล็อก รนชVI 3. 0(ถโ©55 VI แอช© เป็น รนชVI ประ๓ ทพิเศษ คือเมื่อเราเลือก ธXเวโ6รร VI มาวางบน 8เออแ อเล9โ3ทา มันจะปรากฏหน้าต่าง ออก!เฐนโล!เอก ขึ้นมาเพื่อให้เราเช้าไปป้อนค่าพารามิเตอร์ต่าง ๆ ตาม ต้องการ และเมื่อเราป้อนค่าเสร็จ มันก็จะสร้างโค้ดไว้ภายในโดยอัตโนมัติตามที่เราได้ตั้งค่าไว้ ซึ่ง ความสามารถของ ^Xเวโ©รร VI นี้ทำให้เราแทบไม่ต้องต่อสาย เก[วน! เลย เพราะพารามิเตอร์ทั้งหมดถูก สร้างและเก็บอยู่ภายในเรียบร้อยแล้ว จึงทำให้การเขียน แลช'Vเ&พ ง่ายและเร็วขึ้นมาก, ธXภโ©รร VI จะมีไอคอนขนาดใหญ่ที่พื้นหลังเป็นสีฟ้า โบก(ปเอก รนชฬ ธX0โ655 VI 5๒6 \^3\,6.พ่ ส ั่^ 5เกโ)บ๒16 5เ9ก3เ 5๒6 * 71?: เราสามารถใช้จำนวน ผงป6 ทั้งหมดที่อยู่ใน 81007 01391-9171 เป็นตัววัดขนาดความใหญ่ ของโค้ด 7ฝ็เชฬ51/เ/, ในขณะที่โปรแกรมที่เขียนด้วยตัวอักษรจะใช้จำนวนบรรทัดเป็นตัววัด การขอความช่ว ยเหลือ แลชVIแพ มีเอกสารและตัวอย่างโปรแกรมให้ศึกษาทั้งที่ติดตั้งมาให้พร้อมกับ แลชVเแผ และที่ยังมีอยู่ อีกมากในอินเตอร์เน็ต เราสามารถหาตัวอย่างโปรแกรมได้โดยเลือกท ี่เมนู แอแว ะ ^ คกป แXล๓ เวเ©ร... จะปรากฏหน้าต่าง ผเ ^Xล๓ Iว!© ค'กปอโซึ่งจะแบ่งตัวอย่างโปรแกรมตามหมวดหมู่ใน แทบ ธโ0ผ86 ส่วนในแท็บ รอลโอถ จะเป็นการหาตัวอย่างตาม แอ)/^ อโป ที่เราใส่เข้าไป เช่น ถ้าอยาก ได้ตัวอย่างเกี่ยวกับการส่งคำสั่งผ่าน รอโ;ลเ เว0โเ ก็พิมพ์คำว่า “รอโ;ลเ” ในช่อง แกเอโ แอ)/^/อโป(ร) ซึ่ง จะเป็นการหาจากตัวอย่างที่มีอยู,ในเครื่อง และถ้าต้องการได้ตัวอย่างเพิ่มเติมจากเวปไซด์ออนไลน์ด้วย ก็ให้เลือก เกอเนปอ ก;.00๓ 6X3๓(3๒5 ซึ่งเราสามารถดับเบิ้ลคลิกเพื่อโหลดมาเปิดดูได้เลย I^ 1 ในกรณีที่เราเปิดดูตัวอย่างแล้วไม่รู้จักโค้ดบางตัว เราสามารถขอความช่วยเหลือได้จาก ออก!6X1 แ©แว โดยเลือกฒนู แ6แว ^ ร!ไอผ ออก!6x1แ6แว หรือกด อ!โเ +เ-เ เราก็จะเห็นหน้าต่างเล็ก ๆ ทางมุมบน จากนั้นให้นำเม้าล็ไปวางไว้บนสิ่งที่เราต้องการคำอธิบาย หน้าต่าง ออก16X1แ6แว จะแสดงคำอธิบาย สันๆของโค้ดตัวนั้นทันทีว่ามีหน้าที่อะไรมีเกเวน!/อบ!เวช!อะไรบ้าง และถ้าต้องการดูเอกสารแบบเต็ม รูปแบบก็ให้คลิกที่ลิ้งค์อ6๒แ6อ1 เา©แว ซึ่งจะโยงไปหาเอกสารที่มีคำอธิบายแบบละเอียดทันที - 1 2. - 2 2 - 4 3 83510 ร©ก่3เ พ ก ํ! © อก 6 8©อฟ.7เ 8เ00เ( อเ39โ3โก * 0๐ก1©)(1 แ©เ? โแ© 5ฟเ1 VI©™ 2โ0]©01 0เว©โ31© 700เ5 พเก60ผ ๒©![ว พ 3 เ! (การ) 0 II 4๐ [ฐ* 15|ว1&เวเวแ031เอกโ0ก1 กา 1แเร©©๐โฟร 1๐ ^ 3 เ! 0 1๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ พพ3เ1ร 3 เ!5 1เา©5 1๒6 5เว66เ1|6๗ กบโก[ว©โ อ! กาแแร©©อกฟ่5 3ก 6 โ©!บโก5 1๒6 V3Iบ© อ! 1๒6 **9*** * 4 * 2 ๖ * 0 1 * (๓5) 9***************2 ? 0ณ 1 10328 \ 1*1 * เ กาแแ5©©อกฟ 1เโฑ©โ. พ เโเก9 3 V3๒© อ ! 0 10 โกแแ5©00ก( I 1 I^ — 1๒6 1๒6กา1แ{5©' โฑแแร©©อโฟ5 1อ ผ 3 เ! เก(วบ! !อโ©©51๒6 I---- © "๒ I [^53 0ขโโ*ก*ผ!โ ©บโโ©ก! 1๒โ630เ 10 ^เ©เช ©อก!โอเ 0! 1๒6.. [.^ ^ ^ ^ ^ ^^ ง. บ. I I 1 ™ ;; & ^ เก5{โ 5 ; ™ 7 " ^ 0©13แ6ฟ [ไ©I? * 0 ^0 *.ษ&.*9*V&*&1& ไ 8)^65 31 00โ1* โเเ0 & โ 6 จ ฺ^ 3 ย ฺธ ป ้1 1 1.0 น 3 น แ1^ 7 *— ' ^ [ว)'!©ร5^©©เก©ฟ. ร^ร □□□๐ ๐๐๐๐๐๐1: 1 ™.™ ^ ™ ™ ™ ™ ™ * ™ ™ ™ ™ ^ ™ ,™ ผอ1©:0เ05เก9 1 3แ0ฬ5 เ! 10 [ว© 3เวเวแ©31เ0กร 13ช่ฬ 8พ. III อล!ล!!(วผ หลัก การทำงาน(6X60บ*เ0ท)ของ แลเวVเธผซึ่งเป็นภาษาแบบกราฟิกจะมีข้อแตกต่างจากภาษาที่ เป็นตัวหนังสือ อย่างเช่นภาษาซี ที่มีการ 6X60บ๒ ทีละบรรทัดจากบนลงล่าง แต่ แลชVเแผ จะมีการ ทำงานแบบ อล(ล(เอผ ซึ่งก็คือจะทำงานเป็น แอ0เ6 ซึ่งเราอาจเปรียบเทียบได้ว่าหนึ่ง แอ0เ6 ใน VI เทียบเท่ากับโค้ดหนึ่งบรรทัดในภาษาซี การทำงานแบบ อลเล(เอผ มีหลักการคือ: “ผ 0 ป6 ใ ด ๆ จ ะ ท ำ ง า น ไ ด ้ก ็ต ่อ เ ม ื่อ ผ 0 ^ 6 น ั้น ม ีข ้อ ม ูล เ ก เ ว ม { ค ร บ ท ุก ต ัว ” ให้ลองพิจารณาดูตัวอย่าง VI ในรูปนี้ว่ามีจำนวนกี่ แอ0เ6 และลำตับ แอช6 ใดจะทำงานก่อน ? &ลกฟ0ทา แบทา!ว6โ (0- 1) 0น!เวน! 1 * 0 บ!{ว บ! 3 เกเวน! 2 0 บ!)วบ! 2 4 จะเห็นได้ว ่าม ีอยู่สี่ แอฟ© คือ แอฟ© การบวก, การคูณ, 8ลกฟ๐๓ แบ๓ ช©โ (การสุ่มตัวเลข), และการ เปรียบเทียบ (เครื่องหมายมากกว่า) และถ้าพิจ ารณาจากหลัก การอ ล! ล!เอผข้างต้น, แอฟ©ที่ม ี เกเวนเ ครบและพร้อมที่จะทำงานได้เลยเมื่อรันโปรแกรมมีอยู่สอง แอฟ© คือ การบวก และ ^ลกฟอ๓ แบ๓ ช©โ (8ลกฟ๐๓ แบ๓ ช©โ เป็น แอฟ© ที่ไม่ม ี เก[วบ!) ซึงลองตัวนี้จะทำงานพร้อมกัน แต่ว่า แอฟ© ที่จะทำงาน ก่อนไม่ได้เลยก็คือ การคูณและการเปรียบเทียบ เพราะจำเป็นต้องรอผลลัพธ์จาก แอฟ© ก่อนหน้านั้น 71?: ทดลองสร้างและรัน VI ตัวอย่างโดยก่อนรันให้กดทเครืองมือ เ-เาแฐ/ใ/ 5X6อบ//0ก (รูป หลอดไฟ) ที่อยู่บน อ/ออ/( อ/ลฐ/-©กา เพื่อให้เห็นระบบ อล/ล/'/๐IV ของข้อมูลทีละ ผ0๘© แบบช้า ๆ โ1เ6 &ปเ! ?โ0)60! 0เว6โล!6 !0 0 เ5 พ เก ฟ ๐ผ " ฒ. *5 4๐ '๐* 1 15))! /-แวเว |เ-แ9เา1เ9^ 5x60บ !!0 ก ประเภทของข้อ มูล (□ล!ล IVเว6) ในการเขียนโปรแกรมทั่ว ๆ ไปจะต้องมีการประกาศตัวแปร (ฟ©อเลโ©) ก่อนที่จะใช้ตัวแปรนั้น สำหรับ แลช'Vเอพ เราใช้วิธีเลือกประ๓ ทของข้อมูลมาวางบนโค้ด ประเภทของข้อมูลใน แลชVIแพ มีหลาย อย่างที่ใช้เหมือนกับในภาษาอื่น ๆ ในที่นี้ขอยกตัวอย่างประเภทข้อมูลในเบื้องต้น คือ 1. ผม๓6ทู่อ คือข้อมูลประ๓ ทตัวเลข เมือเราสร้าง ผม๓6โเอ ออก!โอ!/เกอ)เอ81๐โ/0อกร๒ กเขนมา ค่า เริ่มต้นเดิม (ช©!ลบII) ของมันจะเป็นศูนย์ข้อมูลแบบ ผม๓©ก่อ มืทั้งประเภทจำนวนเต็มซึ่งไอคอนและ สายใน 8๒อ^ อเล9โล๓ จะเห็นเป็นสีนํ้าเงิน และประเภทจำนวนที่มืทศนิยมซึ่งจะแสดงเป็นสีต้ม วิธีการเปลี่ยนประเภทของตัวเลข ให้คลิกขวาที่ ผม๓©ก่อ ออก!โอเ/เกอแอล!๐โ/ออกรเลก! (บน โโอก! กลก©! หรอ 8!ออ^ อเล9โล๓ ก็ได้) แล้วเสือก 8©เวโ©ร©ก!ล!เอก และเลือกประเภทตัวเลขได้เลย ผนกา6โ^ \^151๒เ6 1*6กา5 * ?เกฟ อ อ ก *โ0 เ โ-แก่6 ออก*โอเ อ ก ่3 ก ฐ 6 * 0 เ ก ก ่! 0 3*0โ อก่ 3ก 10 อ อ ก 5*3ก* [)650ก่{ วก่อ ก 3 ก ก ่ ไโเ^... ผ บ ก ไ 6ก่อ 03เ6**6 ^ 0 โ63*6 V อ3*3 0(ว6โ3ก่อก5 ^ ^ ก ่V ^ก 06ก่ ^ \ก ่6 พ ^\5 1ออก เ*6เวโ656ก *3ก ่อ ก 0 0 บ เ) ๒ 9 โ6015100 7X7 061 801 7X6 9 โ006โ1เ6ร เ ^... 1 เ^ -ฝ ะว.! 1=1 ะ เ^.V- 184 132 118 18 ^ป ็ ๅ ป0 31 0... 150 70 ะ ::ะ ::0 11. ะ.. : : : 0 บ 84 ม 32 ข !8 ข8 43 0 31 0 15 0 70 โ4-1-84 ะ.... 0 ะ ::ะ ::ะ :: 0 0X7 006 080 651 เ^มั] ซึ่งแถวบนจะเป็นตัวเลขประเภทมืทศนิยม (จำนวนจริง) แถวสองคือเลขจำนวนเต็ม (เก!©9©โ) แถวสาม คือจำนวนเต็มแบบไม่มืเครื่องหมาย (มกรเ9ก6อ) เก!©9©โ) และแถวล่างสุดคือจำนวนเซิงซ้อน (ออ๓ เวเ©X ทม๓ ช©โ) สำหรับผู้ที่ไม่เคยเขียนโปรแกรมมาก่อน เบื้องต้นแนะนำว่าถ้าต้องการใช้ตัวเลขแบบมืทศนิยมให้เลือก □81 (ออมช!© กโ©อเรเอก) และถ้าต้องการจำนวนเต็มให้เลือก 132 (บวก9) ไปก่อน ส่วนการกำหนดค่า ต่าง ๆของ ผม๓©ก ่อ อ อ ก ! โอ!/!กอแอล!๐โอย่างละเอีย ด เซ่นการแสดงจำนวนจุดทศนิยม ค่าสูงสุด ตํ่าสุดฯลฯให้เลือกที่เมนูกโอ!ว©โ!1©รซึ่งจะมืหน้าต่างสำหรับให้ปรับแต่งรายละเอียดของอช]©อ! นั้น 2. 800๒311 คือข้อมูลประ๓ ททมีสองค่า คือ 7โบโ และ โ/\แรธ ค่า ช6๒บII เดิมของมันคือ โ/\แรโ. สำหรับบน 8๒0^ อ!ล 9โลกา จะแสดงสีของไอคอนและสายของข้อมูลประเภทนี้ด้วยสีเขียว และสำหรับ บน โโ0ก! โลก6เ ตัว 800 เ6ลก (ว0ก!โ0เ จะมีค ุณ สมปติส วิต ช์(1^60เาลก!อลเ /\ อ!๒ ก) ซึ่งก็มีหลาย ประ๓ ท วิธีเปลี่ยนชนิดของสวิตซ์ให้คลิกขวาที่ 800 เ6 ลก ออก!โ0เ บน โโ0ก! โลก6เ แล้วเสือก 1\/เ©อเาลก๒ ล! /\ อ!เอก ซึงจะมีอยู่ 6 รูปแบบ เ^ ' ‘ ะะแ แต่ละ IV!©๐ห3กเอลเ /\อ!!อก จะมีผลดังนิ - รพ!!อเา พเา©ก โโ©รร66 คือสวิตช์แบบกดติด-กดดับ - รพ!! ๐ห ผเา©ท โ!©!©ลร©ฝ่ คือกดติด-กดดับเหมือนกัน แต่จะมีผลเมื่อปล่อยมือแล้ว รพ!!0เา บก!!! ^6เ6ลร6ช คือกดติด-ปล่อยดับ - แล!๐ห ผเา©ท โ โ©รร©6 สวิตช์จะเปลี่ยนค่าทันทีเมื่อคลิก แล้วจะเด้งกลับเป็นค่าเดิมเองเมื่อ โปรแกรมรับรู้ถึงแม้ว่าจะยังไม,ปล่อยมือก็ตาม - [.ล*๙า ผ เา6ท ^อเอลรอช หลังจากกดแล้วสวิตซ์จะเปลี่ยนค่าก็ต่อเมื่อปล่อยมือ แล้วเด้งกลับ เป็นค่าเดิมอีกทีเมื่อโปรแกรมรับรู้ - แล*๐ห บก*!! ^อเอลรอ ช คล้ายกับกดติด-ปล่อยดับ แต่จะมืการรอให้โปรแกรมอ่านค่าตอน ปล่อยมือก่อน แล้วเปลี่ยนกลับเป็นค่าเดิม ทดลองเล่นแต่ละแบบดูได้โดยคลิกขวาที่ ธออเอลก ออก*โซ! แล้วเลือก ?โอเอ©โ*!อร แล้วเลือกแท็บ 0|ว6โล*เอก และทดลองกับปุมดัวอย่างบนส่วน เ3โ©Vเอผ รอเออ*ออเ 8อเาล\/เอโ 0 0 0 ๒ 3 0 ? 0 ว0 6 โ*๒ 5 : 0 1 ( 0 บ **๐ 0 เฒฒฝ /แ ว |ว 6 3 โ 3 0 0 6 0 เ3 6 โ 3 * เ0 0 ก 0 0 บ ก ก 6 0 *3 *1 0 0 0 3 *3 0 1 0 ๘ ๒ 9 1( 6/ * '๒ 1/ 193*100 8บ * * 0 0 *36*131/10โ 06*า3\'เ0โ 0X0๒03*100 51/1/1*0*1 ผ * 1 6 0 0 โ6 5 5 6 ๘ แ * ! 3 0 9 ® 5 *3 *6 0 0 3 *3บ * * 0 0 5ผเ*0*1 1/1๒60 โ6 ๒ 3 5 6 ๘ V 51/1/!* 0*1 บ ก * แ โ6 ๒ 3 5 6 ๘ โ6 ๒ 3 5 6. 0 *1 3 0 9 ® *330*0 1-3*0*) พ ! ไ 6 0 0 โ6 5 5 6 ๘ 1/1/ *160 **16 0 0 0 * โ 0 เ เ5 โ6 3 ๘ 13*0*1 1/1๒60 โ6 ๒ 3 5 6 ๘ *3^ เ-3เ3ฬ0พ. 13*0*1 บ 0*11 โ6 ๒ 3 5 6 ๘ 9 โ61/16ผ 5 6 ๒ 0 * 6 ๘ 06*131/10โ 01( แ3006เ แ 6 เ|3 71?: ใ]มต่าง ๆ ที่ใช้บน เ/ฬก๙0IVร อ ย ่า ง ปม 0/0, อลโ70อ/ และ ห&แว พวกนี้มี /V/ออ/ใล/ใ/อล/ /4อ//อ/ใ เป็นแบบ แล/อ/ใ V/เาอ/ใ / อ/อลออ๘ ทังสิน ซึง /\//ออ/ใล/ใ/อล/ /4อ//อ/ใ แบบปีจะถูกใช้ใน ๘/'ล /อ ฐ ' ต่าง ๆ บ่อยมาก 3. ธ๒ กปิ คือข้อมูลที่เป็นตัวอักษร ค่า อ!©!ลน!! คือว่างเปล่า (©กา!ว!V ธ!ก่ก9) ไอคอนและสายของ ร!โเก9 จะเป็นสีชมพู สำหรับการแสดงผลของ ร!โ!ก9 บน รโอก! โ3ลก©! หรือบน 6๒0^ อ!ล9โ3ทา (กรณี ที่เป็น ร!ก่ก9 ออกร!ลก!) จะมีอยู่สี่รูปแบบ - ผอโ๓ล! อเรเวเลVคือการแสดงผลแบบปกติ - ‘V อออ!©ร อเรเวเลV คือการแสดงผลแบบ \ โค้ด มีประโยชน์สำหรับป้อนตัวอักษรบางตัวท ี่เรา พิมพ์โดยตรง'โม,'ได้ หรือแสดงตัวอักษรที่เรามองไม่เห็น เช่น การเว้นวรรค (\ร) แท็บ (\!) หรือตัว ขึ้นบรรทัดใหม่ (\ก) เป็นต้น - ?ลรรผอโอ! อ!รเวเลV จะแทนตัวอักษรด้วยเครื่องหมายดอกจัน(ๆ - แ©X อ!ร เวเล V แสดงผลเป็นรหัส /\รอ!! ด้วยเลขฐานสิบหก 1\เ0โทา,ฝ อเ5|}เส7 7แ*7เโ5* แก 7แ* 5*อ0กฟ แก 'V อ 0 อ เ6 5 อ 1 5 |ว ๒ 7 7แ*\5ก โ2*\5เ I ก *.\ท 'โแ *\*5 ^0 ก ^\5 เ 1 ท*.\ท ? ล5 5 ฬ 0 โอ ! อ เ 51)๒7 I 9*4************ I ฿ ((แ เ* ห อ ! 5|)เ3^ 5468 6520 6669 7273 7420 6069 6*55 2 *)* 5468 6520 7365 6367 ' 6ธ64 2060696ธ652ธ04 การเปลี่ยนรูปแบบการแสดงผลของ ร!โ!ก9 ออก!โอ!/เกอ!!อล!๐โให้คสิกขวาที่ ร!โ!ท9 บน เ1โอก! ?3ก©I แล้วเลือกเปลี่ยนเป็นแบบที่ต้องการจากเมนูได้ทันที สำหรับ ร!โ!ก9 ออกร!ลท! ให้คสิกขวาบน ธเออเอ อเล9โ3ทา ในการเขียนโค้ด เราอาจพิจารณาใส่สัญ ลักษณ์ โลอแXกำกับไว้บน ร!ก่ก9 ออกร!ลก! เพื่อระบุวิธีการ แสดงผลและป้องกันการสับสนเวลาอ่านโค้ด วิธีการคือให้คลิกขวาที่ ร!ก่ก9 แล้วเลือก VIร!ช๒ 1๒๓ ร ะ^ อเรเวเลV ร!7เ6 7เไ0(เโร* แกอ.1 11ทอ5001 VIรแ)เอ &อโกร ^ ๒661 1 0เใ3ก9**00อก1โ0เ (1*ไ3ก9**0เก 03*อโ 6 \ \^6(1เ03เ 50โ0แ63โ ออรอกํ?*เอก 3ก0เ า'แว... 1 จากนั้นเราจะเห็นสัญลักษณ์ของ อเรเวเลV ร!VI© ตัวเล็ก ๆ อยู่ตรงด้านซ้ายของ ร!โเก9 ซึ่งจะมี สัญ ลัก ษณ์ ก, \1*1และ Xตามลำดับ าโห0 (เโร*แก6. 17^ไ0 5000กฟ แก6.--------- 4. ธ กบ๓ คือข้อมูลประ๓ ทที่แสดงให้ผู้ใช้เห็นเป็นตัวหนังสือ แต่ค่าจริงของมันคือตัวเลขจำนวนเต็ม ตังนั้นบนธเออเ^ อเล9โล๓ เราจึงมองเห็น 7อโ๓!กล! และสายของข้อมูลประ๓ ทนี้เป็นสืนํ้าเงินซึง เหมือนกับจำนวนเต็ม วิธีการสร้าง ธกบ๓ ออก!โอ! คือให้เลือกมาจาก ออก!โอ!ร รล!©!๒: IVอชอโก ะ^ เ^ก9&รทบก ะ ^ รกบ๓ แล้ววางลงไปบน รโอก! รลก6เ แล้วคลิกขวาและเลือก รปเ! 1๒๓ร... จากนั้นที ่ หน้าต่าง รกบ๓ รโอ[วอโ!เอร ก็ให้พิมพ์ตัวหนังลือตรงคอลัมน์ซ้าย ([๒๓ ร) ซึงจะไปจับคู่กับตัวเลขทาง คอลัมน์ขวา (อเ9เ๒1 อเรเวเลV) ซึ่งแต่ละไอเทมซื่อต้องไม่ซํ้ากันและถ้ามีไอเทมใดถูกเว้นว่างไว้ก็ให้ลบทิ้งให้เรียบร้อย เมื่อสร้างเสร็จก็ สามารถใช้งานได้ทันทีโดยใช้เม้าส์เลือก าโหบ โ 5ฟ3^ โโ!63^ ธกบทา มีประโยชน์สำหรับการสร้าง อ0ก!โ0เ ที,ต้องการจำกัด เท เวน!; ไม่ให้ผู้ใช้ใส่ข้อมูลอย่างอื่น นอกจากทิ้กำหนดไว้ก่อนใน ธกบ๓ เท่านั้น 718: ในกรณีที่ต้องการสร้าง อ0ก{ก0เ ให้ปีเมมูให้เลือกแบบ 8กบ๓ แต่ยังอนุญาตให้ผู้ใช้'พิมพ์ ข้อความอย่างอื่นเข้าไปเองไต้ด้วย ให้พิจารณาใช้ 00๓130 80X ซึ่งเป็นข้อมูลแบบ 81ก่กฎ แทน (เลือกจาก 0001๓18 ?9เ6แ6: 1\^00เ6๓ ะ5^ 81ก่กฎ & 83{เา ะ ^ 00๓130 80X) 5. 0Vโา3โใา10 (007) เป็นข้อมูลที่อยู่ในรูปของสัญญาณเวฟฟอร์ม สายบน 81๐0^ อ!ล 9โล๓ ถูกแสดง ด้วยสีนํ้าเงินเข้ม เส้นใหญ่ซึ่งภายในประกอบด้วยข้อมูลหลายอย่าง เซ่น /\โโลVของเวฟฟอร์ม,71๓6 ร{ล๓!ว, ชื่อของสัญ ญาณ ฯลฯ ข้อมูลประ๓ ท ออ! นี้ส่วนใหญ่ใซโน ธXเวโ6รร VI สำหรับการอ่าน, กำเนิด และวิเคราะห์สัญ ญาณ เป็นต้น สายข้อมูลแบบ ออ! สามารถส่งข้อมูลหลาย ๆ ซาแนลได้ในเส้นเดียวโดยการ ๓©โ96 สัญ ญาณหลาย ซ่องเข้าด้วยกัน เครื่องมือต่าง ๆ สำหรับการจัดการดัดแปลงแก้ไขข้อมูลแบบ ออ! จะอยู่ใน โนทอแอกร โลเอแอ: ^ X เวโ©รร ะ^ ร!9ก3เ 1\/เลก!เวน!ล1!อก ดังนี ยกตัวอย่างเครื่องมือใน รเ9กลเ IVเลกแวบเลเ:10ก ที่ใซ้บ่อยได้แก่ - 1\/เ©โ9© รเ9กลเร: ใช้ในการรวมสัญญาณหลายชาแนลเข้าไว้ในเล้นเดียวกัน เช่นใช้ในการ พล็อตหลายสัญญาณในกราฟเดียวกัน - รเวเII รเฐกลเร:ใช้ในการแยกสัญญาณ - รล๓ 9เ6 อ0๓เวโ6รรเอก: ใช้สำหรับลดปริมาณจำนวน รล๓ [วเ6 ของสัญญาณเวฟฟอร์ม - โโอกา ออ! : ใช้เปลี่ยน ออ! ให้เป็นข้อมูลแบบปรกติ เช่น เปลี่ยนเป็น ผน๓อก่อ, /\โโลV, ฯลฯ ตามชนิดของข้อมูลนั้น ๆ เพื่อนำไปใช้ในส่วนที่ไม่ใช่ แXเวโ6รร VI - ! ๐ ออ!: ใช้แปลงข้อมูลแบบปรกติให้เป็น ออ! เพื่อนำกลับไปใช้ใน แXเวโ65ร VI 6. !1๓6 ร13๓เว เป็นข้อมูลที่ประกอบด้วยวันที่และเวลาที่มืความละเอียดถึงมิลลิวินาที. แลเวVเแผ คำนวณ !!๓©ร!ล๓ เวโดยนับเป็นจำนวนวินาทีที่เริ่มตั้งแต่เที่ยงคืนวันที่ 1 มกราคมค.ศ 1904ในเวลา มาตรฐาน หรือ บ !อ (เวลาในประเทศไทยเร็วกว่า บ !0 เจ็ดชั่วโมง) แล้วนำมาแปลงเป็นรูปแบบวันที่ และเวลา ยกตัวอย่างเช่น ถ้าแปลงตัวเลข 3.4 พันล้านด้วยฟังก์ชัน !อ !เ๓© ร๒ ๓ [ว ตังในภาพ วิธีคิด คือ ให้เริ่ม นับ จากเที่ย งคืน บ!อวัน ที่ 1 มกราคม 1904ไป 3.4พันล้านวินาที ผลลัพธ์จะได้เป็นวันที่28 กันยายน ค.ศ. 2011 เวลาในประเทศไทย 3:26:40 นาฟักา ตังนี้ ^ บ กา®กิ® 71กา® 5*3กา0 บ ! 3-4^ 9 [3:26:40.000 128/9/2011 ^ บกา®ก® ! เกา6 5*31X10 7 อ !เกา® 5*3 ทา0 1........................ นํ|เ2 00 ^ 07เ 71๓6 ร!ล๓)ว ยังสามารถนำมาแปลงให้เป็นวันที่และเวลาในรูปแบบ ร!โเกฐ ได้ด้วยฟังก์ชัน โอก-กล! □ล!6/71๓6 ร!โเท9 ตังนี 7 1 ก า6 ร! ล ก า ^ ฟ 3 ! ๙ !เก า 6 5 ! ก ่ก 9 ^19:55:42.926 17/5/201119:55:42 ร ี 17/5/2011 71๓6 ร!3กา[ว |ะ0โกา3 ! 0 3!6.7โเกา6 ร!ก่ก 9 ^ ! ๙ ! เกา6 ร!ก่ก 9 เ1 2 :0 ^ 0 3.1 8 * © ฟ ้1 5?01^ \ ฝ. — เฮ่!ะ..;เ— 1 7. พ ลV6!0โ๓ เป็นข้อมูลที่ประกอบด้วยข้อมูลย่อยอีกสามรายการหลัก คือ * V: จุดของตัวเลขหลาย ๆ จุดประกอบเรียงกันเป็นเวฟฟอร์ม ซึ่งจะเรียกว่า /\โโลV * ช!: ข้อมูลที่ระบุว่าแต่ละจุดมีเวลาห่างกันกี่วินาที * !0: ข้อมูลแบบ 71๓6 ร!ล ๓ เว ที่ระบุว่าจุดแรกของชุดสัญญาณนี้ถูกสร้างขึ้นเมื่อวันเวลาใด ซึ่ง หมายความว่าจุดข้อมูลทุกจุดจะสามารถหา 71๓6 ร!ล๓ (ว ของมันได้ด ้วยการคำนวณจาก !0, ช!, และลำดับที่ของจุด (เกช©X) บน /\ โโลV V เราสามารถสร้าง ผ ล V6(0โ๓ ได้ด้วยบล็อก ธนแช ผ ล V6(อกโท ที่เรียกมาจาก โบกอ(เอกร กลเอ((อ: กโอฐโล๓ ๓ เก9 ะ5^ ผลV©(อโกา ดังนี ธน แ6 ผ 3 7 6 (อ โ๓ VV3V^(0โทโเ 6โ3^(เ ™ ฬ ฟิโ ** — ป* V ลูป (1-00(3) การเขียนโค้ดให้มีการทำชํ้าหรีอวนลูปเป็นสิ่งที่ใช้ในแทบทุกโปรแกรม เนื่องจากการประมวลผล บางอย่างจำเป็นจะต้องทำในลักษณะชํ้า ๆ สำหรับ แลชVเธผ ลูปคือกรอบสิ่เหลี่ยมที่ล้อมรอบโค้ดส่วน ที่จะรันชํ้าเอาไว้ มีสองประ๓ ทตามลักษณะการใช้งาน 1. ผก่แอ แออ[ว เป็นกรอบหนา ประกอบด้วย แอโล(เอก 7อโ๓ เกลเ 0) ซึ่งถ้าเราต่อลับ ผนกไอก่อ เกชเอล(อโ มันจะส่งค่าออกมาบอกว่าตอนนี้ ผเาแ6 แออก วิ่งมากี่ครั้งแล้วโดยเริ่มนับจากศูนย์ และ ผเาแอ แออ[ว จะรันจนกว่า 7อโกาเกลเ เงื่อนไข (ตรงมุมขวาล่าง) จะได้รับ ธออเอลก ค่า 7กบธ จึงจะจบ ลูปซึ่งเงื่อนไขตัวกลมสีแดงนี้เรียกว่า ร(อ[ว เ( 7ณอกั๊คือหยุดเมื่อได้รับค่า7กบธนั่น เองการรัน ผก่แอ แออเว เป็นไปตามโฟลว์ชาร์ต ตังนี้ สิ่งที่น่าสังเกตคือ การเช็คเงื่อนไขของลูปจะทำหลังจากรันโค้ดครั้งแรกไปแล้ว ซึ่งก็หมายความว่าอย่าง น้อยที่สุด พ เาเ๒ แออเว จะต้องรันหนึ่งครั้งก่อนที่จะถูกหยุด การสร้าง ผเา Iเ6 แออเว ทำ ได้โดยเลือกจาก โบกอแอกร โล๒แ:อ: โ,โอฐโล๓ ๓ เท9 ะ ^ ร!โนอ๒ โ65 ะ ^ ผเาI๒ แออเว จากนั้นให้น่าเม้าสัมาลากตีเป็นกรอบสี่เหลี่ยมตามขนาดที่ต้องการ 2. โอโ แอ๐[ว มีไว้สำหรับการรันลูปที่รู้แน่นอนว่าต้องการรันทั้งหมดกี่ครั้ง โดยเราจำเป็นจะต้องระบุ จำนวนครั้ง (ผ) ของ โอโ แอ๐(ว ไว้ก่อน มิฉะนั้นจะรันโค้ดไม่ได้ ส่วนตัว แอโลแอก จะเหมือนกับ ผเา1๒ แออเว คือให้ผลเป็นตัวเลขแสดงจำนวนลูปที่รันไปแล้วโดยเริ่มนับจากศูนย์ซึ่งกลไกใน โอโ แออเว เป็นไปดังโฟลว์ชาร์ตตามนี้ จะเห็นได้ว่าโค้ดใน โอโ แออ^ มีโอกาสที่จะไม,ถูกรันเลยถ้า ผ มีค่าเป็นศูนย์ และ โอโ แออ^ จะมี เงื่อนไขเดียวเท่านั้นที่จะจบได้ คือเมื่อรันครบ ผ ครั้งแล้วเท่านั้น โอโ แอ๐เอ ยังลามารถเพิ่มเงื่อนไขการจบให้เหมือนกับ ผเาแ6 แออเว ได้อีกด้วย โดยการคลิกขวาที่ขอบ ของ โอโ แอ๐[ว แล้วเลือก ออกช!แอกลเ 7©ก'ท!กล! อ 1 \^15แ3เ61*©กา5 แฟ? 6(3เท?๒5 พ 17 0©50ก่?1เอก 3ก(1 าโแว... 8โ63เ(?0เก* 5*โบ0*บโ65โ3เ6**6 7 ^ บ!0 0โ0ผ 6(0๒ฟ6{โอเท 0เ39โ31ท (า63กบเว 0อกฟ!4เ0ก3เ 76โกา!ก3เ ^ 00ก !เ9 บ เ’ร ! * ร ฬ เ อ ก โ 3โฬ6แ5ก โ !... เราจะได้ โอโ แออเว ที่มี 7อโโท!กลเ เงื่อนไขการจบ ซึ่งเราเรียกลูปแบบนี้ว่า ออกช!!เอกลเ โอโ อ๐๐เว ซึ่งมี ประโยชน์สามารถใช้ทดแทน ผเาแอ แออเวได้ในหลายกรณี และช่วยในเรื่องการใช้หน่วยความจำ สรุป การทำงานของ ออกช!!เอกลเ โอโ แออเว เป็นโฟลว์ชาร์ตได้ดังนี้ การส่งค่าเช้า-ออกจากล ูป ก็เป็นอีกสิ่งหนึ่งที่ด้องทำความเข้าใจ ล ูป เป็น ร!โนอ!บโอ ซึ่งสามารถมองให้ เป็น ผอช6 ใหญ่อันหนึ่งที่สามารถมีได้ทั้ง เกถบ! และ อบ!เวน!, การที่โยงสายเข้าไปในลูป หรือออกจาก ลูป จะเห็นเกิดเป็นจุดสิ่เหลี่ยมดันขึ้นที่ขอบของลูป จุดแบบนี้เรียกว่า 7บกกอ! ซึ่งแสดงให้เห็นว่านึ่คือ เก[วบ! หรือ อบ![วบ! ของลูป และตามหลัก การอล!3!1๐พ,ลูป (แออ)©)จะไม่สามารถเริมได้จนกว่าจะได้รับเกเวน!;ครบจากทุก เกเวน! 7บกก6เ (ถ้ามี) และลูปจะส่ง อบ!เวน! ออกมาจาก (วน!เวน! 7นกก6เ ได้ก็ต่อเมื่อลูปจบการทำงานแล้ว เท่านั้นซึ่งหลักการนี้สำคัญมากในการออกแบบโปรแกรมที่ต้องมีลำดับก่อนหลังในการรัน การหน่วงเวลา การสร้างลูปโดยที่ไม่ได้กำหนดการหน่วงเวลาให้ ลูปจะรันด้วยความเร็วสูงสุดเท่าที่จะทำได้จน (วโบ มี การท่างานเต็มที่จนอาจไม่มีเวลาสำหรับงานอื่น ๆ เราสามารถกำหนดความเร็วของลูปทั้ง โอโ แอ0เว และ พห!๒ แอ0เว เพื่อให้ลูปรันด้วยจังหวะที่สมํ่าเสมอและไม,เร็วเกินความจำเป็นได้ด้วยฟังก์ชันหน่วง เวลา ซึงมีหลาย แบบให้เลือกใช้อยู่ใน โนกอ!เอกร โ,ลI©!!6: โ’โอ9โ3๓ ๓ เก9 ะ^ 71๓เก9 ผ ล เ* ช ก * แ แ©X* การ ^บ1*แว๒ ผ 31* (การ) ฐ 1" ก 6 ว6 * 1 ฟังก์ชันหน่วงเวลานั้นใช้นาฟักาจากคอมพิวเตอร์ซึ่งมีความละเอียดเป็นมิลลิวินาที (๓ร) มาอ้างอิง ซึ่ง เรานำฟังก์ชันนี้วางภายในลูปที่ต้องการจะหน่วงเวลา 1. พล!! บก!;! แ6)(! ๓ ธ เ\/เนI!แวเ6 ฟังก์ชันนี้ใช้เพื่อบังคับให้ลูปรันทุก ๆ มิลลิวินาทีที่ใส่ค่าเข้าไป ยกตัวอย่างเช่นเราใส, ผล!! บก!แ ผ©X! ๓ร IV!บเ!เ|ว!6 ให้มีค่าเป็น 100ในลูปดังนี้ I3 โ 6 - 1-00(3 000เ6 5เ0(3 — 1 100 - VI เริ่ม ะ ฌ ^ เ™* ๏ ^โอ-เออเว รัน ลูปแรกรัน ลูปที่ 2 รัน ลูปที่ 3 รัน ลูปแรกจบ ลูปที่ 2 จบ ^------ ^ 3 ๓ ร 2 ๓ ร 95 ๓ ร 2 ๓ ร 98 ๓ ร เวลา I I I (๓ร) 0 100 200 สมมุติว่าก่อนที่จะเข้าล ูป จะต้องรันโค้ดที่เรียกว่า [วโอ-!00|ว ก่อนโดยใช้เวลา 3 ๓ ร หลังจากนั้นล ูป จะ เริ่มรัน โดยโค้ดในล ูป จะใช้เวลา 2 ๓ ร เมื่อล ูป แรกจบ ล ูป จะต้องรอโดยไม่มีการตอบสนอง (รเออเว) เป็น เวลา 95 ๓ ร เพื่อที่จะเริ่มล ูป ต่อไปที่มิลลิวินาทีที่ 100พอดี เพราะฉะนั้นล ูป จะเริ่มรันใหม่ที่มิลลิวินาทีที่ 100,200,300ไปเรื่อยๆ 2. พล;! (๓ธ) ฟังก์ชันนี้จะหน่วงเวลาเท่ากับค่าที่เราใส,ไว้ ยกตัวอย่างถ้าเราใช้ ผล]! (๓ร) ให้มีค่าเป็น 100ในลูปตังนี้ ทันทีที่ลูปแรกรันเสร็จไม่ว่าจะใช้เวลาไปแล้วกี่วินาที ลูปจะต้องรอต่อไปอีก 100 ๓รถึงจะเริ่มลูปใหม่ ไต้ แบบนี้ไปเรื่อย ๆ ทุกลูป 3. 71๓6 06๒^' เป็น 8X9โ6รร VI มีหน้าที่เหมือนกับฟังก์ชัน ผลแ (๓ร) ทุกประการ ต่างกันที่ 71๓6 อ6เล7 มีหน่วยเป็นวินาที การจับ เวลา เราสามารถประยุกต์ใช้ฟังก์ชันในกลุ่ม 71๓เก9 สำหรับงานที่เกี่ยวช้องกับเวลาได้หลายอย่าง เช่นถ้า ต้องการจับเวลา เราสามารถใช้ ธเอเวร©ช 71๓6 มาช่วยได้ เมื่อวาง ธXเวโ6รร VI ตัวนี้ลงไปบน ฒออ^ อเล9โลโท จะเกิดหน้าต่าง ออก1ไฐบโ6 ค ล เวร©6 71๓6 ให้เราเลือกว่าจะจับเวลานานแค'ไหน และจะรี เซ็ตเริ่มน้บศูนย่ใหม่เมื่อครบกำหนดหรือไม่ ยกตัวอย่างว่าเราต้องการให้โปรแกรมจับเวลาโดยทุกสอง วิน าทีให้ส่งสัญ ญาณออกมาทาง ธ00เ6ลก เกชเอ8๒โ หนึ่งครั้ง เราจะกำหนดตามนี้ ^~ ---------------------------- ---------------------- -- ------ เ 3 00กถึ9 ^โ6 ^เ3056ฟ Iเก'}6 [^เ3|ว56ฟ ไไกา©] ค3056ฟ ปกโ)6 ( 5 6 0 0 0 ฟ 5) I2 ^ 2 ^บ!อกโ ) 3 ป 0 3 แ ^ โ6561 3 ^ 6 โ ปกโ)© * 3 โ 9 ๙ 01( 03ก06เ แ 6 เ(3 และเมื่อเรารันโค้ดนี้ จะเห็นไฟ แคว กระพริบ เมื่อครบทุก สองวินาทีไปเรื่อย ๆ การเข้า ถึง ข้อ มูล ของลูป ที่ผ ่า นมาด้ว ย รเาเก เ^69เ5เ6โ ในการเขียนโปรแกรมโดยใช้ลูปไม่ว่าจะเป็น แ0โ หรือ ผเาI๒ เราอาจต้องการข้อมูลเก่าจากลูปในอดีตที่ ผ่านมา แล้ว นำมาใช้ต่อในลูปปัจจุบันด้วย เราจึง ต้องสร้างตัวหน่วย ความจำสำหรับลูปซึงเรียกว่า รกเแ ^6ฐเร16โ เริ่มต้นด้วยลูป ให้คลิกขวาที่ขอบของลูปด้านซ้ายหรือขวาก็ได้ แล้วเลือก /\6(ป รเาเ(1 ^69เรเ6โ \^ 5 แ 3 เ6 แ 6 ก า 5 ^ แ6เ0 0 6 5 0 โ เ0 1 เ0 ก 3 ก ฟ 7 เ 0... 8โ63 เ(0 0 1 โา1 ^ 5!โบ0เบโ65 ?3เ6แ6 ^ 7 ^ช*0 (ว่โ0ผ 8 x 0 ๒ ฟ 6 ก 0 เ ท 0 เ 3 9 โ 3 โ ท 0 เ6 3 โ า บ 0 0 อ ก ฟ ! 1 เ 0 ก 3 เ 7 6 โ โ ท เก 3 เ 0 0 ก { เ 9 บ โ 6 1 *6 โ3 *เ0 ก 0 3 โ 3 แ 6 แ 5 1 ท... !\ 0 0 เ 3 0 6 ผ เ1 เา ฬ ๒ ! 6 1.0 0 0 86โท0\'6 80โ1000 ^ฟฟ 5๒เก ^69เ5*6โ 1 โ1'โ 0 0 6 โ * เ6 5 จากนั้นเราจะได้ รเาเก: ^69เร16โ มาหนึ่งคู่ และสังเกตดูว่าตอนนี้ยังเป็นสีดำอยู่เนื่องจากยังไม่ได้ต่อ สายข้อมูลเข้าไป ซึ่ง 3หเก; ^69เร16โ นี้สามารถเก็บข้อมูลได้หลายรูปแบบไม,ว่าจะเป็น รอลเลโ, / \ โโลV หรือ (วเมร!©โ แล้วแต่ผู้ใช้จะต่อสายเข้าไป, รเา1(1 ^©9เร16โ หนึ่งคู่มี1ไว้สำหรับเก็บข้อมูลหนึ่งอย่าง ถ้า หากในลูปต้องการเก็บข้อมูลมากกว่าหนึ่งอย่างก็สามารถสร้าง 3หเก; เ^©9เร16โ เพิ่มอีกได้ ทดลองเขียนโปรแกรมง่าย ๆ โดยการต่อสายผลบวกของตัวเลขจำนวนเต็มเข้าไปใน 3หเก ^©9เร16โ ด้านฝังขวาก่อนแล้วค่อยต่อสายจากด้านฝังซ้ายเข้า เทเวน! ของการบวกตามภาพ ผ บ ก า6 โเ0 & ผ บ เ* I------ อ ุ ^132า IV การทำงานของโปรแกรมนี้ก็คือ ลูปจะรันทั้งหมดสองรอบ เริ่มต้นรอบแรกด้วยการอ่านค่าของ 3หเก; ^©9เร*6โ ฝังซ้าย แต่เนื่องจากโปรแกรมนี้ยังไม่เคยถูกรันมาก่อน, 3หเก ^6ฐ1รเ6โจึงยังไม่เคยถูกเขียน ค่าลงไปโปรแกรมจึงอ่านได้ค่าฟ©^๗เซึ่งก็คือศูนย์นำมาบวกกับหนึ่งเท่ากับหนึ่ง แล้วเขียนลง3หเก: เ^6ฐเรเ6โ ฝังขวาแล้วจบลูปแรก ลูปต่อมาเริ่มด้วยการอ่านค่าของ รกเก เ^69เรเ6โ ซึ่งก็คือหนึ่งจากลูปที่ แล้ว แล้วนำมาบวกกับหนึ่งได้สอง แล้วเขียนค่าสองลง 3หเก ^6ฐ!ร16โ และจบลูป ผลลัพธ์ของ โปรแกรมนี้คือสอง ถ้าลองรันโปรแกรมนี้ซํ้า จะพบว่าผลจะไม่เหมือนเดิม คือจะกลายเป็นสี่ เพราะสี่งที่เกิดขึ้นคือ 3หเก ^©9เร16โจะยังคงจำค่าเดิมที่เคยถูกเขียนเอาไว้นั่นเอง เราสามารถแก้ปัญหานี้ได้โดยระบุค่าเริ่มต้น (เท!Iเลแ26) ให้กับ 3หเก ^©9เร{6โ เช่นถ้าต้องการให้เริ่มต้น เป็นศูนย์ ก็ให้ใส่ค่าคงที่ศูนย์!ว้ที่ด้านซ้าย ซึ่งจะทำให้การรันทุกครั้งได้ผลลัพธ์เหมือนเดิม ลังนี้ นอกจากนี้ถ้าเราต้องการให้ ร!าแไเ^©9เร16โจำข้อมูลจากลูปที่ผ่านมามากกว่าหนึ่งลูป เราสามารถ ขยาย 3เาเก ^©9เร*6โ ทางฝัง,ซ้ายลงมา'ให้มากขึ้นเท่าที่ต้องการ สมมุติว่าเราขยาย รเาเศ โ^69เร16โ เพิ่มเป็นสาม'ชั้น เราจะสามารถเก็บข้อมูลเก่าได้สามค่าสุดท้ายก่อน ถึงลูปปัจจุบัน (ลูปที่ I)โดยชั้นบนสุดจะเป็นค่าของลูปรองปัจจุบัน(ลูปที่ 1-1) และชั้นตำลงมาก็จะเก่า ลงไปเรื่อย ๆ ตามลำดับ โโลV คือกลุ่มของข้อมูลประ๓ ทเดียวกันนำมาเรียงเป็นแถว เซ่น/\โโลVของตัวเลขจำนวนเต็ม,/\โโลVของ จำนวนจรีง, /\โโลV ของ เ3๐๐เ68ก เป็นต้น การสร้าง /\โโลV อ(วก{โอ!/เกฟเอ8{๐โ บน โโอก1?8ท©! ให้ เลือก ออก1โอIร ? ล๒{{6: IVเอชอโก ะ^ /\โโลV, 1\/เล1โ^ & อเบร๒ โ ะ ^ /\โโลV นำมาวาง ซึงเราจะได้กรอบ เปล่า ๆ ของ /\โโลV จากนั้นให้นำข้อมูลที่ต้องการไปวางในกรอบ /\โโลV นั้นอีกที เซ่น ถ้าต้องการสร้าง /\โโลV ของ ผมกาอก่อ ออก1โ๐1 ก็ให้นำ ผม๓อก่อ ออก{โอ! ไปวางดังภาพ /\โโ3^ /^โ3/ เราจะได้ /\โโลV ขนาดหนึ่งมิติที่ยังไม่มีค่าใด ๆ (สังเกตว่าข้อมูลตัวเลขจะเป็นสีเทา) ซึ่งเราสามารถ ขยายออกมาเพื่อให้มองเห็นข้อมูลได้มากขึ้นโดยสามารถเสือกได้ว่าจะขยายออกไปในแนวตั้งหรือ แนวนอนก็ได้ อย่างใดอย่างหนึ่ง ข้อมูลแต่ละตัวใน/\โโลV เรียกว่า ธ!©๓©ก!, แต่ละ ธ!©๓©ก!จะมีตำแหน่งของมันเรียก1 ว่า เกฟ©X, เรา สามารถใส่ค่าลงไปในแต่ละ ธ!©๓©ก!ได้เลยเพื่อให้ /\ก'ลV มีค่า สังเกตว่าเมื่อใส่ค่าลงไปแล้ว ธ!©๓©ก! นั้นจะเปลี่ยนจากสีเทาเป็นสีปกติ ที่ด้านซ้ายของ / \ โโลV จะมีตัวเลข เทฟ©X ซึ่งก็คือตัวเลขที่บอกว่าตำแหน่งของ ธ!©๓©ก! ตัวแรกสุดที่ แสดงอยู่ใน /\ โโลV เป็นตัวที่เท่าไหร่ สำหรับ ธลเวVเธผ จะเริ่มนับ ธ!

Use Quizgecko on...
Browser
Browser