Bài 4: Nhập các hệ số của đa thức bậc n theo x vào một mảng.. In ra một số kết quả sau: số lượng số âm, tổng số số âm, số lượng số dương, tổng số số dương trong mảng.. Bài 6: Nhập một mả
5
Phân Tích
Trong trò chơi Bao – Búa – Kéo, mỗi người chơi được quyền chọn ngẫu nhiên 1 trong
3 lựa chọn: Bao, Búa, Kéo Kết quả trò chơi dựa trên quy tắc sau
- Nếu 2 người chơi cùng ra lựa chọn giống nhau thì hòa
Input: Nhập các lựa chọn: 1 - Bao, 2 - Búa, 3 - Kéo, 4 - Thoát trò chơi
Output: In ra kết quả “Thắng”, “Thua” và “Hòa”
Thuật Toán
- Bước 1: Người chơi chọn 1 trong 4 lựa chọn:
- Bước 2: Nếu người chơi chọn (1), (2) hoặc (3) thì chuyển sang bước 3 Nếu người chơi chọn (4) thì chuyển sang bước 7
- Bước 3: Máy sẽ lựa chọn ngẫu nhiên “Bao”, “Búa” hoặc “Kéo”
- Bước 5: So sánh lựa chọn của người chơi và máy để đưa ra kết quả
- Bước 6: Hiển thị kết quả là “Thắng”, “Thua” hay “Hòa”
- Bước 7: Kết thúc trò chơi b) Sơ Đồ Khối c) Mã Nguồn
Console.WriteLine("Chào mừng bạn đến với trò chơi Bao - Búa - Kéo");
Random r = new Random(); int may = r.Next(1, 4);
Console.Write("Chọn từ 1 đến 4: "); luaChon = Console.ReadLine(); switch (luaChon)
Console.WriteLine("Bạn chọn Bao"); if (may == Convert.ToInt32(luaChon))
Console.WriteLine("Máy chọn Bao");
Console.WriteLine("Máy chọn Búa");
Console.WriteLine("Máy chọn Kéo");
Console.WriteLine("Bạn chọn Búa"); if (may == Convert.ToInt32(luaChon))
Console.WriteLine("Máy chọn Búa");
Console.WriteLine("Máy chọn Bao");
Console.WriteLine("Máy chọn Kéo");
Console.WriteLine("Bạn chọn Kéo"); if (may == Convert.ToInt32(luaChon))
Console.WriteLine("Máy chọn Kéo");
Console.WriteLine("Máy chọn Bao");
Console.WriteLine("Máy chọn Búa");
Console.WriteLine("Đã thoát game!"); break; default:
Console.WriteLine("Sai cú pháp, thử lại!!!"); break;
10
Nhập vào các số thực a, b, c (input) sau đó hiển thị kết quả báo số nghiệm x sao cho thỏa𝑎𝑥 4 + 𝑏𝑥 + 𝑐 = 0 2 (output) Ví dụ:
Output: Phương trình có 4 nghiệm = 1, -1, 0.7071067811865476,
2 Thuật Toán a) Mô Tả Thuật Toán
Phương trình trùng phương:𝑎𝑥 4 + 𝑏𝑥 + 𝑐 = 0 2 hay phương trình bậc 4 khuyết và có các biến bậc chẵn nên ta tiến hành đặt ẩn phụ để đưa phương trình
𝑥 3 𝑥 1 𝑡 = 𝑥 2 về dạng bậc 2:𝑎𝑡 2 + 𝑏𝑡 + 𝑐 = 0để giải phương trình phụ rồi đưa về phương trình trùng phương ban đầu.
Bước 2: Đặt ẩn phụ𝑡 = 𝑥 2 , đưa phương trình về dạng bậc 2:𝑎𝑡 2 + 𝑏𝑡 + 𝑐 = 0.
Bước 3: Nếu a≠0 thì qua bước 4, ngược lại ta có phương trình trở về dạng bậc 1:
Bước 5: Nếu < 0, phương trình vô nghiệm Nếu không thì qua bước 6.∆
Bước 6: Nếu∆ ≠0 thì qua bước 7, ngược lại ta sẽ có phương trình phụ có nghiệm kép
Bước 7: Phương trình phụ có 2 nghiệm phân biệt Nếu𝑡 𝑡 > 0 → 𝑥 =± 𝑡 𝑡 = 0; phương trình vô nghiệm Số nghiệm có được là số nghiệm
→ 𝑥 = 0; 𝑡 < 0, 𝑥 𝑡 dương nhân 2 cộng trường hợp𝑡 = 0 → 𝑥 = 0 (nếu có)
Bước 8:Đưa ra số nghiệm và các giá trị nghiệm thỏa𝑥 𝑎𝑥 4 + 𝑏𝑥 + 𝑐 = 0 2 và kết thúc. b) Sơ Đồ Khối c) Mã Nguồn while (true)
Console.Write("Nhập vào số a: "); float a = float.Parse(Console.ReadLine());
Console.Write("Nhập vào số b: "); float b = float.Parse(Console.ReadLine());
Console.Write("Nhập vào số c: "); float c = float.Parse(Console.ReadLine()); double d = b * b - 4 * a * c; if (a == 0 && b != 0 && c != 0)
{ double A1 = Math.Sqrt(-c / b); double A2 = -Math.Sqrt(-c / b); if ((-c / b) > 0)
Console.WriteLine("Phương trình có 2 nghiệm {0}, {1}", A1, A2); else Console.WriteLine("Phương trình vô nghiệm");
Console.WriteLine("Phương trình vô nghiệm"); if (a == 0 && b == 0 && c == 0)
Console.WriteLine("Phương trình có vô số nghiệm"); if (a != 0 && b == 0 && c == 0 || a == 0 && b != 0 && c == 0)
Console.WriteLine("Phương trình có 1 nghiệm = 0"); if (a != 0 && b != 0 || a != 0 && c != 0)
Console.WriteLine("Phương trình vô nghiệm"); if (d == 0)
{ double t = -b / (2 * a); double X1 = Math.Sqrt(t); double X2 = -Math.Sqrt(t); if (t < 0)
Console.WriteLine("Phương trình vô nghiệm"); else if (t >= 0) if (t == 0)
Console.WriteLine("Phương trình có 1 nghiệm = 0"); else
Console.WriteLine("Phương trình có 2 nghiệm {0}, {1}", X1, X2); } else
{ double t1 = ((-b + Math.Sqrt(d)) / (2 * a)); double t2 = ((-b - Math.Sqrt(d)) / (2 * a)); double x1 = Math.Sqrt(t1); double x2 = -Math.Sqrt(t1); double x3 = Math.Sqrt(t2); double x4 = -Math.Sqrt(t2); if (t1 < 0 && t2 < 0)
Console.WriteLine("Phương trình vô nghiệm"); if (t1 == 0 && t2 < 0 || t2 == 0 && t1 < 0)
Console.WriteLine("Phương trình có 1 nghiệm = 0"); if (t2 == 0 && t1 > 0)
Console.WriteLine("Phương trình có 3 nghiệm = 0, {0}, {1}", x1, x2); if (t1 == 0 && t2 > 0)
Console.WriteLine("Phương trình có 3 nghiệm = 0, {0}, {1}", x3, x4); if (t1 > 0 && t2 < 0)
Console.WriteLine("Phương trình có 2 nghiệm {0}, {1}", x1, x2); if (t1 < 0 && t2 > 0)
Console.WriteLine("Phương trình có 2 nghiệm {0}, {1}", x3, x4); if (t1 > 0 && t2 > 0)
Console.WriteLine("Phương trình có 4 nghiệm = {0}, {1}, {2}, {3}", x1, x2, x3, x4);
Console.Write("Tiếp tục nhập? C/K: "); string end = Console.ReadLine(); if (end.ToLower() == "k")
Console.WriteLine("Thoát bài 2."); break;
Console.WriteLine("Không hợp lệ! Xin vui lòng nhập lại!"); goto menub2;
Console.WriteLine("Không hợp lệ! Xin vui lòng nhập lại!");
15
Input: Nhập vào bán kính r và chiều cao h của hình trụ tròn có thể tích tương đương với hình cầu có bán kính r1.
Output: Bán kính r1 của hình cầu.
2 Thuật Toán a) Mô Tả Thuật Toán
Nhập bán kính hình trụ tròn: r
Nhập chiều cao hình trụ tròn: h
Bước 2: Khởi tạo biến v- thể tích của hình trụ tròn Cụ thể:
Bước 3: Khởi tạo và gán giá trị tính toán r1- bán kính của hình cầu:
Double r1=Math.Pow (3 * v/ ( 4 *Math.PI ) , 1.0/3.0 );
Bước 4: In kết quả giá trị r1 ra màn hình.
Bước 5: Kết thúc chương trình. b) Sơ Đồ Khối c) Mã Nguồn
Console.OutputEncoding = Encoding.UTF8; while(true)
Console.Write("Nhập bán kính của hình trụ tròn: "); double r = double.Parse(Console.ReadLine());
Console.Write("Nhập vào chiều cao của hình trụ tròn: "); double h = double.Parse(Console.ReadLine()); double v = Math.PI * r * r * h; double r1 = Math.Pow(3 * v / (4 * Math.PI), 1.0 / 3.0);
Console.WriteLine("Bán kính hình cầu cần tìm là {0}", r1);
Console.WriteLine("Không hợp lệ! vui lòng nhập lại!");
16
Input: Nhập vào phần tử bậc n, a0→ an, x
Output: Kết quả của công thức: F(x)=anx n + an-1x +…+a xn-1
2 Thuật Toán a) Mô Tả Thuật Toán
Bước 1: Nhập lần lượt số bậc n
Bước 2: Nếu n ≤ 0 thì chuyển sang bước 3, ngược lại bước 4
Bước 3: In ra màn hình “Đa thức F(x) phải > 0” và kết thúc
Bước 4: Nếu n > 0 thì chuyển sang bước 5
Bước 6: Nhập các phần tử từ a0→ anvà nhập x
Bước 7: Tính toán dựa trên công thức F(x)=anx n + an-1x +…+a xn-1
Bước 8: In ra kết quả và kết thúc b) Mã Nguồn
Console.OutputEncoding = Encoding.UTF8; int[] a = Nhap(); int kq = Tinh(a);
Console.WriteLine("Giá trị đa thức F(x) = " + kq);
Console.WriteLine("Đa thức có bậc >= 0"); return 0;
Console.WriteLine("Nhập x: "); int x = Convert.ToInt32(Console.ReadLine()); int kq = a[0]; int mu = 1; for (int i = 1; i < a.Length; i++)
Console.WriteLine("Nhập bậc của đa thức:"); n = Convert.ToInt32(Console.ReadLine()); int[] a; if (n >= 0)
Console.WriteLine($"Nhập hệ số của a{i}:"); a[i] = Convert.ToInt32(Console.ReadLine());
18
Input: Nhập vào số phần tử mảng N và các phần tử số nguyên tương ứng trong mảng.
Output: Số lượng số âm, tổng số số âm, số lượng số dương, tổng số số dương trong mảng.
Mời nhập vào số phần tử N của mảng: 6
Tổng số số âm là: -10
Số lượng số dương là: 4
Tổng số số dương là: 15
2 Thuật Toán a) Mô Tả Thuật Toán
Bước 1: Nhập số lượng phần tử N của mảng.
Bước 2: Nhập lần lượt các giá trị số nguyên vào các thành phần A[i] trong mảng. Bước 3: Nếu A[i] > 0, demduong+=1, tongduong+=A[i], ngược lại thì qua bước 4 Bước 4: Nếu A[i] < 0, demam+=1, tongam+=A[i], nếu không thì qua bước 5. Bước 5: Nếu i 0)
Console.WriteLine("Vui lòng nhập số nguyên dương!"); goto p2b3;
Console.WriteLine("Không hợp lệ, vui lòng nhập lại!"); goto p2b3;
Console.Write("Nhập vào số nguyên dương N (N