บทที่ 10 คำสั่งควบคุม OUTLINE 1. คำสั่งแบบเรียงลำดับ (Sequence)

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
การทำงานแบบเลือกทำ (Selection)
Advertisements

ลักษณะโครงสร้างของผังงาน
ครั้งที่ 4 “for statement”
ทบทวน & ลุยโจทย์ (Midterm)
Control Statement if..else switch..case for while do-while.
Control Statement for while do-while.
บทที่ ๖ หลักการแก้ปัญหาด้วยคอมพิวเตอร์
การโปรแกรมควบคุมแบบทำงานซ้ำ
โปรแกรมควบคุมเลือกทำตามเงื่อนไข
User Defined Simple Data Type
บทที่ 3 ตอนที่ 1 คำสั่งเงื่อนไขและการตัดสินใจ(p
โครงสร้างควบคุมและคำสั่งแบบเงื่อนไข
Lecture no. 5 Control Statements
Lecture 4: ทางเลือก, เงื่อนไขของทางเลือก
คำสั่ง while ควบคุมการทำงานวนซ้ำ กรณีระบบงานมีลักษณะตรวจสอบเงื่อนไขก่อน แล้วเข้าสู่ส่วนลำดับงานคำสั่งที่กำหนดไว้ การเขียนคำสั่ง while ต้องกำหนดนิพจน์แบบตรรกะเป็นเงื่อนไขมีค่าในหน่วยความจำเป็น.
ผังงานโปรแกรม (Program Flowchart)
คำสั่งแบบเลือกทำ Week 6.
บทที่ 4 การตัดสินใจในการเขียนโปรแกรม
Week 15 C Programming.
หน่วยที่ 1 ระบบคอมพิวเตอร์
เนื้อหา ประเภทของโปรแกรมภาษา ขั้นตอนการพัฒนาโปรแกรม
Repetitive Statements (Looping)
โครงสร้างคำสั่งแบบเลือก (Selection)
Repetitive Instruction
คำสั่งเงื่อนไขและการควบคุม
โครงสร้างควบคุม 1. โครงสร้างควบคุมแบบวนทางเลือก
คำสั่งควบคุมการทำงาน
การจำลองความคิด
คำสั่งแบบมีเงื่อนไข IF Statement
การควบคุมทิศทางการทำงานของโปรแกรม
การเขียนผังงานแบบโครงสร้าง
ตัวอย่างการใช้คำสั่ง IF_THEN
WHILE..DO คำสั่งควบคุมให้ทำงานซ้ำ โดยที่ต้องตรวจสอบเงื่อนไขก่อนที่จะทำ
คำสั่ง Repeat...Until คำสั่งควบคุมให้ทำงานซ้ำ
ตัวอย่างคำสั่ง FOR.
ตัวอย่างคำสั่ง CASE.
Php เงื่อนไข และ การวนซ้ำ Professional Home Page :PHP
บทที่ 9 การรับและแสดงผลข้อมูล
บทที่ 7 การกำหนดชนิดข้อมูลใหม่
คำสั่งควบคุมเงื่อนไข และการทำงานเป็นรอบ
หน่วยที่ 4: คำสั่งควบคุมโปรแกรม (Control Flow Command)
คำสั่งควบคุมการทำงาน
Flow Control.
Chapter 4 คำสั่งควบคุมทิศทาง
ง30212 การเขียนโปรแกรมภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
โครงสร้างแบบลำดับ คำสั่ง x คำสั่ง y.
การเขียนผังงาน จุดประสงค์ 1.อธิบายความของผังงานได้
คำสั่งควบคุมการทำงานของ ActionScripts
Week 3 Flow Control in PHP
การเขียนผังงานแบบทำซ้ำ
Lecture 4 เรคอร์ด.
บทที่ 8 ตัวดำเนินการ และ นิพจน์
2.3.1 รหัสเทียม (Pseudo code)
การออกแบบโครงสร้าง (Structured Design)
คำสั่งเงื่อนไข (Condition Statement)
หลักการเขียนโปรแกรม ( )
หลักการเขียนโปรแกรม ( )
หลักการเขียนโปรแกรม ( )
CHAPTER 4 Control Statements
การเขียนโปรแกรมแบบวนซ้ำ: คำสั่ง while คำสั่ง do….while
PHP การตรวจสอบเงื่อนไข.
สาขาวิชาเทคโนโลยี สารสนเทศ คณะเทคโนโลยีสารสนเทศ และการสื่อสาร.
การเขียน แบบวนซ้ำ , วนลูป
CONDITION Computer Programming Asst. Prof. Dr. Choopan Rattanapoka.
บทที่ 6 คำสั่งเงื่อนไข.
บทที่ 6 พจนานุกรมข้อมูล และ คำอธิบายกระบวนการ
Flowchart การเขียนผังงาน.
การรับและแสดงผลข้อมูล (Input/Output)
บทที่ 5 โปรแกรมย่อย.
ผังงานโปรแกรม (Program Flowchart)
ใบสำเนางานนำเสนอ:

บทที่ 10 คำสั่งควบคุม OUTLINE 1. คำสั่งแบบเรียงลำดับ (Sequence) 2. คำสั่งแบบทางเลือก (Selection) 3. คำสั่งแบบวนซ้ำ (Repetition)

คำสั่งเชิงกลุ่ม ปกติรูปแบบคำสั่งมักมีเพียงคำสั่งเดียวและจบด้วย ; บางครั้งต้องการคำสั่งหลายคำสั่ง สามารถจัดกลุ่มคำสั่งโดยคำสั่งอยู่ระหว่าง BEGIN และ END เรียกว่า compound statement โครงสร้างมักจะเขียนในรูปของ compound statement เพื่อทำให้เห็นกลุ่มคำสั่ง เป็นคำสั่งเดียวกัน

คำสั่งแบบเรียงลำดับ รูปแบบ BEGIN Statement 1; Statement 2; : Statement n; END เป็นการทำงานแบบเรียงลำดับ ทำตามคำสั่งตั้งแต่ต้นจนถึงคำสั่งสุดท้าย

คำสั่งแบบทางเลือก คำสั่งแบบทางเลือก เป็นคำสั่งควบคุมให้ทำงานใด งานหนึ่งขึ้นอยู่กับเงื่อนไขที่ทดสอบ คำสั่งแบบทางเลือก มี 3 รูปแบบ IF ….. THEN IF……THEN …..ELSE CASE….

IF ….. THEN รูปแบบ IF expression THEN BEGIN statement 1; statement n END; ผลลัพธ์ในการทอสอบมีค่า จริงกับเท็จ ถ้าผลทดสอบเป็นจริง จะทำงานตามคำสั่งหลัง THEN จบด้วย ; แสดงถึงการจบเงื่อนไข

ตัวอย่างการใช้เครื่องหมาย ; IF small > big THEN temp := small; small := big; big := temp; N Y Small>big Temp := small Small := big Big := temp;

ตัวอย่างการใช้เครื่องหมาย ; IF small > big THEN begin temp := small; small := big; big := temp end; N Y Small>big Temp := small Small := big Big := temp;

ตัวอย่างการใช้ IF……THEN 1. IF (enter < 0) or (enter > 100) THEN BEGIN Writeln(‘range is 1 to 100, please re-enter:’; Readln(enter); END;

ตัวอย่างการใช้ IF……THEN 2. บริษัทมีเงื่อนไขการจ่ายคอมมิสชันดังนี้ ถ้าขายไม่เกิน 1000 บาท ได้คอมมิสชัน 5% ของยอดขาย ถ้าขายระหว่าง 1001 ถึง 5000 บาทได้คอมมิสชัน จะได้ 5%ของส่วน 1000 และ 8% ของส่วนที่เกิน 1000 บาท ถ้าขายเกิน 5000 บาท ได้ 5% ของ 1000 บาทรวมกับ 8% ของ 4000 และรวมกับ 10% ของส่วนที่เกิน 5000 บาท

ตัวอย่างการใช้ IF……THEN IF sale <= 1000 THEN commission := 0.05*sale; IF (sale > 1000) and (sale <= 5000) THEN commission := 50 + 0.08*(sale - 1000); IF (sale > 5000) THEN commission := 370 + 0.01 * (sale - 5000);

IF……THEN …..ELSE รูปแบบ ผลการทดสอบเป็นจริง ทำคำสั่งหลัง THEN IF condition THEN begin statement (s); end ELSE end; ผลการทดสอบเป็นจริง ทำคำสั่งหลัง THEN ผลการทดสอบเป็นเท็จ ทำคำสั่งหลัง ELSE คำสั่ง END ก่อน ELSE ห้ามมีเครื่องหมาย ; เพราะยังไม่สิ้นสุดเงื่อนไข

ตัวอย่าง IF….THEN….ELSE 1. IF day > 31 THEN writeln (‘error’) ELSE writeln (‘day: ‘, day:2);

ตัวอย่าง IF….THEN….ELSE IF (game <= 4) and (score < 100.0) THEN BEGIN game := game + 1; writeln(‘new game’) END ELSE writeln (‘game over:’,’score = ‘,score:6:2);

ตัวอย่าง โปรแกรม IF….THEN….ELSE Program ifelse; uses wincrt; var mark: integer; begin clrscr; write('Enter mark:'); readln(mark); if mark > 50 then writeln('You are above average') else begin writeln('You are under average'); writeln('Please test again') end; end.

IF ซ้อน IF มีการเช็คเงื่อนไขภายใต้เงื่อนไขอีกที จะมีการเช็คกี่ครั้งก็ได้ เรียกว่า Nested if statement IF codition1 THEN statement(s) ElSE IF condition2 THEN ELSE statement(s);

ตัวอย่างโปรแกรม IF ซ้อน IF Program ifelse1; uses wincrt; var sale: integer; com : real; begin clrscr; write('Enter amount sale:'); readln(sale); if sale <= 1000 then com := 0.05 * sale else if sale <= 5000 then com := 50 +(sale -1000) * 0.08 com := 370 +(sale - 5000) * 0.1; writeln('Your commission are: ',com:7:2); readln; end.

คำสั่ง CASE คำสั่ง CASE ทำให้การทำงานของโปรแกรมที่มีทางเลือกหลายทางอย่างเช่น IF ซ้อน IF ทำงานง่ายขึ้น CASE condition OF กรณี1 : คำสั่งในกรณีที่1; กรณีN : คำสั่งในกรณีที่N; ELSE คำสั่ง; END;

คำสั่ง CASE กรณี อาจเป็นค่าคงที่ หรือ ช่วงข้อมูล Program case1; uses wincrt; var num : integer; begin write('Enter number 1 to 10:'); readln(num); CASE num OF 1,3,5,7,9 : writeln('It is odd number.'); 2,4,6,8,10: writeln('It is even number.'); END; end.

คำสั่ง CASE Program case2; uses wincrt; var key : char; begin clrscr; writeln('Press any key'); Key := readkey; writeln; CASE key OF 'a'..'z': writeln('It is lowercase letter.'); 'A'..'Z': writeln('It is uppercase letter.'); '0'..'9': writeln('It is number key.'); ElSE writeln('It is special character.') END; end.

คำสั่งแบบวนซ้ำ คำสั่ง FOR คำสั่ง WHILE คำสั่ง REPEAT….UNTIL

คำสั่ง FOR คำสั่ง FOR เป็นคำสั่งควบคุมการวนซ้ำ มีการกำหนดจำนวนรอบ มีการเพิ่ม/ลด ค่าการเช็ครอบโดยอัตโนมัติ

คำสั่ง FOR รูปแบบ FOR var := start TO end DO FOR var := start DOWNTO end DO VAR ตัวแปรต้องเป็นข้อมูลแบบลำดับ คือ integer, byte, char, boolean ห้ามเป็น real start ค่าเริ่มต้น end ค่าสิ้นสุด TO เพิ่มค่า VAR ส่วน DOWNTO ลดค่าของ VAR

คำสั่ง FOR Program for1; uses wincrt; var next : char; begin for next := 'A' TO 'G' DO writeLn(next,'***'); readln; end.

คำสั่ง FOR ซ้อน FOR Program for2; uses wincrt; const row = 5; col = 20; var i,j : byte; begin for i:=1 TO row DO for j:= 1 to col do write('*'); writeln end; readln; end.

คำสั่ง FOR DOWNTO Program for3; uses wincrt; const max = 10; min = -5; var i : integer; begin for i:= max DOWNTO min DO write(I:3); readln; end.

คำสั่ง FOR Program for4; uses wincrt var i : char; begin for i:= 'A' TO 'Z' DO write(i:2); readln; end.

คำสั่ง WHILE คำสั่ง WHILE เป็นคำสั่งการทำงานแบบวนซ้ำ โดยมีการเซ็คเงื่อนไขก่อนที่จะทำงานภายในลูป จะเข้าทำซ้ำเมื่อเงื่อนไขเป็นจริง หยุดทำงานเมื่อเป็นเท็จ ไม่กำหนดจำนวนรอบ แต่ขึ้นอยู่กับเงื่อนไข ภายในลูปมีคำสั่งที่ทำให้เงื่อนไขเป็นเท็จ เพื่อป้องกัน Infinity loop

คำสั่ง WHILE รูปแบบ WHILE condition DO Statement;

คำสั่ง WHILE เพื่อให้หยุดการรับข้อมูล มี 3 วิธี รู้จำนวนข้อมูลว่ามีกี่ตัว ไม่รู้จำนวนข้อมูล จึ่งกำหนดค่าข้อมูลตัวสุดท้ายไม่ตรงกับข้อมูลอื่นๆ เช่น 999 END ดังนั้นเงื่อนไขทำการเช็คนี้เสมอก่อนทำงาน ไม่รู้จำนวนข้อมูล จึงตั้งคำถามให้ผู้ใช้ตอบ เช่น Y N นิยมใช้กับ REPEAT

คำสั่ง WHILE รู้จำนวนข้อมูล Program while1; uses wincrt; const max = 10; var min : integer; begin min := 1; while min < max do write(min:2); min := min + 1 end; end.

คำสั่ง WHILE ใช้ ข้อมูลสุดท้ายเป็นตัวเช็ค จงเขียนโปรแกรมหาค่าเฉลี่ย โปรแกรมมี 999 เป็นข้อมูลตัวสุดท้าย Program while2; uses wincrt; const eof = 999; var score,sum,count : integer; average : real; begin

คำสั่ง WHILE ใช้ ข้อมูลสุดท้ายเป็นตัวเช็ค write('Enter score: '); readln(score); while score <> eof do begin sum := sum + score; count := count + 1; end; average := sum / count; writeln('Average is :',average:5:2); readln; end.

คำสั่ง REPEAT คำสั่ง REPEAT เป็นคำสั่งวนซ้ำเหมือน WHILE แต่มีข้อแตกต่างคือ While มีการเช็คเงื่อนไขก่อนดเข้าลูป นั้นหมายถึงอาจจะไม่มีการเข้าลูปก็ได้ แต่ Repeat ต้องเข้าลูปอย่างน้อย1 ครั้ง While ทำซ้ำเมื่อเงื่อนไขเป็นจริง แต่ Repeat ทำซ้ำเมื่อเงื่อนไขเป็นเท็จ

คำสั่ง REPEAT รูปแบบ REPEAT STATEMENT(S); UNTIL CONDITION;

คำสั่ง REPEAT Program Repeat1; uses wincrt; const password = ’pascal'; var pass: string; begin Repeat write('Enter password: '); readln(pass); Until pass = password; readln; end.

คำสั่ง REPEAT Program Repeat2; uses wincrt; const star = '*'; var ch: char; a,e,i,o,u : byte; begin Repeat write('Enter vowel(a,e,i,o,u) or * to end: '); ch := readkey; case ch of 'a','A' : a := a+1; 'e','E' : e := e+1;

คำสั่ง REPEAT 'i','I' : i := i+1; 'o','O' : o := o+1; 'u','U' : u := u+1; end; writeln; Until ch = star; writeln('A =',a:3); writeln('E =',e:3); writeln('I =',i:3); writeln('O =',o:3); writeln('U =',u:3); readln; end.