BÁO CÁO:

BÀI TẬP TỔNG HỢP 1

 

 

 

 

 

 

 

 

 

 

 

 

Nhóm 9:

Huyền Anh

Thị Ánh

1

 


 

Phần 1: Cấu tạo của chương trình bài tập tổng hợp 1

   Chương trình được chia làm 7 from:

    From 1: Trang để đăng nhập

    Form 2: Menu chính

    Form 3: Các loại phương trình (bậc 1, bậc 2)

    Form 4: Giải phương trình bậc 1

    Form 5: Giải phương trình bậc 2

    Form 6: Kiểm tra các loại số (số hoàn hảo, số chính phương, số nguyên tố)

    Form 7: Cấu trúc dữ liệu giải thuật

 

 

   đồ liên kết các Form:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 


 

Phần 2: Cấu tạo từng Form

2.1 Form 1 – Trang đăng nhập:

 

Form 1 bao gồm các Label, Textbox, Button Check Box.

Các Button đã được lập trình : Nút “LOGIN” nút “QUIT”

  • Nút “QUIT”:

private void exit_Click(object sender, EventArgs e)

         {

              this.Close();

     }

  • Nút “LOGIN”:

private void button1_Click(object sender, EventArgs e)

        {

            if (texttaikhoan.Text == "" || textmatkhau.Text == "")

            {

                MessageBox.Show("Yêu cầu nhập tài khoản mật khẩu");

            }

            if(texttaikhoan.Text == "huyenanh" && textmatkhau.Text == "123")

            {

                MENUCHINH fk = new MENUCHINH();

                fk.Show();

                Visible = false;

            }else

1

 


 

            {

                if(texttaikhoan.Text == "anhha" && textmatkhau.Text == "123")

                {

                    MENUCHINH fk = new MENUCHINH();

                    fk.Show();

                    Visible = false;

                }

            }

        }

Check Box đã được lập trình tuỳ chọn hiển thị mật khẩu hay không:

private void checkBox1_CheckedChanged(object sender, EventArgs e)

        {

            if (checkBox1.Checked)

            {

                textmatkhau.UseSystemPasswordChar = false;

            }

            else textmatkhau.UseSystemPasswordChar = true;

        }

2.2 Form 2 – Menu chính:

trang này ta 4 Button : “Giải phương trình”, “Kiểm tra các loại số”, “Mảng nhiệm vụ để chuyển sang trang với chức năng người dùng cần sử dụng nútThoát nhiệm vụ để thoát phần mềm này.

Code Button 1: “Giải phương trình

private void button1_Click(object sender, EventArgs e)

1

 


 

        {

            giaipt fk = new giaipt();

            fk.Show();

            Visible = false;

        }

Code Button 2: “Kiểm tra các loại số

private void button2_Click(object sender, EventArgs e)

        {

            ktraso fk = new ktraso();

            fk.Show();

            Visible = false;

        }

Code Button 3: “Mảng

private void button3_Click(object sender, EventArgs e)

        {

            mang fk = new mang();

            fk.Show();

            Visible = false;

        }

Code Button 4: “Thoát

private void nutthoat_Click(object sender, EventArgs e)

        {

            this.Close();

        }

Khi kích vào nút Giải phương trình sẽ chuyển sang Form 3 Form 2 sẽ được đóng lại.

2.3: Form 3 – Các loại phương trình bản:

1

 


 

trang này ta tiếp tục 3 nút: “Giải phương trình bậc nhất”, “Giải phương trình bậc haiđể chuyển sang các form tương ứng với các loại phương trình cần giải nútTrở vềđể quay về trang trước đó form 2 – Menu chính.

Code: tương tự như code của các núttrong form 2.

2.4: Form 4 –Giải phương trình bậc nhất

1

 


 

đây ta 3 nút:

  • NútKết quả”: Đưa ra nghiệm của phương trình

private void button1_Click(object sender, EventArgs e)

        {

            if (textb.Text == "" || texta.Text == "")

            {

                MessageBox.Show("Yêu cầu nhập giá trị của a và b!");

            }

           double x;

           double a1 = Convert.ToDouble(texta.Text);

           double b1 = Convert.ToDouble(textb.Text);

            if (a1 != 0 && b1 != 0)

            {

                x = -b1 / a1;

                MessageBox.Show("Phương trình có nghiệm x =" + x);

            }

            else

            {

                if (a1 == 0 && b1 != 0) MessageBox.Show("Phương trình vô nghiệm");

                else

                {

                    if (a1 != 0 && b1 == 0) MessageBox.Show("Phương trình nghiệm x = 0");

                    else MessageBox.Show("Phương trình có vô số nghiệm");

                }} }

  • NútXoá”: Xoá đi các giá trị “a” “b” để nhập các giá trị mới

private void button2_Click(object sender, EventArgs e)

        {

            texta.Text = "";

            textb.Text = "";

}

 

  • NútTrở về”: Để trở về trang trước

private void nutthoat_Click(object sender, EventArgs e)

        {

            giaipt fk = new giaipt();

            fk.Show();

            Visible = false;

        }

2.5: Form 5 – Giải phương trình bậc hai

1

 


 

 

đây ta tương tự như Form 4 cũng 3 nút chỉ khác ở code của phần nútKết quả”:

Code: private void button1_Click(object sender, EventArgs e)

        {

            if (textb.Text == "" || texta.Text == "" || textc.Text == "")

            {

                MessageBox.Show("Yêu cầu nhập giá trị của a, b và c!");

            }

 

           double deta, x1, x2;

           double a1 = Convert.ToDouble(texta.Text);

           double b1 = Convert.ToDouble(textb.Text);

           double c1 = Convert.ToDouble(textc.Text);

            if (a1 == 0)

                MessageBox.Show("Điều kiện của phương trình bậc 2 là a phải khác 0!");

            else

            {

                deta = b1 * b1 - 4 * a1 * c1;

                if (deta < 0) MessageBox.Show("Phương trình vô nghiệm!");

                else

                {

                    if (deta > 0)

                    {

                        x1 = (-b1 + (float)Math.Sqrt(deta)) / (2 * a1);

                        x2 = (-b1 - (float)Math.Sqrt(deta)) / (2 * a1);

                        MessageBox.Show("Phương trình có nghiệm x1=" + x1 + " và x2= " + x2);

                    } else

1

 


 

                    {

                        x1 = -b1 / (2 * a1);

                        MessageBox.Show("Phương trình có 1 nghiệm kép x =" + x1);

                     }

                }

 

            }

        }

 

 

2.7: Form 6 – Kiểm tra các loại số

 

Ta tất cả 5 nút trong đó 3 nút kiểm tra số phải các số đặc biệt cần kiểm tra không:

  • NútSố chính phương

private void button1_Click(object sender, EventArgs e)

        {

            if (textkiemtra.Text == "") MessageBox.Show("Chưa nhập số sao kiểm tra!");

            int a = Convert.ToInt32(textkiemtra.Text);

            int dem = 0;

            if( a >= 4 )

            {

                for (int i = 2; i <= a; i++)

                {

                    if (i * i == a) dem = dem + 1;

                } if (dem == 1) MessageBox.Show("Số " + a + " là số chính phương");

                else MessageBox.Show("Số " + a + " không là số chính phương");

            }else MessageBox.Show("Số " + a + " không là số chính phương");

        }

  • NútSố nguyên tố

private void button2_Click(object sender, EventArgs e)

        {

1

 


 

            if (textkiemtra.Text == "") MessageBox.Show("Chưa nhập số sao kiểm tra!");

            int a = Convert.ToInt32(textkiemtra.Text);

            int dem = 0;

            if (a == 2 ) MessageBox.Show("Số 2 là số nguyên tố");

            else

            {if (a > 2)

                {

                    for (int i = 1 ; i <= a; i++)

                    {

                        if (a % i == 0) dem = dem + 1;

                    }

                    if (dem == 2) MessageBox.Show("Số " + a + " là số nguyên tố");

                    else MessageBox.Show("Số "+ a + " Không phải số nguyên tố");

                }else MessageBox.Show("Số " + a + " Không phải số nguyên tố");

            }

 

        }

  • NútSố hoàn hảo

private void button3_Click(object sender, EventArgs e)

        {

            if (textkiemtra.Text == "") MessageBox.Show("Chưa nhập số sao kiểm tra!");

            int a = Convert.ToInt32(textkiemtra.Text);

            int tong = 0;

            for ( int i = 1; i < a; i++)

            {

                if (a % i == 0) tong = tong + i;

            }

            if (tong == a) MessageBox.Show("Số " + a + " là số hoàn hảo");

            else MessageBox.Show("Số " + a + " không là số hoàn hảo");

        }

Còn lại hai nút còn lại tương tự như các nút đã xuất hiệncác Form trước đó.

 

2.8: Form 7 – Cấu trúc dữ liệu giải thuật

1

 


 

Trong form này ta các nút:

  • NútTạo mảng tự động

 

private void button_TaoTuDong_Click(object sender, EventArgs e)

        {

            int n = int.Parse(text_SoLuongPhanTu.Text);

            M = new int[n];

            label_htMangNhap.Text = "";

            for (i = 0; i < n; i++)

            {

                M[i] = rado.Next(100);

                label_htMangNhap.Text += M[i] + "    ";

            }

        }

  • NútTạo thủ công

private void nutTaoThuCong_Click(object sender, EventArgs e)

        {

            int n = int.Parse(text_SoLuongPhanTu.Text);

            M = new int[n];

            nutNhap.Enabled = true;

           nutTaoTuDong.Enabled = true;

            text_Nhappt.Enabled = true;

            label_NhapPhanTu.Enabled = true;

            count = 0;

        }

  • NútNhập

private void nutNhap_Click(object sender, EventArgs e)

        {

            M[count] = int.Parse(text_Nhappt.Text);

            count++;

            int dem = count + 1;

1

 

nguon VI OLET