ตัวอย่างปาสคาล ICT ของอัลกอริธึมแบบวนรอบ การนำเสนอ - อัลกอริธึมแบบวนรอบ วนซ้ำโดยมีเงื่อนไขเบื้องต้น

คำอธิบายการนำเสนอเป็นรายสไลด์:

1 สไลด์

คำอธิบายสไลด์:

หัวข้อบทเรียน: “อัลกอริทึมสำหรับโครงสร้างแบบวนรอบ การเขียนโปรแกรมแบบวนซ้ำใน Pascal" Discipline "Informatics"

2 สไลด์

คำอธิบายสไลด์:

แนวคิดพื้นฐานของหัวข้อนี้ ในบทเรียนนี้มีการศึกษาแนวคิดต่อไปนี้: แนวคิดของวัฏจักร; ประเภทของอัลกอริธึมแบบวนรอบ (ลูปพร้อมเงื่อนไขเบื้องต้น, ลูปพร้อมเงื่อนไขหลัง, ลูปพร้อมพารามิเตอร์); บล็อกไดอะแกรมของอัลกอริทึมแบบวนรอบ การแสดงตัวดำเนินการลูปในภาษาโปรแกรมปาสคาล การใช้ลูปในการแก้ปัญหา

3 สไลด์

คำอธิบายสไลด์:

แนวคิดของวัฏจักร เมื่อแก้ไขปัญหาหลายๆ ปัญหา จะดำเนินการตามลำดับการกระทำเดียวกันหลายครั้ง ตัวอย่างเช่น เมื่อเข้าศึกษาในสถาบันการศึกษา นักเรียนจะทำการสอบ และคะแนนที่เขาได้รับจะถูกคำนวณ (ตัวแปร S โดยค่าเริ่มต้นคือ S:=0;) สำหรับการสอบแต่ละครั้งที่ผ่านเขาจะได้รับเกรด N หากเกรดมากกว่า "2" ดังนั้น S:= S + N; มิฉะนั้น ให้หยุดการคำนวณ (ออกจากลูป)

4 สไลด์

คำอธิบายสไลด์:

แนวคิดของลูป ลูปคือลำดับของคำสั่งที่สามารถดำเนินการได้มากกว่าหนึ่งครั้ง อัลกอริธึมแบบวนเป็นอัลกอริธึมที่เกี่ยวข้องกับการทำซ้ำของการกระทำเดียวกันกับข้อมูลใหม่ มีตัวดำเนินการลูปสามประเภท: ลูปที่มีเงื่อนไขเบื้องต้น; วนซ้ำกับเงื่อนไขหลัง; วนรอบด้วยตัวนับ

5 สไลด์

คำอธิบายสไลด์:

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

6 สไลด์

คำอธิบายสไลด์:

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

7 สไลด์

คำอธิบายสไลด์:

ตัวดำเนินการลูปที่มีเงื่อนไขเบื้องต้น (ประเภทลูป WHILE) ตัวดำเนินการลูปที่ใช้บ่อยที่สุดนี้มีรูปแบบทั่วไปในภาษา Pascal (รูปแบบ): WHILE<условие>ทำ<оператор>- ที่นี่ WHILE, DO - คำสงวน (จากภาษาอังกฤษ: while - while, do - do);<условие>- การแสดงออกของประเภทตรรกะ<оператор>- ตัวดำเนินการตามอำเภอใจ (อาจเป็นแบบผสม)

8 สไลด์

คำอธิบายสไลด์:

วนซ้ำกับเงื่อนไขภายหลัง ประเภทลูป DO ลำดับการดำเนินการของตัวดำเนินการลูปที่มีเงื่อนไขภายหลัง การดำเนินการของตัวดำเนินการ 1-N จะถูกทำซ้ำจนกว่าเงื่อนไขจะเป็นจริง ในลูปนี้ เงื่อนไขจะถูกตรวจสอบหลังจากดำเนินการกับเนื้อความของลูปแล้วเท่านั้น ตามมาว่าเนื้อหาจะถูกดำเนินการอย่างน้อยหนึ่งครั้งเสมอ

สไลด์ 9

คำอธิบายสไลด์:

วนซ้ำกับเงื่อนไขภายหลัง ประเภทไซเคิล สิ่งสำคัญ! การวนซ้ำที่มีเงื่อนไขภายหลังจะถูกดำเนินการอย่างน้อยหนึ่งครั้ง โดยไม่คำนึงว่าเงื่อนไขจะเป็นไปตามนั้นหรือไม่ ความสะดวกที่ไม่ต้องสงสัยของการวนซ้ำที่มีเงื่อนไขหลังคือสามารถเขียนคำสั่งต่างๆ ลงไปได้โดยไม่ต้องใช้ตัวดำเนินการผสม การตรวจสอบสภาพจะอยู่หลังตัวลูป คำว่าบริการจนถึง

10 สไลด์

คำอธิบายสไลด์:

ตัวดำเนินการลูปที่มีเงื่อนไขภายหลัง (ประเภท LOC DO - UNTIL) รูปแบบทั่วไป (รูปแบบ) ของตัวดำเนินการลูปที่มีเงื่อนไขภายหลังใน Pascal เป็นดังนี้: ทำซ้ำ<Оператор 1>; <Оператор 2>; … <Оператор N>- จนกระทั่ง<условие>;

11 สไลด์

คำอธิบายสไลด์:

ตัวอย่างการใช้ตัวดำเนินการลูปที่มีเงื่อนไขภายหลัง ให้แสดงค่าของตัวแปร n=1, 2, 3, 4, 5,6, 7, 8, 9 และตัวแปร a=10, 20, 30 เป็นคู่ , 40, 50, 60, 70, 80, 90 โอเปอเรเตอร์นี้จะมีลักษณะดังนี้: n:= 0; ทำซ้ำ n:=n+1; ก:=10*n; writeln(n:2,’ ‘,a:3); จนกระทั่ง n>=9;

12 สไลด์

คำอธิบายสไลด์:

วนซ้ำด้วยพารามิเตอร์ การวนซ้ำประเภท FOR การวนซ้ำพร้อมพารามิเตอร์จะใช้เมื่อจำเป็นต้องดำเนินการตามจำนวนขั้นตอนที่ระบุในลูป ควรสังเกตว่าการวนซ้ำ FOR ใน Pascal นั้นไม่ยืดหยุ่นมากนัก (ไม่เหมือนกับการวนซ้ำประเภทนี้ใน C) เนื่องจากในภาษาปาสคาล พารามิเตอร์ลูป (หรือตัวนับ) มีการเปลี่ยนแปลงด้วยจำนวนที่เท่ากับหนึ่ง ดังนั้น เมื่อคุณต้องการดำเนินการขั้นตอนที่เป็นเศษส่วน คุณต้องใช้การวนซ้ำ WHILE FOR loop มีสองประเภท: การเพิ่มและลดค่าตัวนับ (หรือพารามิเตอร์) บล็อกไดอะแกรมของลูปพร้อมพารามิเตอร์ (FOR ลูป)

สไลด์ 13

คำอธิบายสไลด์:

สไลด์ 14

คำอธิบายสไลด์:

ตัวดำเนินการวนซ้ำพร้อมพารามิเตอร์ FOR มุมมองทั่วไปของลูป (รูปแบบ) ของตัวดำเนินการลูปพร้อมพารามิเตอร์ for<счетчик> := <начальное значение>ถึง<конечное значение>เริ่มต้นเลย<Операторы>จบ; สำหรับ<счетчик> := <начальное значение>ลงไป<начальное значение>เริ่มต้นเลย<Операторы>จบ; ด้วยค่าตัวนับ (พารามิเตอร์) ที่เพิ่มขึ้น พร้อมค่าตัวนับ (พารามิเตอร์) ที่ลดลง

15 สไลด์

คำอธิบายสไลด์:

ตัวดำเนินการวนซ้ำพร้อมพารามิเตอร์ FOR loop ตัวดำเนินการที่ใช้ FOR loop - FOR ถูกใช้หากจำเป็นสำหรับส่วนของโปรแกรมที่จะทำซ้ำตามจำนวนครั้งที่ระบุ FOR<переменная цикла>: = <начальное значение>ที่<конечное значение>ทำ<оператор>- ที่นี่: FOR, TO, DO - คำสงวน (อังกฤษ: for, to, Execution);<счетчик (параметр) цикла>- ตัวแปรประเภท INTEGER ซึ่งเปลี่ยนแปลงตามช่วงเวลาตั้งแต่<начального значения>เพิ่มขึ้นทีละขั้นเมื่อสิ้นสุดแต่ละขั้นตอนของวงจร<оператор>- ตัวดำเนินการใดๆ (โดยปกติจะเป็นแบบผสม)

16 สไลด์

คำอธิบายสไลด์:

ตัวดำเนินการวนซ้ำพร้อมพารามิเตอร์ FOR Loop คำสั่ง FOR ประกอบด้วยส่วนหัวและลำตัวของลูป คำสั่งผสมภายในเนื้อหาของลูปจะต้องอยู่ในวงเล็บเริ่มต้นและสิ้นสุด ·โดยปกติแล้ว "i" จะใช้เป็นตัวระบุตัวนับ · ตัวแปรตัวนับต้องเป็นประเภทลำดับ ตัวอย่างเช่น ประเภทจำนวนเต็ม: ไบต์, จำนวนเต็ม · ค่าเริ่มต้นและสิ้นสุดของพารามิเตอร์ลูปไม่สามารถเปลี่ยนแปลงได้ในขณะที่ลูปกำลังทำงาน · ตัวดำเนินการ FOR ใช้เพื่อจัดระเบียบลูปด้วยจำนวนการทำซ้ำคงที่ ซึ่งทราบล่วงหน้าหรือกำหนดไว้ระหว่างการทำงานของโปรแกรม

สไลด์ 17

คำอธิบายสไลด์:

การใช้ลูปในการแก้ปัญหา แต่ละลูปที่อธิบายไว้ข้างต้นสามารถใช้เพื่อโปรแกรมปัญหาเดียวกันด้วยอัลกอริธึมแบบวนใน Pascal

18 สไลด์

คำอธิบายสไลด์:

ภารกิจที่ 1 เปิดโปรแกรม PascalABC.NET (integrated development Environment สำหรับโปรแกรมในภาษาการเขียนโปรแกรม Pascal) บันทึกโปรแกรมลงในโฟลเดอร์ที่มีชื่อของคุณในโฟลเดอร์การทำงานของระบบ PABCWork.NET\Your_name\Cikl_1.pas Save as...

สไลด์ 19

คำอธิบายสไลด์:

ภารกิจที่ 1 ใช้ลูป WHILE (พร้อมเงื่อนไขเบื้องต้น) สร้างและแก้ไขโปรแกรมที่คำนวณผลรวมของกำลังสองของจำนวนธรรมชาติทั้งหมดตั้งแต่ 1 ถึง 100 ข้อมูลเริ่มต้น: A: จำนวนเต็ม; ผลลัพธ์ - ผลรวม: S: Longint; โปรแกรม Ex1; Var A: จำนวนเต็ม; S: ลองจินต์; (จำนวนเต็มยาว) เริ่มต้น A:=1; ส:=0; (ตัวแปร S สำหรับผลรวมสะสม) ในขณะที่ A<=100 Do { Начало цикла – проверка условия } Begin S:=S+A*A; A:=A+1 End; Writeln(‘Вывод результата S= ’ ,S) End. Сохранить программу в папке с Вашим именем в системной рабочей папке PABCWork.NET \ Ваше_имя\Cikl_1.pas

20 สไลด์

คำอธิบายสไลด์:

งาน 2. ดีบักโปรแกรมโครงสร้างแบบวนรอบใน Pascal ในสภาพแวดล้อมของโปรแกรม PascalABC.NET abc; var x, y: จำนวนเต็ม; เริ่มต้น x:=2; ในขณะที่ x<= 10 do begin Y:=x*x; writeln(‘вывод х: ’, x, ‘вывод у: ’, y); x:= x+2; end; end. Применить оператор цикла с предусловием для вычисления значения функции y=x2, при значениях x 2, 4, 6, 8, 10. Сохранить программу в папке с Вашим именем в системной рабочей папке PABCWork.NET \ Ваше_имя\Cikl_2.pas

อัลกอริทึมแบบวนรอบ04/06/2017
อัลกอริธึมแบบวนรอบ
ประเภทของวงจรและวงจร
คำสั่งปาสคาล

วงจรมีหลายรอบ
การทำซ้ำของลำดับ
การกระทำ
ส่วนที่ซ้ำกันของอัลกอริทึม
เรียกว่า BODY OF THE LOOP
ประเภทของรอบ
โดยมีหมายเลขที่กำหนด
การทำซ้ำ
เงื่อนไขการปฏิบัติตาม
วงจร
มีสภาพ
สภาพออก
วงจร

ประเภทของรอบ (เนื้อหา)
วนซ้ำโดยมีเงื่อนไขเบื้องต้น
ฝึกฝน
วนซ้ำกับเงื่อนไขภายหลัง
ฝึกฝน
วนซ้ำด้วยพารามิเตอร์
ฝึกฝน
การแก้ปัญหาที่ซับซ้อน

วนซ้ำโดยมีเงื่อนไขเบื้องต้น

ฝึกฝน

เงื่อนไขและการกระทำที่ต้องทำเท่านั้น
หลังจากตรวจสอบเงื่อนไขแล้ว ให้ใช้การวนซ้ำในเงื่อนไขเบื้องต้น


ก่อนการดำเนินการกับเนื้อความของลูปแต่ละครั้ง การตรวจสอบจะเกิดขึ้น
เงื่อนไข หากผลลัพธ์เป็น "จริง" เนื้อความของลูปจะถูกดำเนินการ
อีกครั้ง หากเป็น "เท็จ" การวนซ้ำก็จะออก
บนแผนภาพบล็อก
จุดเริ่มต้นของวงจร
เลขที่
เงื่อนไข
ใช่
ห่วงร่างกาย
สิ้นสุดรอบ
ในปาสคาล
ในขณะที่<условие>ทำ
เริ่ม
<тело цикла>
จบ;

วนซ้ำกับเงื่อนไขภายหลัง

ฝึกฝน
หากไม่ทราบจำนวนการทำซ้ำล่วงหน้าแต่ให้มาเท่านั้น
เงื่อนไขและการกระทำที่จะต้องดำเนินการก่อน
การทดสอบเงื่อนไขจะใช้ลูปที่มีเงื่อนไขภายหลัง
นิพจน์เชิงตรรกะถูกใช้เป็นเงื่อนไข, เนื้อความ
loop – ตัวดำเนินการแบบง่ายหรือแบบผสม
หลังจากดำเนินการกับเนื้อความของลูปแต่ละครั้ง การตรวจสอบจะเกิดขึ้น
เงื่อนไข หากผลลัพธ์เป็นเท็จ เนื้อความของลูปจะถูกดำเนินการ
อีกครั้งหนึ่ง หาก "จริง" วงก็จะออก
บนแผนภาพบล็อก
ในปาสคาล
ทำซ้ำ
ห่วงร่างกาย
<тело цикла>
ใช่
เลขที่
เงื่อนไข
จนกระทั่ง<условие>;

วนซ้ำด้วยพารามิเตอร์

ฝึกฝน
วนซ้ำด้วยพารามิเตอร์
ในกรณีที่ทราบจำนวนครั้งการซ้ำล่วงหน้า
มีการใช้การวนซ้ำในพารามิเตอร์
ตัวแปรที่ระบุจำนวนการทำซ้ำเรียกว่า
พารามิเตอร์ลูปหรือตัวแปรควบคุม
หลังจากการดำเนินการแต่ละครั้งของเนื้อความของลูป การควบคุม
ตัวแปรเพิ่มขึ้นหรือลดลง, วนซ้ำ
จะถูกดำเนินการจนกว่าจะเกินอย่างใดอย่างหนึ่ง
จะมีข้อจำกัดน้อยลง
บนแผนภาพบล็อก
ในปาสคาล
สำหรับ X:=A ถึง B ทำ
X:=ก,ข,ค
ห่วงร่างกาย
X – ตัวแปรควบคุม (พารามิเตอร์วงจร)
A – ค่าเริ่มต้นของ X, B – มูลค่าสุดท้ายของ X
C – เปลี่ยนขั้นตอน X
เริ่ม
<тело цикла>
จบ;
เป็นขั้นตอนที่คุณสามารถใช้ได้
เท่านั้น:
"ถึง" = 1;
"ลงไป" = -1

ตัวอย่างงานที่ใช้การวนซ้ำพร้อมเงื่อนไขเบื้องต้น
ทฤษฎี

อัลกอริทึมทางวาจา:
คูณตัวเลข X เริ่มแรกเท่ากับ 1
จำนวนครั้งที่กำหนด (N) คูณ 3
เริ่ม
โปรแกรมขั้นตอน;
วาร์
H,B,X:จำนวนเต็ม;
เริ่ม
Writeln('ปริญญา?');
อ่าน(H);
เอ็กซ์:=1;
ข:=1;
ในขณะที่บี<=H do
เริ่ม
X:=X*3;
ข:=ข+1;
จบ;
Writeln('ผลลัพธ์',X);
จบ.
ปาสคาล
เอ็น
เข้าสู่ระดับที่ต้องการ
เอ็กซ์:=1
ค่าเริ่มต้น
ข:=1
เลขที่
เคาน์เตอร์ระดับ "B"
บี≤เอช
ใช่
X:=X*3
คูณด้วย 3
บี=บี+1
เคาน์เตอร์เพิ่มขึ้น
เอ็กซ์
ผลลัพธ์ของผลลัพธ์
ค่านิยม
จบ
บล็อกไดอะแกรม
คำอธิบาย

ตัวอย่างของงานที่ใช้การวนซ้ำโดยมีเงื่อนไขภายหลัง
ทฤษฎี
ภารกิจ: เพิ่มหมายเลข 3 ให้เป็นพลังที่กำหนด
อัลกอริทึมทางวาจา:

โปรแกรมขั้นตอน;
วาร์
H,B,X:จำนวนเต็ม;
เริ่ม
Writeln('ปริญญา?');
อ่าน(H);
เอ็กซ์:=1;
ข:=0;
ทำซ้ำ
X:=X*3;
ข:=ข+1;
เลขที่
จนกระทั่ง B>=H;
Writeln('ผลลัพธ์',X);
จบ.
เริ่ม
เอ็น
เข้าสู่ระดับที่ต้องการ
เอ็กซ์:=1
ค่าเริ่มต้น
ข:=0
คูณด้วย 3
X:=X*3
เคาน์เตอร์เพิ่มขึ้น
บี=บี+1
ใช่
บี>=ช
เคาน์เตอร์ระดับ "B"
เอ็กซ์
ผลลัพธ์ของผลลัพธ์
ค่านิยม
จบ
ปาสคาล
บล็อกไดอะแกรม
คำอธิบาย

ตัวอย่างงานที่ใช้ลูปพร้อมพารามิเตอร์
ทฤษฎี
ภารกิจ: เพิ่มหมายเลข 3 ให้เป็นพลังที่กำหนด
อัลกอริทึมทางวาจา:
คูณตัวเลข X โดยเริ่มแรกเท่ากับ 1 ซึ่งเป็นจำนวนครั้งที่ระบุ (H) ด้วย 3
โปรแกรมขั้นตอน;
วาร์
H,B,X:จำนวนเต็ม;
เริ่ม
Writeln('ปริญญา?');
อ่าน(H);
เอ็กซ์:=1;
สำหรับ B:=1 ถึง H ทำ
เริ่ม
X:=X*3;
จบ;
Writeln('ผลลัพธ์',X);
จบ.
ปาสคาล
เริ่ม
เอ็น
เอ็กซ์:=1
บี:=1,ส,1
X:=X*3
เอ็กซ์
จบ
บล็อกไดอะแกรม
เข้าสู่ระดับที่ต้องการ
ค่าเริ่มต้น X=1
พารามิเตอร์ตั้งแต่ 1 ถึง H
คูณด้วย 3
ผลลัพธ์ของผลลัพธ์
ค่านิยม
คำอธิบาย

การเลือกรอบการทำงานขึ้นอยู่กับลักษณะของสภาวะปัญหา การฝึกฝนเท่านั้นที่จะบอกคุณถึงทางออกที่ดีที่สุด

ภารกิจ: เริ่มฝึกนักกีฬาในวันแรก
วิ่ง 10 กม. ทุกวันเขาเพิ่มขึ้นทุกวัน
บรรทัดฐานคือ 10% ของบรรทัดฐานของวันก่อนหน้า
ระยะทางรวมที่นักกีฬาจะครอบคลุมใน 7 วันคือเท่าไร?
ตัวแปรอินพุต:
d – จำนวนวัน
Sd – ระยะทางสำหรับวันปัจจุบัน
ตัวแปรเอาท์พุต:
S – เส้นทางทั่วไป

บล็อก - ไดอะแกรมสำหรับการแก้ปัญหา

เริ่ม
ส:=10
ซด:=10
ง:=1
ง:=ง+1
ซด:=ซด*1.1
ส:=ส+เอสดี
เลขที่
ด=7
ใช่

จบ

โปรแกรมในภาษาปาสคาล

วงจร "สำหรับ"
วงจร "ลาก่อน"
วงจร "ก่อน"
โปรแกรมขอ;
โปรแกรมขอ;
โปรแกรมขอ;
วาร์
วาร์
วาร์
S,Sd: จริง;
S,Sd: จริง;
S,Sd: จริง;
d:ไบต์;
d:ไบต์;
d:ไบต์;
เริ่ม
เริ่ม
เริ่ม
ส:=10;
ส:=10;
ส:=10;
ซด:=10;
ซด:=10;
ซด:=10;
สำหรับ d:=2 ถึง 7 ทำ
เริ่ม
ในขณะที่ง<7 do
เริ่ม
ทำซ้ำ
ง:=ง+1;
SD:=1.1*SD;
ง:=ง+1;
SD:=1.1*SD;
ส:=ส+เอสดี;
SD:=1.1*SD;
ส:=ส+เอสดี;
จบ;
ส:=ส+เอสดี;
จนกระทั่ง (d=7);
เขียน('S=',S);
จบ;
เขียน('S=',S);
จบ.
เขียน('S=',S);
จบ.
จบ.

คำถามสำหรับการควบคุม:
1. โอเปอเรเตอร์ใดใน Pascal กำหนดลูปด้วย
เงื่อนไขเบื้องต้น
2. วิธีระบุขั้นตอน “1” และ “-1” เป็นพารามิเตอร์ในลูป
3. ลูปออกจากสาขาใด?
ภาวะภายหลัง
4. มีเงื่อนไขในการวนซ้ำกับพารามิเตอร์หรือไม่?
5. สิ่งที่สามารถเป็นเนื้อหาของวงได้
6. เมื่อใช้ลูปพร้อมพารามิเตอร์
จบ























กลับไปข้างหน้า

ความสนใจ! การแสดงตัวอย่างสไลด์มีวัตถุประสงค์เพื่อให้ข้อมูลเท่านั้น และอาจไม่ได้แสดงถึงคุณลักษณะทั้งหมดของงานนำเสนอ หากสนใจงานนี้กรุณาดาวน์โหลดฉบับเต็ม

เป้า:ศึกษาโครงสร้างอัลกอริทึมของวัฏจักร การสร้างแบบจำลองและอัลกอริทึมสำหรับการแก้ปัญหาเชิงปฏิบัติ

ความคืบหน้าของบทเรียน

I. การอัพเดตความรู้

  • ทบทวนแนวคิดของอัลกอริทึมและโครงสร้างพื้นฐานของภาษาอัลกอริทึม
  • สามารถพัฒนาแบบจำลองทางคณิตศาสตร์ อัลกอริธึม และบล็อกไดอะแกรมสำหรับการแก้ปัญหาได้
  • มีความเข้าใจในภาษาการเขียนโปรแกรมและวัตถุประสงค์
  • สามารถทำงานในสภาพแวดล้อมการเขียนโปรแกรมได้
  • รู้โครงสร้างของโปรแกรม
  • สามารถเขียนนิพจน์ที่มีปริมาณเชิงตัวเลขและเชิงสัญลักษณ์ได้
  • รู้โครงสร้างของผู้ปฏิบัติงานและคุณลักษณะของงาน
  • สามารถใช้โอเปอเรเตอร์ในการเขียนโปรแกรมที่มีโครงสร้างเชิงเส้นและแบบแยกสาขาได้
  • สามารถสร้างและรันโปรแกรมบนคอมพิวเตอร์เพื่อทำการดีบักได้

ครั้งที่สอง เนื้อหาทางทฤษฎีของบทเรียน

ปัญหาในทางปฏิบัติส่วนใหญ่จำเป็นต้องมีการกระทำเดิมซ้ำๆ กัน นั่นคือ การใช้ตัวดำเนินการตั้งแต่หนึ่งตัวขึ้นไปซ้ำ (การนำเสนอ)

สมมติว่าคุณต้องป้อนและประมวลผลลำดับตัวเลข หากมีเพียงห้าตัวเลข คุณสามารถสร้างอัลกอริทึมเชิงเส้นได้ หากมีมากกว่าหนึ่งพันรายการก็เป็นไปได้ที่จะเขียนอัลกอริธึมเชิงเส้น แต่มันน่าเบื่อและไร้เหตุผลมาก หากไม่ทราบจำนวนตัวเลขในขณะที่พัฒนาอัลกอริทึม แสดงว่าอัลกอริทึมเชิงเส้นนั้นเป็นไปไม่ได้โดยพื้นฐาน

อีกตัวอย่างหนึ่ง หากต้องการค้นหานามสกุลของบุคคลในรายการ คุณต้องตรวจสอบชื่อนามสกุลในรายการ จากนั้นจึงตรวจสอบนามสกุลที่สอง สาม ฯลฯ จนกว่าจะเจออันที่ต้องการหรือถึงจุดสิ้นสุดของรายการ คุณสามารถเอาชนะความยากลำบากดังกล่าวได้ด้วยความช่วยเหลือของวงจร

วงจรคือส่วนของอัลกอริธึม (โปรแกรม) ที่ถูกดำเนินการซ้ำๆ ดังนั้น อัลกอริธึมแบบวนรอบจึงเป็นอัลกอริธึมที่มีวัฏจักร

วัฏจักรมีสองประเภท: โดยไม่ทราบจำนวนการทำซ้ำ และไม่ทราบจำนวนการทำซ้ำ ในทั้งสองกรณี นี่หมายถึงจำนวนการทำซ้ำในขั้นตอนการพัฒนาอัลกอริทึม

โครงสร้างวงจรมี 3 ประเภท:

  • วนซ้ำโดยมีเงื่อนไขเบื้องต้น
  • วนซ้ำกับเงื่อนไขหลัง;
  • วนซ้ำด้วยพารามิเตอร์

มิฉะนั้น โครงสร้างเหล่านี้จะเรียกว่าวัฏจักร เช่น "ขณะ" "ก่อน" "สำหรับ"

รูปแบบกราฟิกของข้อมูลการบันทึกของโครงสร้างอัลกอริทึม:

วนซ้ำด้วยเงื่อนไขเบื้องต้น (aka loop ลาก่อน) มีรูปแบบ:

เงื่อนไข – การแสดงออกของประเภทตรรกะ

การวนซ้ำอาจไม่ถูกดำเนินการแม้แต่ครั้งเดียวหากค่าของนิพจน์เชิงตรรกะกลายเป็นเท็จทันที

ชุดคำสั่งระหว่าง start และ end จะถูกดำเนินการจนถึง ในขณะที่เงื่อนไขเป็นจริง .

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

วนซ้ำด้วยเงื่อนไขภายหลัง (aka loop ถึง) มีรูปแบบ:

เงื่อนไข – การแสดงออกของประเภทตรรกะ

โปรดทราบ:

ลำดับคำสั่งระหว่างทำซ้ำ และจนกระทั่ง จะสำเร็จเสมอไป อย่างน้อยหนึ่งครั้ง;

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

คำสั่งทำซ้ำ เช่นเดียวกับคำสั่ง while จะถูกใช้ในโปรแกรมหากจำเป็นต้องทำการคำนวณซ้ำ (ลูป) แต่ไม่ทราบจำนวนการทำซ้ำล่วงหน้า และถูกกำหนดโดยความคืบหน้าของการคำนวณเอง

วนซ้ำด้วยพารามิเตอร์ (aka loop สำหรับ)มีรูปแบบ:

ฉัน – พารามิเตอร์รอบ;
a – ค่าเริ่มต้นของวงจร;
b – ค่าสุดท้ายของวงจร
h – ขั้นตอนการเปลี่ยนพารามิเตอร์

โครงสร้างของวัฏจักรนี้เรียกอย่างอื่น วนรอบฉันครั้ง.

คำสั่งนี้ดำเนินการในลักษณะนี้: พารามิเตอร์ i ถูกตั้งค่าเป็นค่าเริ่มต้น a เปรียบเทียบกับค่าสุดท้าย b และหากน้อยกว่าหรือเท่ากับค่าสุดท้าย b ชุดคำสั่งจะถูกดำเนินการ พารามิเตอร์ถูกกำหนดให้เป็นค่าของพารามิเตอร์ก่อนหน้าเพิ่มขึ้น ชม.– ขั้นตอนของการเปลี่ยนแปลงพารามิเตอร์และเปรียบเทียบกับค่าสุดท้าย b อีกครั้ง

ในภาษาการเขียนโปรแกรม Pascal ขั้นตอนการเปลี่ยนแปลงพารามิเตอร์สามารถเท่ากับหนึ่งหรือลบหนึ่งได้

หากมีคำสั่งเดียวระหว่าง start และ end ก็ไม่จำเป็นต้องเขียนวงเล็บโอเปอเรเตอร์ กฎนี้ใช้ได้กับลูปเช่น "While" และ "For"

ลองพิจารณาตัวอย่างการแก้ปัญหาโดยใช้โครงสร้างเหล่านี้

ตัวอย่าง.

คำนวณผลคูณของตัวเลขตั้งแต่ 1 ถึง 5 โดยใช้ตัวเลือกการวนซ้ำต่างๆ

แบบจำลองทางคณิตศาสตร์:

Р= 1·2·3·4·5=120

มาเขียนอัลกอริทึมในรูปแบบของบล็อกไดอะแกรม

เพื่อตรวจสอบความถูกต้องของอัลกอริธึม ให้กรอกข้อมูลในตารางการติดตาม

ขั้นตอน การดำเนินการ ฉัน การตรวจสอบสภาพ
1 ป:=1 1
2 ฉัน:=1; 1 1
3 ฉัน<=5
ป:=ป*ผม
ผม:=ผม+1
1 1 1<=5, да (истина)
4 ฉัน<=5
ป:=ป*ผม
ผม:=ผม+1
2 2 2<=5, да (истина)
5 ฉัน<=5
ป:=ป*ผม
ผม:=ผม+1
6 3 3<=5, да (истина)
6 ฉัน<=5
ป:=ป*ผม
ผม:=ผม+1
24 4 4<=5, да (истина)
7 ฉัน<=5
ป:=ป*ผม
ผม:=ผม+1
120 5 5<=5, да (истина)
8 ฉัน<=5
ป:=ป*ผม
ผม:=ผม+1
6<=5, нет (ложь)

การตรวจสอบเงื่อนไขเกิดขึ้นในหลายขั้นตอน: การตรวจสอบเงื่อนไขและการดำเนินการคำสั่งบนสาขาใดสาขาหนึ่ง ดังนั้นตารางการติดตามจะไม่บันทึกคำสั่งอัลกอริธึม แต่เป็นการดำเนินการแต่ละรายการที่คอมพิวเตอร์ดำเนินการในแต่ละขั้นตอน

ขั้นตอนที่หนึ่ง: P ได้รับการกำหนดให้มีค่าเป็นหนึ่ง

ขั้นตอนที่สอง: ฉันได้รับมอบหมายค่าหนึ่ง

ขั้นตอนที่สาม: เมื่อ i เท่ากับ 1 เราก็ตรวจดูว่าเงื่อนไข 1 น้อยกว่าหรือเท่ากับ 5 ใช่แล้ว เงื่อนไขเป็นจริง คือ ให้ P มีค่า 1 คูณ 1 ก็จะได้ 2 สำหรับ i: หนึ่งบวกหนึ่งเท่ากับสอง

ขั้นตอนที่สี่:เมื่อ i เท่ากับ 2 เราก็ตรวจดูว่าเงื่อนไข 2 น้อยกว่าหรือเท่ากับ 5 ใช่แล้ว เงื่อนไขเป็นจริง คือ ให้ P มีค่า 2 คูณ 1 จะเป็น 2 สำหรับ i: 2 บวก 1 มันจะเป็นสาม

ขั้นตอนที่ห้า:โดยที่ i เท่ากับ 3 เราก็ตรวจดูว่าเงื่อนไข 3 น้อยกว่าหรือเท่ากับ 5 ใช่แล้ว เงื่อนไขเป็นจริง แปลว่า P มีค่าเป็น 2 คูณ 3 ก็จะได้เป็น 6 สำหรับ i: สามบวกหนึ่งเท่ากับสี่

ขั้นตอนที่หก:โดยที่ i เท่ากับ 4 เราก็ตรวจดูว่าเงื่อนไขที่ 4 น้อยกว่าหรือเท่ากับ 5 ใช่แล้ว เงื่อนไขเป็นจริง แปลว่า P มีค่าเท่ากับ 6 คูณ 4 ก็จะเท่ากับ 24 สำหรับฉัน: สี่บวกหนึ่งเท่ากับห้า

ขั้นตอนที่เจ็ด:โดย i เท่ากับ 5 เราก็ตรวจดูว่าเงื่อนไข 5 น้อยกว่าหรือเท่ากับ 5 ใช่แล้ว เงื่อนไขเป็นจริง คือ ให้ P มีค่าเป็น 24 คูณ 5 ก็จะได้เป็น 120 สำหรับฉัน: ห้าบวกหนึ่งเป็นหก

ขั้นตอนที่แปด:เมื่อ i เท่ากับ 6 เราก็เช็คว่าเงื่อนไข 6 น้อยกว่าหรือเท่ากับ 5 ไม่ใช่ เงื่อนไขเป็นเท็จ แล้วเราก็ออกจาก loop แล้วผลที่ได้คือค่าสุดท้ายเท่ากับ 120 .

โปรแกรม PR1;
ตัวแปร i: จำนวนเต็ม;
เริ่ม
ป:=1;
ฉัน:=1;
ในขณะที่ฉัน<=5 do
เริ่ม
ป:=P*ฉัน;
ฉัน:=ฉัน+1;
จบ;
เขียน('P=', P);
จบ.

สำหรับการวนซ้ำที่มีเงื่อนไขภายหลัง เราจะสร้างบล็อกไดอะแกรมและตารางการติดตาม (สไลด์16)

เป็นผลให้เราได้ค่าสุดท้ายเท่ากับหนึ่งร้อยยี่สิบในขั้นตอนที่เจ็ด

และสำหรับไซเคิลที่มีพารามิเตอร์ เราจะสร้างบล็อกไดอะแกรมและตารางการติดตาม (สไลด์ 17)

เป็นผลให้เราได้ค่าสุดท้ายเท่ากับหนึ่งร้อยยี่สิบในขั้นตอนที่หก

งาน:

แสดงตัวเลขตั้งแต่ 1 ถึง 5 ใน:

  1. สั่งตรง;
  2. ในลำดับย้อนกลับ

แบบจำลองทางคณิตศาสตร์:

  1. 1 2 3 4 5;
  2. 5 4 3 2 1.

แผนภาพบล็อกและโปรแกรมสำหรับการแก้ปัญหาจะแสดงสำหรับตัวเลขในลำดับไปข้างหน้าและย้อนกลับ

(สไลด์ 21)

ให้เราเขียนอัลกอริธึมที่พิจารณาในภาษาการเขียนโปรแกรม Pascal

(สไลด์ 22)

III. สรุปบทเรียน

ดังนั้นเราจึงพิจารณาคำถามต่อไปนี้:

  1. วงจรโครงสร้างอัลกอริทึม
  2. ประเภทของโครงสร้างอัลกอริทึม:
    1. วนซ้ำโดยมีเงื่อนไขเบื้องต้น
    2. วนซ้ำกับเงื่อนไขหลัง;
    3. วนซ้ำด้วยพารามิเตอร์
  3. เราพิจารณาวิธีการบันทึกโครงสร้างเหล่านี้
  4. เราดูตัวอย่างการแก้ปัญหาโดยใช้โครงสร้างเหล่านี้





วนซ้ำด้วยเงื่อนไขเบื้องต้น หากไม่ทราบจำนวนการทำซ้ำล่วงหน้า แต่ระบุโดยเงื่อนไขเท่านั้น และการดำเนินการที่ต้องดำเนินการหลังจากตรวจสอบเงื่อนไขแล้วเท่านั้น ให้ใช้การวนซ้ำพร้อมเงื่อนไขเบื้องต้น นิพจน์เชิงตรรกะถูกใช้เป็นเงื่อนไข ส่วนเนื้อความของลูปคือตัวดำเนินการแบบง่ายหรือแบบผสม ก่อนการดำเนินการกับเนื้อความของลูปแต่ละครั้ง จะมีการตรวจสอบเงื่อนไข หากผลลัพธ์เป็น "จริง" จากนั้นเนื้อความของลูปจะถูกดำเนินการอีกครั้ง หากเป็น "เท็จ" แสดงว่าการวนซ้ำจะออกจากการทำงาน ในบล็อกไดอะแกรม ใน Pascal เริ่มต้นสิ้นสุด; เงื่อนไข เนื้อความของลูป ไม่มี แบบฝึกหัด เริ่มต้นของลูป สิ้นสุดของลูป ใช่ ขณะทำ


วนซ้ำด้วยเงื่อนไขภายหลัง หากไม่ทราบจำนวนการทำซ้ำล่วงหน้า แต่ระบุโดยเงื่อนไขเท่านั้น และการกระทำที่ต้องทำก่อนตรวจสอบเงื่อนไข ให้ใช้การวนซ้ำด้วยเงื่อนไขภายหลัง นิพจน์เชิงตรรกะถูกใช้เป็นเงื่อนไข ส่วนเนื้อความของลูปคือตัวดำเนินการแบบง่ายหรือแบบผสม หลังจากการดำเนินการกับเนื้อความของลูปแต่ละครั้ง จะมีการตรวจสอบเงื่อนไข หากผลลัพธ์เป็น "เท็จ" เนื้อความของลูปจะถูกดำเนินการอีกครั้ง หากเป็น "จริง" แสดงว่าการวนซ้ำจะออกจากการทำงาน ในแผนภาพบล็อก ใน Pascal Repeat Condition Loop Body ใช่ ไม่ ฝึกจนถึง ;


วนซ้ำด้วยพารามิเตอร์ ในกรณีที่ทราบจำนวนการทำซ้ำล่วงหน้า จะใช้การวนซ้ำพร้อมพารามิเตอร์ ตัวแปรที่ระบุจำนวนการทำซ้ำเรียกว่าพารามิเตอร์ลูปหรือตัวแปรควบคุม หลังจากการดำเนินการแต่ละครั้งของเนื้อหาลูป ตัวแปรควบคุมจะเพิ่มขึ้นหรือลดลง การวนซ้ำจะถูกดำเนินการจนกว่าจะเกินหรือน้อยกว่าขีดจำกัด ในแผนภาพบล็อก Pascal X คือตัวแปรควบคุม (พารามิเตอร์วงจร) A คือค่าเริ่มต้นของ X, B คือค่าสุดท้ายของ X C คือขั้นตอนของการเปลี่ยนแปลง X คุณสามารถใช้เป็นขั้นตอนเท่านั้น: “to” = 1 ; “downto” = -1 X:=A,B,C การฝึกวนร่างกายสำหรับ X:=A ถึง B เริ่มต้นสิ้นสุด;


ตัวอย่างของปัญหาการใช้ลูปที่มีเงื่อนไขเบื้องต้น เพิ่มเลข 3 ให้เป็นกำลังที่กำหนด ภารกิจ: อัลกอริธึมทางวาจา: คูณตัวเลข X เริ่มแรกเท่ากับ 1 ตามจำนวนครั้งที่กำหนด (H) ด้วย 3 เริ่ม H BHBH X:=1 X:=X*3 สิ้นสุด X ป้อนองศาที่กำหนด ค่าเริ่มต้น “B” ตัวนับองศา B=B+1 คูณด้วย 3 การเพิ่มตัวนับ เอาท์พุตค่าผลลัพธ์ Programm Stepen; ตัวแปร H,B,X:จำนวนเต็ม; เริ่มเขียน(ปริญญา?); อ่าน(H); เอ็กซ์:=1; ข:=1; ในขณะที่บี


H X:=1 X:=X*3 สิ้นสุด X ป้อนกำลังที่กำหนด ค่าเริ่มต้น" title="ตัวอย่างงานที่ใช้ลูปโดยมีเงื่อนไขภายหลัง เพิ่มเลข 3 ให้เป็นกำลังที่กำหนด TASK: อัลกอริธึมทางวาจา: ทวีคูณ ตัวเลข X เริ่มต้นเท่ากับ 1 จำนวนครั้งที่กำหนด (H) สำหรับ 3. เริ่มต้น N B>=H X:=1 X:=X*3 สิ้นสุด X ป้อนระดับที่กำหนด ค่าเริ่มต้น" class="link_thumb"> 8 !}ตัวอย่างปัญหาการใช้ลูปที่มีเงื่อนไขหลัง เพิ่มเลข 3 ให้เป็นกำลังที่กำหนด ภารกิจ: อัลกอริธึมทางวาจา: คูณตัวเลข X เริ่มแรกเท่ากับ 1 ตามจำนวนครั้งที่กำหนด (H) ด้วย 3 เริ่ม H B>=H X:=1 X:=X*3 สิ้นสุด X การป้อนระดับที่กำหนด ค่าเริ่มต้น “B” ตัวนับระดับ B=B+1 คูณด้วย 3 การเพิ่มตัวนับ เอาต์พุตผลลัพธ์ที่ได้ Programm Stepen; ตัวแปร H,B,X:จำนวนเต็ม; เริ่มเขียน(ปริญญา?); อ่าน(H); เอ็กซ์:=1; ข:=0; ทำซ้ำ X:=X*3; ข:=ข+1; จนกระทั่ง B>=H; Writeln(ผลลัพธ์,X); จบ. ไม่ใช่ ใช่ คำอธิบายแผนภาพบล็อกทฤษฎีปาสคาล B:=0 =H X:=1 X:=X*3 end X เข้าสู่ระดับที่กำหนด ค่าเริ่มต้น"> =H X:=1 X:=X*3 end X เข้าสู่ระดับที่กำหนด ค่าเริ่มต้น "B" ตัวนับองศา B=B +1 คูณด้วย 3 เพิ่มค่าผลลัพธ์ โปรแกรม H,B,X:integer; =B+1; Writeln (Result,X); "> =H X:=1 X*3 end X ป้อนระดับที่ระบุ ค่าเริ่มต้น" title=" ตัวอย่างปัญหาโดยใช้ลูปที่มีเงื่อนไขภายหลัง เพิ่มเลข 3 ให้เป็นกำลังที่กำหนด TASK: อัลกอริธึมทางวาจา: คูณ ตัวเลข X เริ่มต้นเท่ากับ 1 จำนวนครั้งที่กำหนด (H) ด้วย 3 เริ่มต้น N B>=H X: =1 X:=X*3 สิ้นสุด X เข้าสู่ระดับที่กำหนด ค่าเริ่มต้น"> title="ตัวอย่างปัญหาการใช้ลูปที่มีเงื่อนไขหลัง เพิ่มเลข 3 ให้เป็นกำลังที่กำหนด ภารกิจ: อัลกอริธึมทางวาจา: คูณเลข X เริ่มแรกเท่ากับ 1 ตามจำนวนครั้งที่กำหนด (H) ด้วย 3 เริ่ม H B>=H X:=1 X:=X*3 สิ้นสุด X การป้อนระดับที่กำหนด ค่าเริ่มต้น"> !}


ตัวอย่างของงานที่ใช้ลูปพร้อมพารามิเตอร์ เพิ่มเลข 3 ให้เป็นกำลังที่กำหนด ภารกิจ: อัลกอริธึมทางวาจา: คูณตัวเลข X โดยเริ่มแรกเท่ากับ 1 ซึ่งเป็นจำนวนครั้งที่ระบุ (H) ด้วย 3 เริ่ม H X:=1 X:=X*3 สิ้นสุด X ป้อนกำลังที่กำหนด ค่าเริ่มต้น X=1 พารามิเตอร์จาก 1 ถึง N คูณด้วย 3 เอาต์พุตของค่าผลลัพธ์ โปรแกรม Stepen; ตัวแปร H,B,X:จำนวนเต็ม; เริ่มเขียน(ปริญญา?); อ่าน(H); เอ็กซ์:=1; สำหรับ B:=1 ถึง H ให้เริ่มต้น X:=X*3; จบ; Writeln(ผลลัพธ์,X); จบ. B:=1,H,1 คำอธิบายแผนภาพบล็อกทฤษฎีปาสคาล




ภารกิจ: เมื่อเริ่มฝึกแล้ว นักกีฬาวิ่ง 10 กม. ในวันแรก ทุกวันเขาเพิ่มบรรทัดฐานรายวัน 10% ของบรรทัดฐานของวันก่อนหน้า ระยะทางรวมที่นักกีฬาจะครอบคลุมใน 7 วันคือเท่าไร? ตัวแปรอินพุต: ตัวแปรเอาต์พุต: S – เส้นทางทั้งหมด d – จำนวนวัน Sd – ระยะทางสำหรับวันปัจจุบัน


คำถามท้ายเรื่องสำหรับการควบคุม: 1. ตัวดำเนินการใดใน Pascal กำหนดลูปที่มีเงื่อนไขเบื้องต้น 2. จะระบุขั้นตอน “1” และ “-1” ในพารามิเตอร์ในลูปได้อย่างไร 3. สาขาใดที่ลูปที่มีเงื่อนไขภายหลังตามมา? 4. มีการวนซ้ำพร้อมพารามิเตอร์เงื่อนไข 5. สิ่งที่สามารถเป็นเนื้อความของลูปได้ 6. เมื่อใดที่จะมีการวนซ้ำพร้อมพารามิเตอร์ที่ใช้


ประเภทของรอบ

วนซ้ำด้วยพารามิเตอร์ สำหรับ

วนซ้ำโดยมีเงื่อนไขเบื้องต้น

วงจร ในขณะที่ โดยมีเงื่อนไขเบื้องต้น

วงจร ทำซ้ำ - จนกระทั่ง ด้วยสภาวะภายหลัง


วนซ้ำโดยมีเงื่อนไขเบื้องต้นใน Pascal - WHILE

ตัวดำเนินการวนซ้ำที่มีเงื่อนไขเบื้องต้นจะดำเนินการโดยไม่ทราบจำนวนครั้ง การวนซ้ำจะสิ้นสุดลงหากนิพจน์เชิงตรรกะหรือผลลัพธ์กลายเป็นเท็จ

เนื่องจากมีการตรวจสอบความถูกต้องของนิพจน์เชิงตรรกะตั้งแต่เริ่มต้น เนื้อความของลูปจึงอาจไม่สามารถดำเนินการได้แม้แต่ครั้งเดียว


โครงสร้างห่วง ในขณะที่


บล็อก - แผนภาพวงจร ในขณะที่

ตัวดำเนินการ

เงื่อนไข


ตัวอย่าง

ภารกิจ: เขียนโปรแกรมที่คำนวณผลรวมของเลขคู่ทั้งหมดจนถึง 50

writeln("ผลรวมคือ: ",ผลรวม);


งาน

เขียนโปรแกรมที่ค้นหา n!.


วนซ้ำกับ postcondition ในภาษา Pascal – REPEAT-UNTIL

โอเปอเรเตอร์นี้จะคล้ายกับโอเปอเรเตอร์ลูปที่มีเงื่อนไขเบื้องต้น แต่แตกต่างตรงที่เงื่อนไขจะถูกตรวจสอบหลังจากดำเนินการเนื้อความ (การกระทำ) ของลูป เพื่อให้แน่ใจว่ามีการดำเนินการอย่างน้อยหนึ่งครั้ง ไม่เหมือนลูปที่แยกวิเคราะห์ก่อนหน้านี้

โปรดทราบว่าตัวดำเนินการลูปนี้จะถือว่ามีตัวดำเนินการหลายตัวอยู่ในเนื้อความของลูป นั่นคือสามารถดำเนินการได้หลายอย่าง ดังนั้นคำบริการ เริ่ม และ จบ ไม่จำเป็น.


โครงสร้างห่วง

ทำซ้ำจนกระทั่ง


บล็อก - แผนภาพวงจร ทำซ้ำจนกระทั่ง

ตัวดำเนินการ

เงื่อนไข


ตัวอย่าง

ภารกิจ: เขียนโปรแกรมหาผลรวมของตัวเลขตัวแรกและตัวสุดท้ายของตัวเลข

a,b,c,d:จำนวนเต็ม;

writeln("ใส่ตัวเลข");

writeln('ผลรวมของตัวเลขตัวแรกและตัวสุดท้ายคือ:'c);


งาน

เขียนโปรแกรมที่กำหนดว่าจำนวนเฉพาะเป็นจำนวนเฉพาะหรือไม่


วนซ้ำด้วยพารามิเตอร์ใน Pascal - FOR

วงจร สำหรับ กำหนดเงื่อนไขที่โปรแกรมจะทำงานก่อนที่จะถูกดำเนินการ สมมติว่าคุณต้องวนซ้ำโปรแกรม n ครั้ง จากนั้นจึงทำได้อย่างง่ายดายโดยใช้การวนซ้ำนี้

วงจรยู สำหรับ มีคุณสมบัติเป็นลักษณะ - ตัวนับซึ่งโดยปกติจะกำหนดด้วยตัวอักษร i หรือ j

ในลูป สามารถระบุตัวนับได้โดยตรง (service word ถึง ) และในลำดับย้อนกลับ (คำที่ใช้งานได้ ลงไป ).


โครงสร้างห่วง สำหรับ

สำหรับ i:= n1 ถึง n2 DO

แบบฟอร์มการบันทึกครั้งที่ 1

สำหรับ i:= n2 ลงไป n1 DO

แบบฟอร์มการบันทึกครั้งที่ 2


บล็อก - แผนภาพวงจร สำหรับ

ผม:= n1 … n2

ห่วงร่างกาย


ตัวอย่าง

ภารกิจ: เขียนโปรแกรมที่คำนวณกำลัง n ของจำนวนที่กำหนด

a, n, i, pr: จำนวนเต็ม;

writeln('กรอกตัวเลข');

writeln('ใส่กำลังของตัวเลข');

สำหรับฉัน:= 1 ถึง n ทำ

writeln('กำลังของตัวเลขคือ',pr);


งาน

เขียนโปรแกรมโดยหาตัวเลข P = (1-1/2)(1-1/3)*…*(1-1/n)

N ถูกป้อนจากแป้นพิมพ์