Huong dan giai bai tap nhap mon lap trinh c cua tac gia hoang van hau

56 276 0
Huong dan giai bai tap nhap mon lap trinh c cua tac gia hoang van hau

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí Biên soạn: Hoàng Văn Hậu Hướng dẫn giải tập-Nhập Môn Lập Trình HƯỚNG DẪN GIẢI BÀI TẬP NHẬP MÔN LẬP TRÌNH ******** LỜI GIỚI THIỆU Các bạn sinh viên công nghệ thông tin hệ ĐTTXQM –ĐHKN TN thân mến! Môn học Nhập Môn Lập Trình môn học cung cấp kiến thức tảng để giúp bạn học tập tốt môn học liên quan đến lập trình sau Thấu hiểu rõ tầm quan trọng môn học, đồng thời muốn truyền đạt lại cho bạn kinh nghiệm làm tập, cách trình bày thi đạt điểm cao, xin gởi đến bạn sách “Hướng dẫn giải tập Nhập môn lập trình” Nội dung sách gồm phần: PHẦN 1: HƯỚNG DẪN GIẢI CHI TIẾT 35 BÀI TẬP Phần hướng dẫn bạn làm tập trực tiếp môi trường lập trình C# Visual Studio 2008 2010 Giải chi tiết 35 tập suốt môn học với kỹ chung như: Tóm tắt yêu cầu, Xây dựng thuật giải cuối viết code PHẦN 2: HƯỚNG DẪN TRÌNH BÀY BÀI KIỂM TRA, THI CUỐI KỲ Phần hướng dẫn bạn trình bày Word Sau thi cuối kỳ bạn viết trực tiếp giấy thi Hy vọng tài liệu công cụ hỗ trợ để bạn học môn học cách có hiệu Xong lần viết nên có thiếu sót, góp ý bạn gửi mail theo địa chỉ: hoanganton89@gmail.com.vn Hồ Chí Minh, ngày 05 tháng 05 năm 2012 Người biên soạn Hoàng Văn Hậu Email: hoanganton89@gmail.com Trang 1/56 TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí Biên soạn: Hoàng Văn Hậu Hướng dẫn giải tập-Nhập Môn Lập Trình PHẦN HƯỚNG DẪN GIẢI CHI TIẾT 35 BÀI TẬP ****** Bài Tập namespace Bai_Tap_1 {// Đề bài: Viết chương trình nhập vào thông tin nhân viên (Họ tên, ngày sinh), Tính xuât tuổi nhân viên // Tóm tắt yêu cầu //Nhập:Thông tin nhân viên ( Họ tên, ngày sinh) //Xuất: Tuổi nhân viên //Quy tắc xử lý: Tuổi nhân viên= Năm hành - Năm sinh class Program { // Xây dựng thuật giải viết code: static void Main(string[] args) { //Tên tập Console.Title = "Bài tập 1"; //Khai báo chuỗi họ tên string Ho_ten; //Khai báo ngày sinh DateTime Ngay_sinh; //Khai báo số nguyên tuổi int Tuoi; //Nhập liệu cho họ tên Console.Write("Ho Ten:"); Ho_ten = Console.ReadLine(); //Nhập liệu cho Ngày sinh Console.Write("Ngay Sinh:"); Ngay_sinh = DateTime.Parse(Console.ReadLine()); //Xử lý tính tuổi nhân viên Tuoi = DateTime.Today.Year - Ngay_sinh.Year; //Kết xuất tuổi nhân viên string chuoi = "Tuoi la:" + Tuoi; Console.Write(chuoi); Console.ReadLine(); } } } Hình 1-Kết cho tập Email: hoanganton89@gmail.com Trang 2/56 TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí Biên soạn: Hoàng Văn Hậu Hướng dẫn giải tập-Nhập Môn Lập Trình Bài Tập namespace Bai_tap_2 {// Đề bài: Viết chương trình tính khoảng cách từ điểm M(xM,yM) // đến đường thẳng d: ax+by+c=0 // // Tóm tắt yêu cầu: //Nhập: Các toạ độ điểm M //Xuất: Khoảng cách h //Quy tắc xử lý:h=(a*xM+b*yM+c)/Căn bậc 2(a*a+b*b) class Program { Xây dựng thuật giải viết code: //Khai báo cấu trúc DIEM struct DIEM { public double x, y; } static void Main(string[] args) { //Tên tập Console.Title = "Bài tập 2"; //Khai báo điểm DIEM M; //Khai báo số thực hệ số đường thẳng a, b, c double a, b, c; //Khai báo khoảng cách h double h; //Nhập liệu cho toạ độ M Console.Write("Diem M\nx="); M.x = double.Parse(Console.ReadLine()); Console.Write("y="); M.y = double.Parse(Console.ReadLine()); //Nhập liệu cho hệ số đường thẳng Console.Write("Cac he so cua duong thang\na="); a = double.Parse(Console.ReadLine()); Console.Write("b="); b = double.Parse(Console.ReadLine()); Console.Write("c="); c = double.Parse(Console.ReadLine()); //Xử lý tính khoảng cách h double e = Math.Abs(a * M.x + b * M.y + c); double f = Math.Sqrt(a * a + b * b); h = e / f; //Xuất khoảng cách h string chuoi = "Khoang cach la:" + Math.Round(h, 1); Console.Write(chuoi); Console.ReadLine(); } Email: hoanganton89@gmail.com Trang 3/56 TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí Biên soạn: Hoàng Văn Hậu Hướng dẫn giải tập-Nhập Môn Lập Trình } } Hình 2-Kết cho tập Bài Tập namespace Bai_tap_3 { // Đề bài: Viết chương trình tính tích phân số // Tóm tắt yêu cầu //Nhập:Hai phân số x,y //Xuất:Phân số z //Quy tắc xử lý:z=x*y class Program { // Xây dựng thuật giải viết code: //Khai báo cấu trúc PHAN_SO struct PHAN_SO { public int Tu_so, Mau_so; } static void Main(string[] args) { //Tên tập Console.Title = "Bài tập 3"; //Khai báo phân số x,y PHAN_SO x, y; //Khai báo phân số z PHAN_SO z; //Nhập liệu cho x,y Console.Write("Phan so x\nTu so="); x.Tu_so = int.Parse(Console.ReadLine()); Console.Write("Mau so="); x.Mau_so = int.Parse(Console.ReadLine()); Console.Write("Phan so y\nTu so="); y.Tu_so = int.Parse(Console.ReadLine()); Console.Write("Mau so="); y.Mau_so = int.Parse(Console.ReadLine()); //Xử lý tính phân số z z.Tu_so = x.Tu_so * y.Tu_so; z.Mau_so = x.Mau_so * y.Mau_so; //Kết xuất phân số z Email: hoanganton89@gmail.com Trang 4/56 TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí Biên soạn: Hoàng Văn Hậu string chuoi = "Phan so z=x*y=" + z.Tu_so + "/" + z.Mau_so; Console.Write(chuoi); Console.ReadLine(); Hướng dẫn giải tập-Nhập Môn Lập Trình } } } Hình 3-Kết cho tập Bài Tập namespace Bai_tap_4 { // Đề bài: Viết chương trình nhập họ tên, ngày sinh tính ngày hưu nhân viên nam // Tóm tắt yêu cầu //Nhập: Thông tin nhân viên nam (Họ tên, ngày sinh) //Xuất: Ngày hưu //Quy tắc xử lý: Nhân viên nam nghỉ hưu 60 tuổi class Program { // Xây dựng thuật giải viết code: static void Main(string[] args) { //Tên tập Console.Title = "Bài tập 4"; //Khai báo chuỗi họ tên string Ho_ten; //Khai báo ngày sinh DateTime Ngay_sinh; //Khai báo ngày hưu DateTime Ngay_ve_huu; //Nhập liệu cho họ tên, ngày sinh Console.Write("Ho ten:"); Ho_ten = Console.ReadLine(); Console.Write("Ngay sinh:"); Ngay_sinh = DateTime.Parse(Console.ReadLine()); //Xử lý tính ngày hưu Ngay_ve_huu = new DateTime(Ngay_sinh.Year + 60, Ngay_sinh.Month, Ngay_sinh.Day); Email: hoanganton89@gmail.com Trang 5/56 TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí Biên soạn: Hoàng Văn Hậu Hướng dẫn giải tập-Nhập Môn Lập Trình //Kết xuất ngày hưu string chuoi = "Ngay ve huu :" + Ngay_ve_huu.Day + "/" + Ngay_ve_huu.Month + "/" + Ngay_ve_huu.Year; Console.Write(chuoi); Console.ReadLine(); } } } Hình 4-Kết cho tập Bài Tập namespace Bai_tap_5 { // Đề bài: Viết chương trình nhập vào thông tin số nguyên n có chữ số // Tính xuất chữ số chữ số cuối n // Tóm tắt yêu cầu: //Nhập: Số n có chữ số //Xuất: Chữ số đầu cuối n //Quy tắc xử lý:Theo ví dụ: 123===>Chữ số đầu:1, chữ số cuối:3 class Program { //Xây dựng thuật giải viết code: static void Main(string[] args) { //Tên tập Console.Title = "Bài tập 5"; //Khai báo số nguyên n int n; //Khai báo chữ số đầu, cuối int Dau, Cuoi; //Nhập liệu cho n Console.Write("n="); n = int.Parse(Console.ReadLine()); //Xử lý tính chữ số đầu, cuối Dau = n / 100; Cuoi = n % 10; //Kết xuất chữ số đầu, cuối string chuoi = "Chu so dau=" + Dau + "\nChu so cuoi=" + Cuoi; Console.Write(chuoi); Console.ReadLine(); } } Email: hoanganton89@gmail.com Trang 6/56 TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí Biên soạn: Hoàng Văn Hậu Hướng dẫn giải tập-Nhập Môn Lập Trình } Hình 5-Kết cho tập Bài Tập namespace Bai_tap_6 { //Đề bài: Viết chương trình nhập vào thông tin mặt hàng Tên, số lượng, đơn giá // Tính xuất tiền phải trả dựa theo quy tắc "Nếu mua với số lượng từ 50 // đến 100 giảm 8%, mua với số lượng 100 giảm 12% //Tóm tắt yêu cầu: //Nhập:Thông tin mặt hàng: Tên, số lượng, đơn giá //Xuất:Tiền trả //Quy tắc xử lý: //Nếu mua với số lượng Nhỏ 50 //Tiền trả = Số lượng*Đơn giá //Nếu mua với số lượng >=50 100 //Tiền trả = Số lượng*Đơn giá*0.92 class Program { //Xây dựng thuật giải viết code: //Khai báo cấu trúc MAT_HANG struct MAT_HANG { public string Ten_hang; public double So_luong; public double Don_gia; } static void Main(string[] args) { //Tên tập Console.Title = "Bài tập 6"; //Khai báo Mặt hàng MAT_HANG Mh; //Khai báo số thực tiền trả double Tien_tra; //Nhập liệu cho mặt hàng Console.Write("Ten Hang:"); Mh.Ten_hang = Console.ReadLine(); Email: hoanganton89@gmail.com Trang 7/56 TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí Biên soạn: Hoàng Văn Hậu Hướng dẫn giải tập-Nhập Môn Lập Trình Console.Write("So Luong:"); Mh.So_luong = double.Parse(Console.ReadLine()); Console.Write("Don Gia:"); Mh.Don_gia = double.Parse(Console.ReadLine()); //Xử lý tính Tiền trả //Tiền trả = Số lượng*Đơn giá Tien_tra = Mh.So_luong * Mh.Don_gia; //Nếu mua với số lượng >=50 = 50 && Mh.So_luong 100 //Tiền trả = Số lượng*Đơn giá*0.92 else if (Mh.So_luong > 100) Tien_tra = Mh.So_luong * Mh.Don_gia * 0.88; //Kết xuất tiền trả string chuoi = "Tien tra:" + Tien_tra; Console.Write(chuoi); Console.ReadLine(); } } } Hình 6-Kết cho tập Bài Tập namespace Bai_tap_7 { //Đề bài: Viết chương trình nhập vào thông tin học sinh: Họ tên, Điểm TB //Tính xuất kết xếp loại theo bảng xếp loại sau: //Loại Giỏi: Điểm TB>8,5 //Loại Khá: 6,5=0) //{ // Slcs += 1; // n = n / 10; //} { Slcs += 1; n = n / 10; } while (n > 0); string chuoi = "So luong so chu so:" + Slcs; Console.Write(chuoi); Console.ReadLine(); } } } Hình 31-Kết tập 31 Email: hoanganton89@gmail.com Trang 43/56 TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí Biên soạn: Hoàng Văn Hậu Hướng dẫn giải tập-Nhập Môn Lập Trình Bài Tập 32 namespace Bai_tap_32 { //Đề bài: Viết chương trình nhập vào số nguyên dương n Tính xuất tổng chữ số n //Tóm tắt yêu cầu (Các bạn tự làm): //Nhập: //Xuất: //Quy tắc xử lý: class Program { //Xây dựng thuật giải (Các bạn tự làm) viết code: static void Main(string[] args) { //Tên tập Console.Title = "Bài tập 32 "; int n; int S; Console.Write("Nhap so duong n:"); n = int.Parse(Console.ReadLine()); S = 0; while (n > 0) { int So_cuoi = n % 10; S += So_cuoi; n /= 10; } string chuoi = "Tong cac chu so la:" + S; Console.Write(chuoi); Console.ReadLine(); } } } Hình 32-Kết tập 32 Email: hoanganton89@gmail.com Trang 44/56 TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí Biên soạn: Hoàng Văn Hậu Hướng dẫn giải tập-Nhập Môn Lập Trình Bài Tập 33 namespace Bai_tap_33 { //Đề bài: Viết chương trình nhập vào thông tin ngày sinh người //Cho biết sinh nhật năm vào ngày nào? (thứ tuần lễ) //Tóm tắt yêu cầu (Các bạn tự làm): //Nhập: //Xuất: //Quy tắc xử lý: class Program { //Xây dựng thuật giải (Các bạn tự làm) viết code: static void Main(string[] args) { //Tên tập Console.Title = "Bài tập 33 "; DateTime Ng_s; string Thu = ""; Console.Write("Nhap sinh:"); Ng_s = DateTime.Parse(Console.ReadLine()); DateTime Ng_sn = new DateTime(DateTime.Today.Year, Ng_s.Month, Ng_s.Day); if (Ng_sn.DayOfWeek == DayOfWeek.Sunday) Thu = "Chu Nhat"; else if (Ng_sn.DayOfWeek == DayOfWeek.Monday) Thu = "Thu Hai"; else if (Ng_sn.DayOfWeek == DayOfWeek.Tuesday) Thu = "Thu Ba"; else if (Ng_sn.DayOfWeek == DayOfWeek.Wednesday) Thu = "Thu Tu"; else if (Ng_sn.DayOfWeek == DayOfWeek.Thursday) Thu = "Thu Nam"; else if (Ng_sn.DayOfWeek == DayOfWeek.Friday) Thu = "Thu Sau"; else if (Ng_sn.DayOfWeek == DayOfWeek.Saturday) Thu = "Thu Bay"; string chuoi = "Ngay sinh nhat:" + Thu + " Ngay " + Ng_sn.Day + " Thang " + Ng_sn.Month + " Nam " + Ng_sn.Year; Console.Write(chuoi); Console.ReadLine(); } } } Email: hoanganton89@gmail.com Trang 45/56 TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí Biên soạn: Hoàng Văn Hậu Hướng dẫn giải tập-Nhập Môn Lập Trình Hình 33-Kết tập 33 Bài Tập 34 namespace Bai_tap_34 { //Đề bài: Viết chương trình nhập vào năm, đếm xem năm có ngày thứ ngày 13 tây //Tóm tắt yêu cầu (Các bạn tự làm): //Nhập: //Xuất: //Quy tắc xử lý: class Program { //Xây dựng thuật giải (Các bạn tự làm) viết code: static void Main(string[] args) { //Tên tập Console.Title = "Bài tập 34 "; int Nm; int So_luong; Console.Write("Nhap vao nam:"); Nm = int.Parse(Console.ReadLine()); So_luong = 0; for (int Th = 1; Th =100:tiền trả = số lượng*đơn giá*0.92 + số lượng =100:tiền trả = mh.số lượng*mh.đơn giá*0.92 + số lượng =5 điểm văn, toán>=2 Thuật giải: Khai báo:mảng thí sinh thisinh Khai báo:mảng thí sinh đậu thisinhdau Nhập liệu:mảng thí sinh Xử lí: thisinhdau=thisinh thỏa( điểm TB>=5, điểm văn toán>=2) Kết xuất : thisinhdau Bài 2: Lập trình đoạn lệnh: 2.1: Nhập liệu chương trình 1.2, 1.4: Console.Write(“ho ten:”); Nv.hoten=Console.Realine(); Console.Write(“Gioi tinh:”); Gioitinh=bool.Parse(Console.Readline()); Console.Write(“Ngay sinh:”); Ngaysinh=Date Time.Parse(Console.Readline()); Email: hoanganton89@gmail.com Trang 51/56 TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí Hướng dẫn giải tập-Nhập Môn Lập Trình Biên soạn: Hoàng Văn Hậu Console.Write(“so luong cac so nguyen cua a:”); Int soluong=int.Parse(Console.Readline()); a =new int[soluong]; for(i=0;i=100 Tiền trả= số lượng *đơn giá*0.95 Kết xuất số thực tiền trả:Tien_tra Khai báo biến: Struct MATHANG { public string tenhang; puclic int soluong; public DateTime ngaymua; pudlic double dongia; } MATHANG Mh; Double Tien_tra=0; Lập trình đoạn lệnh xử lý: Tien_tra=Mh.soluong*Mh.dongia; If(Mh.ngaymua.Month==10&&Mh.soluong>=100) Tien_tra=Mh.soluong*Mh.dongia*0.95; Bài 1.2 Tóm tắt yêu cầu: Nhập: Số nguyên dương n Xuất: Số thực S Quy tắc xử lý: S=1/2*3+2/3*4+… +n/(n+1)*(n+2) Xây dựng thuật giải: Khai báo số nguyên dương n Khai báo số thực S Nhập liệu cho n S=0; Vòng lặp số nguyên i từ đến n Email: hoanganton89@gmail.com Trang 53/56 TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí Hướng dẫn giải tập-Nhập Môn Lập Trình Biên soạn: Hoàng Văn Hậu S=S+i/((i+1)*(i+2)) Kết xuất S Khai báo biến: int n; double S; Lập trình đoạn lệnh xử lý: S=0; for(int i=1;i= Can_duoi[i] && Hs.DTB < Can_tren[i]) Hoc_luc = MHoc_luc[i]; if (Hs.DTB == 10) Hoc_luc = "Gioi"; //Kết xuất h c l c: string chuoi = "Hoc Luc:"... BC = Math.Sqrt( (C. x - B.x) * (C. x - B.x) + (C. y B.y) * (C. y - B.y)); double CA = Math.Sqrt((A.x - C. x) * (A.x - C. x) + (A.y C. y) * (A.y - C. y)); //Tính chu vi Cv = AB + BC + CA; //Tính nửa chu

Ngày đăng: 03/10/2017, 00:46

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan