Bài tập lập trình windows form có lời giải

Mục tiêu: Đánh giá đặc điểm hình thái, chức năng thận trên xạ hình với 99mTc-DTPA và siêu âm của người hiến thận cùng huyết thống. Đối tượng và phương pháp: Nghiên cứu mô tả, cắt ngang trên 48 người bình thường, khỏe mạnh có cùng huyết thống với người nhận thận, được siêu âm và xạ hình với 99mTc-DTPA, từ tháng 01/2021 - 4/2022. Kết quả: Tuổi trung bình 33,79 ± 8,28 (thấp nhất 23, cao nhất 60 tuổi) tỷ lệ nam/nữ là 1,29/1. Kích thước của thận trên siêu âm (chiều rộng × dài): Thận phải 44,7 mm × 99,21 mm, thận trái 46,85 mm × 101,06 mm. Kích thước chiều rộng của thận ở nữ giới nhỏ hơn nam giới (47,15 ± 6,79 mm so với 41,82 ± 5,79, p < 0,05). Chức năng thận trên xạ hình với 99mTc-DTPA, mức lọc cầu thận trung bình ở cả hai giới 122,87 ± 10,44 mL/phút; thận phải 61,87 ± 6,39 mL/ phút, thận trái 61,0 ± 6,31 mL/phút; tỷ lệ % đóng góp của thận phải 50,81 ± 2,77%, thận trái 49,19 ± 2,77%. Không có mối tương đồng giữa mức lọc cầu thận trên xạ hình thận và công thức ước tính. Không có mối tư...

Giúp sinh viên làm quen với ngôn ngữ C#: qua việc viết các ứng dụng console đơn giản, các cấu trúc điều khiển, các câu lệnh cơ bản tuần tự, rẽ nhánh, vòng lặp trong C#

  • Làm quen với môi trường phát triển tích hợp Visual studio : các công cụ hỗ trợ soạn thảo mã nguồn, các công cụ biên dịch, debug...
  • Yêu cầu:
  • Yêu cầu về điều kiện thực hành: máy tính, phần mềm visual studio
  • Yêu cầu sinh viên: nắm được lý thuyết về ngôn ngữ C#, cách tạo ra một project, biên dịch và chạy chương trình. Các câu lệnh đơn giản như khai báo biến, hằng, vòng lặp, điều kiện....
  • Nội dung
  • Bài thực hành mẫu

Bài 1: Tạo ứng dụng HelloWorld

  1. Để sử dụng VS. NET thực hiện như sau: Start | Programs | Microsoft Visual Studio .NET | Microsoft Visual Studio .NET. Start Page xuất hiện như hình dưới đây.

Mã nguồn chương trình:

using System;

namespace HelloWorld

{

class Program { static void Main(string[] args) { System.Console("Hello Character World"); System.Console(); } }

}

  • Dịch và chạy chương trình
    • Build chương trình bằng cách Build -> Build Solution. Hoặc sử dụng phím tắt Ctrl+Shift+B.
  • Chạy chương trình sử dụng Debug->Start Without Debugging. Hoặc có thể sử dụng phím tắt Ctrl+F5.
  • Kết quả hiển thị ra màn hình như sau:

Bài 2: Viết chương trình nhập vào tên của mình và xuất ra màn hình “Xin chào + Tên”.

Chú ý:

 Khai báo biến chuỗi: string ten;  Nhập chuỗi từ bàn phím: ten = Console();  Xuất ra màn hình:

Console("\n" + TinhToan(a, b, ch)); Console();

}

static string TinhToan(int a, int b, char ch) { switch (ch) { case '+': return "a + b = " + (a + b); case '-': return "a - b = " + (a - b); case '*': return "a * b = " + (a * b); case '/': if (b != 0) return "a / b = " + (a / b); else return "Nhap b khac khong"; default: return "Nhap phep toan khac"; } } }

}

Bài 4: Viết chương trình nhập số nguyên N, kiểm tra và xuất kết quả N là số chằn/lẻ.

Hướng dẫn:

  • Nhập N từ bàn phím: khai báo là int N;
  • Dùng câu điều kiện If kiểm tra N là số chẵn hay lẻ
  • Hiển thị kết quả.

Code

using System; using System.Collections; using System; using System; using System.Threading;

namespace Tinh2So { class Program

{

static void Main(string[] args) { int N; // khai báo biến N // Nhập N từ bàn phím Console("Nhap so N:"); N = Convert(Console()); // Dùng câu lệnh kiểm tra có điều kiện If để kiểm tra N là số chẵn hay lẻ if (N % 2 == 0) Console("{0} la so chan", N);

else Console("{0} la so le", N);

Console(); } } }

Bài 5: Sử dụng C# viết chương trình Nhập vào ba cạnh của một tam giác và kiểm tra xem tam giác đó là tam giác đều, tam giác cân hay tam giác thường.

Hướng dẫn:

  • Cần kiểm tra xem 3 số nhập vào có phải là 3 cạnh của tam giác hay không ( tổng 2 cạnh phải lớn hơn cạnh còn lại )
  • Là tam giác đều nếu 3 cạnh bằng nhau, tam giác cân trong trường hợp có 2 cạnh bất kì bằng nhau

using System; using System.Collections; using System; using System; using System.Threading;

namespace Demo { class Program { public static void Main() {

int canha, canhb, canhc; Console("\n"); Console("Kiem tra tam giac deu, can, thuong trong C#:\n");

class Program { static void Main(string[] args) {

int a, b; Console("a ="); a = int(Console()); Console("b ="); b = int(Console()); // lấy trị tuyêt đối a = Math(a); b = Math(b);

while (a % b != 0) { int r = a % b; a = b; b = r; } Console("UCLN = " + b);

Console(); } } }

  1. Các bài thực hành cơ bản

Bài 1: Viết chương trình giải phương trình bậc nhất có dạng ax + b = 0, với các hệ số a, b được nhập từ bàn phím.

Bài 2: Viết chương trình nhập chiều dài, chiều rộng hình chữ nhật, xuất chu vi, diện tích của hình chữ nhật đó.

Bài 3: Viết chương trình nhập bán kính hình tròn, xuất chu vi, diện tích của hình tròn đó.

Hướng dẫn:

  • Đặt const double pi = 3.
  • Tính chu vi và diện tích hình tròn

Bài 4: Viết chương trình nhập vào một số kiểm tra xem số đó có phải số chính phương hay không?

Bài 5: Sử dụng ngôn ngữ lập trình C# viết chương trình giải bài toán sau:

Tìm số gà và số chó, biết: Vừa gà vừa chó Bó lại cho tròn Ba mươi sáu con Một trăm chân chẵn Hỏi có bao nhiêu gà, bao nhiêu chó

Bài 6 : Sử dụng ngôn ngữ lập trình C# viết chương trình xét xem một số n có phải là

số nguyên tố không?

Hướng dẫn: Nếu n không chia hết mọi số i có giá trị từ 2 đến n - 1 thì n là số

nguyên tố. Sử dụng biến ok có kiểu int và có giá trị ban đầu là 1. Cho biến i chạy từ 2

đến n – 1. Xét n % i, nếu bằng 0 thì gán ok = 0. Ngược lại vẫn để nguyên ok.

Bài 7: Viết chương trình tính n! với n! được định nghĩa như sau:

  • n! = 1 với n = 0
  • n! = 1.2.3.. (Tích của n số từ 1 đến n).

Yêu cầu: Sử dụng vòng lặp với số lần chưa biết trước: Hướng dẫn: Có thể viết lại: n! = n. (n-1)... 3.2. Lặp gt = gt*n; n = n-1 với điều

kiện n>0.

  1. Các bài thực hành nâng cao

Bài 1: Viết chương trình nhập vào đơn giá 1 mặt hàng, và số lượng bán của mặt hàng.

Tính tiền khách phải trả, với thông tin như sau:

 Thành tiền: đơn giá * số lượng  Giảm giá: Nếu thành tiền > 100, thì giảm 3% thành tiền, ngược lại không giảm  Tổng tiền phải trả: thành tiền – giảm giá.

Bài 2: Viết chương trình tính tính tiền điện sử dụng trong tháng:

 Từ 1 – 100KW: 5$  Từ 101 – 150KW: 7$  Từ 151 – 200KW: 10$  Từ 201 – 300KW: 15$  Từ 300KW trở lên: 20$

BÀI TẬP THỰC HÀNH 2: LẬP TRÌNH CĂN BẢN VỚI C#

  1. Mục tiêu:
  2. Giúp sinh viên làm quen với ngôn ngữ C#: qua việc viết các ứng dụng console đơn giản, làm quen với cấu trúc dữ liệu mảng, khai báo sử dụng mảng một chiều, mảng 2 chiều...
  3. Làm quen với môi trường phát triển tích hợp VS .NET : các công cụ hỗ trợ soạn thảo mã nguồn, các công cụ biên dịch, debug...
  4. Yêu cầu:
  5. Yêu cầu về điều kiện thực hành: máy PC (laptop), phần mềm visual studio
  6. Yêu cầu sinh viên: nắm vững kiến thức về các ngôn ngữ C# như mảng, dãy, vòng lặp, điều kiện,...
  7. Nội dung
  8. Bài thực hành mẫu

Bài 1: Viết chương trình C# cho phép nhập các phần tử mảng một chiều, sau đó tìm tổng các phần tử của mảng và hiển thị kết quả trên màn hình. Mục đích: Giúp sinh viên làm quen với các khái niệm: khai báo mảng, khởi tạo mảng, và cách truy cập các phần tử của mảng trong C#. Hướng dẫn :

using System; using System.Collections; using System; using System; using System.Threading;

namespace Demo { class Program { public static void Main() {

int[] a = new int[100]; int i, n, sum = 0;

Console("Nhap so phan tu can luu tru vao trong mang: "); n = Convert(Console());

Console("Nhap {0} phan tu vao trong mang: \n", n); for (i = 0; i < n; i++) { Console("Phan tu - {0}: ", i); a[i] = Convert(Console()); }

for (i = 0; i < n; i++) { sum += a[i]; }

Console("Tong cac phan tu trong mang la: {0}\n\n", sum);

Console(); } }

}

Bài 2: Viết chương trình C# cho phép nhập một mảng một chiều, thực hiện chèn thêm phần tử mới vào trong mảng sau đó in mảng trên màn hình.

Mục tiêu:

Bài tập chèn phần tử vào mảng là bài tập rất phổ biến trong mọi ngôn ngữ lập trình và có nhiều ứng dụng. Bài tập C# này giúp làm quen với các khái niệm: khai báo mảng, khởi tạo mảng, và cách truy cập các phần tử của mảng trong C#.

Hướng dẫn:

  • Để chèn một phần từ vào vị trí X ta thực hiện di chuyển các phẩn từ mảng ban đầu từ vị trí X sang bên phải một đơn vị
  • Gán vị trí ô nhớ X bằng phần tử người dùng nhập vào

using System; using System.Collections; using System; using System; using System.Threading;

namespace Demo { class Program { public static void Main() {

{ class Program { public static void Main() { int i, j, n; int[,] arr1 = new int[50, 50]; int[,] arr2 = new int[50, 50]; int[,] ma_tran_tong = new int[50, 50]; Console("Nhap kich co cua hai ma tran vuong (nho hon 5): "); n = Convert(Console()); /* Nhap cac phan tu vao trong mang da chieu*/ Console("Nhap cac phan tu vao trong ma tran dau tien:\n"); for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { Console("Phan tu - [{0},{1}]: ", i, j); arr1[i, j] = Convert(Console()); } } Console("Nhap cac phan tu vao trong ma tran thu hai:\n"); for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { Console("Phan tu - [{0},{1}]: ", i, j); arr2[i, j] = Convert(Console()); } } Console("\nIn ma tran thu nhat:\n"); for (i = 0; i < n; i++) { Console("\n"); for (j = 0; j < n; j++) Console("{0}\t", arr1[i, j]); } Console("\nIn ma tran thu hai:\n"); for (i = 0; i < n; i++) { Console("\n"); for (j = 0; j < n; j++) Console("{0}\t", arr2[i, j]); } /* cong hai ma tran */ for (i = 0; i < n; i++) for (j = 0; j < n; j++) ma_tran_tong[i, j] = arr1[i, j] + arr2[i, j]; Console("\nMa tran tong cua hai ma tran tren la: \n"); for (i = 0; i < n; i++) { Console("\n"); for (j = 0; j < n; j++) Console("{0}\t", ma_tran_tong[i, j]); } Console(); Console(); }

} }

  1. Các bài thực hành tương tự

Bài 1 : Viết chương trình nhập vào một mảng một chiều và thực hiện:

  1. Liệt kê các phần tử dương
  2. Liệt kê các phần tử lẽ ở vị trị chẵn.
  3. Liệt kê các số nguyên tố, số chính phương, số hoàn hảo trong mảng.
  4. Tìm phần tử lớn nhất, nhỏ nhất trong mảng một chiều
  5. Xóa một phần tử khỏi mảng
  6. Xóa tất cả phần tử = x.
  7. Sắp xếp mảng theo chiều tăng , giảm dần.

Bài 2: Viết chương trình nhập vào một ma trận và thực hiện:

  1. Tính tổng các phần tử trên cùng một dòng
  2. Tính tổng các phần tử trên cùng một cột
  3. Tính tổng các phần tử trên đường chéo chính
  4. Tìm ma trận chuyển vị của ma trận vừa nhập
  5. Sắp xếp các phần tử của ma trận theo chiều tăng, giảm dần
  6. Các bài thực hành nâng cao

Bài 1: Viết chương trình nhập vào một mảng một chiều và thực hiện:

  1. Đếm số phần tử xuất hiện nhiều nhất trong mảng
  2. Tìm số lẻ nhỏ nhất lớn hơn mọi số chẵn có trong mảng
  3. Xoá tất cả những phần tử trùng nhau trong dãy chỉ giữ lại một phần tử trong đó. Ví dụ: 1 6 2 3 2 4 2 6 5 => 1 6 2 3 4 5

Bài 2: Viết chương trình nhập vào 2 mảng một chiều và thực hiện:

 Tìm dãy con chung dài nhất của 2 mảng đã nhập

Bài 3: Viết chương trình nhập vào 2 ma trận và thực hiện:

  1. Tính tích 2 ma trận đã nhập
  2. In ra ma trận tam giác trên của ma trận kết quả
  3. Tính định thức của ma trận kết quả

this = int(Console()); Console("mau so = "); do this = int(Console()); while (this == 0); } public void InPhanso(int tuso, int mauso) { Console("Phan so = " + tuso + "/" + mauso); } public Phanso congphanso(Phanso ph1, Phanso ph2) { Phanso ph3 = new Phanso(); ph3 = ph1 * ph2 + ph2 * ph1; ph3 = ph1 * ph2;

int uc = ucln(ph3, ph3); ph3 = ph3 / uc; ph3 = ph3 / uc;

return ph3;

} public int ucln(int a, int b) { int r = 1; while (r != 0) { r = a % b; a = b; b = r; } return a; } }

}

Hàm Main

using System; using Phansochuan; namespace Phansochuan {

class Program { static void Main(string[] args)

{

Console("Nhap phan so 1"); Phanso p1 = new Phanso(); p1(); Console("Nhap phan so 2"); Phanso p2 = new Phanso(); p2(); Console("tong 2 phan so la"); Phanso p3 = new Phanso(); p3 = p3(p1, p2); p3(p3, p3); Console(); } } }

  1. Các bài tập tương tự

Bài 1. Viết một chương trình để cài đặt một hệ thống quản lý kho.

Hãy lưu trữ mã số, tên hàng, giá và số lượng đang có của mỗi món hàng trong một lớp. Nhập chi tiết của N (N nhập từ bàn phím) món hàng hiển thị tên từng món hàng và tổng giá trị của nó.

Bài 2. Viết một chương trình để lưu trữ các sinh viên gồm: mã sinh viên, họ và tên và điểm trung bình của N (N nhập từ bàn phím) sinh viên.

Hãy sắp xếp danh sách sinh viên này theo thứ tự điểm trung bình giảm dần. Hiển thị 3 sinh viên có điểm trung bình cao nhất.