Đây là lý do tại sao đại số trung học là cần thiết

Thông thường câu hỏi "tại sao chúng ta cần toán học?" Họ trả lời đại loại như “thể dục dụng cụ cho trí óc”. Theo tôi, lời giải thích này chưa đủ. Khi một người thực hiện các bài tập thể chất, anh ta biết chính xác tên của các nhóm cơ sẽ phát triển. Nhưng những cuộc trò chuyện về toán học vẫn còn quá trừu tượng. Những “cơ bắp tinh thần” cụ thể nào được đào tạo bằng đại số ở trường? Nó hoàn toàn không giống với toán học thực sự, nơi thực hiện những khám phá vĩ đại. Khả năng tìm đạo hàm của một số hàm phức tạp mang lại điều gì?

Dạy lập trình cho học sinh yếu đã đưa tôi đến câu trả lời chính xác hơn cho câu hỏi “tại sao?” Trong bài viết này tôi sẽ cố gắng truyền đạt nó cho bạn.

Đây là lý do tại sao đại số trung học là cần thiết
Ở trường, người ta dành khá nhiều thời gian cho việc chuyển đổi và đơn giản hóa các biểu thức. Ví dụ: 81×2+126xy+49y2 cần được chuyển đổi thành (9x+7y)2.

Trong ví dụ này, học sinh phải nhớ công thức bình phương của tổng

Đây là lý do tại sao đại số trung học là cần thiết

Trong những trường hợp phức tạp hơn, biểu thức thu được có thể được sử dụng cho các phép biến đổi khác. Ví dụ:

Đây là lý do tại sao đại số trung học là cần thiết

đầu tiên được chuyển đổi thành

Đây là lý do tại sao đại số trung học là cần thiết

và sau đó, với việc làm rõ (a + 2b) != 0, nó thành ra như thế này

Đây là lý do tại sao đại số trung học là cần thiết

Để đạt được kết quả này, học sinh cần nhận biết trong biểu thức ban đầu rồi áp dụng ba công thức:

  • Bình phương của tổng
  • Sự khác biệt của hình vuông
  • Rút gọn các thừa số của phân số chung

Ở trường đại số, chúng tôi hầu như dành toàn bộ thời gian để biến đổi các biểu thức như thế này. Không có gì thay đổi đáng kể trong môn toán cao cấp ở trường đại học. Chúng tôi đã được hướng dẫn cách lấy đạo hàm (tích phân, v.v.) và đưa ra rất nhiều vấn đề. Nó có hữu ích không? Theo ý kiến ​​​​của tôi - có. Kết quả của việc thực hiện các bài tập này:

  1. Kỹ năng biến đổi biểu cảm đã được mài giũa.
  2. Sự chú ý đến chi tiết đã phát triển.
  3. Một lý tưởng đã được hình thành - một biểu hiện ngắn gọn mà người ta có thể phấn đấu.

Theo tôi, việc có đặc tính, chất lượng và kỹ năng như vậy sẽ rất hữu ích trong công việc hàng ngày của một nhà phát triển. Xét cho cùng, đơn giản hóa một biểu thức về cơ bản có nghĩa là thay đổi cấu trúc của nó để dễ hiểu mà không ảnh hưởng đến ý nghĩa. Điều này có nhắc nhở bạn điều gì không?

Đây thực tế là định nghĩa về tái cấu trúc từ cuốn sách cùng tên của Martin Fowler.

Trong tác phẩm của mình, tác giả đã trình bày chúng như sau:

Tái cấu trúc (n): Một sự thay đổi về cấu trúc bên trong của phần mềm nhằm mục đích giúp nó dễ hiểu hơn và dễ sửa đổi hơn mà không ảnh hưởng đến hành vi có thể quan sát được.

Refactor (động từ): thay đổi cấu trúc của phần mềm bằng cách áp dụng một loạt các phép tái cấu trúc mà không ảnh hưởng đến hành vi của nó.

Cuốn sách đưa ra những “công thức” cần được ghi nhận trong mã nguồn và các quy tắc để chuyển đổi chúng.

Để lấy một ví dụ đơn giản, tôi sẽ đưa ra “phần giới thiệu về một biến giải thích” từ cuốn sách:

if ( (platform.toUpperCase().indexOf(“MAC”) > -1 ) &&
    (browser.toUpperCase().indexOf(“IE”) > -1 )&&
    wasInitialized() && resize > 0 ) {
    // do something
}

Các phần của biểu thức phải được viết thành một biến có tên giải thích mục đích của nó.

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
}

Hãy tưởng tượng một người không thể đơn giản hóa các biểu thức đại số bằng cách sử dụng công thức tổng bình phương và hiệu của bình phương.

Bạn có nghĩ người này có thể cấu trúc lại mã không?

Liệu anh ta thậm chí có thể viết được mã mà người khác có thể hiểu được nếu anh ta chưa hình thành được lý tưởng về sự ngắn gọn này không? Theo tôi thì không.

Tuy nhiên, mọi người đều đến trường và một thiểu số trở thành lập trình viên. Kỹ năng chuyển đổi biểu thức có hữu ích cho người bình thường không? Tôi nghĩ là có. Chỉ có kỹ năng được áp dụng ở dạng trừu tượng hơn: bạn cần đánh giá tình hình và chọn một hành động tiếp theo để tiến gần hơn đến mục tiêu. Trong sư phạm hiện tượng này được gọi là chuyển giao (kỹ năng).

Những ví dụ nổi bật nhất nảy sinh trong quá trình sửa chữa hộ gia đình bằng phương tiện ngẫu hứng, phương pháp “trang trại tập thể”. Kết quả là, những “thủ thuật” và mẹo vặt tương tự đó xuất hiện, một trong số đó được mô tả trên KPDV. Tác giả của ý tưởng đã có một mảnh gỗ, một sợi dây và bốn chiếc ốc vít. Nhớ đến mẫu ổ cắm đèn, anh đã lắp ráp một ổ cắm đèn tự chế từ chúng.

Ngay cả khi điều khiển phương tiện, người lái xe vẫn liên tục nhận biết các mô hình của thế giới xung quanh và thực hiện các thao tác thích hợp để đi đến đích.

Khi bạn chết bạn cũng không biết điều đó, chỉ là khó khăn cho người khác thôi. Điều tương tự cũng xảy ra khi bạn chưa thành thạo môn toán...

Điều gì sẽ xảy ra nếu một người không thành thạo việc chuyển đổi biểu thức? Thỉnh thoảng, tôi dạy từng bài riêng cho những học sinh kém môn toán ở trường. Theo quy định, họ hoàn toàn bị mắc kẹt trong chủ đề về chu kỳ. Nhiều đến mức bạn phải làm “đại số” với chúng, nhưng bằng ngôn ngữ lập trình.
Điều này xảy ra vì khi viết vòng lặp, kỹ thuật chính là chuyển đổi một nhóm các biểu thức giống hệt nhau.

Giả sử kết quả của chương trình sẽ như thế này:

Giới thiệu
Chương 1
Chương 2
Chương 3
Chương 4
Chương 5
Chương 6
Chương 7
Kết luận

Một chương trình tầm thường để đạt được kết quả này trông như thế này:

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("Заключение");
}

Nhưng giải pháp này khác xa với một lý tưởng ngắn gọn. Đầu tiên bạn cần tìm một nhóm hành động lặp lại trong đó rồi chuyển đổi nó. Giải pháp kết quả sẽ trông như thế này:

static void Main(string[] args)
{
    Console.WriteLine("Введение");
    for (int i = 1; i <= 7; i++)
    {
        Console.WriteLine("Глава " + i);
    }
    Console.WriteLine("Заключение");
}

Nếu một người chưa thành thạo toán học một lúc, thì người đó sẽ không thể thực hiện các phép biến đổi như vậy. Đơn giản là anh ta sẽ không có kỹ năng thích hợp. Đây là lý do tại sao chủ đề về vòng lặp là trở ngại đầu tiên trong quá trình đào tạo của nhà phát triển.

Những vấn đề tương tự cũng nảy sinh ở các lĩnh vực khác. Nếu một người không biết cách sử dụng các công cụ có sẵn, thì người đó sẽ không thể thể hiện sự khéo léo hàng ngày. Những cái lưỡi độc ác sẽ nói rằng bàn tay mọc không đúng chỗ. Trên đường, điều này thể hiện ở việc không thể đánh giá chính xác tình hình và chọn cách điều động. Mà đôi khi có thể dẫn đến hậu quả bi thảm.

Kết luận:

  1. Chúng ta cần môn toán phổ thông và đại học để có thể biến thế giới thành một nơi tốt đẹp hơn bằng những phương tiện mà chúng ta có.
  2. Nếu bạn là sinh viên và đang gặp khó khăn trong việc học các chu trình, hãy thử quay lại vấn đề cơ bản - đại số ở trường. Lấy một cuốn sách bài tập lớp 9 và giải các ví dụ từ đó.

Nguồn: www.habr.com

Thêm một lời nhận xét