โดยปกติแล้วคำถามที่ว่า “ทำไมเราถึงต้องการคณิตศาสตร์” พวกเขาตอบบางอย่างเช่น "ยิมนาสติกเพื่อจิตใจ" ในความคิดของฉัน คำอธิบายนี้ไม่เพียงพอ เมื่อบุคคลออกกำลังกายเขาจะรู้ชื่อที่แน่นอนของกลุ่มกล้ามเนื้อที่พัฒนาขึ้น แต่การสนทนาเกี่ยวกับคณิตศาสตร์ยังคงเป็นนามธรรมเกินไป พีชคณิตของโรงเรียนฝึก "กล้ามเนื้อจิต" เฉพาะด้านใด มันไม่เหมือนกับคณิตศาสตร์จริงเลยซึ่งมีการค้นพบครั้งยิ่งใหญ่ ความสามารถในการค้นหาอนุพันธ์ของฟังก์ชันที่ซับซ้อนบางอย่างให้อะไร?
การสอนการเขียนโปรแกรมให้กับนักเรียนที่อ่อนแอทำให้ฉันได้รับคำตอบที่แม่นยำยิ่งขึ้นสำหรับคำถามที่ว่า "ทำไม" ในบทความนี้ฉันจะพยายามถ่ายทอดให้คุณฟัง
ในโรงเรียน มีเวลาค่อนข้างมากในการเปลี่ยนแปลงและลดความซับซ้อนของการแสดงออก ตัวอย่างเช่น: 81×2+126xy+49y2 ต้องแปลงเป็น (9x+7y)2
ในตัวอย่างนี้ นักเรียนจะต้องจำสูตรกำลังสองของผลรวมได้
ในกรณีที่ซับซ้อนมากขึ้น นิพจน์ผลลัพธ์สามารถนำมาใช้สำหรับการแปลงอื่นๆ ได้ ตัวอย่างเช่น:
จะถูกแปลงก่อนเป็น
จากนั้นด้วยการชี้แจง (a + 2b) != 0 ปรากฎเช่นนี้
เพื่อให้บรรลุผลนี้ นักเรียนจำเป็นต้องจดจำในสำนวนดั้งเดิม จากนั้นจึงใช้สูตรสามสูตร:
- กำลังสองของผลรวม
- ความแตกต่างของกำลังสอง
- การลดตัวประกอบของเศษส่วนร่วม
ในโรงเรียนพีชคณิต เราใช้เวลาเกือบตลอดเวลาในการแปลงสำนวนแบบนี้ ไม่มีอะไรเปลี่ยนแปลงอย่างมีนัยสำคัญในวิชาคณิตศาสตร์ระดับสูงของมหาวิทยาลัย เราได้รับแจ้งถึงวิธีหาอนุพันธ์ (ปริพันธ์ ฯลฯ) และประสบปัญหามากมาย มันมีประโยชน์ไหม? ในความคิดของฉัน - ใช่ อันเป็นผลมาจากการทำแบบฝึกหัดเหล่านี้:
- ทักษะในการเปลี่ยนการแสดงออกได้รับการฝึกฝนแล้ว
- ความใส่ใจในรายละเอียดได้รับการพัฒนา
- อุดมคติได้ถูกสร้างขึ้น - การแสดงออกที่กระชับซึ่งใคร ๆ ก็สามารถต่อสู้ได้
ในความคิดของฉัน การมีความเป็นมิตร คุณภาพ และทักษะดังกล่าวมีประโยชน์มากในการทำงานประจำวันของนักพัฒนา ท้ายที่สุดแล้ว การทำให้นิพจน์ง่ายขึ้นหมายถึงการเปลี่ยนโครงสร้างเพื่อช่วยให้เข้าใจได้ง่ายขึ้นโดยไม่กระทบต่อความหมาย สิ่งนี้เตือนคุณถึงสิ่งใดหรือไม่?
นี่เป็นคำจำกัดความในทางปฏิบัติของการปรับโครงสร้างใหม่จากหนังสือชื่อเดียวกันของ Martin Fowler
ในงานของเขา ผู้เขียนกำหนดไว้ดังนี้:
การปรับโครงสร้างใหม่ (n): การเปลี่ยนแปลงโครงสร้างภายในของซอฟต์แวร์ที่มีจุดมุ่งหมายเพื่อให้เข้าใจและแก้ไขได้ง่ายขึ้น โดยไม่ส่งผลกระทบต่อพฤติกรรมที่สังเกตได้
Refactor (กริยา): เปลี่ยนโครงสร้างของซอฟต์แวร์โดยใช้ชุดการปรับโครงสร้างใหม่โดยไม่กระทบต่อพฤติกรรมของซอฟต์แวร์
หนังสือเล่มนี้ให้ "สูตร" ที่ต้องจดจำในซอร์สโค้ดและกฎเกณฑ์ในการแปลงสูตร
เป็นตัวอย่างง่ายๆ ฉันจะให้ "การแนะนำตัวแปรอธิบาย" จากหนังสือ:
if ( (platform.toUpperCase().indexOf(“MAC”) > -1 ) &&
(browser.toUpperCase().indexOf(“IE”) > -1 )&&
wasInitialized() && resize > 0 ) {
// do something
}
ส่วนของนิพจน์ต้องถูกเขียนลงในตัวแปรที่มีชื่ออธิบายวัตถุประสงค์ของมัน
final boolean isMacOS = platform.toUpperCase().indexOf(“MAC”) > -1;
final boolean isIEBrowser = browser.toUpperCase().indexOf(“IE”) > -1;
final boolean isResized = resize > 0;
if(isMacOS && isIEBrowser && wasInitialized() && isResized) {
// do something
}
ลองนึกภาพบุคคลที่ไม่สามารถลดความซับซ้อนของนิพจน์พีชคณิตโดยใช้สูตรผลรวมกำลังสองและผลต่างของกำลังสองได้
คุณคิดว่าบุคคลนี้สามารถปรับโครงสร้างโค้ดใหม่ได้หรือไม่
เขาจะสามารถเขียนโค้ดที่คนอื่นเข้าใจได้หรือไม่ ถ้าเขาไม่ได้สร้างอุดมคติของความสั้นๆ นี้ขึ้นมา? ในความคิดของฉันไม่มี
อย่างไรก็ตาม ทุกคนไปโรงเรียน และส่วนน้อยกลายเป็นโปรแกรมเมอร์ ทักษะการแปลงนิพจน์มีประโยชน์สำหรับคนธรรมดาหรือไม่? ฉันคิดว่าใช่. มีเพียงทักษะเท่านั้นที่ถูกนำไปใช้ในรูปแบบที่เป็นนามธรรมมากขึ้น: คุณต้องประเมินสถานการณ์และเลือกการดำเนินการเพิ่มเติมเพื่อให้เข้าใกล้เป้าหมายมากขึ้น ในการสอนปรากฏการณ์นี้เรียกว่า
ตัวอย่างที่โดดเด่นที่สุดเกิดขึ้นระหว่างการซ่อมแซมบ้านโดยใช้วิธีชั่วคราวหรือวิธี "ฟาร์มรวม" เป็นผลให้ "กลอุบาย" และการแฮ็กชีวิตแบบเดียวกันเหล่านั้นปรากฏขึ้น ซึ่งหนึ่งในนั้นปรากฏบน KPDV ผู้เขียนมีแผ่นไม้ ลวด และสกรูสี่ตัว เมื่อนึกถึงเทมเพลตช่องเสียบหลอดไฟ เขาจึงประกอบปลั๊กไฟแบบโฮมเมดจากพวกเขา
แม้กระทั่งในขณะขับขี่ยานพาหนะ ผู้ขับขี่ยังคงรับรู้รูปแบบต่างๆ ในโลกรอบตัวเขาอย่างต่อเนื่อง และดำเนินท่าทางที่เหมาะสมเพื่อไปยังจุดหมายปลายทางของเขา
เมื่อคุณตายคุณไม่รู้เรื่องนี้ มันแค่ยากสำหรับคนอื่น เช่นเดียวกับเมื่อคุณยังไม่เชี่ยวชาญคณิตศาสตร์...
จะเกิดอะไรขึ้นหากบุคคลล้มเหลวในการควบคุมการเปลี่ยนแปลงการแสดงออก? ฉันสอนบทเรียนตัวต่อตัวให้กับนักเรียนที่ไม่เก่งคณิตศาสตร์ที่โรงเรียนเป็นครั้งคราว ตามกฎแล้ว พวกเขาติดอยู่กับหัวข้อวงจรโดยสิ้นเชิง มากจนคุณต้องทำ "พีชคณิต" กับพวกเขา แต่เป็นภาษาโปรแกรม
สิ่งนี้เกิดขึ้นเพราะเมื่อเขียนลูป เทคนิคหลักคือการแปลงกลุ่มของนิพจน์ที่เหมือนกัน
สมมติว่าผลลัพธ์ของโปรแกรมควรมีลักษณะดังนี้:
การแนะนำ
1 บท
2 บท
3 บท
4 บท
5 บท
6 บท
7 บท
ข้อสรุป
โปรแกรมเล็ก ๆ น้อย ๆ เพื่อให้บรรลุผลนี้มีลักษณะดังนี้:
static void Main(string[] args)
{
Console.WriteLine("Введение");
Console.WriteLine("Глава 1");
Console.WriteLine("Глава 2");
Console.WriteLine("Глава 3");
Console.WriteLine("Глава 4");
Console.WriteLine("Глава 5");
Console.WriteLine("Глава 6");
Console.WriteLine("Глава 7");
Console.WriteLine("Заключение");
}
แต่วิธีแก้ปัญหานี้อยู่ไกลจากอุดมคติที่พูดน้อย ขั้นแรกคุณต้องค้นหากลุ่มการกระทำที่ซ้ำกันในกลุ่มนั้นแล้วจึงแปลง วิธีแก้ปัญหาที่ได้จะมีลักษณะดังนี้:
static void Main(string[] args)
{
Console.WriteLine("Введение");
for (int i = 1; i <= 7; i++)
{
Console.WriteLine("Глава " + i);
}
Console.WriteLine("Заключение");
}
หากบุคคลไม่เชี่ยวชาญคณิตศาสตร์ในคราวเดียวเขาก็จะไม่สามารถทำการเปลี่ยนแปลงดังกล่าวได้ เขาจะไม่มีทักษะที่เหมาะสม นี่คือเหตุผลว่าทำไมหัวข้อของลูปจึงเป็นอุปสรรคแรกในการฝึกอบรมของนักพัฒนา
ปัญหาที่คล้ายกันเกิดขึ้นในด้านอื่น หากบุคคลไม่ทราบวิธีใช้เครื่องมือที่มีอยู่ เขาจะไม่สามารถแสดงความฉลาดในชีวิตประจำวันได้ ลิ้นชั่วจะบอกว่ามืองอกจากที่ผิด บนท้องถนนสิ่งนี้แสดงให้เห็นว่าไม่สามารถประเมินสถานการณ์ได้อย่างถูกต้องและเลือกการซ้อมรบ ซึ่งบางครั้งอาจนำไปสู่ผลลัพธ์ที่น่าเศร้าได้
สรุป:
- เราต้องการคณิตศาสตร์ของโรงเรียนและมหาวิทยาลัยเพื่อที่เราจะทำให้โลกนี้น่าอยู่ขึ้นด้วยวิธีการที่เรามี
- หากคุณเป็นนักเรียนและมีปัญหาในวงจรการเรียนรู้ ให้ลองกลับไปสู่พื้นฐาน - พีชคณิตของโรงเรียน นำหนังสือปัญหาสำหรับเกรด 9 และแก้ตัวอย่างจากมัน
ที่มา: will.com