Blog TOÁN-TIN của Thầy CHÂU HỮU SƠN

Tui là Giáo viên Chuyên Toán Trung học. Hãy xem thêm:
Vườn Toán học
Cảm ơn các bạn đã ghé thăm blog!

Sunday, January 31, 2016

On 7:56 PM by MATH CHANNEL in    1 comment
Chúng ta hãy xem bạn Nobita rút gọn phân số ${\textstyle{{16} \over {64}}}$ như sau:
Các em không nên làm theo bạn Nobita nhé! Tuy đáp án đúng nhưng cách làm của bạn là sai. Để hiểu rõ hơn, chúng ta vào ngay bài học hôm nay.

I. CÁCH RÚT GỌN PHÂN SỐ
Qui tắc: Muốn rút gọn một phân số, ta chia cả tử và mẫu của phân số cho một ước chung (khác 1 và $-$1) của chúng.
        $\dfrac{a}{b} = \dfrac{{a : n}}{{b : n}}$ với n $ \in $ ƯC($a$, $b$)
Lưu ý:
_ Phân số tối giản (hay phân số không rút gọn được nữa) là phân số mà tử và mẫu chỉ có ước chung là 1 và $-$1.
        Phân số $\dfrac{a}{b}$ tối giản $ \Leftrightarrow $ ƯC($a$, $b$) = $\left\{ { \pm 1} \right\}$
_ Khi rút gọn một phân số, ta thường rút gọn phân số đó đến tối giản mẫu dương.

II. MỘT SỐ VÍ DỤ
Ví dụ: Rút gọn các phân số
$\dfrac{{6}}{{8}} = \dfrac{3}{4}$ (chia cả tử và mẫu cho 2)
$\dfrac{{ - 5}}{{10}} = \dfrac{{ - 1}}{2}$ (chia cả tử và mẫu cho 5)
$\dfrac{{18}}{{ - 33}} = \dfrac{{ - 6}}{{11}}$ (chia cả tử và mẫu cho $-$3)
$\dfrac{{ - 36}}{{ - 12}} = \dfrac{3}{1} = 3$ (chia cả tử và mẫu cho $-$12)
On 4:03 AM by MATH CHANNEL in    1 comment
Quan sát hình sau:
Có lẽ các em đã hiểu được phần nào lí do cho sự ra đời của phân số rồi phải không nào! Chúng ta vào ngay bài học nhé!

I. KHÁI NIỆM
    Phân số có dạng $\dfrac{a}{b}$ ($a$, $b$ $ \in $ $\mathbb{Z}$, $b \ne 0$), $a$ là tử số (tử), $b$ là mẫu số (mẫu).
Ví dụ:
    Phân số: $\dfrac{1}{2}$, $\dfrac{-3}{4}$, $\dfrac{7}{-6}$, $\dfrac{-11}{-12}$, ...
    Không phải phân số: $\dfrac{1}{0}$, $\dfrac{1,2}{5}$, $ - 9$, ...
* Nhận xét: Số nguyên $a$ có thể viết thành phân số $\dfrac{a}{1}$.

II. TÍNH CHẤT CƠ BẢN CỦA PHÂN SỐ
1) $\dfrac{a}{b} = \dfrac{{a.\color{red}m}}{{b.\color{red}m}}$ với $m$ $ \in $ $\mathbb{Z}$, $m \ne 0$
2) $\dfrac{a}{b} = \dfrac{{a : \color{red}n}}{{b : \color{red}n}}$ với $n$ $ \in $ ƯC($a$, $b$)
Tính chất cơ bản của phân số thường sử dụng để qui đồng mẫu hoặc rút gọn phân số.

Saturday, January 30, 2016

On 10:52 AM by MATH CHANNEL in    1 comment
HỆ THỨC VIÈTE, ĐIỀU KIỆN VỀ NGHIỆM CỦA PHƯƠNG TRÌNH BẬC HAI
Định lí Viète:
Phương trình ${a{x^2} + bx + c = 0\;\left( {a \ne 0} \right)}$ có hai nghiệm ${x_1}$, ${x_2}$ $\left( {\Delta  \ge 0} \right)$
$ \Rightarrow $ $S = {x_1} + {x_2} = \dfrac{{ - b}}{a}$, $P = {x_1}.{x_2} = \dfrac{c}{a}$
Khi đó:
          $x_1^2 + x_2^2 = {\left( {{x_1} + {x_2}} \right)^2} - 2{x_1}{x_2} = {S^2} - 2P$
          $x_1^3 + x_2^3 = \left( {{x_1} + {x_2}} \right)\left( {x_1^2 - {x_1}{x_2} + x_2^2} \right) = S\left( {{S^2} - 3P} \right)$
          $\left| {{x_1} - {x_2}} \right| = \dfrac{{\sqrt \Delta  }}{{\left| a \right|}}$

 MỘT SỐ ỨNG DỤNG
1) Nhẩm nghiệm: Cho phương trình ${a{x^2} + bx + c = 0\;\left( {a \ne 0} \right)}$ khi đó:
            $a + b + c = 0 \Rightarrow {x_1} = 1,\;{x_2} = \dfrac{c}{a}$
            $a - b + c = 0 \Rightarrow {x_1} = -1,\;{x_2} = \dfrac{-c}{a}$
2) Tìm hai số khi biết tổng và tích: Cho hai số ${x_1}$, ${x_2}$ có ${x_1} + {x_2} = S$ và ${x_1}{x_2} = P$  $ \Rightarrow $ ${x_1}$, ${x_2}$ là nghiệm của phương trình ${X^2} - SX + P = 0$ $\left( {{S^2} - 4P \ge 0} \right)$
3) Phân tích tam thức thành nhân tử: Phương trình ${a{x^2} + bx + c = 0\;\left( {a \ne 0} \right)}$ có hai nghiệm ${x_1}$, ${x_2}$ thì $a{x^2} + bx + c = 0 = a\left( {x - {x_1}} \right)\left( {x - {x_2}} \right)$
4) Xác định tham số để pt bậc hai có nghiệm thỏa điều kiện:
  pt có nghiệm $ \Leftrightarrow $ $\Delta  \ge 0$
  pt có nghiệm kép $ \Leftrightarrow $ $\Delta = 0$
  pt có hai nghiệm phân biệt $ \Leftrightarrow $ $\Delta  > 0$
  pt có hai nghiệm trái dấu $ \Leftrightarrow $ P < 0 (a, c trái dấu)
  pt có hai nghiệm cùng dấu $ \Leftrightarrow $ $\Delta  \ge 0,\;P > 0$
  pt có hai nghiệm dương $ \Leftrightarrow $ $\Delta  \ge 0,\;P > 0,\;S > 0$
  pt có hai nghiệm âm $ \Leftrightarrow $ $\Delta  \ge 0,\;P > 0,\;S < 0$
  pt có hai nghiệm đối nhau $ \Leftrightarrow $ $\Delta  > 0,\;S = 0$
  pt có hai nghiệm trái dấu, nghiệm âm có giá trị tuyệt đối lớn hơn $ \Leftrightarrow $ $P < 0,\;S < 0$
  pt có hai nghiệm trái dấu, nghiệm dương có giá trị tuyệt đối lớn hơn $ \Leftrightarrow $ $P < 0,\;S > 0$
  pt có nghiệm nguyên $ \Leftrightarrow $ $\Delta  \ge 0,\;\Delta  = {k^2}$ $\left( {} \right.$${0 \le k \in }$$\mathbb{Z}$$\left. {} \right)$
  pt có hai nghiệm phân biệt, trong đó có nghiệm dương $ \Leftrightarrow $ 
\[\large \left\{ \begin{array}{l}
\Delta > 0\\
\left[ \begin{array}{l}
{x_1} < 0 < {x_2}\\ {x_1} = 0 < {x_2}\\ 0 < {x_1} < {x_2} \end{array} \right. \end{array} \right. \Leftrightarrow \left\{ \begin{array}{l} \Delta > 0\\
\left[ \begin{array}{l}
P < 0\\ P = 0,\;S > 0\\
P > 0,\;S > 0
\end{array} \right.
\end{array} \right.\]pt có đúng một nghiệm dương $ \Leftrightarrow $ 
\[\large \left\{ \begin{array}{l}
\Delta \ge 0\\
\left[ \begin{array}{l}
0 < {x_1} = {x_2}\\ {x_1} = 0 < {x_2}\\ {x_1} < 0 < {x_2} \end{array} \right. \end{array} \right. \Leftrightarrow \left\{ \begin{array}{l} \Delta \ge 0\\ \left[ \begin{array}{l} \Delta = 0,\;S > 0\\
P = 0,\;S > 0\\
P < 0 \end{array} \right. \end{array} \right.\]Trường hợp cần chứng minh có ít nhất một trong hai phương trình $a{x^2} + bx + c = 0$, $a'{x^2} + b'x + c' = 0$ có nghiệm ta thường làm như sau:
Cách 1: ${\Delta _1} + {\Delta _2} \ge 0$
Cách 2: ${\Delta _1}.{\Delta _2} \le 0$

Thursday, January 28, 2016

On 8:21 PM by MATH CHANNEL in    1 comment
Chương trình liệt kê tất cả các dãy con k phần tử của 1, 2,..., n (k ≤ n)

import java.util.Scanner;

public class Main {

       public static int nhapSoTN() {
              Scanner input = new Scanner(System.in);
              boolean check = false;
              int n = 0;
              while (!check) {
                     try {
                           n = Integer.parseInt(input.nextLine());
                           if (n < 0) {
                                  System.out.println("Bạn phải nhập số tự nhiên! Hãy nhập lại.");
                                  continue;
                           }
                           check = true;
                     } catch (Exception e) {
                           System.out.println("Bạn phải nhập số tự nhiên! Hãy nhập lại.");
                     }
              }
              return (n);
       }

       public static void result(int a[], int k) {
              int i;
              System.out.println();
              for (i = 1; i <= k; i++) {
                     System.out.print(" " + a[i]);
              }
       }
      
       public static void try_backTrack(int a[], int n, int k, int i) {
              int j;
              for (j = a[i - 1] + 1; j <= (n - k + i); j++) {
                     a[i] = j;
                     if (i == k)
                           result(a, k);
                     else
                           try_backTrack(a, n, k, i + 1);
              }
       }

       public static void main(String[] args) {
              System.out.println("Chương trình liệt kê tất cả các dãy con k phần tử của 1, 2,… n");
              System.out.print("Nhập n: ");
              int n = nhapSoTN();
              int[] array = new int[n + 1];
              int k;
              System.out.println("Liệt kê tất cả các tập con k phần tử của 1,2,..," + n + " : ");
              for (k = 1; k <= n; k++) {
                     System.out.print("\n Tập con " + k + " phần tử: ");
                     try_backTrack(array, n, k, 1);
              }
       }

}

Tuesday, January 26, 2016

On 8:31 PM by MATH CHANNEL in    1 comment
Chương trình liệt kê tất cả các xâu nhị phân độ dài n

import java.util.Scanner;

public class Main {

       public static int nhapSoTN() {
              Scanner input = new Scanner(System.in);
              boolean check = false;
              int n = 0;
              while (!check) {
                     try {
                           n = Integer.parseInt(input.nextLine());
                           if (n < 0) {
                                  System.out.println("Bạn phải nhập số tự nhiên! Hãy nhập lại.");
                                  continue;
                           }
                           check = true;
                     } catch (Exception e) {
                            System.out.println("Bạn phải nhập số tự nhiên! Hãy nhập lại.");
                     }
              }
              return (n);
       }

       public static int convertStringBinary2DecimalNumber(String binary) {
              int n = 0;
              for (int i = 0; i < binary.length(); i++) {
                     if (binary.charAt(i) == '1') {
                           n = n + 1 * (int) Math.pow(2, binary.length() - i - 1);
                     } else if (binary.charAt(i) == '0') {
                           n = n + 0 * (int) Math.pow(2, binary.length() - i - 1);
                     }
              }
              return n;

       }

       public static void inDayNhiPhanDoDai_n(int n) {
              String nhiphan_min = "", nhiphan_max = "";
              for (int i = 0; i < n; i++) {
                     nhiphan_min += "0";
                     nhiphan_max += "1";
              }
              int a = convertStringBinary2DecimalNumber(nhiphan_min);
              int b = convertStringBinary2DecimalNumber(nhiphan_max);
              int dodai_b = Integer.toBinaryString(b).length();
              for (int i = a; i <= b; i++) {
                     String str = Integer.toBinaryString(i);
                     if (str.length() < dodai_b) {
                           while (str.length() < dodai_b) {
                                  str = "0" + str;
                           }
                           System.out.println(str);
                     } else {
                           System.out.println(str);
                     }
              }
       }

       public static void main(String[] args) {
              System.out.println("Chương trình liệt kê tất cả các xâu nhị phân độ dài n.");
              System.out.println("Nhập độ dài n:");
              int n = nhapSoTN();
              inDayNhiPhanDoDai_n(n);
       }

}

Hoặc dùng method

       public static void inDayNhiPhanDoDai_n(int n) {
              int[] array = new int[n];
              int tich;
              do {
                     tich = 1;
                     System.out.println("");
                     for (int j = 0; j < n; j++) {
                           System.out.print(array[j]);
                           tich *= array[j];
                     }
                     int i = n - 1;
                     do {
                           if (array[i] == 0) {
                                  array[i] = 1;
                                  for (int j = n - 1; j > i; j--) {
                                         array[j] = 0;
                                  }
                                  break;
                           } else
                                  i--;
                     } while (i >= 0);
              } while (tich != 1); 

       }