พื้นฐานการเขียนโปรแกรม
แนะนำใหม่| English | ไทย |
|---|---|
| variable/ˈveərɪəbl/ | ตัวแปร |
| data type/ˈdeɪtə taɪp/ | ชนิดข้อมูล |
| constant/ˈkɒnstənt/ | ค่าคงที่ |
| flowchart/ˈfləʊtʃɑːt/ | แผนภาพไหล |
| structured English/ˈstrʌktʃəd ˈɪŋɡlɪʃ/ | ภาษาอังกฤษที่มีโครงสร้าง |
| pseudocode/ˈsuːdəʊkəʊd/ | รหัสจำลอง |
| assignment/əˈsaɪnmənt/ | การกำหนดค่า |
| identifier/aɪˈdentɪfaɪə/ | ตัวระบุ |
| operators/ˈɒpəreɪtəz/ | อ运营商 |
| precedence/ˈpresɪdəns/ | ลำดับความสำคัญ |
| concatenation/kənˌkætəˈneɪʃn/ | การต่อเชื่อม |
| library routines/ˈlaɪbrəri ruːˈtiːnz/ | ไลบรารีรูทีน |
| program library/ˈprəʊɡræm ˈlaɪbrəri/ | โปรแกรมไลบรารี |
| insert/ˈɪnsɜːt/ | แทรก |
ตัวเลขที่ไม่สามารถใส่ลงไปได้
- ในวันที่ 4 มิถุนายน ค.ศ. 1996 จรวดalezian 5 ลำแรกเบี่ยงเบนจากเส้นทางและทำลายตัวเอง 37 วินาทีหลังการยิง, โดยมีดาวเทียมสี่ลำอยู่บนนั้น.
- สาเหตุคือการแปลงชนิดข้อมูลหนึ่ง: ค่าทศนิยม 64 บิตที่อธิบายความเร็วด้านข้างของจรวดถูกคัดลอกเข้าไปใน int 16 บิต. Ariane 5 เร็วกว่า Ariane 4, ตัวเลขนั้นใหญ่เกินกว่าที่จะใส่ในกล่อง, และคอมพิวเตอร์นำทางหยุดทำงาน.
- ตัวแปรทุกตัวมี ชนิดข้อมูล, และชนิดนั้นจะตัดสินใจว่าอะไรสามารถใส่ลงไปได้. การเลือกชนิดdatatype это первый шаг в превращении дизайна в код.
- บทเรียนนี้คือพื้นฐาน: ค่าคงที่, ตัวแปร, ชนิดdatatype,-expression, input and output, и готовые функции, которые можно вызвать.
จากออกแบบสู่โค้ด
- ออกแบบมาในรูปแบบ แผนภาพไหล หรือ ภาษาอังกฤษโครงสร้าง. คุณแปลงมันเป็น 伪代码, และต่อมาเป็นภาษาจริง.
- หา ตัวแปร และชนิดdatatype ของพวกมัน. กล่อง input and output กลายเป็น
INPUTและOUTPUT; เพชรสั่งเงื่อนไขกลายเป็นIF … ELSE … ENDIFหรือCASE; ลูกศรลูปกลายเป็นWHILE,REPEAT … UNTILหรือFOR; กล่องกระบวนการกลายเป็นคำสั่งกำหนดค่า. - ตรวจสอบโดยการติดตามอินพุตขนาดเล็กผ่าน伪代码ของคุณก่อนจะบอกว่าเสร็จสิ้น.

สัญลักษณ์แผนภาพไหลแต่ละอันกลายเป็น statement pseudo-code หนึ่งชนิด
ค่าคงที่และตัวแปร
- ค่าคงที่ เก็บค่าที่ไม่เปลี่ยนแปลงในขณะที่โปรแกรมทำงาน:
CONSTANT Pi = 3.14159. ตัวแปรเก็บค่าที่อาจเปลี่ยนแปลง, และประกาศด้วยชนิดdatatype:DECLARE Radius : REAL. - ใช้ค่าคงที่สำหรับค่าคงที่ที่ปรากฏหลายสถานที่, เช่น อัตราภาษีหรือคะแนนสูงสุด.
- ประโยชน์ที่เกณฑ์การให้คะแนนระบุ:它被设置一次并且cannot be changed accidentally; การเปลี่ยนแปลงเกิดขึ้นที่ 一处 และส่งผลกระทบต่อ every statement ที่ใช้มัน; identifier ให้ชื่อที่มีความหมายแก่ค่า.

ตัวแปรสามารถถูก assign ใหม่; ค่าคงที่ไม่สามารถ
ตัวแปรคือกล่องที่มีป้ายชื่อ
การกำหนดค่าแต่ละครั้งจะเก็บค่าหนึ่งลงในกล่องที่มีชื่อ; การกำหนดค่าซ้ำด้วยชื่อนั้นจะทับค่าเดิม ให้รันผ่านโปรแกรมและดูว่าแต่ละกล่องมีค่าปัจจุบันอย่างไร
ค่าคงที่เก็บค่าที่กำหนดไว้ซึ่งไม่เปลี่ยนแปลงตลอดการรันของโปรแกรม ในขณะที่ตัวแปรสามารถกำหนดค่าใหม่ได้
ค่าคงที่ (เช่น Pi หรือคะแนนสูงสุด) ทำให้โค้ดอ่านง่ายขึ้นและช่วยให้คุณเปลี่ยนค่าที่ใช้บ่อยได้ในจุดเดียว
ข้อใดเป็นประโยชน์ของการใช้ค่าคงที่สำหรับค่าเช่นอัตราภาษี? เลือก ทุก ข้อที่เกี่ยวข้อง
ประโยชน์สามประการตามเกณฑ์การให้คะแนนคือความปลอดภัย จุดเดียวในการเปลี่ยนแปลง และความอ่านง่าย ความเร็วไม่ใช่หนึ่งในนั้น
ห六种数据类型
INTEGERสำหรับจำนวนเต็ม (จำนวนนับ, ดัชนี, ตัวนับลูป)REALสำหรับตัวเลขที่มีส่วนทศนิยม (ราคา, ค่าเฉลี่ย)CHARสำหรับตัวอักษรหนึ่งตัวในอัญกษณ์คู่,'A'STRINGสำหรับข้อความในอัญกษณ์คู่,"Hello"BOOLEANสำหรับTRUEหรือFALSE(บิตฟลากเช่นFound)DATEสำหรับวันที่บนปฏิทิน- อ่านประเภทข้อมูลจากวิธีที่ตัวแปรถูก ใช้: จุดทศนิยมหมายถึง
REAL,TRUEหมายถึงBOOLEAN, อัญกษณ์คู่หมายถึงCHAR, ดัชนีของอาร์เรย์หรือDIVและMODหมายถึงINTEGERเขียนชื่อประเภทด้วยตัวพิมพ์ใหญ่ตามคำชี้แจง
ตัวอย่างการฝึก: ระบุชนิดของข้อมูลที่เหมาะสม
Found ← FALSEเป็นBOOLEAN: เก็บค่าความจริงInitial ← 'K'เป็นCHAR: ตัวอักษรหนึ่งตัวในอัญกษณ์คู่Name ← "Li Wei"เป็นSTRING: ข้อความในอัญกษณ์คู่Price ← 12.99เป็นREAL: มีส่วนทศนิยมCount ← Count + 1เป็นINTEGER: ตัวนับที่เพิ่มขึ้นเป็นขั้นจำนวนเต็ม- ให้คะแนน 1 คะแนนต่อคำตอบที่ถูก ต้องตอบทุกแถวแม้จะไม่แน่ใจ เพราะช่องว่างไม่มีคะแนน
จับคู่แต่ละค่ากับชนิดข้อมูลที่ตัวแปรควรประกาศ
ทศนิยม, Quotes เดี่ยว, Quotes คู่ และค่าความจริง ชี้ไปยังชนิดหนึ่งชนิดใดชนิดหนึ่ง
การกำหนดค่าและนิพจน์
- การกำหนดค่า ใช้ลูกศร:
Total ← Total + 1,Average ← Sum / Count - ตัวดำเนินการทางคณิตศาสตร์ คือ
+ - * /, บวกกับDIVสำหรับการหารจำนวนเต็ม และMODสำหรับเศษเหลือ:7 DIV 2 = 3และ7 MOD 2 = 1 - การเปรียบเทียบคือ
=,<>,<,>,<=,>=; ลอจิกคือAND,OR,NOT - ลำดับความสำคัญ, จากสูงไปต่ำ:
NOT, ตามด้วย* / DIV MOD, ตามด้วย+ -, ตามด้วยการเปรียบเทียบ, ตามด้วยAND, ตามด้วยORใช้วงเล็บเมื่อไม่แน่ใจ
ค่าของ 7 DIV 2 คืออะไร?
DIV คือการหารจำนวนเต็ม: 7 ÷ 2 = 3 เหลือเศษ 1 ดังนั้น DIV ให้ผลลัพธ์เป็น 3
ค่าของ 7 MOD 2 คืออะไร?
MOD ให้ค่าเศษ: 7 ÷ 2 เหลือเศษ 1
สัญลักษณ์ใดกำหนดค่าให้กับตัวแปรใน伪代码นี้?
การกำหนดใช้ ←; = เป็นการเปรียบเทียบ
จับคู่ตัวดำเนินการใน伪代码แต่ละตัวกับหน้าที่ของมัน
← เก็บ, = เปรียบเทียบ; DIV ให้ผลหารและ MOD ให้ค่าเศษ (7 DIV 2 = 3, 7 MOD 2 = 1)
การรับและการแสดงผลลัพธ์
OUTPUT "Enter your name:"แสดงข้อความถาม;INPUT Nameอ่านคีย์บอร์ดเข้าสู่ตัวแปร;OUTPUT "Hello, ", Nameพิมพ์หลายรายการคั่นด้วยลูกน้ำ- สตริงเชื่อมต่อกันด้วย
&, ซึ่งเรียกว่า การต่อสตริง:"A" & "BC"คือ"ABC" - ระวังเครื่องหมายอัญกษณ์:
"7"เป็นสตริง,7เป็นตัวเลข, และ'7'เป็นตัวอักษรหนึ่งตัว
ฟังก์ชัน builtin และ routine ในไลบรารี
- ไลบรารีโปรแกรม รวมนิยาม Routine ที่เขียน compiling และทดสอบไว้แล้ว; การเรียกใช้งานเร็วและปลอดภัยกว่าการเขียนเอง รายการ insert ของ Paper 2 แสดง library routines ที่คุณสามารถใช้ได้ พร้อมชื่อที่ถูกต้อง
- สตริง:
LENGTH(s),LEFT(s, n),RIGHT(s, n),MID(s, start, n)โดยนับตำแหน่งตั้งแต่ 1,TO_UPPER(s),TO_LOWER(s)การแปลงชนิด:NUM_TO_STR(x),STR_TO_NUM(s),IS_NUM(s),ASC(c),CHR(n) - จำนวนและวันที่:
INT(x)ตัดทอนให้เหลือจำนวนเต็ม;RAND(n)ให้จำนวนจริงตั้งแต่ 0 ขึ้นไปถึงแต่ไม่รวม n, ดังนั้นINT(RAND(6)) + 1จึงเป็นการโยนลูกเต๋า;DAY,MONTH,YEAR,DAYINDEX,SETDATE,TODAY;EOF(f)สำหรับไฟล์

Routine สตริงทั่วไปบน s = "COMPUTER", ตำแหน่ง 1 ถึง 8
dirname ใดแปลง string เป็นตัวพิมพ์ใหญ่ใน伪代码 9618?
UCASE เป็นชื่อ IGCSE และไม่ยอมรับในที่นี้ ใช้ชื่อที่พิมพ์ใน Paper 2 insert แบบตรงตัว
ตัวอย่างการฝึก: คำนวณแต่ละนิพจน์
- กำหนด
Word ← "Program",Code ← 'Q'และN ← 7. คำนวณจากด้านในออกด้านนอก LENGTH(Word)คือ7MID(Word, 4, 2)คือ"gr": ตัวอักษรสองตัวจากตำแหน่งที่ 4LEFT(Word, 3) & "!"คือ"Pro!"TO_UPPER(RIGHT(Word, 2))คือ"AM": ฟังก์ชันภายในทำงานก่อนASC(Code) - ASC('A')คือ16, เนื่องจาก'Q'คือ 81 และ'A'คือ 65N DIV 2 + N MOD 2คือ3 + 1 = 4NUM_TO_STR(N) & "th"คือ"7th"INT(N / 2)คือ3, ซึ่งเป็นจำนวนเต็มของ 3.5
ด้วย Word ← "Program", ค่าของ MID(Word, 4, 2) คือ "____"
ตำแหน่งนับตั้งแต่ 1: P-r-o-g-r-a-m, ดังนั้นตำแหน่งที่ 4 คือ g และสองตัวอักษรจากจุดนั้นคือ gr
ตัวอย่างการฝึก: หาข้อผิดพลาด
- แต่ละบรรทัดอาจใช้ฟังก์ชันหรือตัวดำเนินการผิด อธิบายข้อผิดพลาด หรือเขียน NO ERROR
Result ← 2 & 4:&เชื่อมต่อสตริง, แต่ 2 และ 4 เป็นจำนวนเต็ม, ดังนั้น+จึงจำเป็นSubString ← MID("pseudocode", 4, 1): ไม่มีข้อผิดพลาด, ตัวอักษรหนึ่งจากตำแหน่ง 4,"u"Answer ← LENGTH(42):LENGTHรับสตริง ไม่ใช่จำนวนเต็มFlag ← "TRUE": Boolean เป็นTRUEโดยไม่มีอัญกษณ์; หากมีอัญกษณ์จะเป็นสตริง
Result ← 2 & 4 เก็บ 6 ลงใน Result ได้อย่างถูกต้อง
& เชื่อมต่อ strings สำหรับ integer สองตัว operator คือ +; นี่คือข้อผิดพลาดที่ข้อสอบขอให้คุณอธิบาย
คะแนนที่หลุดหายไป
- ชื่อ IGCSE
UCASE,LCASE,VALและSTRไม่ยอมรับในระดับ A-Level ใช้TO_UPPER,TO_LOWER,STR_TO_NUM,NUM_TO_STR - อัญกษณ์คู่ทำให้เป็น
CHAR, อัญกษณ์คู่ทำให้เป็นSTRING'A'และ"A"เป็นคนละชนิดกัน - ตำแหน่งสตริงเริ่มที่ 1 ไม่ใช่ 0
MID(s, 1, 1)คือตัวอักษรแรก RAND(n)ไม่เคยคืนค่า n เอง, และINTตัดทอนส่วนทศนิยมแทนที่จะปัดเศษ
คุณเข้าใจแล้ว
- design → pseudocode: หาตัวแปรและชนิด, จากนั้นจับคู่สัญลักษณ์ flowchart กับ statement และ trace input เล็กน้อย
- constant ตั้งค่าครั้งเดียว เปลี่ยนที่จุดเดียว ตั้งชื่อ; variable ประกาศด้วยหนึ่งในหกชนิดอ่านได้จากวิธีใช้
←กำหนดค่า;DIVการหารจำนวนเต็ม,MODเศษเหลือ; ลำดับความสำคัญNOT→* / DIV MOD→+ -→ การเปรียบเทียบ →AND→OR- ใช้ library routines จาก insert ด้วยชื่อ 9618 ที่ถูกต้อง:
LENGTH,MID,TO_UPPER,NUM_TO_STR,INT,RAND