การเขียนโปรแกรมตัวดำเนินการแบบมีเงื่อนไขของอัลกอริธึมการแยกสาขา การเขียนโปรแกรมอัลกอริธึมแบบแยกสาขา ฟังก์ชันเงื่อนไขถ้า
หัวข้อบทเรียน : การเขียนโปรแกรมอัลกอริธึมการแยกสาขา ตัวดำเนินการแบบมีเงื่อนไขหนังสือเรียน: Bosova L. L. สารสนเทศ: หนังสือเรียนชั้นประถมศึกษาปีที่ 8 - ม.: BINOM ห้องปฏิบัติการความรู้, 2557. – 160 น. : ป่วย.
ประเภทบทเรียน: บทเรียนการเรียนรู้เนื้อหาใหม่
วัตถุประสงค์ของบทเรียน :
ทางการศึกษา : จัดกิจกรรมของนักเรียนเพื่อทำความคุ้นเคยกับไวยากรณ์ของตัวดำเนินการแบบมีเงื่อนไข (operatorถ้า- สร้างเงื่อนไขให้นักศึกษาพัฒนาความสามารถในการใช้งานผู้ปฏิบัติงานถ้าเมื่อเขียนโปรแกรม
การพัฒนา : ช่วยเพิ่มความสนใจในเรื่อง; ส่งเสริมการพัฒนาการคิดอัลกอริทึมของนักเรียน ส่งเสริมพัฒนาการของการคิดเชิงตรรกะ ความสนใจทางปัญญา และความทรงจำของนักเรียน
การเลี้ยงดู : ส่งเสริมให้เกิดความเป็นอิสระในการแก้ปัญหา ส่งเสริมความสามัคคีในทีมและการสร้างทัศนคติที่มีความเคารพต่อกัน
ก่อตั้งกิจกรรมการเรียนรู้สากล (UAL) :
จินตนาการและจินตนาการเมื่อทำกิจกรรมการศึกษา
ความปรารถนาที่จะทำกิจกรรมการศึกษา
การกระทำและการดำเนินการเชิงตรรกะ
การสร้างและการเปลี่ยนแปลงแบบจำลองและแผนภาพเพื่อแก้ไขปัญหา
การกำหนดความคิดเห็นและจุดยืนของคุณเอง
การวางแผนการดำเนินการของคุณให้สอดคล้องกับงานและเงื่อนไขในการดำเนินการ
UUD ส่วนตัว :
UUD ความรู้ความเข้าใจ :
UUD การสื่อสาร :
UUD ตามข้อบังคับ :
อุปกรณ์ : คอมพิวเตอร์ส่วนบุคคล(พีซี), โปรเจคเตอร์มัลติมีเดีย, หน้าจอ.
เครื่องมือซอฟต์แวร์ : การนำเสนอ “การเขียนโปรแกรมอัลกอริธึมการแยกสาขา ตัวดำเนินการแบบมีเงื่อนไข”
แผนการสอน
ความคืบหน้าของบทเรียน
1. ช่วงเวลาขององค์กรการทักทาย การตรวจสอบความพร้อมของบทเรียน การจัดความสนใจของเด็กๆ
มีส่วนร่วมในจังหวะธุรกิจของบทเรียน
2. การอัพเดตความรู้
สวัสดีทุกคน! วันนี้เราจะมาศึกษาไวยากรณ์ของตัวดำเนินการตามเงื่อนไขในภาษากันปาสคาล.
เขียนวันที่วันนี้และหัวข้อของบทเรียนวันนี้: “การเขียนโปรแกรมอัลกอริธึมการแยกสาขา ตัวดำเนินการแบบมีเงื่อนไข”
ตอนนี้เรามาทำซ้ำเนื้อหาจากส่วน "อัลกอริทึม" และบทเรียนก่อนหน้า:
การสร้างอัลกอริทึมแบบใดที่เรียกว่าการแตกแขนง
คุณรู้รูปแบบการแตกสาขาอะไรบ้าง?
วาดบล็อกไดอะแกรมของรูปแบบการแตกแขนงแบบเต็มและแบบย่อ
วิธีการบันทึก ฟังก์ชันลอจิคัลและหรือไม่ใช่ในภาษาปาสคาล.
(ตอบคำถาม)
การแตกแขนงคือการออกแบบอัลกอริธึมซึ่งขึ้นอยู่กับผลลัพธ์ของการตรวจสอบเงื่อนไข ("ใช่" หรือ "ไม่ใช่") จะมีการเลือกลำดับการกระทำ (สาขา) หนึ่งในสองลำดับ
มีรูปแบบการแตกแขนงแบบเต็มและแบบย่อ
บล็อกไดอะแกรม:
และหรือไม่ใช่ตามลำดับ
3. การเรียนรู้เนื้อหาใหม่
ตอนนี้เรามาดูไวยากรณ์ของตัวดำเนินการสาขาในภาษากันปาสคาล- ขั้นแรก ฉันขอแนะนำให้คุณเตรียมตารางที่มีสองคอลัมน์ ติดป้ายกำกับคอลัมน์ของตารางว่า "ตัวดำเนินการตามเงื่อนไขแบบเต็ม" และ "ตัวดำเนินการตามเงื่อนไขแบบย่อ" ตอนนี้ในคอลัมน์ที่เหมาะสม ให้เขียนบล็อกไดอะแกรมของรูปแบบการแตกแขนงแบบเต็มและแบบย่อซึ่งแสดงไว้บนกระดาน
ด้านล่างเราจะเขียน มุมมองทั่วไปรูปแบบเต็มและแบบสั้นของตัวดำเนินการตามเงื่อนไข
แบบฟอร์มเต็มมีไวยากรณ์ดังต่อไปนี้:
ถ้า<условие>
แล้ว<оператор 1>
อื่น<оператор 2>;
ถ้าแล้วตามด้วยคำสั่งที่จะดำเนินการหากเงื่อนไขเป็นจริง จากนั้นก็มีการเขียน คำฟังก์ชั่น อื่นตามด้วยคำสั่งที่จะดำเนินการหากเงื่อนไขกลายเป็นเท็จ
จดบันทึกไว้ในสมุดบันทึกว่าอยู่หน้าคำฟังก์ชันอื่นเข้าสู่ระบบ ";" ไม่ได้ติดตั้ง
รูปแบบสั้นของคำสั่งแบบมีเงื่อนไขมีไวยากรณ์ดังต่อไปนี้:
ถ้า<условие>
แล้ว<оператор 1>;
คำฟังก์ชันจะถูกเขียนก่อนถ้าจากนั้น – เงื่อนไขบนความจริงซึ่งการดำเนินการของสาขาใดสาขาหนึ่งของตัวดำเนินการตามเงื่อนไขขึ้นอยู่กับ หลังจากเงื่อนไข จะมีการเขียนคำฟังก์ชันแล้วตามด้วยคำสั่งที่จะดำเนินการหากเงื่อนไขเป็นจริง
โปรดทราบว่าหากผลการทดสอบอยู่ในสภาพที่เป็นเท็จแล้ว ตัวดำเนินการแบบมีเงื่อนไขในรูปแบบสั้น ๆ มันจะถูกข้ามไปและโปรแกรมจะดำเนินต่อไปเพื่อดำเนินการคำสั่งที่ตามมา สำหรับรูปแบบเต็มของตัวดำเนินการแบบมีเงื่อนไข คำสั่งนี้ไม่เป็นความจริง - มันจะถูกดำเนินการเสมอ (ตัวดำเนินการของหนึ่งในสาขาของตัวดำเนินการแบบมีเงื่อนไขจะถูกดำเนินการ)
โปรดทราบว่าเงื่อนไขในคำสั่งแบบมีเงื่อนไขเป็นแบบง่าย (เขียนโดยใช้ตัวดำเนินการเชิงสัมพันธ์) หรือซับซ้อน (เขียนโดยใช้ การดำเนินการเชิงตรรกะ) การแสดงออกเชิงตรรกะ
(จัดโต๊ะ)
ถ้า <условие>แล้ว <оператор 1>
อื่น <оператор 2>;
ถ้า <условие>
แล้ว <оператор 1>;
ก่อนอื่นเข้าสู่ระบบ ";" ไม่ได้ติดตั้ง!
(เขียนลงในสมุดบันทึก)
เงื่อนไขในคำสั่งแบบมีเงื่อนไขคือนิพจน์เชิงตรรกะแบบง่าย (เขียนโดยใช้การดำเนินการเชิงสัมพันธ์) หรือซับซ้อน (เขียนโดยใช้การดำเนินการเชิงตรรกะ)
4. รวบรวมสิ่งที่ได้เรียนรู้มา
ลองพิจารณาปัญหาต่อไปนี้ (จดเงื่อนไขลงในสมุดบันทึกของคุณ): ผู้ใช้ป้อนสาม ตัวเลขที่แตกต่างกันซึ่งคุณต้องค้นหาค่าขั้นต่ำและแสดงบนหน้าจอ
เรามาลองเปลี่ยนอัลกอริธึมก่อนหน้าสำหรับการแก้ปัญหานี้ เพื่อที่เราจะได้ใช้ลูปที่มีเงื่อนไขภายหลัง ขณะที่ฉันกำลังพิมพ์ปัญหาในตัวแก้ไข ให้จดวิธีแก้ไขปัญหาลงในสมุดบันทึกของคุณ -ฉันร่วมกับนักเรียนในการแก้ปัญหาบนคอมพิวเตอร์ใน IDE และในขณะเดียวกันก็มีการฉายวิธีแก้ปัญหาบนหน้าจอ ].
รายการคำถามที่เป็นไปได้สำหรับการอภิปรายเกี่ยวกับงาน
1) เราต้องอธิบายตัวแปรกี่ตัว?
2) วิธีค้นหาองค์ประกอบขั้นต่ำตามลำดับ องค์ประกอบที่รู้จัก?
ลองมาดูโค้ดต่อไปนี้:
ก:=11;
b:=a div 3;
ก:=ก-ข;
ถ้า a*b mod 2 = 0
จากนั้น writeln(a*b)
อย่างอื่น writeln(b-a);
ค่าของตัวแปร a และ b หลังจากดำเนินการลำดับคำสั่งนี้จะเป็นเท่าใด? สิ่งที่จะปรากฏบนหน้าจอ?
ตอนนี้ไปที่คอมพิวเตอร์ของคุณและทำงานต่อไปนี้ให้เสร็จสิ้นด้วยตัวเอง
1) ค้นหาค่าของฟังก์ชัน y(x) และแสดงบนหน้าจอที่แม่นยำถึงหนึ่งในพัน: . ความหมายxเข้ามาจากแป้นพิมพ์
2) เขียนโปรแกรมที่กำหนดว่าจุด A(x, ย) ของพื้นที่แรเงา รวมถึงขอบเขตของพื้นที่ด้วย:
จดเงื่อนไขลงในสมุดบันทึกของคุณ
เข้าร่วมการอภิปรายปัญหาและจดวิธีแก้ไขลงในสมุดบันทึก
โปรแกรมขั้นต่ำ;
var
a, b, c, min: จริง;
เริ่ม
อ่าน(ก, ข, ค);
นาที:=a;
ถ้าข< min then min:=b;
ถ้าค< min then min:=c;
เขียน(" นาที -> ", นาที);
จบ.
(ตอบคำถาม)
a = 8, b = 3 หมายเลข 24 จะแสดงบนหน้าจอ
แก้ไขปัญหาบนคอมพิวเตอร์ได้อย่างอิสระ
รหัสโปรแกรมสำหรับงานที่ 1:
โปรแกรมฟังก์ชั่น;
var
x, y: จริง;
เริ่ม
อ่าน(x);
ถ้า x<= 5 then
y:=x*x*x+2*x*x-sqrt(5-x)
อื่น
y:=sqrt((x+1)/(3*x*x*x-x));
writeln("y(", x, ") = ", y:0:3);
จบ.
รหัสโปรแกรมสำหรับงานที่ 2:
จุดโปรแกรม;
var
x, y: จริง;
เริ่ม
readln(x, y);
ถ้า (x >= -1) และ (x<= 3) and (y >= -2) และ (y<= 4) then
เขียน("ประเด็นเป็นของภูมิภาค")
อื่น
เขียน("ประเด็นนี้ไม่ได้อยู่ในภูมิภาค");
จบ.
5. สรุป
แล้วคุณได้เรียนรู้อะไรระหว่างบทเรียนวันนี้?
เงื่อนไขในคำสั่งแบบมีเงื่อนไขคืออะไร?
เราได้เรียนรู้ไวยากรณ์ของประโยคเงื่อนไขแบบเต็มและแบบสั้น
นิพจน์เชิงตรรกะที่เรียบง่ายหรือซับซ้อน
6. การบ้าน
มาตรา 3.5
งาน:
1) ให้ความยาวสามส่วน a, b, c ตรวจสอบว่ามีสามเหลี่ยมที่มีด้านดังกล่าวอยู่หรือไม่ หากใช่ ให้แสดงข้อความ “มีสามเหลี่ยมอยู่!” ค้นหาพื้นที่แล้วแสดงในบรรทัดถัดไป ถ้าไม่เช่นนั้น ให้แสดงข้อความ “ไม่มีรูปสามเหลี่ยม”
2) ปัญหาหมายเลข 14 (ตำราเรียน 2555 หน้า 205)
สนามกระดานหมากรุกถูกกำหนดโดยตัวเลขธรรมชาติคู่หนึ่งซึ่งแต่ละจำนวนไม่เกิน 8 เขียนโปรแกรมโดยใช้พิกัดฟิลด์ที่ป้อน (เค, พี) และ (ม, n) กำหนดว่าฟิลด์เหล่านี้เป็นฟิลด์ที่มีสีเดียวกันหรือไม่
ตัวอย่างข้อมูลอินพุตตัวอย่างเอาต์พุต
2 2
3 3
ทุ่งนาที่มีสีเดียวกัน
2 3
3 3
ทุ่งนาที่มีสีต่างกัน
2 7
5 4
ทุ่งนาที่มีสีเดียวกัน
บันทึกไว้ในสมุดบันทึกสุขภาพ
แตกแขนงออกไปเป็นอัลกอริทึมที่ลำดับและจำนวนคำสั่งที่ดำเนินการขึ้นอยู่กับการปฏิบัติตามหรือไม่ปฏิบัติตามเงื่อนไขบางประการ อัลกอริธึมการแยกสาขาใช้คำสั่ง การแตกแขนงและ เลือกจากตัวเลือกจำนวนมาก- การแสดงคำสั่งแยกสาขาแบบกราฟิกจะแสดงในรูปที่ 3.1
ข้าว.3.1 คำสั่งการแยกสาขา: ก) – ในรูปแบบเต็ม; b) , c) – ในรูปแบบย่อ
หากต้องการตั้งโปรแกรมสาขา ให้ใช้โอเปอเรเตอร์ ถ้าและสำหรับการเลือกโปรแกรม - ตัวดำเนินการ สวิตช์และ หยุดพัก.
3.2 ผู้ดำเนินการควบคุมกระบวนการคำนวณแบบแยกสาขา
3.2.1 นิพจน์เชิงตรรกะ
นิพจน์บูลีน(เงื่อนไข) - นิพจน์ที่มี สัญญาณการดำเนินงานเชิงสัมพันธ์และ/หรือ สัญญาณการทำงานเชิงตรรกะ- ค่าของนิพจน์เชิงตรรกะสามารถเป็น 1 ได้เท่านั้นหากนิพจน์เชิงตรรกะเป็น TRUE หรือ 0 หากนิพจน์เชิงตรรกะเป็น FALSE
การดำเนินงานสัมพันธ์เป็นไบนารีและถูกกำหนดดังนี้ (แสดงรายการตามลำดับความสำคัญที่ลดลง):
< (น้อย);
<= (น้อยกว่าหรือเท่ากับ);
> (มากกว่า);
>= (มากกว่าหรือเท่ากับ);
== (เท่ากับ);
!= (ไม่เท่ากัน)
ตัวอย่าง:ก =8.1,ง<>(ห้องน้ำ)
การดำเนินการเชิงตรรกะ- นี่คือการดำเนินการ:
&& - ตรรกะและ (การดำเนินการไบนารี)
- - ตรรกะหรือ (การดำเนินการไบนารี)
! - ตรรกะไม่ (การดำเนินการแบบเอกภาค)
การดำเนินการเชิงตรรกะมีลำดับความสำคัญต่ำกว่าการดำเนินการเชิงสัมพันธ์ ผลลัพธ์ของการดำเนินการเชิงตรรกะแสดงไว้ในตาราง 3.1-3.3
ตารางที่ 3.1 ตารางที่ 3.2 ตารางที่ 3.3
|
|
|
ตัวอย่างเช่น นิพจน์เชิงตรรกะ a>3 && c<7 при a=5, c=6 будет иметь значение ИСТИНА, а при a=3, c=8 – ЛОЖЬ; логическое выражение a>3 || ค<7 при a=5, c=6 будет иметь значение ИСТИНА, при a=2, c=6 – ЛОЖЬ; при a=7 логическое выражение!a>2 จะเป็นเท็จ
เมื่อเขียนนิพจน์เชิงตรรกะ คุณควรคำนึงถึงลำดับความสำคัญของการดำเนินการด้วย
ตัวอย่างการเขียนนิพจน์เชิงตรรกะแสดงไว้ในตารางที่ 3.4
ตารางที่ 3.4
ตารางนิพจน์เชิงตรรกะ
เงื่อนไข |
นิพจน์บูลีน |
x>=ก && x<=b |
|
x ข |
|
หรือ |
x>=ก && x<=b || x>=ค && x<=d |
ต้องมีตัวเลข x, y อย่างน้อยหนึ่งตัวที่เป็นบวก |
x>0 || ใช่>0 |
มีตัวเลข x, y เพียงตัวเดียวเท่านั้นที่เป็นค่าบวก |
(x>0 && !y>0) || (y>0 && !x>0) |
ไม่มีเลขใด x, y ที่เป็นเลขคู่ |
x % 2 !=0 && ปี % 2 !=0 |
จุด (x,y) อยู่ในพื้นที่แรเงา |
x>=0 && x<=a && y>=0 && ป<=b/a*x |
มุมมองทั่วไปของโอเปอเรเตอร์แบบมีเงื่อนไข else ก่อนอื่นจะมีเครื่องหมาย “;” ไม่ได้ติดตั้ง รูปแบบเต็มของตัวดำเนินการแบบมีเงื่อนไข: ifthen มิฉะนั้น หากเป็นเช่นนั้น รูปแบบย่อของตัวดำเนินการแบบมีเงื่อนไข: ifthen if แล้ว การดำเนินการเชิงสัมพันธ์ การดำเนินการเชิงสัมพันธ์ การดำเนินการเชิงตรรกะ การดำเนินการเชิงตรรกะ เงื่อนไขที่ซับซ้อนอย่างง่าย - นิพจน์เชิงตรรกะ!
>>); readln (a, b); เขียน ("ป้อน x>>"); readln (x); if (x>=a) และ (x=a) และ (x" title=" โปรแกรมคำสั่งแบบมีเงื่อนไข n_9; var x, a, b: real;"Определение принадлежности точки отрезку"); write ("Введите а, b>>"); readln (a, b); write ("Введите x>>"); readln (x); if (x>=a) and (x=a) and (x" class="link_thumb">
4
!}โปรแกรมคำสั่งแบบมีเงื่อนไข n_9; var x, a, b: จริง; เริ่มต้น writeln ("การกำหนดว่าจุดนั้นเป็นของกลุ่มหรือไม่"); write("กรอก a, b>>"); readln(ก,ข); write("ใส่ x>>"); อ่าน(x); ถ้า (x>=a) และ (x=a) และ (x >"); readln (a, b); เขียน ("ป้อน x>>"); readln (x); ถ้า (x>=a) และ (x=a) และ (x"> >"); readln ( ก, ข); เขียน ("ป้อน x>>"); ถ้า (x>=a) และ (x">>"); ("ป้อน x>>"); a) และ (x=a) และ (x" title="โปรแกรมคำสั่งแบบมีเงื่อนไข n_9; var x, a, b: real; beginning writeln("Определение принадлежности точки отрезку"); write ("Введите а, b>>"); readln (a, b); write ("Введите x>>"); readln (x); if (x>=a) and (x=a) and (x">
!}
>>); readln (a, b); เขียน ("ป้อน x>>"); readln (x); if (x>=a) และ (x=a) และ (x" title=" โปรแกรมคำสั่งแบบมีเงื่อนไข n_9; var x, a, b: real;"Определение принадлежности точки отрезку"); write ("Введите а, b>>"); readln (a, b); write ("Введите x>>"); readln (x); if (x>=a) and (x=a) and (x">
!}
>"); readln (a, b, c); y:=a; if (b>y) แล้วก็ y:=b; if (c>y) แล้วก็ y:=c; writeln ("y=", y ) สิ้นสุด " title=" รูปแบบย่อของโปรแกรมคำสั่งแบบมีเงื่อนไข n_10; var y, a, b, c: integer; beginning writeln ("Нахождение наибольшей из трёх величин"); write ("Введите а, b, с>>"); readln (a, b, c); y:=a; if (b>y) then y:=b; if (c>y) then y:=c; writeln ("y=", y) end. " class="link_thumb">
5
!}รูปแบบย่อของโปรแกรมคำสั่งแบบมีเงื่อนไข n_10; var y, a, b, c: จำนวนเต็ม; start writeln("การหาปริมาณที่ใหญ่ที่สุดในสามปริมาณ"); write("กรอก a, b, c>>"); readln(ก, ข, ค); ใช่:=a; ถ้า (b>y) แล้ว y:=b; ถ้า (c>y) แล้ว y:=c; writeln("y=", y) สิ้นสุด Y:=A B>ใช่ Y:=B Y:=C C>ใช่ ใช่ ใช่ ไม่ใช่ >"); readln (a, b, c); y:=a; if (b>y) แล้วก็ y:=b; if (c>y) แล้วก็ y:=c; writeln ("y=", y ) สิ้นสุด "> >"); readln (a, b, c); ถ้า (b>y) แล้ว y:=b; ถ้า (c>y) แล้ว y:=c; Y:=A B>Y Y:=B Y:=C C>Y danet"> >"); readln (a, b, c); y:=a; if (b>y) แล้ว y:=b; c>y) จากนั้น y:=c; writeln ("y=", y) end. " title=" รูปแบบย่อของโปรแกรมคำสั่งแบบมีเงื่อนไข n_10; var y, a, b , c: integer; beginning เขียน ("Нахождение наибольшей из трёх величин"); write ("Введите а, b, с>>"); readln (a, b, c); y:=a; if (b>y) then y:=b; if (c>y) then y:=c; writeln ("y=", y) end. ">
!}
>"); readln (a, b, c); y:=a; if (b>y) แล้วก็ y:=b; if (c>y) แล้วก็ y:=c; writeln ("y=", y ) สิ้นสุด " title=" รูปแบบย่อของโปรแกรมคำสั่งแบบมีเงื่อนไข n_10; var y, a, b, c: integer; beginning writeln ("Нахождение наибольшей из трёх величин"); write ("Введите а, b, с>>"); readln (a, b, c); y:=a; if (b>y) then y:=b; if (c>y) then y:=c; writeln ("y=", y) end. ">
!}
คำสั่งผสม thenelse ในคำสั่งแบบมีเงื่อนไข สามารถใช้คำสั่งได้เพียง 1 คำสั่งเท่านั้นหลังจากทั้ง then และอย่างอื่น ถ้าอย่างนั้น ถ้าในคำสั่งแบบมีเงื่อนไขหลังจากนั้นหรือหลังจากนั้น คุณต้องดำเนินการหลาย ๆ คำสั่ง ให้ใช้ตัวดำเนินการแบบผสม - การสร้างแบบฟอร์ม: beginning end
0 ใช่ เริ่มป้อนค่าสัมประสิทธิ์ a, b, c d:=b*b-4*a*c d 0 ใช่ เริ่มป้อนค่าสัมประสิทธิ์ a, b, c d:=b*b-4*a*c d 7บล็อกไดอะแกรมของโซลูชัน CVUR ข้อสรุปสุดท้าย “รากของสมการ: x1=”, x1, “x2=”, x2 x1:=(-b+sqrt(d))/2/a d>0 ใช่ เริ่มต้น ป้อนค่าสัมประสิทธิ์ a, b, c d :=b*b-4*a*c d 0 ใช่ เริ่มป้อนค่าสัมประสิทธิ์ a, b, c d:=b*b-4*a*c d 0 ใช่ เริ่มป้อนค่าสัมประสิทธิ์ a, b, c d:=b*b -4* a*c d 0 ใช่ เริ่มป้อนค่าสัมประสิทธิ์ a, b, c d:=b*b-4*a*c d 0 ใช่ เริ่มป้อนค่าสัมประสิทธิ์ a, b, c d:=b*b-4*a*c d title= "(! LANG: บล็อกไดอะแกรมของโซลูชัน CVUR เอาต์พุตสุดท้าย “รากของสมการ: x1=”, x1, “x2=”, x2 x1:=(-b+sqrt(d))/2/a d>0 ใช่ เริ่มต้น ป้อนค่าสัมประสิทธิ์ a, b , c d:=b*b-4*a*c d
เริ่มต้น x1:=(-b+sqrt(d))/2/a; x2:=(-b-sqrt(d))/2/a; เขียน("Корни уравнения:"); writeln ("x1=", x1:9:3); writeln ("x2=", x2:9:3) end; begin x1:=(-b+sqrt(d))/2/a; x2:=(-b-sqrt(d))/2/a; writeln ("Корни уравнения:"); writeln ("x1=", x1:9:3); writeln ("x2=", x2:9:3) end; begin x:=-b/2/a; writeln ("Корень уравнения x=", x:9:3) end; begin x:=-b/2/a; writeln ("Корень уравнения x=", x:9:3) end; program n_11; var a, b, c: real; var d: real; var x, x1, x2: real; begin writeln ("Решение квадратного уравнения"); write ("Введите коэффициенты a, b, c >>"); readln (a, b, c); d:=b*b-4*a*c; if d0 then end. !} >"); readln (a, b, c); d:=b*b-4*a*c; ถ้า d0 ก็จบ">
>"); readln (a, b); ถ้า a0 ให้เริ่มต้น x:=-b/a; writeln ("รากของสมการ x=", x:9:3) จบอย่างอื่นถ้า b0 แล้วเขียน" title=" (! LANG:Solution สมการเชิงเส้นโปรแกรม n_12; var a, b, x: จริง; start writeln("การแก้สมการเชิงเส้น"); write("ระบุค่าสัมประสิทธิ์ a, b>>"); readln(ก, ข); ถ้า a0 ให้เริ่มต้น x:=-b/a; writeln ("รากของสมการ x=", x:9:3) ลงท้ายอย่างอื่นถ้า b0 แล้วเขียน" class="link_thumb"> 10ผลเฉลยของโปรแกรมสมการเชิงเส้น n_12; var a, b, x: จริง; start writeln("การแก้สมการเชิงเส้น"); write("ระบุค่าสัมประสิทธิ์ a, b>>"); readln(ก, ข); ถ้า a0 ให้เริ่มต้น x:=-b/a; writeln ("รากของสมการ x=", x:9:3) ลงท้ายอย่างอื่นถ้า b0 แล้ว writeln ("ไม่มีราก") อย่างอื่น writeln ("x คือตัวเลขใดๆ"); จบ. ไม่มีราก รายการข้อมูล a, b, x - สิ่งของ a, b a0 x:=-b/a b0 ตัวเลขใดๆ ไม่ ใช่ ไม่ >"); readln (a, b); ถ้า a0 ให้เริ่มต้น x:=-b/a; writeln ("รากของสมการ x=", x:9:3) จบอย่างอื่นถ้า b0 แล้วเขียน wri"> >") ; readln (a, b); ถ้า a0 ให้เริ่มต้น x:=-b/a; writeln ("รากของสมการ x=", x:9:3) จบอย่างอื่นถ้า b0 แล้ว writeln ("ไม่มีราก") อย่างอื่นเขียน (" x – ตัวเลขใดๆ"); สิ้นสุด ไม่มีราก รายการข้อมูล a, b, x - สิ่ง a, b a0 x:=-b/a b0 ตัวเลขใดๆ ไม่ ใช่ ไม่ใช่">"); b); ถ้า a0 เริ่มต้น x:=-b/a; writeln ("รากของสมการ x=", x:9:3) จบอย่างอื่นถ้า b0 แล้ว wri" title="การแก้สมการเชิงเส้น โปรแกรม n_12; var a, b, x: จริง;"Решение линейного уравнения"); write ("Введите коэффициенты a, b>>"); readln (a, b); if a0 then begin x:=-b/a; writeln ("Корень уравнения x=", x:9:3) end else if b0 then wri">
!}
>"); readln (a, b); ถ้า a0 ให้เริ่มต้น x:=-b/a; writeln ("รากของสมการ x=", x:9:3) จบอย่างอื่นถ้า b0 แล้วเขียน" title=" (! LANG:การแก้โปรแกรมสมการเชิงเส้น n_12; var a, b, x: real; beginning writeln ("Решение линейного уравнения"); write ("Введите коэффициенты a, b>>"); readln (a, b); if a0 then begin x:=-b/a; writeln ("Корень уравнения x=", x:9:3) end else if b0 then wri">
!}
สิ่งที่สำคัญที่สุดเมื่อเขียนอัลกอริธึมการแยกสาขาใน Pascal ตัวดำเนินการแบบมีเงื่อนไขจะถูกใช้: หากเป็นอย่างอื่น ในการเขียนสาขาที่ไม่สมบูรณ์จะใช้ตัวดำเนินการแบบมีเงื่อนไขที่สั้นลง: หากเป็นเช่นนั้น หากภายใต้เงื่อนไขบางประการจำเป็นต้องดำเนินการตัวดำเนินการตามลำดับบางอย่าง จากนั้นพวกมันจะรวมกันเป็นตัวดำเนินการแบบผสมตัวเดียว ซึ่งมีลักษณะดังนี้: beginning end
>3, 4 ประเด็นแรก" title="คำถามและงาน การแตกสาขาที่สมบูรณ์และไม่สมบูรณ์ที่เขียนด้วยภาษา Pascal เป็นอย่างไร? ลำดับของอักขระเป็นตัวดำเนินการแบบมีเงื่อนไขหรือไม่ a) ถ้า x=y แล้ว x:=0; y:=0 อย่างอื่นเขียน (z) c) ถ้า xb แล้ว d:=2; ถ้า a1, 2 พิกัดของจุดที่ 2>>3, 4 จุดที่หนึ่ง" class="link_thumb"> 12 !} คำถามและงาน การแตกสาขาที่สมบูรณ์และไม่สมบูรณ์เขียนด้วยภาษา Pascal อย่างไร ตัวดำเนินการแบบมีเงื่อนไขเป็นลำดับของอักขระหรือไม่? ก) ถ้า x=y แล้ว x:=0; y:=0 อย่างอื่นเขียน (z) c) ถ้า xb แล้ว d:=2; ถ้า a1, 2 พิกัดของจุดที่ 2>>3, 4 จุดแรกอยู่ใกล้กว่า ตัวอย่างข้อมูลอินพุต ตัวอย่างข้อมูลเอาต์พุต a b c>> 1 2 1 ไม่มี a b c>> 2 2 2 a b c ด้านเท่ากันหมด>> หน้าจั่ว a b c>> 3 4 5 Scalene ให้เลขธรรมชาติ 3 จำนวน เขียนโปรแกรมเพื่อพิจารณาว่าสามเหลี่ยมที่มีความยาวด้านเหล่านี้มีอยู่จริงหรือไม่ หากมีสามเหลี่ยมดังกล่าวอยู่ ให้กำหนดประเภทของมัน (ด้านเท่ากันหมด, หน้าจั่ว, ด้านไม่เท่า) มีข้อมูลเกี่ยวกับจำนวนปีเต็มของผู้ชนะ Spartakiad สามคน เขียนโปรแกรมเลือกและแสดงอายุของผู้ชนะที่อายุน้อยที่สุด ตัวอย่างข้อมูลอินพุต ตัวอย่างข้อมูลเอาต์พุต k, 1>>-1 5 xa, ya >>1 2 จุดอยู่ใต้เส้น k, 1>>-1 5 xa, ya >>1 10 จุดอยู่เหนือเส้น k, 1>>-1 5 xa, ya >>1 4 จุดอยู่บนเส้น เขียนโปรแกรมเพื่อพิจารณาว่าจุด A(xa, ya) อยู่หรือไม่: a) บนเส้นตรง y = kx + 1 เหนือจุดนั้น หรือต่ำกว่านั้น b) บนวงกลม x 2 + y 2 = r 2 ด้านบนหรือด้านล่าง พัฒนาตัวอย่างข้อมูลอินพุตและข้อมูลเอาต์พุตที่เกี่ยวข้องด้วยตนเอง ตัวอย่างข้อมูลอินพุต ตัวอย่างข้อมูลเอาต์พุต x >> 5 y >> 6 x = 5 y = 6 x >> 6 y >> 5 x = 5 y = 6 เขียนโปรแกรมที่แลกเปลี่ยนค่าของตัวแปร x และ y ถ้า x มากกว่า y กำหนดคำสั่งแบบมีเงื่อนไข: ถ้า a5 แล้ว c:=2 มิฉะนั้น c:=3 ตัวแปร a มีค่าอะไร หากเป็นผลจากการดำเนินการคำสั่งแบบมีเงื่อนไข ตัวแปร c ถูกกำหนดให้เป็นค่า 3 ตัวอย่างข้อมูลอินพุต ตัวอย่างข้อมูลเอาต์พุต -5y = - 1 0y = 0 5y = 1 เขียนโปรแกรมคำนวณค่าฟังก์ชัน: -1 สำหรับ x 0 y = เขียนโปรแกรมแก้ปัญหา เป็นที่ทราบกันว่าเดือนมกราคม วันที่ 31 พ.ศ. 2554 ตรงกับวันจันทร์ ควรกำหนดค่าใดให้กับตัวแปรตัวอักษร y ในอัลกอริทึมที่กำหนดวันในสัปดาห์สำหรับตัวเลขใด ๆ (chislo) ของเดือนมกราคม 2554 chislo:= chislo mod 7 ถ้า chislo=3 แล้ว y:="... ถ้า chislo=4 แล้ว y:="... ถ้า chislo=5 แล้ว y:="... ถ้า chislo=6 แล้ว y:= "... ถ้า chislo=0 แล้ว y:="... ถ้า chislo=1 แล้ว y:="... ถ้า chislo=2 แล้ว y:="... ตัวอย่างข้อมูลอินพุต ตัวอย่างข้อมูลเอาต์พุต พิกัดของ สนามที่ 1 >> 2 2 พิกัดของสนามที่ 2 >> 3 3 สนามที่มีสีเดียวกัน พิกัดของสนามที่ 1 >> 2 3 พิกัดของสนามที่ 2 >> 3 3 สนามที่มีสีต่างกัน พิกัดของสนามที่ 1 >> 2 7 พิกัดของสนามที่ 2 >> 5 4 สนามที่มีสีเดียวกัน สนามกระดานหมากรุกถูกกำหนดโดยตัวเลขธรรมชาติคู่หนึ่งซึ่งแต่ละจำนวนต้องไม่เกิน 8 เขียนโปรแกรมโดยอาศัยพิกัดที่ป้อนของสองฟิลด์ (k, l) และ (m, n) เพื่อกำหนดว่าฟิลด์เหล่านี้เป็นฟิลด์ที่มีสีเดียวกันหรือไม่ เขียนโปรแกรมโดยให้ผู้ใช้กรอกจำนวนเต็ม a ถึง 100 (a คือตัวเลขสุ่มที่น้อยกว่า 100) คำตอบของผู้ใช้ได้รับการตรวจสอบและแสดงความคิดเห็น >3, 4 จุดแรก"> >3, 4 จุดแรกอยู่ใกล้กว่า ตัวอย่างข้อมูลอินพุต ตัวอย่างข้อมูลเอาต์พุต a b c>> 1 2 1ไม่มี a b c>> 2 2 2 ด้านเท่ากันหมด a b c>> 20 20 30หน้าจั่ว a b c>> 3 4 5 มีการกำหนดจำนวนธรรมชาติ 3 จำนวนให้เขียนโปรแกรมเพื่อพิจารณาว่ามีรูปสามเหลี่ยมที่มีความยาวด้านดังกล่าวหรือไม่ ของผู้ชนะทั้งสามคนของ Spartakiad เขียนโปรแกรมที่เลือกและแสดงอายุของผู้ชนะที่อายุน้อยที่สุด เส้น k, 1>>-1 5 xa, ya >>1 10 จุดอยู่เหนือเส้น k, 1>>- 1 5 xa, ya >>1 4 จุดอยู่บนเส้น เขียนโปรแกรมเพื่อพิจารณาว่า จุด A(xa, ya) อยู่: a) บนเส้นตรง y = kx + 1 ด้านบนหรือด้านล่าง b) บนวงกลม x 2; + y 2 = r 2 พัฒนาตัวอย่างอินพุต data และข้อมูลเอาต์พุตที่สอดคล้องกันด้วยตัวคุณเอง ตัวอย่างข้อมูลอินพุต ตัวอย่างข้อมูลเอาต์พุต x >> 5 y >> 6 x = 5 y = 6 x >> 6 y >> 5 x = 5 y = 6 เขียนโปรแกรมที่แลกเปลี่ยนค่าของตัวแปร x และ y ถ้า x มากกว่า y กำหนดคำสั่งแบบมีเงื่อนไข: ถ้า a5 แล้ว c:=2 มิฉะนั้น c:=3 ตัวแปร a มีค่าอะไร หากเป็นผลจากการดำเนินการคำสั่งแบบมีเงื่อนไข ตัวแปร c ถูกกำหนดให้เป็นค่า 3 ตัวอย่างข้อมูลอินพุต ตัวอย่างข้อมูลเอาต์พุต -5y = - 1 0y = 0 5y = 1 เขียนโปรแกรมคำนวณค่าฟังก์ชัน: -1 สำหรับ x 0 y = เขียนโปรแกรมแก้ปัญหา เป็นที่ทราบกันว่าเดือนมกราคม วันที่ 31 พ.ศ. 2554 ตรงกับวันจันทร์ ควรกำหนดค่าใดให้กับตัวแปรตัวอักษร y ในอัลกอริทึมที่กำหนดวันในสัปดาห์สำหรับตัวเลขใด ๆ (chislo) ของเดือนมกราคม 2554 chislo:= chislo mod 7 ถ้า chislo=3 แล้ว y:="... ถ้า chislo=4 แล้ว y:="... ถ้า chislo=5 แล้ว y:="... ถ้า chislo=6 แล้ว y:= "... ถ้า chislo=0 แล้ว y:="... ถ้า chislo=1 แล้ว y:="... ถ้า chislo=2 แล้ว y:="... ตัวอย่างข้อมูลอินพุต ตัวอย่างข้อมูลเอาต์พุต พิกัดของ สนามที่ 1 >> 2 2 พิกัดของสนามที่ 2 >> 3 3 สนามที่มีสีเดียวกัน พิกัดของสนามที่ 1 >> 2 3 พิกัดของสนามที่ 2 >> 3 3 สนามที่มีสีต่างกัน พิกัดของสนามที่ 1 >> 2 7 พิกัดของฟิลด์ที่ 2 >> 5 4 ฟิลด์ที่มีสีเดียวกัน สนามกระดานหมากรุกถูกกำหนดโดยคู่ของตัวเลขธรรมชาติซึ่งแต่ละค่าไม่เกิน 8 เขียนโปรแกรมโดยยึดตามพิกัดที่ป้อนของสองฟิลด์ (k, l) และ (m, n) กำหนดว่าฟิลด์เหล่านี้เป็นฟิลด์ที่มีสีเดียวกันหรือไม่ ให้เขียนโปรแกรมโดยให้ผู้ใช้เติมเลขจำนวนหนึ่งให้เป็น 100 จำนวนเต็ม a (a คือตัวเลขสุ่มที่น้อยกว่า 100) คำตอบของผู้ใช้จะถูกตรวจสอบและแสดงความคิดเห็น"> >3, 4 First point" title="Questions and jobs การแตกสาขาที่สมบูรณ์และไม่สมบูรณ์เขียนด้วยภาษา Pascal อย่างไร ลำดับของอักขระเป็นตัวดำเนินการตามเงื่อนไขหรือไม่ a) ถ้า x =y แล้ว x :=0; y:=0 อย่างอื่นเขียน (z) c) ถ้า xb แล้ว d:=2; ถ้า a1, 2 พิกัดของจุดที่ 2>>3, 4 จุดเริ่มต้น"> title="คำถามและงาน การแตกสาขาที่สมบูรณ์และไม่สมบูรณ์เขียนด้วยภาษา Pascal อย่างไร ตัวดำเนินการแบบมีเงื่อนไขเป็นลำดับของอักขระหรือไม่? ก) ถ้า x=y แล้ว x:=0; y:=0 อย่างอื่นเขียน (z) c) ถ้า xb แล้ว d:=2; ถ้า a1, 2 พิกัดของจุดที่ 2>>3, 4 จุดที่หนึ่ง"> !}
การพัฒนาระเบียบวิธีของบทเรียน
หัวข้อบทเรียน: การเขียนโปรแกรมอัลกอริธึมการแยกสาขา ตัวดำเนินการแบบมีเงื่อนไข
แนวคิดบทเรียน:
การเรียนวิทยาการคอมพิวเตอร์ที่โรงเรียนช่วยให้คุณสามารถระบุโลกแห่งแบบจำลองและสัญญาณกับโลกแห่งปัญหาที่แท้จริงเพื่อค้นหาแนวทางแก้ไข
วัตถุประสงค์ของบทเรียน:
ทำความคุ้นเคยกับอัลกอริธึมการแบรนช์และตัวดำเนินการแบบมีเงื่อนไขที่ใช้อัลกอริธึมการแบรนช์ในภาษาโปรแกรม Pascal
งาน:
การฝึกอบรมกิจกรรมภาคปฏิบัติอิสระ
การเลือกโซลูชั่นที่มีประสิทธิภาพ
การพัฒนาทักษะการทำงานเป็นทีม
การพัฒนาทักษะการวิเคราะห์ตนเองและความนับถือตนเอง
ผลลัพธ์ที่วางแผนไว้:
เรื่อง
ทำความรู้จักกับการแยกสาขาและตัวดำเนินการเชิงตรรกะ
กฎระเบียบ:
เมตาหัวข้อ
กำหนดเป้าหมายการรับรู้อย่างอิสระ
วางแผนการดำเนินการตามเป้าหมายที่เลือก
ทำนายผลงานของคุณ
สามารถสังเกตและวิเคราะห์กิจกรรมการศึกษาและการรับรู้ของตนเองและกิจกรรมของนักเรียนคนอื่น ๆ ในกระบวนการตรวจสอบตนเองและร่วมกัน
ประเมินผลลัพธ์ที่ได้รับ
การสื่อสาร:
ดำเนินกิจกรรมร่วมกันในกลุ่ม
สามารถสร้างประโยคคำพูดได้
ถามคำถามเพื่อรับข้อมูลที่จำเป็น
2.3 ความรู้ความเข้าใจ :
แต่งหน้า แบบจำลองทางคณิตศาสตร์ขึ้นอยู่กับสถานการณ์ในชีวิตจริง
เน้นข้อมูลที่มีนัยสำคัญในการแก้ปัญหาและซ้ำซ้อน
ทำความคุ้นเคยกับอัลกอริธึมการแยกสาขา
ศึกษาการบันทึกอัลกอริธึมการแยกสาขาด้วยวาจาและการใช้ผังงาน
ทำความคุ้นเคยกับตัวดำเนินการแบบมีเงื่อนไขที่ใช้อัลกอริธึมการแยกสาขา
เพื่อรวมผลลัพธ์ นักเรียนจะต้องสร้างอัลกอริทึมและคำสั่งแบบมีเงื่อนไขสำหรับปัญหาต่างๆ
เพื่อควบคุมและตรวจสอบความเชี่ยวชาญของเนื้อหา นักเรียนจะต้องเขียนโปรแกรมขนาดเล็กในภาษาปาสคาลโดยใช้ตัวดำเนินการแบบมีเงื่อนไข โดยก่อนหน้านี้ได้รวบรวมอัลกอริธึมทางวาจาและผังงานไว้แล้ว
ส่วนตัว:
พัฒนาการคิดเชิงตรรกะความสามารถในการสรุประบุ;
การสร้างแรงจูงใจที่ยั่งยืนสำหรับการศึกษาด้วยตนเองและการประยุกต์ใช้ทักษะที่ได้รับในทางปฏิบัติ
การก่อตัวของความสนใจความสามารถในการสังเกตและรวบรวมความรู้
พัฒนาความสามารถในการเปรียบเทียบ ค้นหาความแตกต่างและความเหมือน
เทคโนโลยีการศึกษา:
บทเรียนใช้องค์ประกอบของการเรียนรู้ตามโครงงาน การเรียนรู้ตามปัญหา และเทคโนโลยี ICT
เครื่องมือ ICT ที่ใช้ในบทเรียน:หน้าจอคอมพิวเตอร์
หนังสือเรียนชั้นประถมศึกษาปีที่ 8 “สารสนเทศ” นิติศาสตร์มหาบัณฑิต Bosova, A.Y. โบโซวา. – อ.: บินอม, 2014;
หนังสือเรียน “การเขียนโปรแกรมและพื้นฐานของอัลกอริทึม” /เอจี อุซยัค, ยู.เอ. โบโกโมลอฟ, A.I. มาลิโคฟ ปริญญาตรี สตารอสติน. - คาซาน: สำนักพิมพ์ KNITU-KAI, 2013.
ตำราเรียนโดย Faronov V.V. เทอร์โบ ปาสคาล 7.0 เริ่มหลักสูตร” – อ.: กลุ่ม OMD, 2013;
แผนที่เทคโนโลยีชั้นเรียน |
|
การกระทำของครู | กิจกรรมนักศึกษา |
ขั้นตอนที่ 1 - การสร้างความหมาย | |
วันนี้เราจะมาทำความรู้จักกับอัลกอริธึมการแยกสาขาและตัวดำเนินการแบบมีเงื่อนไขที่ใช้อัลกอริทึมการแยกสาขา | |
อัลกอริทึมคืออะไร? อัลกอริธึมการเขียนวิธีใดที่ใช้บ่อยที่สุด? | อัลกอริทึมเป็นการกำหนดที่แม่นยำซึ่งกำหนดลำดับของการกระทำเพื่อให้ได้ผลลัพธ์ที่ต้องการจากข้อมูลเริ่มต้น เมื่อพัฒนาโปรแกรม มักใช้วิธีสูตรคำและผังงานบ่อยที่สุด |
อัลกอริธึมประเภทใดบ้างตามประเภทของกระบวนการคำนวณ? | ตามประเภทของกระบวนการคำนวณที่ใช้ อัลกอริธึมเป็นแบบเชิงเส้น (โดยตรง) การแตกแขนง และแบบวน |
อัลกอริธึมการแยกสาขา อธิบายกระบวนการคำนวณที่นำไปใช้ในทิศทางใดทิศทางหนึ่งที่กำหนดไว้ล่วงหน้า - สาขา การเลือกสาขาการคำนวณเฉพาะขึ้นอยู่กับผลลัพธ์ของการตรวจสอบการปฏิบัติตามเงื่อนไขตรรกะบางประการ ผลลัพธ์ของการทดสอบคือ "จริง" (ใช่) หากตรงตามเงื่อนไข และ "เท็จ" (ไม่ใช่) หากไม่ตรงตามเงื่อนไข | เขียนคำจำกัดความของอัลกอริธึมการแยกสาขา |
ด่าน 2 – ปฏิบัติการ |
|
ตัวอย่างที่ 1 พัฒนาอัลกอริธึมเพื่อกำหนดฟังก์ชัน ฉ(x) = 2 xสำหรับ x > 0 และ F(x) = x 2 ที่ x<= 0. | เขียนตัวอย่างที่ 1 ลงในสมุดบันทึกของคุณ |
อัลกอริธึมทางวาจา งานนี้จะมีลักษณะเช่นนี้: มีการตรวจสอบว่าตัวแปร X มากกว่าหรือน้อยกว่าศูนย์ หากตัวแปร X มากกว่าศูนย์ แสดงว่าค่าของฟังก์ชันเอฟ(x)=2x; หากตัวแปร X น้อยกว่าศูนย์ แสดงว่าค่าของฟังก์ชันเอฟ(x)=x 2 | เขียนอัลกอริทึมทางวาจาของตัวอย่างที่ 1 |
อัลกอริธึมการแยกสาขาจะแสดงในแผนภาพบล็อกโดยบล็อก "เงื่อนไข" ในรูปแบบของเพชร ซึ่งมีหนึ่งอินพุตและเอาต์พุตอย่างน้อย 2 รายการ: "ใช่" หากตรงตามเงื่อนไขในบล็อกและ "ไม่" หากตรงตามเงื่อนไข ในบล็อกไม่เป็นไปตามนั้น แต่อาจมีทางออกได้หลายทางจากบล็อกแบบมีเงื่อนไข เราจะพิจารณาตัวเลือกนี้ในภายหลัง | เขียนบล็อกแบบมีเงื่อนไข ไม่ ใช่ |
บล็อกไดอะแกรม อัลกอริธึมการแยกสาขาสำหรับตัวอย่างที่พิจารณา 1 จะแสดงในรูปที่ 1 ไม่เชิง รูปที่ 1 - อัลกอริธึมการแยกสาขา | วาดผังงานของอัลกอริทึมตัวอย่างที่ 1 ลงในสมุดบันทึก |
ใน Pascal อัลกอริธึมการแยกสาขาจะใช้ตัวดำเนินการแบบมีเงื่อนไขถ้า- รูปแบบบันทึกของผู้ปฏิบัติงานถ้าต่อไป: ถ้า <условие> แล้ว <оператор>- เป็นรูปแบบที่ไม่สมบูรณ์ของอัลกอริธึมการแยกสาขา ตัวอย่างที่ 2: ถ้าx<5 แล้วเขียน(x); เงื่อนไข (ในกรณีนี้คือ x<5) – это любое выражение типа บูลีน. | เขียนข้อความเงื่อนไขที่ไม่สมบูรณ์ลงในสมุดบันทึกของคุณ |
รูปที่ 2 – บล็อกไดอะแกรมของรูปแบบอัลกอริธึมที่ไม่สมบูรณ์พร้อมการแยกสาขา (ตัวอย่างที่ 2) | การร่างผังงานรูปแบบของอัลกอริธึมที่ไม่สมบูรณ์พร้อมการแยกสาขา |
การใช้งานซอฟต์แวร์ตัวอย่างที่ 1: ถ้าx>0 แล้วฉ:=2* xอื่นฉ:= x* x; มาเปลี่ยนงานนี้กันหน่อย: ตัวอย่างที่ 3: ถ้า x<5, то вывести на экран х, иначе вывести текст “ x>=5". ในทั้งสองกรณี x ต้องเพิ่มขึ้น 1 ตัวดำเนินการแบบมีเงื่อนไขแบบขยายถูกใช้ที่นี่ - การแยกสาขาแบบเต็ม: ถ้า … แล้ว … อื่น- แปลดังนี้: ถ้า...แล้ว. .. มิฉะนั้น …; รูปแบบบันทึกของผู้ปฏิบัติงาน: ถ้า <условие> แล้ว <оператор-да> อื่น <оператор-нет>; ข้อควรจำ: ต่อหน้าผู้ปฏิบัติงาน อื่น ไม่มีอัฒภาค! | เขียนการใช้งานซอฟต์แวร์ตามตัวอย่างที่ 1 เขียนเงื่อนไขของปัญหาที่ถูกแก้ไข (ตัวอย่างที่ 3) และคำสั่งเงื่อนไขเพิ่มเติม เขียนรูปแบบเพิ่มเติมของคำสั่งแบบมีเงื่อนไข เขียนเงื่อนไขนี้โดยเน้นด้วยตัวหนาและ! |
แผนภาพบล็อกของตัวอย่างที่ 3: ไม่เชิง รูปที่ 3 – บล็อกไดอะแกรมของตัวอย่างที่ 3 | ร่างแผนภาพบล็อกของตัวอย่างที่ 3 |
การใช้ซอฟต์แวร์ตัวอย่างที่ 3 ตามบล็อกไดอะแกรมในรูป 3: ถ้า x<5 then writeln(x) x:= x+1; โปรดทราบว่าผู้ประกอบการอื่นจะดีกว่าถ้าเขียนภายใต้โอเปอเรเตอร์แล้วตามที่เขียนไว้ข้างต้นจะสะดวกกว่าในการอ่านและทำความเข้าใจโปรแกรม | เขียนการใช้งานซอฟต์แวร์ตามตัวอย่างที่ 3 |
คำสั่งแบบมีเงื่อนไขสามารถมีการซ้อนได้หลายระดับ ลองดูตัวอย่างที่ 4: ย(x) = | เขียนตัวอย่างที่ 4 ที่มีการซ้อนหลายระดับ |
ใช่ ไม่ ใช่ เลขที่ รูปที่ 4 – บล็อกไดอะแกรมของตัวอย่างที่ 4 | ร่างแผนภาพบล็อกของตัวอย่างที่ 4 |
การใช้งานซอฟต์แวร์ตัวอย่างที่ 4 ใน Pascal จะมีลักษณะดังนี้: ถ้า x=0 แล้ว y:=1 อย่างอื่น ถ้า x>0 แล้ว y:=x อย่างอื่น y:=x*x; อาจมีระดับการทำรังมากขึ้น | เขียนการใช้งานซอฟต์แวร์ตามตัวอย่างที่ 4 |
ขั้นที่ 3 - ประเมินผลและไตร่ตรอง |
|
ในการรวมวัสดุ คุณจะต้องสร้างผังงานและโปรแกรมอย่างอิสระคคอมไพล์รันและรับผลลัพธ์ มาเขียนโปรแกรมตัวอย่างที่ 4: โปรแกรมนายกรัฐมนตรี 4; วาร์ x,y: จริง; เริ่ม เขียน('ป้อนค่า x ’); ถ้า x=0 แล้ว y:=1 Writeln('x=',x,' y=',y); จบ. ในโปรแกรม ตัวแปร x, y จะถูกประกาศก่อน จากนั้นจึงป้อนค่า x จากนั้นค่า x จะถูกตรวจสอบโดยโอเปอเรเตอร์ที่ซ้อนกันแบบมีเงื่อนไข และค่า y จะถูกกำหนด ขึ้นอยู่กับค่าของ x โปรดทราบว่าผู้ปฏิบัติงานอื่นอ้างถึงคำสั่งสุดท้ายแล้ว. หลังจากกำหนด y แล้ว ค่าของ x และ y จะถูกพิมพ์ ตัวดำเนินการเขียน(‘ x=’, x,’ ย=’, ย- จะดำเนินการไม่ว่ากรณีใดก็ตาม | บันทึกโปรแกรมนายกรัฐมนตรี4 ลงในสมุดบันทึกแล้วพิมพ์โปรแกรมนายกรัฐมนตรี 4 บนคอมพิวเตอร์ ความคิดเห็นเกี่ยวกับรายการจะถูกบันทึกไว้ด้วย Alt- เอฟ 9. หากการคอมไพล์สำเร็จ จะมีการเรียกทำงานเพื่อดำเนินการCtrl- เอฟ 9 สำหรับ x=3 คำตอบ: x=3 y=3 |
ตรวจสอบว่านักเรียนพิมพ์โปรแกรมถูกต้องหรือไม่ | |
ตัวอย่างที่ 5: ป้อนตัวเลขสามตัว a,ข, ค- หากไม่มีตัวเลขใดเป็นศูนย์ แสดงว่าตัวแปรซีเนียร์เขียนค่าเฉลี่ยเลขคณิตของตัวเลขสามตัว วาดผังงานของอัลกอริทึมและเขียนโปรแกรมตัวอย่างที่ 5 แผนภาพบล็อกอัลกอริทึม: เลขที่ ใช่ โปรแกรมปาสคาล: โปรแกรม Prim5; var a, b, c: จำนวนเต็ม; sr: จริง; เริ่ม เขียน('ป้อนตัวเลข ก, ข, ค’); อ่าน(ก, ข, ค); ถ้า (ก<>0)และ(ข<>0)และ(ค<>0) แล้วก็ sr:=(a+b+c)/3; จบ. ตัวเลขก ข, คเข้ามาจากแป้นพิมพ์โดยคั่นด้วยช่องว่าง ครูตรวจสอบความถูกต้องของผังงาน ชุดโปรแกรมของนักเรียน และความถูกต้องของคำตอบ | ทำบล็อกไดอะแกรมและโปรแกรมบนคอมพิวเตอร์ตามตัวอย่างที่ 5 แก้ไขข้อผิดพลาดในการคอมไพล์ ถ้ามี ให้เรียกใช้เพื่อดำเนินการกับชุดตัวเลข: 5 8 11 คำตอบ: 8. |
หากเป็นไปตามเงื่อนไขเช่น หลังจากผู้ปฏิบัติงานแล้วหรือหลังผู้ปฏิบัติงานอื่นคุณต้องรันโอเปอเรเตอร์หลายตัว จากนั้นโอเปอเรเตอร์หลายตัวเหล่านี้จะอยู่ในตัวดำเนินการผสมที่เกิดจากโอเปอเรเตอร์เริ่มและ จบ. ตัวอย่างที่ 6: ย(x) = การใช้งานซอฟต์แวร์ตัวอย่างที่ 6: ถ้าx>0 แล้วเริ่มย:= x* x; x:= x+1; จบ อย่างอื่น y:=x; | เขียนตัวอย่างที่ 7 และการใช้งานซอฟต์แวร์ |
ตัวอย่างที่ 7: ป้อนตัวเลขสามตัว a,ข, ค- กำหนดจำนวนสูงสุดของพวกเขา เขียนแผนภาพบล็อกและเขียนโปรแกรม แผนภาพบล็อกอัลกอริทึม: ใช่ เลขที่ เลขที่ ไม่ ใช่ โปรแกรม: โปรแกรมนายกรัฐมนตรี 7; Var a, b, c, m: จำนวนเต็ม; เริ่ม เขียน('ป้อนตัวเลข ก, ข, ค’); อ่าน(ก, ข, ค); ม:=ก; ถ้าb>mแล้วm:=b; ถ้า c>m แล้ว m:=c; เขียน('จำนวนสูงสุด=',ม); จบ. | ทำบล็อกไดอะแกรมและโปรแกรมบนคอมพิวเตอร์ตามตัวอย่างที่ 7 หลังจากพิมพ์โปรแกรมแล้ว การคอมไพล์ก็เริ่มต้นขึ้นAlt- เอฟ9.หากมีข้อผิดพลาดจะแก้ไขให้ถูกต้อง หลังจากคอมไพล์สำเร็จแล้ว ก็จะถูกเปิดตัวเพื่อดำเนินการCtrl- เอฟ9 สำหรับหมายเลขโทรออก: 4 7 18 คำตอบ: 18. |
เขาตรวจสอบทีละแถวเพื่อดูว่ามีคนรับมือกับงานนี้อย่างไร แก้ไขผังงานและโปรแกรมเพื่อให้คะแนนสำหรับการเรียนรู้เนื้อหา |
การวิเคราะห์ตนเองของการพัฒนาระเบียบวิธี
บทเรียนประกอบด้วยสามขั้นตอนขั้นสร้างความรู้สึก - ในขั้นตอนนี้ ครูสร้างเงื่อนไขสำหรับการทำงานเป็นกลุ่มที่ประสบความสำเร็จ สนับสนุนให้นักเรียนกำหนดเป้าหมายและวัตถุประสงค์ของบทเรียน และกระตุ้นให้พวกเขาทำงานต่อไป นักเรียนยอมรับและชี้แจงเป้าหมายและวัตถุประสงค์ของบทเรียน
จุดเน้นของเนื้อหาบทเรียนอยู่ที่การก่อตัวของผลการศึกษาส่วนบุคคล วิชาเมตา และวิชาที่วางแผนไว้ ความเป็นไปได้ของบทเรียนสำหรับการก่อตัวของการดำเนินการทางการศึกษาที่เป็นสากล
ขั้นตอนกิจกรรมปฏิบัติการของบทเรียน - ในขั้นตอนนี้ ครูสร้างเงื่อนไขในการแก้ปัญหาที่ได้รับมอบหมาย จัดกระบวนการรับรู้และการสื่อสาร ระบุความยากลำบาก ให้ความช่วยเหลือและสนับสนุนในรูปแบบต่างๆ
นักเรียนแสดงวิธีแก้ไขปัญหาที่ได้รับมอบหมาย กำหนดกลวิธีในการทำงาน สร้างอัลกอริทึมสำหรับการแก้ปัญหา และการนำโปรแกรมไปใช้ในงานที่ได้รับมอบหมายในภาษาปาสคาล สาธิตการพัฒนาวิธีทำความเข้าใจและสื่อสารเป็นแนวทางในการรู้
เนื้อหาบทเรียนเน้นที่การแก้ปัญหาการพัฒนาจิตวิญญาณและศีลธรรมและการเลี้ยงดูบุคลิกภาพของพลเมืองรัสเซียการก่อตัวของค่านิยมพื้นฐานของชาติ
ขั้นตอนการสะท้อนการประเมินของบทเรียน ในขั้นตอนนี้ จะมีการจัดการประเมินขั้นสุดท้าย (องค์ประกอบของการประเมินระดับกลางและการประเมินตนเองดำเนินการอย่างเป็นระบบตลอดบทเรียน) โดยเป็นส่วนหนึ่งของขั้นตอนการไตร่ตรอง นักเรียนแสดงให้เห็นถึงความสามารถในการวาดผังงานของอัลกอริทึมและโปรแกรมอย่างอิสระ รวบรวมและดำเนินการได้สำเร็จ และประเมินผลลัพธ์ของกิจกรรมและกิจกรรมของเพื่อนร่วมชั้น
ใช้วิธีการอธิบายเชิงอธิบาย การวิจัย และอิงปัญหา
จุดเน้นของเนื้อหาบทเรียนอยู่ที่การก่อตัวของผลการศึกษาส่วนบุคคล วิชาเมตา และวิชาที่วางแผนไว้ ความเป็นไปได้ของบทเรียนสำหรับการก่อตัวของการดำเนินการทางการศึกษาสากล (UAL)
นักเรียนแสดงให้เห็นถึงความสามารถในการทำงานอย่างอิสระในการวาดผังงานของอัลกอริธึม การเขียนโปรแกรมในภาษาปาสกาล การคอมไพล์โปรแกรมและการแก้ไขข้อผิดพลาดในการคอมไพล์ หากมี การเรียกใช้โปรแกรมอย่างอิสระสำหรับการดำเนินการและการแก้ไขข้อผิดพลาดในการดำเนินการ รวมถึงความสามารถในการประเมินผลลัพธ์ของกิจกรรมของพวกเขา และกิจกรรมของเพื่อนร่วมชั้น วิธีสอนที่ใช้: ตามโครงงาน ปัญหา การวิจัย วิธีการแก้ปัญหาเชิงปฏิบัติ การค้นหา การอภิปราย กิจกรรมสร้างสรรค์ร่วมกัน การสื่อสาร
เนื้อหาบทเรียนเน้นที่การแก้ปัญหาการพัฒนาจิตวิญญาณและศีลธรรมและการเลี้ยงดูบุคลิกภาพของพลเมืองรัสเซียการก่อตัวของค่านิยมพื้นฐานของชาติ
เนื้อหาของบทเรียนข้อมูลโดยทั่วไปและโดยเฉพาะบทเรียนนี้มุ่งเน้นไปที่การพัฒนาลักษณะส่วนบุคคลของผู้สำเร็จการศึกษาระดับโรงเรียนขั้นพื้นฐานตามข้อกำหนดของมาตรฐานการศึกษาของรัฐบาลกลางโดยเฉพาะอย่างยิ่งความสามารถในการรับมือกับความซับซ้อนดังกล่าว งานในฐานะการเขียนโปรแกรมทำให้เกิดความรู้สึกพึงพอใจกับงานของตนและรักษาศักดิ์ศรีของนักเรียน
การใช้งาน วิธีการที่ทันสมัยและเทคโนโลยีในการจัดการศึกษากับนักเรียนในกระบวนการกิจกรรมในห้องเรียนและกิจกรรมนอกหลักสูตร ( คำอธิบายสั้น ๆวิธีการเหล่านี้หรืออ้างอิงแหล่งที่มา)
การใช้วิธีการและเทคโนโลยีสมัยใหม่ในการจัดงานด้านการศึกษากับนักเรียนในกระบวนการห้องเรียนและกิจกรรมนอกหลักสูตร (คำอธิบายสั้น ๆ ของวิธีการเหล่านี้หรือลิงก์ไปยังแหล่งข้อมูล)
มีการใช้องค์ประกอบของการเรียนรู้จากโครงงาน การเรียนรู้จากปัญหา การคิดเชิงตรรกะ การเรียนรู้เชิงโต้ตอบ เทคโนโลยีไอซีที และการอนุรักษ์สุขภาพ
การรวมไว้ในโครงสร้างและเนื้อหาของบทเรียนเกี่ยวกับวิธีการและเทคนิคสมัยใหม่ที่กระตุ้นแรงจูงใจทางปัญญาของนักเรียน (คำอธิบายสั้น ๆ เกี่ยวกับวิธีการเหล่านี้หรือลิงก์ไปยังแหล่งข้อมูล)
การรวมไว้ในโครงสร้างและเนื้อหาของบทเรียนเกี่ยวกับวิธีการและเทคนิคสมัยใหม่ที่กระตุ้นแรงจูงใจทางปัญญาของนักเรียน (คำอธิบายสั้น ๆ เกี่ยวกับวิธีการเหล่านี้หรือลิงก์ไปยังแหล่งข้อมูล)
โครงสร้างของบทเรียนประกอบด้วยวิธีการและเทคนิคต่อไปนี้ที่กระตุ้นแรงจูงใจทางปัญญาของนักเรียน: การสร้างสถานการณ์ปัญหา งานกลุ่ม การแก้ปัญหาที่สำคัญในทางปฏิบัติสำหรับนักเรียน วิธีค้นหาปัญหา
(เทคโนโลยีการศึกษาสมัยใหม่: หนังสือเรียน / เรียบเรียงโดย N.V. Bordovskaya - M.: KNORUS, 2011)
รวมอยู่ในโครงสร้างและเนื้อหาของบทเรียนเทคนิคระเบียบวิธีสมัยใหม่ของการตั้งเป้าหมายเชิงรุก การทำงานเป็นกลุ่ม/การทำงานร่วมกัน องค์ประกอบ กิจกรรมโครงการ(คำอธิบายวิธีการเหล่านี้หรือลิงก์ไปยังแหล่งที่มา)
การรวมไว้ในโครงสร้างและเนื้อหาของบทเรียนเกี่ยวกับเทคนิคระเบียบวิธีสมัยใหม่ของการตั้งเป้าหมายเชิงรุก กลุ่ม/การทำงานร่วมกัน องค์ประกอบของกิจกรรมโครงการ (คำอธิบายวิธีการเหล่านี้หรือลิงก์ไปยังแหล่งข้อมูล)
ในขั้นแรกของบทเรียน - การสร้างความหมาย - นักเรียนจะกำหนดหัวข้อและวัตถุประสงค์ของบทเรียนโดยพิจารณาจากการรวมไว้ในกิจกรรมที่กระตือรือร้น ในขั้นตอนที่สองของบทเรียน - กิจกรรมปฏิบัติการ - นักเรียนมีส่วนร่วม งานโครงการ,ทำงานเป็นกลุ่ม.
การรวมไว้ในโครงสร้างและเนื้อหาของบทเรียนวิธีการประเมินสมัยใหม่ที่ช่วยให้สามารถวัดผลลัพธ์เมตาดาต้าและสร้างความภาคภูมิใจในตนเองในนักเรียน (คำอธิบายวิธีการเหล่านี้หรือลิงก์ไปยังแหล่งข้อมูล)
การรวมไว้ในโครงสร้างและเนื้อหาของบทเรียนวิธีการประเมินสมัยใหม่ที่ช่วยให้สามารถวัดผลลัพธ์ของวิชาเมตาและสร้างความภาคภูมิใจในตนเองในนักเรียน (คำอธิบายของวิธีการเหล่านี้หรือลิงก์ไปยังแหล่งข้อมูล)
ตลอดบทเรียน ครูสังเกตนักเรียน ตรวจสอบความถูกต้องของงาน บ่งชี้ว่ามีข้อผิดพลาดกับนักเรียน นักเรียนประเมินผลลัพธ์ของการทำภารกิจให้สำเร็จ (การประเมินตนเอง) ผลลัพธ์ของการทำภารกิจของนักเรียนคนอื่นให้สำเร็จ (ร่วมกัน การประเมิน).
ในขั้นตอนสุดท้ายของบทเรียน - แบบประเมิน - แบบสะท้อน - นักเรียนรวบรวมความรู้ที่ได้รับในทางปฏิบัติวาดผังงานของอัลกอริทึมและโปรแกรมอย่างอิสระทำให้เสร็จและตรวจสอบความถูกต้องของงานโดยอิสระและประเมินงานโดยรวมในบทเรียนและผลลัพธ์ ประสบความสำเร็จ
(การประเมินความสำเร็จทางการศึกษาของนักเรียนสมัยใหม่ / แก้ไขโดย I.V. Mushtavinskaya - เซนต์ปีเตอร์สเบิร์ก: KARO, 2015)