Tài liệu Hướng dẫn thực hành Tin học đại cương

pdf 39 trang haiha333 07/01/2022 8140
Bạn đang xem 20 trang mẫu của tài liệu "Tài liệu Hướng dẫn thực hành Tin học đại cương", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdftai_lieu_huong_dan_thuc_hanh_tin_hoc_dai_cuong.pdf

Nội dung text: Tài liệu Hướng dẫn thực hành Tin học đại cương

  1. ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TÀI LIỆU HƯỚNG DẪN THỰC HÀNH TIN HỌC ĐẠI CƯƠNG - IT1110 (LƯU HÀNH NỘI BỘ) © 2020 – HUST – SOICT
  2. 1 MỤC LỤC 1. GIỚI THIỆU CHUNG 2 1.1. MỤC ĐÍCH VÀ PHẠM VI CỦA TÀI LIỆU 2 1.2. MỤC TIÊU THỰC HÀNH 2 1.3. THÔNG TIN KHÁC 2 2. CÁC QUY ĐỊNH VỀ THỰC HÀNH 3 2.1. QUY ĐỊNH CHUNG 3 2.2. CÁCH ĐÁNH GIÁ KẾT QUẢ THỰC HÀNH 3 2.3. LỊCH THỰC HÀNH 4 3. BÀI THỰC HÀNH SỐ 1 6 3.1. CÁCH CHIA SẺ MÀN HÌNH ĐỂ HỎI BÀI 6 3.2. CÀI ĐẶT ADDIN WINDCRIBE TRÊN CHROME 7 3.3. ĐĂNG KÝ TÀI KHOẢN CODEFORCES 9 3.4. ĐĂNG KÝ THÀNH VIÊN NHÓM ĐHBKHN – TIN HỌC ĐẠI CƯƠNG 11 3.5. NỘP BÀI TRÊN HỆ THỐNG CODEFORCES 13 4. BÀI THỰC HÀNH SỐ 2 19 4.1. CÀI ĐẶT MÔI TRƯỜNG DEV C++ 19 4.2. LƯU Ý NỘP BÀI LÊN HỆ THỐNG CODEFORCES 24 4.3. CÁC BÀI THỰC HÀNH 26 5. BÀI THỰC HÀNH SỐ 3 30 5.1. MỘT SỐ CHÚ Ý 30 5.2. CÁC BÀI THỰC HÀNH 30 6. BÀI THỰC HÀNH SỐ 4 33 6.1. MỘT SỐ CHÚ Ý 33 6.2. CÁC BÀI THỰC HÀNH 33 7. BÀI THỰC HÀNH SỐ 5 36 7.1. MỘT SỐ CHÚ Ý 36 7.2. CÁC BÀI THỰC HÀNH 36 TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  3. 2 1. GIỚI THIỆU CHUNG 1.1. MỤC ĐÍCH VÀ PHẠM VI CỦA TÀI LIỆU Đây là tài liệu được Viện Công nghệ thông tin và truyền thông biên soạn cho sinh viên học thực hành môn Tin học Đại cương – mã học phần IT1110. Tài liệu này cùng các tài liệu bổ trợ khác (sẽ được cung cấp trong quá trình thực hành dựa vào tình hình thực tế cần bổ sung hoặc thay đổi nội dung) được cung cấp miễn phí cho sinh viên với hình thức bản điện tử (soft-copy) qua kênh giảng dạy online (Microsoft Teams) hoặc qua hệ thống thư điện tử của Nhà trường. 1.2. MỤC TIÊU THỰC HÀNH Phần THỰC HÀNH thuộc học phần IT1110 nhằm giúp cho sinh viên các kiến thức cơ bản về Công nghệ thông tin (CNTT) và ứng dụng trong học tập, đời sống (theo thông tư số 03/2014/TT-BTTTT về quy định chuẩn kỹ năng sử dụng CNTT) bao gồm làm quen, tiếp cận và thao tác cơ bản cho đến nâng cao trong môi trường hệ điều hành Windows, mạng Internet, các ứng dụng và phần mềm tiện ích cũng như cung cấp một số kỹ năng sử dụng bộ phần mềm tin học văn phòng (MS Office 365). Sinh viên sẽ làm quen với hệ thống Codeforces – Hệ thống chấm bài lập trình trực tuyến. Sinh viên được yêu cầu tham gia hệ thống Codeforces và sau đó thuần thục việc nộp các bài thực hành lập trình trên ngôn ngữ C lên hệ thống Codeforces. Sinh viên được hướng dẫn cài đặt trình biên dịch ngôn ngữ lập trình C và thực hành lập trình trên môi trường Dev C++ dựa trên các thuật toán, nguyên lý và các cấu trúc lập trình được học trong phần lý thuyết. 1.3. THÔNG TIN KHÁC Sinh viên được khuyến nghị nên tham gia nhóm Trung tâm Máy tính – Viện CNTT và TT – ĐHBKHN trên Facebook để cập nhật các thông tin liên quan đến thực hành, chia sẻ và hỏi/đáp các vấn đề liên quan đến kiến thức, kỹ năng và quy trình trong các bài thực hành. Truy cập và tham gia theo link sau: TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  4. 3 2. CÁC QUY ĐỊNH VỀ THỰC HÀNH 2.1. QUY ĐỊNH CHUNG Khi học online, sinh viên tham gia buổi thực hành theo tài khoản đăng nhập vào hệ thống MS Teams giảng dạy trực tuyến. Sinh viên phải có trách nhiệm quản lý tài khoản và sử dụng đúng mục đích phục vụ cho công việc học tập. Nghiêm cấm việc cho người khác mượn tài khoản. Khi tham gia buổi thực hành online, sinh viên tuân thủ quy định của lớp học, thực hành theo sự hướng dẫn của giáo viên và trợ giảng (TA). Đăng nhập vào lớp thực hành đúng giờ. Trước mỗi buổi thực hành, sinh viên đọc kỹ tài liệu đã được cung cấp trước. Sinh viên cần đọc kỹ phần hướng dẫn của mỗi bài thực hành và nghe giáo viên hướng dẫn các điểm cần chú ý khi thực hành. Sinh viên được khuyến khích chủ động đặt câu hỏi, tăng tương tác trên môi trường lớp học online ngay cả khi kết thúc phiên thực hành. Sinh viên hoàn toàn có thể để lại các câu hỏi liên quan đến kiến thức thực hành và chờ giáo viên hoặc trợ giảng trả lời. Sinh viên cũng nên chủ động tham gia vào các chủ đề hỏi/đáp trên Group Facebook của Trung tâm máy tính để được cập nhật thông tin mới nhất liên quan đến việc thực hành. 2.2. CÁCH ĐÁNH GIÁ KẾT QUẢ THỰC HÀNH a) Cách đánh giá điểm môn Tin học đại cương: Điểm môn học = Điểm giữa kỳ (50%) + Điểm cuối kỳ (50%) - Điểm cuối kỳ là điểm thi trắc nghiệm hoặc tự luận cuối kỳ - Điểm giữa kỳ = điểm thi giữa kỳ trên lớp lý thuyết (50%) + điểm thực hành (50%) b) Cách đánh giá điểm thực hành Điểm thực hành = Điểm chuyên cần (50%) + Điểm kiểm tra thực hành (50%) - Điểm chuyên cần = Điểm đánh giá 05 buổi thực hành - Điểm kiểm tra thực hành = Điểm bài kiểm tra cuối đợt thực hành Đánh giá 05 buổi thực hành: điểm cho theo thang điểm 10 bao gồm 05 điểm cho phần lập trình và nộp bài chấm tự động trên Codeforces. 05 điểm kiểm tra lập trình chấm trực tiếp (offline). Tuy nhiên, tùy theo tình hình và điều kiện thực tế việc đánh giá lập trình và chấm điểm trực tiếp sẽ có thay đổi về hình thức và sẽ được thông TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  5. 4 báo đến sinh viên sau qua kênh MS Teams, E-mail và Group FB của Trung tâm Máy tính và Viện. Cách tính điểm mỗi buổi thực hành: Mỗi bài thực hành sẽ có một số các bài tập nhỏ yêu cầu sinh viên phải hoàn thành và nộp trên hệ thống Codeforces (trừ Bài thực hành số 1 chỉ có duy nhất 01 Bài mẫu). Mỗi bài thực hành sinh viên được yêu cầu hoàn thành số lượng tối thiểu các bài tập nhỏ (sinh viên được lựa chọn bài tập nhỏ miễn sao đủ số bài tập tối thiểu). Sinh viên được khuyến khích làm tất cả các bài tập trong từng bài thực hành để đạt điểm cao nhất có thể. Mỗi bài tập nhỏ nếu được chấp nhận bởi Codeforces và đúng mọi Test case, thì bài đó sẽ được hệ thống chấm 100 điểm như bảng dưới đây. Ngoài ra tùy mức độ hoàn thiện và số lượng test case đúng, điểm số có thể ở mức dưới 100 (20, 40, 60 ). Bài thực hành số Số lượng bài Số lượng bài Điểm tối đa (max) trên Codeforces yêu cầu tối thiếu 1 1 1 100 2 5 4 500 3 6 4 600 4 6 4 600 5 5 3 500 Tổng 23 16 2300 Ví dụ: Sinh viên Nguyễn Văn An sau 05 buổi thực hành hoàn thành tổng số 18 bài và tổng điểm là 1600 điểm (do có 1 số bài sinh viên không đạt điểm tối đa). Vậy sau khi quy đổi sinh viên sẽ được 1600/2300 * 0.5 = 0.695 = 3.47 điểm cho phần thực hành nộp trên hệ thống Codeforces. 2.3. LỊCH THỰC HÀNH Toàn bộ quá trình thực hành cho từng lớp diễn ra trong 05 buổi, mỗi buổi 03 tiết. Sinh viên cập nhật lịch thực hành trên SIS và tham gia học tại phòng thực hành hoặc online trên MS Teams theo hướng dẫn và thông báo cụ thể từ phía giảng viên qua hệ thống e-mail của trường Đại học Bách khoa Hà Nội. Sinh viên có lịch thực hành vào phòng thực hành/MS Teams sớm 10 phút trước giờ thực hành. TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  6. 5 Một ngày có 04 kíp thực hành trên phòng thực hành hoặc online trên hệ thống MS Teams. Cụ thể như sau: - Kíp 1: Từ 6h45 đến 9h10. - Kíp 2: Từ 9h20 đến 11h45. - Kíp 3: Từ 12h30 đến 14h55. - Kíp 4: Từ 15h05 đến 17h30. Có hai thông tin quan trọng gồm MÃ LỚP và THỜI GIAN như hình dưới, sinh viên cần phải ghi nhớ chính xác để vào đúng lớp và đúng kíp thực hành, tránh những sai lệch về đánh giá sau này. TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  7. 6 3. BÀI THỰC HÀNH SỐ 1 3.1. CÁCH CHIA SẺ MÀN HÌNH ĐỂ HỎI BÀI Nếu sinh viên học thực hành trên hệ thống MS Teams, một trong những tính năng được sinh viên quan tâm là làm thế nào để hỏi bài hoặc nhờ giảng viên hoặc trợ giảng sửa lỗi, bắt lỗi lập trình hoặc hướng dẫn cách khắc phục các sự cố gặp phải trong quá trình học online. Hướng dẫn sau đây sẽ giúp sinh viên sử dụng tính năng Chat để hỏi và được giáo viên hoặc trợ giảng truy cập vào máy tính của sinh viên để hướng dẫn. Bước 1: Sinh viên click chuột vào chức năng Chat của MS Teams như hình dưới, sau đó chọn biểu tượng tạo cuộc Chat mới và gõ email giáo viên hoặc trợ giảng vào để bắt đầu chat Bước 2: Sinh viên chia sẻ màn hình, cửa sổ giao diện phần mềm Dev C++, hoặc tài liệu muốn hỏi, nhờ trợ giúp bằng cách ấn nút CHIA SẺ MÀN HÌNH/Screen Sharing. TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  8. 7 Bước 3: Sinh viên gửi quyền điều khiển màn hình hoặc cửa sổ đã chia sẻ cho giáo viên hoặc trợ giảng bằng cách ấn nút Give Control và chọn tên của giáo viên/trợ giảng muốn hỏi để gửi quyền Bước 4: Nói chuyện trực tiếp với giáo viên/ trợ giảng qua mic, giáo viên hoặc trợ giảng lúc này đã có thể tương tác trực tiếp với sinh viên như hình dưới đây: 3.2. CÀI ĐẶT ADDIN WINDCRIBE TRÊN CHROME Đôi lúc, hệ thống Codeforces bị số nhà mạng ở Việt Nam chặn Codeforces không rõ nguyên nhân. Sinh viên cần cài đặt VPN addin Windcribe trên trình duyệt Chrome để vào Codeforces “mượt mà” hơn. Bước 1: Mở trình duyệt Chrome, gõ địa chỉ sau: Bước 2: Ấn nút Thêm vào Chrome TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  9. 8 Bước 3: Ấn nút Add Extention Bước 4: Khi sử dụng ấn vào nút Windcribe ở bên phải của ô gõ địa chỉ của trình duyệt như hình dưới và đăng nhập vào để sử dụng. Mỗi tài khoản có lưu lượng free là 10Gb/tháng (khuyến cáo chỉ sử dụng khi nộp bài để tránh không đủ lưu lượng). Nếu chưa có tài khoản thì ấn vào nút SIGN UP Bước 5 (nếu chưa có tài khoản): Sau khi ấn nút SIGN UP (hoặc vào link sau: sinh viên điền đầy đủ thông tin rồi ấn nút Create Account, sau đó có thể dùng tài khoản này đăng nhập để sử dụng. Lưu ý: Nếu không điền email khi đăng ký thì lưu lượng hàng tháng chỉ được 2Gb TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  10. 9 3.3. ĐĂNG KÝ TÀI KHOẢN CODEFORCES Bước 1: Mở trình duyệt (ví dụ trình duyệt Chrome), vào trang đăng ký tài khoản của Codeforces tại địa chỉ: sau đó ấn vào nút Register như hình dưới đây. Bước 2: Điền thông tin đăng nhập. Nhập Handle (tên đăng nhập) theo quy tắc sau: định dạng xxxxxxyyyyT, với xxxxxx là sáu chữ số của mã lớp thực hành, yyyy là bốn chữ số cuối của mã số sinh viên, T là họ tên viết gọn của sinh viên. Ví dụ sinh viên Lê Quốc Trung có mã số sinh viên 20201010, Mã lớp thực hành 101020 thì đặt tên đăng nhập là: 1010201010TrungLQ (tham khảo thông tin ở Bảng dưới). Nếu tên đăng nhập bị trùng thì có thêm hậu tố 1, 2, 3, vào đằng sau. TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  11. 10 MÃ LỚP THỰC HÀNH MÃ SỐ SINH VIÊN HỌ VÀ TÊN SINH VIÊN 101020 20201010 Lê Quốc Trung 1010201010TrungLQ (Viết liền không có dấu cách, lưu ý chữ viết hoa) Lưu ý: - Vì có bước xác nhận qua email, và theo yêu cầu của Nhà trường, sinh viên phải sử dụng e-mail của Trường cấp trong các hoạt động học tập. - Nếu tên đăng nhập không đúng chuẩn sẽ không được phê duyệt vào hệ thống đánh giá thực hành tin học đại cương. Bước 3: Click vào nút Register, sẽ có thông báo như dưới đây: Bước 4: Kiểm tra e-mail đã đăng ký để nhận thông báo và làm theo hướng dẫn như bên dưới để xác nhận đăng ký tài khoản. TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  12. 11 Sau đó hệ thống sẽ chuyển sang giao diện người dùng: 3.4. ĐĂNG KÝ THÀNH VIÊN NHÓM ĐHBKHN – TIN HỌC ĐẠI CƯƠNG Bước 1: Truy cập vào địa chỉ nhóm tại: Lưu ý đúng nhóm Trường ĐH Bách Khoa Hà Nội –– Tin Học Đại Cương TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  13. 12 Bước 2: Gửi yêu cầu tham gia và chờ được phê duyệt. Lưu ý: sinh viên phải đặt tên đúng theo định dạng để được phê duyệt. Sinh viên chọn kiểu thành viên là “Participant” và sau đó ấn vào Join. Bước 3: Sinh viên chờ phê duyệt. Sau khi Admin nhận được yêu cầu Join vào hệ thống của sinh viên, nếu Handle hợp lệ, Admin sẽ chấp nhận (Accepted) yêu cầu và sinh viên sẽ được là thành viên của nhóm ĐH Bách Khoa Hà Nội –– Tin Học Đại Cương. TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  14. 13 Bước 4: Nếu vào đúng nhóm, sinh viên Click vào ô ĐH Bách Khoa Hà Nội –– Tin Học Đại Cương ở cột Group name (Hình ở bước 3) và sẽ nhìn thấy hệ thống 05 bài thực hành trong mục CONTESTS (Hình dưới). Ví dụ: Bài thực hành số 1 – IT1110 – 20192 (khoanh đỏ). 3.5. NỘP BÀI TRÊN HỆ THỐNG CODEFORCES Trong Bài thực hành số 1, sinh viên được yêu cầu phải nộp (Submit) thành công bài thực hành mẫu. Bài mẫu là bài đã được lập trình sẵn, sinh viên nhập lại toàn bộ phần mã nguồn (code) và sau đó nộp bài lên Codeforces. Quy trình thực hiện như sau: Bước 1: Sinh viên đăng nhập vào hệ thống Codeforces TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  15. 14 Bước 2: Vào mục GROUPS và tìm đến Group ĐH Bách Khoa Hà Nội – Tin học Đại Cương Sinh viên sẽ thấy Hệ thống 05 Bài thực hành của môn Tin học Đại cương – mã môn IT1110, học kỳ 20xxx. Các bài thực hành sẽ có thời điểm bắt đầu (Start) cho phù hợp với lịch thực hành của sinh viên. TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  16. 15 Bước 3: Sinh viên yêu cầu Đăng ký (Register) để được quyền tham gia (Enter) vào bài thực hành số 1 (các bài thực hành khác cũng phải Đăng ký tương tự). Sinh viên bắt buộc phải Đăng ký thì mới được phép nộp (Submit) các bài thực hành. Sau khi Click vào Register như ở hình trên, sẽ có thông báo như hình dưới, sinh viên Click vào nút Register (hình dưới) để hoàn tất đăng ký tham gia. Khi đăng ký thành công, sinh viên sẽ thấy trạng thái màu đỏ Register chuyển thành màu xanh Registration completed như sau: Kể từ đây, sinh viên bắt đầu vào bài thực hành số 1 và tiến hành nộp bài. TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  17. 16 Bước 4. Nộp bài lên hệ thống. Trong mục PROBLEMS chọn Bài mẫu Bước 5: Sau khi click chuột vào Bài mẫu sẽ dẫn tới phần mô tả bài toán (đề bài) Lưu ý: Ở các bài thực hành sau, phần mô tả bài toán (đề bài) sẽ phức tạp hơn và bám theo kiến thức lập trình được học trên lớp. Riêng với Bài thực hành số 1, vì mục đích làm quen môi trường và thao tác trên Codeforces nên chỉ yêu cầu sinh viên soạn thảo đúng chương trình mẫu và sau đó nộp bài. TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  18. 17 Bước 6: Gửi bài lên hệ thống. Sinh viên chọn vào SUBMIT CODE và nhập phần code vào khung Source code Bước 7: Kiểm tra tình trạng bài gửi lên ở MY SUBMISSIONS. Trong phần Verdict sẽ cho thấy kết quả của việc nộp bài có thành công hay không. TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  19. 18 Lưu ý: Một số thông báo. - Perfect result: 100 points có nghĩa bài làm đúng hoàn toàn, qua được tất cả các test case của hệ thống. - Compilation error: Lỗi biên dịch. Chương trình có lỗi nên sinh viên cần sửa lại và submit lại. Sinh viên click vào phần Compilation error để đọc thông báo lỗi (tất cả các thông báo lỗi đều bằng tiếng Anh). TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  20. 19 4. BÀI THỰC HÀNH SỐ 2 4.1. CÀI ĐẶT MÔI TRƯỜNG DEV C++ Dev-C++ là một môi trường phát triển tích hợp tự do (IDE) được phân phối dưới hình thức giấy phép Công cộng GNU hỗ trợ việc lập trình bằng C/C++. Dự án phát triển Dev-C++ được lưu trữ trên SourceForge. Dev-C++ chỉ chạy trên hệ điều hành Microsoft Windows. Bloodshed Dev-C++ là một Môi trường Phát triển Tích hợp (IDE) có hỗ trợ đầy đủ tính năng cho ngôn ngữ lập trình C/C++. Dev-C++ tạo cảm giác trực quan cho người lập trình và thích hợp cho sinh viên mới làm quen với ngôn ngữ C. Sinh viên được yêu cầu cài đặt Dev-C++ trên môi trường Windows (32-bit hoặc 64- bit) Bước 1: Tải (download) phiên bản mới nhất của Bloodshed Dev-C++ - Đối với Hệ điều hành Windows 32 bit, theo link sau: Cpp%205.6.2%20MinGW%204.8.1%20Setup.exe/download - Đối với Hệ điều hành Windows 64 bit, theo link sau: Cpp%205.6.2%20TDM-GCC%20x64%204.8.1%20Setup.exe/download TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  21. 20 - Trong tài liệu này sẽ sử dụng bản 64 bit: Dev-Cpp 5.11 TDM-GCC 4.9.2 Setup. - Lưu ý thư mục cài đặt và click “Install” TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  22. 21 Bước 2: Sau khi cài đặt ứng dụng, khởi động phần mềm lên bằng cách click đúp chuột vào biểu tượng (icon) của Dev C++ ngoài Desktop Giao diện của phần mềm như hình bên dưới TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  23. 22 Bước 3: Để tạo một file mới bạn nhấn Ctrl + N hoặc vào File ⇒ New ⇒ Source File Bước 4: Để tùy chỉnh soạn thảo vào vào Tools ⇒ Editor Options Có thể tùy chỉnh font chữ, màu sắc v.v Tuy nhiên sinh viên nên để mặc địch các thông số như khi cài đặt ban đầu. TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  24. 23 Bước 5: Thực hiện viết đoạn code Bài mẫu trong Bài thực hành số 1 vào trình soạn thảo Bloodshed Dev C++. Bước 6: Để biên dịch nhấn phím F9, chương trình sẽ biên dịch nhanh chóng, nếu có lỗi sẽ được hiển thị ở cửa sổ Compiler phía dưới cho sinh viên biết và sửa. Để thực thi, sinh viên nhấn phím F10. Khi đó xuất hiện cửa sổ chạy thực hiện tính toán trên đoạn code sinh viên đã viết (ở đây là cho phép nhập vào 02 số a, b và tính tổng của 02 số đó). TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  25. 24 4.2. LƯU Ý NỘP BÀI LÊN HỆ THỐNG CODEFORCES Kể từ Bài thực hành số 2, sinh viên sẽ lập trình trên môi trường Dev-C++. Sinh viên vào hệ thống các bài Thực hành trên Codeforces, chọn bài thực hành, đọc đề và làm bài. Sinh viên mở Dev-C++, soạn thảo code để thỏa mãn input và output của đề bài, chạy và thử nghiệm để đảm bảo code chính xác, lưu lại với phần mở rộng .c đối với ngôn ngữ C. Lưu ý: sinh viên nên tạo riêng 01 thư mục trên máy tính để lưu trữ các bài làm (file mã nguồn). Ví dụ thư mục IT1110_Codeforces, trong đó tên file sẽ là các bài tương ứng, chẳng hạn: bai_mau.c; bai2_1.c; bai5_2.c. TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  26. 25 Để gửi bài lên hệ thống và chấm điểm tự động, sinh viên có 02 cách sau: Cách 1: Submit code trực tiếp (đã giới thiệu ở Bài thực hành số 1). Sinh viên copy code đã được chạy thành công từ Dev-C++ sang phần Source code của Codeforces và sau đó Submit bài. Cách 2: Chọn file đã lưu của bài tương ứng và gửi lên hệ thống. Lưu ý chọn đúng file tương ứng với đề bài. TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  27. 26 4.3. CÁC BÀI THỰC HÀNH Bài 2.1 Soạn thảo chương trình cộng hai số thực sau, yêu cầu gõ chính xác. #include int main() { float a,b,tong; scanf("%f",&a); scanf("%f",&b); tong=a+b; printf("%f",tong); return 0; } Input Output Số thực a Kết quả Số thực b TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  28. 27 Bài 2.2 Soạn thảo chương trình sau, yêu cầu gõ chính xác. #include int main() { float a,b, max; scanf("%f",&a); scanf("%f",&b); max=a; if (max int main() { float x, min; scanf("%f",&y); scan("%f",&y) ; if (x<y) min = x; else min=y; printf("%6.2f",min); return 0; } Input Output Số thực a Số bé hơn Số thực b TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  29. 28 Bài 2.4 Chương trình đang có một vài lỗi, yêu cầu sinh viên tìm, sửa lỗi và chạy được chương trình. #include int main() { float x ; scanf("%d",&x); scan("%f",&y); if (x>y); max = x; else max=y; printf("%6.2d",max); return 0; } Input Output Số thực a Số lớn hơn Số thực b TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  30. 29 Bài 2.5 Chương trình đang có một vài lỗi, yêu cầu sinh viên tìm, sửa lỗi và chạy được chương trình. #include #include main() {int b,c; printf("Nhap vao 3 so nguyen a, b, c bat ky :"); printf("a=");scanf("%d",a); printf("b=");scanf("%f",b); printf("c=");scanf("%d",c); printf("Tong 3 so la %6.2f",a+b+c); printf("Trung binh 3 so la %6.2f",(a+b+c)/3); getch(); } Input Output Số nguyên a Tổng 03 số: a, b, c Số nguyên b Trung bình cộng 03 số: a, b, c Số nguyên c TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  31. 30 5. BÀI THỰC HÀNH SỐ 3 5.1. MỘT SỐ CHÚ Ý Một số hàm toán học cơ bản của C là như sin(x), cos(x), sqrt(x) (căn bậc hai của x), abs(x) (hàm giá trị tuyệt đối của x với x là số dạng int), fabs(x) (hàm giá trị tuyệt đối của x với x là số dạng float) v.v. . . Trong chương trình nếu sử dụng các hàm toán học như trên nhớ thêm vào đầu chương trình dòng khai báo sử dụng thư viện math.h như sau: #include 5.2. CÁC BÀI THỰC HÀNH Bài 3.1 Lập chương trình thực hiện các công việc sau: - Nhập 3 số thực , , bất kì. - Tính giá trị biểu thức: 푭 = ((풙 + 풚 + 풛)/(풙 + 풚 + )) − |풙 − 풛 풐풔(풚)| Input Output Số thực Kết quả 퐹 Số thực Số thực TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  32. 31 Bài 3.2 Lập chương trình thực hiện các công việc sau: - Nhập số thực ( > 0) bất kì - Tính chu vi , diện tích 푆 của hình tròn. Chú ý: Giá trị = 3.14159. Input Output Số thực Chu vi Diện tích 푆 Bài 3.3 Lập chương trình thực hiện các công việc sau: - Nhập 2 số thực , 푌 - Tính giá trị của biểu thức 퐹 푭 = 풀 + 푿풀 + 푿 풀ퟒ + 푿 풀 + 푿ퟒ풀 + 푿 풀 + 푿 Input Output Số thực Kết quả 퐹 Số thực 푌 Bài 3.4 Lập chương trình thực hiện các công việc sau: - Nhập vào chương trình điểm 03 môn Toán, Lý, Hóa của 1 học sinh - Tính tổng điểm và điểm trung bình 03 môn của học sinh đó. Input Output Điểm Toán Tổng điểm Điểm Lý Điểm trung bình Điểm Hóa TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  33. 32 Bài 3.5 Lập chương trình thực hiện các công việc sau: - Nhập 2 số thực , 푌 - Tính các giá trị biểu thức sau: = 푿 + 풀 = (푿 + 풀) 푪 = (푿 − 풀) Input Output Số thực Giá trị của Số thực 푌 Giá trị của Giá trị của Bài 3.6 Viết chương trình tính tổng 풏 푺 = + + + ⋯ + 풏 = (풏 + ) × 풏 Với 푛 là số nguyên nhập từ bàn phím. Hiển thị kết quả ra màn hình. Input Output Số thực 푛 Tổng 푆푛 TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  34. 33 6. BÀI THỰC HÀNH SỐ 4 6.1. MỘT SỐ CHÚ Ý Bài tập trong bài thực hành này ứng với các phần lý thuyết ngôn ngữ C về các lệnh điều khiển if, switch, các lệnh lặp for, while, do . . . while. Chú ý đối với các phép toán logic và biểu thức logic: - Phép toán logic “và” là hai ký hiệu & viết liền nhau &&. Phép toán logic “hoặc” là hai ký hiệu | (gạch đứng) viết liền nhau ||. Phép toán logic “phủ định” là dấu ! (chấm than). - Biểu thức logic trong C luôn cần có hai ngoặc tròn mở (và đóng) ở ngoài cùng khi sử dụng. 6.2. CÁC BÀI THỰC HÀNH Bài 4.1 Viết chương trình - Nhập vào số nguyên 푛 < 8 bất kỳ. - Tính giai thừa của 푛 (푛! ). Chú ý: - Sử dụng vòng lặp for để giải quyết bài toán. - Sử dụng vòng lặp do { } while; để kiểm tra dữ liệu đầu vào. Input Output Số nguyên 푛 Kết quả 푛! TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  35. 34 Bài 4.2 Số nguyên tố là một số nguyên dương chỉ chia hết cho 1 và chính nó. Viết chương trình nhập một số nguyên 푛 từ bàn phím, kiểm tra xem số nguyên 푛 đó có phải là số nguyên tố hay không và thông báo ra màn hình. Input Output Số nguyên 푛 La so nguyen to Khong phai la so nguyen to Bài 4.3 Lập chương trình thực hiện các công việc sau: - Nhập một số nguyên dương bất kỳ nhỏ hơn 1000 - Tính tổng các chữ số của số đó. Ví dụ: số 123 có tổng các chữ số là 1+2+3=6. - Thông báo kết quả ra màn hình. Chú ý: Sử dụng vòng lặp do{}while; để kiểm tra dữ liệu đầu vào Input Output Số nguyên 푛 Tổng các chữ số của số nguyên 푛 Bài 4.4 Viết chương trình thực hiện các công việc sau: - Nhập 2 số nguyên dương , bất kỳ - Tìm ước số chung lớn nhất và bội số chung nhỏ nhất của 2 số đó - Hiển thị kết quả ra màn hình Chú ý: Sử dụng vòng lặp do{}while; để kiểm tra dữ liệu đầu vào. Input Output Số nguyên dương Ước số chung lớn nhất Số nguyên dương Bội số chung nhỏ nhất TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  36. 35 Bài 4.5 Lập chương trình thực hiện các công việc sau: - Nhập 3 số thực , , bất kì. - Giải và biện luận phương trình bậc 2: 풙 + 풙 + = Lưu ý cả trường hợp = 0 và trường hợp nghiệm phức. Chú ý: - Nếu phương trình vô nghiệm thì in ra màn hình: Phuong trinh vo nghiem - Nếu phương trình vô số nghiệm thì in ra màn hình: Phuong trinh vo so nghiem - Nếu phương trình có 2 nghiệm phân biệt thì hiển thị nghiệm lớn trước rồi mới đến nghiệm bé. Input Output Số thực Kết quả Số thực Số thực Bài 4.6 Viết chương trình tính các tổng sau: 풏 푺 = + 풙+풙 + 풙 + ∙∙∙ +풙 풏 풏 푺 = − 풙+풙 − 풙 + ∙∙∙ +(− ) 풙 풙 풙 풙 풙풏 푺 = + + + + ∙∙∙ + ! ! ! 풏! Trong đó 푛 là một số nguyên dương và là một số thực bất kỳ được nhập vào từ bàn phím khi chạy chương trình. Chú ý: Sử dụng vòng lặp do{}while; để kiểm tra dữ liệu đầu vào Input Output Số nguyên dương 푛 Giá trị của 푆1 Số thực Giá trị của 푆2 Giá trị của 푆3 TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  37. 36 7. BÀI THỰC HÀNH SỐ 5 7.1. MỘT SỐ CHÚ Ý Khi làm bài tập về mảng chú ý là trong C chỉ số mảng bắt đầu từ 0. Ví dụ: nếu khai báo int a[3] thì mảng gồm 3 phần từ a[0], a[1] và a[2]. Bài 5.3 phải dùng mảng và khai báo hai mảng a[2] và b[2] Chú ý không thể dùng các phép gán để gán xâu. Hàm để gán xâu là strcpy( ). Tương tự không thể dùng các dấu so sánh để so sánh hai xâu mà phải dùng hàm so sánh xâu như strcmp ( ). Khi nhập xâu có dấu cách, ví dụ khi nhập cả họ và tên cùng một lúc thì không nên dùng hàm scanf( ) mà dùng hàm gets(s) trong đó s là xâu cần nhập. Khi dùng lệnh gets(s) để nhập xâu, để khắc phục sự cố khi nhập dữ liệu ta thêm lệnh fflush(stdin) ngay trước lệnh gets(s). 7.2. CÁC BÀI THỰC HÀNH TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  38. 37 Bài 5.1 Nhập mảng số nguyên từ bàn phím. Tính trung bình cộng các số âm, tổng các số dương và đưa kết quả ra màn hình. Input: - Dòng đầu tiên cho biết số phần tử mảng 푛 (푛 : . TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110
  39. 38 Bài 5.4 Lập chương trình thực hiện các công việc sau: - Nhập vào danh sách họ tên các học sinh của một lớp từ bàn phím. - Chuẩn hóa lại tên học sinh bằng cách xóa các dấu cách thừa ở đầu, cuối, giữa để đảm bảo chỉ có 1 dấu cách phân tách giữa các từ và chuyển các chữ cái thường thành chữ hoa tương ứng. - Đưa danh sách đã chuẩn hóa ra màn hình. Input: - Dòng đầu tiên cho biết số học sinh của lớp 푛 (푛 ≤ 100). - Mỗi dòng tiếp theo là tên của một học sinh trong lớp có độ dài không quá 50 ký tự. Output: In ra danh sách họ tên học sinh sau khi chuẩn hóa và độ dài tương ứng với mỗi tên sau khi chuẩn hóa theo từng dòng với quy cách : . Bài 5.5 Lập chương trình thực hiện các công việc sau: - Nhập vào danh sách họ tên các học sinh của một lớp từ bàn phím. - Chuẩn hóa lại tên học sinh bằng cách xóa các dấu cách thừa ở đầu, cuối, giữa để đảm bảo chỉ có 1 dấu cách phân tách giữa các từ và chuyển các chữ cái bắt đầu của họ, đệm, tên thành chữ hoa tương ứng còn các chữ cái khác chuyển thành chữ thường. (Ví dụ: " hoAng an nGhia " –> "Hoang An Nghia") - Sắp xếp danh sách học sinh theo thứ tự từ điển của Họ-đệm-tên. - Đưa danh sách đã sắp xếp ra màn hình. Input: - Dòng đầu tiên cho biết số học sinh của lớp 푛 (푛 ≤ 100). - Mỗi dòng tiếp theo là tên của một học sinh trong lớp có độ dài không quá 50 ký tự. Output: In ra danh sách họ tên học sinh sau khi sắp xếp theo quy cách: ( ) TÀI LIỆU HƯỚNG DẪN THỰC HÀNH © 2020 – HUST – SOICT TIN HỌC ĐẠI CƯƠNG - IT1110