Với một bài toán cơ bản, biết phân tích, xây dựng và cài đặt thuật toán để giải quyết bài toán đó bằng máy tính.
vd2: In tam giác PASCAL
vd3:Tìm Bội số chung nhỏ nhất & ước số chung lớn nhất
11 trang |
Chia sẻ: Mr Hưng | Lượt xem: 767 | Lượt tải: 0
Nội dung tài liệu Ngôn ngữ lập trình C, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Giới thiệu môn họcTên môn: Cơ sở lập trìnhThời lượng: 4 tín chỉ (72 giờ)Tài liệu:Tập bài giảngNgôn ngữ lập trình C, Quách Tuấn NgọcLập trình C cơ sở và nâng cao, Phạm Văn ẤtKỹ thuật lập trình C++, Đặng Quế VinhMục đích : Xây dựng nền tảng lập trình máy tính để sinh viên học các môn cơ sở ngành và chuyên ngành sau nàyHọc như thế nào?Đạt được gì?+Đọc - nghe giảng - hỏi+Nội dung bài giảng là tối thiểu phải nắm. +Học thường xuyên+Thực hành thật nhiều.+Tổ chức học nhóm+Làm hết bài tập đã được ra tại lớp+Với một bài toán cơ bản, biết phân tích, xây dựng và cài đặt thuật toán để giải quyết bài toán đó bằng máy tính.+Các ví dụvd1:Liệt kê các số nguyên tố nhỏ hơn hoặc bằng số nguyên dương nvd2: In tam giác PASCALvd3:Tìm Bội số chung nhỏ nhất & ước số chung lớn nhấtvd4:Tìm một số nguyên trong khoảng 1..5000 chỉ sau tối đa 13 lần đoánBỘ NHẬP(INPUT)BỘ XUẤT(OUTPUT)BỘ NHỚ TRONGBỘ SỐ HỌC LOGIC(ALU)BỘ ĐIỀU KHIỂN(CU)BỘ NHỚ NGOÀIMAÏY TÊNH ÂIÃÛN TÆÍ(1)(1)(2)(3)(4)(4)(a)(a)(b)(c)(d)(d)dữ liệuĐiều khiểnChương trình máy tính(CTMT)CTMT là dãy mà các lệnh mà MTĐT hiểu được và có thể thực hiện theo một thứ tự xác định để giải bài toán nào đấyChương trình nguồn(*.cpp)Chương trình đích(*.obj)Chương trình thực thi(*. exe)CompilerBiên dịchThông dịchLinkNgôn ngữ máyHợp ngữNNLT bậc cao1011000000000011 MOV al, 3x=3 0000010000000001 ADD al, 1x=x+1Chương trình nguồn(*.cpp)LậptrìnhThuậttoánXác định Bài toánCác bước cơ bản khi giải bài toán trên MTĐT(trang 3)Ví dụ: Giải phương trình : Ax2+Bx+C=0 (với A≠0)1.Xác định bài toánĐầu vào: hệ số A≠0, B, C.Đầu ra2.Cấu trúc dữ liệu:dữ liệu cần cho bài toán là kiểu số cho các hệ số A, hệ số B, hệ số C, nghiệm x1, nghiệm x2Có 2 nghiệmCó nghiệm képVô nghiệm3.Tìm thuật toán:(trang 4)+Kn:TT là Dãy thao tác trên dữ liệu sao cho: với dữ liệu đầu vào sau một số hữu hạn các bước cho kết quả ra như ý muốn.+Tc:đơn định, dừng, đúng, phổ dụng, khả thiCác bước cơ bản khi giải bài toán trên MTĐT(trang 3)+Xây dựng thuật toán:Từ một vài bộ dữ liệu đầu vào cụ thể, tiến hành giải quyết bằng tay để được đầu ra như ý muốn. từ đó sẽ thấy được các thao tác cần thiết để giải quyết bài toán+Biểu diễn thuật toán:Dùng ngôn ngữ tự nhiênDùng lưu đồDùng mã giả4.Lập trình:Dùng NNLT C để viết chương trình cho máy tính5.Kiểm thử:Dịch sang file đích (alt+F9)Lỗi Cú phápChạy chương trình:Lỗi cài đặtLỗi thuật toánCác bước cơ bản khi giải bài toán trên MTĐT(trang 3)+Bộ test cơ bản+Bộ test chứa giá trị đặc biệtXây dựng bộ test+Bộ test lớn6.Tối ưu chương trìnhNgôn ngữ tự nhiênBước 1: Nhập hệ số A≠0, hệ số B, hệ số CBước 2:Lập =B2-4ACBước 3 +Trường hợp dương :Tính x1= Tính x2= Xuất (x1, x2) +Trường hợp bằng 0:Tính x= Xuất (“x1= x2=“,x) +Trường hợp âm Xuất (“vô nghiệm”)Lưu đồBắt đầu kết thúcHướng đi của thuật toán Nhập dữ liệu Xuất dữ liệu Chọn lựa Thực hiện công việc Gọi hàmĐiểm nốiĐiểm nối sang trangBeginEnd(Input)(Output)Biãøu thæïc âiãöu kiãûn?#?Mã giảBước 1: Read(A, B, C) với A≠0Bước 2: B2-4ACBước 3: IF >0 THEN Begin x1 x2 Write (x1, x2) End IF=0 THEN Begin x Write (“x1=x2=“,x) End IF 0 (A≠0)Giải hệ 2 phương trình 2 ẩn Giải phương trình trùng phương: Ax4 +Bx2 +C=0Tìm phương trình đường thẳng (dạng y=ax +b) qua 2 điểm A & B trong mặt phẳng OxyTính n! (n nguyên dương)Tính S=1+1/2++1/n (n nguyên dương)Cho 4 điểm A, B, C & D trong mặt phẳng Oxy. Kiểm tra D ABC Liệt kê các số nguyên tố n (n nguyên dương)Tìm thuật toán cho các bài toán sau:Chú ý: mỗi bài toán đều có: thuật toán bằng ngôn ngữ tự nhiên và lưu đồ, có bộ test cơ bản và kết quả của bộ test đó
Các file đính kèm theo tài liệu này:
- giithi_1_7516.ppt