Hướng Dẫn Lập Trình Cơ Bản Tại Trường Đại Học Kinh Tế TP Hồ Chí Minh

Đồ án nghiên cứu môn học cơ sở lập trình viết chương trình mô phỏng trò chơi bao búa kéo biết bao thắng búa búa, áp dụng công nghệ tiên tiến, tối ưu giải pháp kỹ thuật cho bài

Người đăng

Ẩn danh
52
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI GIẢI BÀI 1

1. BÀI 1

2. BÀI 2

3. BÀI 3

4. BÀI 4

5. BÀI 5

6. BÀI 6

7. BÀI 7

8. BÀI 8

9. BÀI 9

PHỤ LỤC

Tóm tắt

I. Hướng Dẫn Lập Trình Cơ Bản Vai Trò Của Bài Tập Thực Hành

Việc học lập trình không chỉ dừng lại ở việc tiếp thu lý thuyết suông. Để thực sự thành thạo, quá trình luyện tập code thông qua các bài tập thực hành đóng vai trò cốt lõi. Đây là cầu nối vững chắc giúp chuyển đổi kiến thức sách vở thành kỹ năng giải quyết vấn đề thực tiễn. Thực hành thường xuyên giúp người học củng cố cú pháp lập trình, rèn luyện tư duy lập trình và làm quen với quy trình từ phân tích yêu cầu đến xây dựng một chương trình hoàn chỉnh. Các bài tập, từ đơn giản đến phức tạp, mô phỏng những thách thức thực tế mà một lập trình viên sẽ đối mặt. Quá trình này giúp phát hiện và khắc phục các lỗ hổng kiến thức một cách hiệu quả. Như trong tài liệu đồ án 'Cơ sở Lập trình' của sinh viên UEH, việc triển khai các bài toán cụ thể như giải phương trình, xử lý mảng hay mô phỏng trò chơi đã chứng minh tính hiệu quả của phương pháp học qua thực hành. Mỗi bài tập là một cơ hội để áp dụng các khái niệm như biến và kiểu dữ liệu, vòng lặp for while, và các cấu trúc dữ liệu cơ bản. Việc thiếu thực hành sẽ khiến kiến thức nhanh chóng bị lãng quên và người học khó có thể tự tin xây dựng các ứng dụng của riêng mình. Do đó, một lộ trình học tập hiệu quả luôn phải đặt các bài tập thực hành làm trung tâm, coi đó là thước đo chính xác nhất cho sự tiến bộ.

1.1. Từ lý thuyết đến thực tiễn Xây dựng tư duy lập trình

Lý thuyết cung cấp các khái niệm nền tảng như biến, hàm, và vòng lặp. Tuy nhiên, chỉ khi áp dụng vào giải quyết một bài toán cụ thể, người học mới thực sự hiểu sâu sắc cách chúng hoạt động. Tư duy lập trình không phải là khả năng ghi nhớ cú pháp, mà là kỹ năng phân tích một vấn đề lớn thành các bước nhỏ, logic và tuần tự. Các bài tập thực hành buộc người học phải tư duy theo cách này. Ví dụ, để giải quyết bài toán tìm số trong một đoạn cho trước trong một mảng, người học phải xác định các bước: nhập dữ liệu, duyệt qua từng phần tử của mảng, sử dụng câu lệnh điều kiện để kiểm tra, và cuối cùng là in ra kết quả. Quá trình này rèn luyện khả năng hệ thống hóa và giải quyết vấn đề một cách có phương pháp, nền tảng của mọi lập trình viên giỏi.

1.2. Các công cụ cần thiết Chuẩn bị môi trường phát triển IDE

Trước khi bắt đầu giải các bài tập, việc thiết lập một môi trường phát triển (IDE) phù hợp là bước không thể thiếu. IDE (Integrated Development Environment) như Visual Studio, VS Code, hay PyCharm cung cấp một trình soạn thảo mã, một trình gỡ lỗi (debugger), và các công cụ biên dịch tích hợp. Nó giúp quá trình viết và debug code trở nên dễ dàng và hiệu quả hơn. Việc làm quen với IDE giúp người mới bắt đầu tập trung vào logic của bài toán thay vì phải vật lộn với các công cụ dòng lệnh phức tạp. Một môi trường được cấu hình tốt sẽ tự động kiểm tra lỗi cú pháp, gợi ý mã lệnh, và cho phép chạy thử chương trình chỉ với một cú nhấp chuột, qua đó tăng tốc đáng kể quá trình học code cơ bản.

II. Thách Thức Khi Học Code Cơ Bản Các Lỗi Cú Pháp Phổ Biến

Con đường lập trình cho người mới bắt đầu luôn đầy rẫy những thách thức, trong đó lỗi cú pháp và lỗi logic là hai rào cản lớn nhất. Lỗi cú pháp (syntax errors) xảy ra khi mã nguồn vi phạm các quy tắc của ngôn ngữ lập trình cơ bản. Những lỗi này thường dễ phát hiện vì trình biên dịch sẽ thông báo ngay lập tức, chẳng hạn như thiếu dấu chấm phẩy, sai tên biến, hoặc dùng sai dấu ngoặc. Tuy nhiên, với người mới, việc đọc và hiểu các thông báo lỗi này cũng là một kỹ năng cần rèn luyện. Thách thức lớn hơn là lỗi logic (logic errors). Chương trình vẫn chạy mà không có thông báo lỗi, nhưng lại cho ra kết quả sai. Nguyên nhân thường xuất phát từ việc xây dựng giải thuật cơ bản không chính xác hoặc hiểu sai yêu cầu bài toán. Ví dụ, trong bài toán giải phương trình, một lỗi logic có thể là áp dụng sai công thức nghiệm hoặc xử lý sai các trường hợp đặc biệt. Để vượt qua những thách thức này, kỹ năng debug code trở nên vô cùng quan trọng. Việc học cách sử dụng các công cụ gỡ lỗi, đặt điểm dừng (breakpoints), và theo dõi giá trị của biến qua từng bước thực thi là chìa khóa để xác định và sửa chữa cả lỗi cú pháp lẫn logic một cách hiệu quả.

2.1. Hiểu sai cú pháp lập trình Lỗi biên dịch và logic

Mỗi ngôn ngữ lập trình có một bộ quy tắc cú pháp lập trình riêng biệt và nghiêm ngặt. Người mới học thường mắc các lỗi phổ biến như quên dấu chấm phẩy cuối câu lệnh, nhầm lẫn giữa toán tử gán (=) và so sánh (==), hoặc sai cấu trúc của vòng lặp và câu lệnh điều kiện. Những lỗi này dẫn đến lỗi biên dịch, ngăn chương trình thực thi. Bên cạnh đó, lỗi logic do hiểu sai cú pháp cũng rất nguy hiểm. Ví dụ, một vòng lặp for được thiết lập với điều kiện dừng sai có thể dẫn đến vòng lặp vô tận, làm chương trình bị treo. Việc đọc kỹ tài liệu và xem xét các ví dụ mẫu là cách tốt nhất để nắm vững cú pháp.

2.2. Khó khăn trong việc debug code Tìm và sửa lỗi hiệu quả

Khi chương trình không hoạt động như mong đợi, quá trình debug code bắt đầu. Đối với người mới, đây thường là giai đoạn nản lòng nhất. Thay vì đoán mò, một phương pháp tiếp cận có hệ thống là cần thiết. Kỹ thuật đơn giản nhất là sử dụng các lệnh in (print/console.log) để xuất giá trị của các biến tại nhiều điểm khác nhau trong chương trình, giúp xác định xem logic bị sai ở đâu. Các IDE hiện đại cung cấp công cụ gỡ lỗi mạnh mẽ hơn, cho phép lập trình viên thực thi chương trình từng dòng một, kiểm tra giá trị của mọi biến và xác định chính xác điểm xảy ra lỗi. Việc thành thạo kỹ năng này giúp tiết kiệm thời gian và xây dựng sự tự tin khi đối mặt với các vấn đề phức tạp.

III. Các Bài Tập Lập Trình Cơ Bản Từ Biến Đến Câu Lệnh Điều Khiển

Nền tảng của mọi chương trình máy tính đều được xây dựng từ những khái niệm cơ bản nhất. Việc thực hành qua các bài tập cụ thể là cách hiệu quả nhất để nắm vững chúng. Khởi đầu với biến và kiểu dữ liệu, người học làm quen với cách lưu trữ thông tin như số nguyên, số thực, và chuỗi ký tự. Tiếp theo, các bài toán yêu cầu sự tương tác, như nhập dữ liệu từ người dùng và xuất kết quả ra màn hình, giúp củng cố kiến thức về I/O. Trọng tâm của giai đoạn này là các cấu trúc điều khiển. Câu lệnh điều kiện (if-else, switch-case) cho phép chương trình đưa ra quyết định và rẽ nhánh dựa trên các điều kiện nhất định. Trong khi đó, vòng lặp for while cho phép thực thi lặp lại một khối mã, giúp xử lý các tác vụ như duyệt mảng hoặc tính toán lặp. Tài liệu đồ án của sinh viên UEH cung cấp một ví dụ xuất sắc về việc áp dụng câu lệnh điều kiện trong trò chơi 'Bao-Búa-Kéo', nơi chương trình phải so sánh lựa chọn của người chơi và máy tính để quyết định kết quả. Thông qua các bài tập này, người học không chỉ viết mã mà còn học cách mô hình hóa logic của thế giới thực vào trong chương trình máy tính.

3.1. Khai báo biến và kiểu dữ liệu qua bài toán tính toán

Mọi chương trình đều xử lý dữ liệu, và dữ liệu đó cần được lưu trữ trong các biến. Bài tập về biến và kiểu dữ liệu thường là các bài toán tính toán đơn giản. Ví dụ, bài toán tính thể tích hình cầu từ hình trụ (Bài 3 trong tài liệu gốc) yêu cầu người học khai báo các biến r, h để lưu bán kính và chiều cao, sau đó tính toán và lưu kết quả vào biến v. Qua đó, người học hiểu được sự khác biệt giữa các kiểu dữ liệu như int (số nguyên), float/double (số thực) và tầm quan trọng của việc chọn đúng kiểu dữ liệu để đảm bảo tính chính xác.

3.2. Vận dụng câu lệnh điều kiện trong game Bao Búa Kéo

Trò chơi Bao-Búa-Kéo là một bài tập lập trình có lời giải kinh điển để thực hành câu lệnh điều kiện. Phân tích từ tài liệu cho thấy, chương trình cần so sánh lựa chọn của người dùng (ví dụ: 1-Bao, 2-Búa, 3-Kéo) với lựa chọn ngẫu nhiên của máy. Một chuỗi các câu lệnh if-else if-else hoặc cấu trúc switch-case được sử dụng để kiểm tra tất cả các trường hợp có thể xảy ra (Bao thắng Búa, Búa thắng Kéo,...) và đưa ra thông báo 'Thắng', 'Thua', hay 'Hòa'. Bài tập này minh họa một cách trực quan cách chương trình có thể đưa ra các quyết định phức tạp dựa trên các quy tắc logic đơn giản.

IV. Bài Tập Thực Hành Lập Trình Xử Lý Mảng Array và Ma Trận

Khi cần lưu trữ và xử lý một tập hợp dữ liệu cùng loại, mảng (array) và ma trận trở thành công cụ không thể thiếu. Đây là các cấu trúc dữ liệu cơ bản cho phép quản lý danh sách sinh viên, điểm số, hoặc các pixel trong một hình ảnh. Các bài tập về mảng thường bắt đầu với mảng một chiều, tập trung vào các thao tác như nhập, xuất, tìm kiếm phần tử, tính tổng, hoặc tìm giá trị lớn nhất/nhỏ nhất. Tài liệu tham khảo từ đồ án UEH đưa ra các bài toán thực tiễn như 'đếm số lượng số âm/dương' (Bài 5) hoặc 'tìm các số thuộc một đoạn [N, M]' (Bài 6). Những bài tập này giúp người học thành thạo việc sử dụng vòng lặp để duyệt và thao tác trên từng phần tử của mảng. Khi chuyển sang mảng hai chiều (ma trận), các bài toán trở nên phức tạp hơn, đòi hỏi việc sử dụng các vòng lặp lồng nhau. Các ví dụ như 'kiểm tra ma trận đối xứng' (Bài 7) hay 'tính tổng các phần tử trên đường chéo' (Bài 9) là những thử thách tuyệt vời để củng cố kỹ năng và chuẩn bị cho các chủ đề nâng cao hơn như xử lý ảnh hay đồ họa máy tính.

4.1. Bài toán với mảng array một chiều Thống kê số liệu

Bài 5 và 6 trong tài liệu gốc là những ví dụ điển hình về xử lý mảng (array) một chiều. Bài 5 yêu cầu chương trình nhập một mảng số nguyên, sau đó thống kê và in ra số lượng và tổng của các số âm và số dương. Để giải quyết, chương trình cần một vòng lặp for để duyệt qua mảng. Bên trong vòng lặp, một câu lệnh điều kiện if được dùng để kiểm tra xem phần tử hiện tại là âm hay dương, từ đó cập nhật các biến đếm và biến tổng tương ứng. Bài tập này giúp rèn luyện kỹ năng duyệt mảng và xử lý dữ liệu theo điều kiện.

4.2. Khám phá cấu trúc dữ liệu với ma trận hai chiều

Ma trận, hay mảng hai chiều, là một cấu trúc dữ liệu được sử dụng để biểu diễn các bảng hoặc lưới. Bài 7, 8 và 9 trong tài liệu đều tập trung vào ma trận. Ví dụ, bài 7 yêu cầu kiểm tra tính đối xứng. Thuật toán đòi hỏi phải so sánh phần tử ở vị trí [i, j] với phần tử ở vị trí [j, i]. Điều này cần đến hai vòng lặp lồng nhau để duyệt qua tất cả các phần tử. Việc thực hành với ma trận giúp người học làm quen với logic chỉ số phức tạp hơn và là nền tảng cho nhiều giải thuật cơ bản trong tương lai.

4.3. Ứng dụng mảng đa chiều Quản lý thông tin sinh viên

Phần 4 của tài liệu gốc đưa ra một bài tập nâng cao hơn, sử dụng mảng đa chiều (object[,]) để lưu trữ thông tin đa dạng của sinh viên (họ tên, năm sinh, điểm, xếp loại). Bài toán yêu cầu sắp xếp sinh viên theo điểm trung bình để xác định thứ hạng và sau đó in ra các phiếu điểm. Bài tập này cho thấy sức mạnh của mảng trong việc tổ chức và quản lý các bản ghi dữ liệu phức tạp. Nó kết hợp nhiều kỹ năng: duyệt mảng, sắp xếp, và định dạng chuỗi đầu ra, mô phỏng một ứng dụng quản lý trong thực tế.

V. Phương Pháp Giải Thuật Cơ Bản Qua Các Bài Tập Lập Trình Có Lời Giải

Viết mã chỉ là bước cuối cùng trong quá trình lập trình. Trước đó, việc xây dựng một giải thuật cơ bản rõ ràng là yếu tố quyết định sự thành công. Một thuật toán là một tập hợp các bước tuần tự, hữu hạn để giải quyết một bài toán. Tài liệu đồ án của UEH thể hiện rất tốt quy trình này trong từng bài tập, mỗi bài đều có mục 'Phân Tích' và 'Mô Tả Thuật Toán' trước khi trình bày mã nguồn. Giai đoạn phân tích giúp xác định rõ Input (đầu vào) và Output (đầu ra) của chương trình. Giai đoạn mô tả thuật toán vạch ra các bước logic cần thực hiện, có thể bằng ngôn ngữ tự nhiên hoặc sơ đồ khối. Ví dụ, trong bài giải phương trình trùng phương, thuật toán mô tả rõ các bước: đặt ẩn phụ, tính delta, xét các trường hợp của delta, và từ nghiệm của phương trình phụ suy ra nghiệm của phương trình ban đầu. Việc tuân thủ quy trình này giúp tư duy lập trình trở nên mạch lạc, giảm thiểu lỗi logic và làm cho quá trình viết mã trở nên dễ dàng hơn. Các bài tập lập trình có lời giải là nguồn tài liệu quý giá để người học đối chiếu và học hỏi cách xây dựng thuật toán hiệu quả.

5.1. Phân tích bài toán Mô tả giải thuật cơ bản trước khi code

Trước khi gõ bất kỳ dòng mã nào, bước đầu tiên là phân tích bài toán. Cần xác định chính xác chương trình cần nhận vào những gì (Input) và phải tạo ra kết quả gì (Output). Sau đó, vạch ra các bước xử lý logic để biến đổi Input thành Output. Đây chính là quá trình xây dựng giải thuật cơ bản. Ví dụ, với bài toán 'Ma trận phản chiếu' (Bài 8), phân tích cho thấy Input là ma trận A[m, n] và Output là một ma trận mới có các cột được đảo ngược. Thuật toán sẽ là: duyệt qua từng hàng, và trong mỗi hàng, duyệt các cột theo thứ tự ngược lại (từ n-1 về 0) để in ra phần tử. Việc mô tả rõ ràng thuật toán giúp đảm bảo logic đúng đắn trước khi triển khai.

5.2. Chuyển đổi thuật toán thành mã nguồn Ví dụ cụ thể

Sau khi có thuật toán, bước tiếp theo là chuyển đổi nó thành mã nguồn bằng một ngôn ngữ lập trình cơ bản cụ thể như Python cho người mới hoặc C# như trong tài liệu. Mỗi bước trong thuật toán sẽ tương ứng với một hoặc một vài dòng mã. Ví dụ, bước 'duyệt qua từng hàng' trong thuật toán ma trận sẽ được hiện thực hóa bằng một vòng lặp for (int i = 0; i < m; i++). Bước 'kiểm tra điều kiện' sẽ trở thành một câu lệnh if. Quá trình này đòi hỏi sự hiểu biết về cú pháp lập trình để diễn đạt đúng logic của thuật toán. Sự tương ứng 1-1 giữa thuật toán và mã nguồn giúp việc debug code dễ dàng hơn.

10/07/2025
Đồ án môn học cơ sở lập trình viết chương trình mô phỏng trò chơi bao búa kéo biết bao thắng búa búa thắng kéo kéo thắng bao

Trích đoạn nội dung tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC KINH TẾ TP HỒ CHÍ MINH (UEH) TRƯỜNG CÔNG NGHỆ VÀ THIẾT KẾ ✍ ĐỒ ÁN MÔN HỌC CƠ SỞ LẬP TRÌNH GVHD: TS.GVC Nguyễn Quốc Hùng Nhóm thực hiện: Nhóm 4 Trịnh Thị Hải Âu - 31211027629 (Trưởng nhóm) Đặng Thị Như Quỳnh - 31221026955 Hoàng Thị Thanh Thảo - 31221024605 Tp. Hồ Chí Minh, 30 Tháng 9 Năm 2023 0 MỤC LỤC MỤC LỤC.5 a) Mô Tả Thuật Toán.10 a) Mô Tả Thuật Toán.15 a) Mô Tả Thuật Toán.16 a) Mô Tả Thuật Toán.19 a) Mô Tả Thuật Toán.20 a) Mô Tả Thuật Toán.23 a) Mô Tả Thuật Toán.25 a) Mô Tả Thuật Toán.28 a) Mô Tả Thuật Toán.30 a) Mô Tả Thuật Toán.36 TÀI LIỆU THAM KHẢO.51 2 ĐỀ BÀI Bài 1: Viết chương trình mô phỏng trò chơi Bao - Búa - Kéo. Biết: Bao thắng Búa, Búa thắng Kéo, Kéo thắng Bao. Bài 2: Giải phương trình trùng phương: 𝑎𝑥 + 𝑏𝑥 + 𝑐 = 0.

4 2 Bài 3: Tìm bán kính hình cầu có thể tích tương đương với hình trụ tròn có bán kính R và chiều cao h. 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. Nhập giá trị X. In ra kết quả đa thức này.

+ 𝑎2𝑥 + 𝑎1𝑥 + 𝑎0 𝑛 𝑛−1 2 Bài 5: Nhập vào một mảng các số nguyên. 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ảng các số nguyên dương, Nhập 2 số nguyên dương N, M (N<M). Cho biết trong mảng có bao nhiêu số thuộc đoạn [N,M], in các số này cùng vị trí của nó trong mảng.

Bài 7: Nhập các phần tử của ma trận 𝐴𝑚𝑥𝑛, kiểm tra ma trận này có phải là ma trận đối xứng qua trục giữa không? Bài 8: Nhập các phần tử của một ma trận 𝐴𝑚𝑥𝑛, in ra ma trận phản chiếu. Bài 9: Nhập ma trận vuông cấp n. Tính tổng các phần tử chẵn nằm ở tam giác dưới đường chéo chính (kể cả đường chéo chính). PHẦN 4 - CHẴN: Cho một mảng nhiều chiều gồm thông tin cá nhân của mỗi sinh viên: họ tên, năm sinh, điểm trung bình, xếp loại.

Giả sử dữ liệu của mảng gồm có ít nhất 5 phần tử. Hãy in ra toàn bộ các phiếu điểm theo mẫu như sau: ------------------------------------ BẢNG ĐIỂM TỐT NGHIỆP Cấp cho sinh viên <họ tên>, năm sinh <năm sinh>. Trong kì thi tốt nghiệp 2021, sinh viên đã đạt điểm trung bình là <điểm trung bình>, và được xếp loại <xếp loại>. Sinh viên có thứ hạng <???> trong lớp.

Hiệu Trưởng Trường Đại học ABC. Kí tên, Đóng dấu ------------------------------------ 3 4 LỜI GIẢI BÀI 1. 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 - Bao thắng Búa - Búa thắng Kéo - Kéo thắng Bao - 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” 2.

Thuật Toán a) Mô Tả Thuật Toán - Bước 1: Người chơi chọn 1 trong 4 lựa chọn: (1) Bao (2) Búa (3) Kéo (4) Thoát trò chơi - 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 5 b) Sơ Đồ Khối c) Mã Nguồn Console. Thoát game -"); Console.WriteLine("-----------------------------"); string luaChon; do 6 { Random r = new Random(); int may = r.Write("Chọn từ 1 đến 4: "); luaChon = Console.ReadLine(); switch (luaChon) { case "1": Console.WriteLine("Bạn chọn Bao"); if (may == Convert.ResetColor(); break; } else { Console.ResetColor(); break; } case "2": Console.WriteLine("Bạn chọn Búa"); if (may == Convert.ResetColor(); break; } else { Console.ResetColor(); break; 8 } case "3": Console.WriteLine("Bạn chọn Kéo"); if (may == Convert.ResetColor(); break; } else { Console.ResetColor(); break; } case "4": Console.WriteLine("Đã thoát game!"); 9 break; default: Console. Phân Tích 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 𝑎𝑥 + 𝑏𝑥 + 𝑐 = 0 (output).

Output: Phương trình có 4 nghiệm = 1, -1, 0. Thuật Toán a) Mô Tả Thuật Toán Phương trình trùng phương: 𝑎𝑥 + 𝑏𝑥 + 𝑐 = 0 hay phương trình bậc 4 khuyết 4 2 𝑥 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: 𝑎𝑡 + 𝑏𝑡 + 𝑐 = 0 để giải phương trình phụ rồi đưa về phương 2 trình trùng phương ban đầu. Bước 2: Đặt ẩn phụ 𝑡 = 𝑥 , đưa phương trình về dạng bậc 2: 𝑎𝑡 + 𝑏𝑡 + 𝑐 = 0. 2 2 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: 𝑏𝑡 + 𝑐 = 0→𝑡 = − 𝑏.

Nếu 𝑡 > 0 → 𝑥 =± 𝑡 ; 𝑡 = 0 → 𝑥 = 0; 𝑡 < 0, 𝑐 phương trình vô nghiệm. 2 Bước 5: Nếu ∆ < 0, phương trình vô nghiệm. Nếu không thì qua bước 6. 10 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 𝑡= − 2𝑎.

Nếu 𝑡 > 0 → 𝑥 =± 𝑡 ; 𝑡 = 0 → 𝑥 = 0; 𝑡 < 0, phương trình vô 𝑏 nghiệm. Bước 7: Phương trình phụ có 2 nghiệm 𝑡 phân biệt. Nếu 𝑡 > 0 → 𝑥 =± 𝑡 ; 𝑡 = 0 → 𝑥 = 0; 𝑡 < 0, phương trình vô nghiệm. Số nghiệm 𝑥 có được là số nghiệm 𝑡 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 𝑎𝑥 + 𝑏𝑥 + 𝑐 = 0 và 4 2 kết thúc.

11 b) Sơ Đồ Khối 12 c) Mã Nguồn while (true) { try { Console.Write("Nhập vào số a: "); float a = float.Write("Nhập vào số b: "); float b = float.Write("Nhập vào số c: "); float c = float.ReadLine()); double d = b * b - 4 * a * c; if (a == 0 && b != 0 && c != 0) { double A1 = Math.Sqrt(-c / b); double A2 = -Math.WriteLine("Phương trình có 2 nghiệm {0}, {1}", A1, A2); else 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.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)); 13 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.WriteLine("Phương trình có 4 nghiệm = {0}, {1}, {2}, {3}", x1, x2, x3, x4); } } menub2: Console.Write("Tiếp tục nhập? C/K: "); string end = Console.ReadLine(); if (end.WriteLine("Thoát bài 2."); break; } else if (end.WriteLine("-------------------------"); else { Console.WriteLine("Không hợp lệ! Xin vui lòng nhập lại!"); goto menub2; } } catch { Console. Phân Tích 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. Thuật Toán a) Mô Tả Thuật Toán Bước 1: 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ể: Double V= Math.PI * r * r * h; 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.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 15 c) Mã Nguồn Console.UTF8; while(true) { try { Console.Write("Nhập bán kính của hình trụ tròn: "); double r = double.Write("Nhập vào chiều cao của hình trụ tròn: "); double h = double.ReadLine()); double v = Math.PI * r * r * h; double r1 = Math.ReadKey(); } catch { Console. Phân Tích 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)=anxn + an-1xn-1 +…+a2x2 + a1x + a0 Ví dụ: - Input + n=3 + a0 = 4 + a1 = 2 + a2 = 1 + a3 = 3 + x=2 - Output: 36 16 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 → an và nhập x Bước 7: Tính toán dựa trên công thức F(x)=anxn + an-1xn-1 +…+a2x2 + a1x + a0 Bước 8: In ra kết quả và kết thúc b) Mã Nguồn Console.UTF8; int[] a = Nhap(); int kq = Tinh(a); Console.WriteLine("Đa thức có bậc >= 0"); return 0; } Console.WriteLine("Nhập x: "); int x = Convert.ReadLine()); int kq = a[0]; int mu = 1; for (int i = 1; i < a.Length; i++) { mu += x; kq += a[i] * mu; } return kq; } private static int[] Nhap() { 17 int n; Console.ReadLine()); } } else { a = null; } return a; BÀI 5. Phân Tích 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. Ví dụ: Input: Mời nhập vào số phần tử N của mảng: 6 Phần tử [0] của mảng: -2 Phần tử [1] của mảng: 4 Phần tử [2] của mảng: 6 Phần tử [3] của mảng: -8 Phần tử [4] của mảng: 4 Phần tử [5] của mảng: 1 Output: Số lượng số âm là: 2 18 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<N, i=i+1 rồi quay lại bước 3.

Ngược lại thì qua bước 6. Bước 6: Thông báo giá trị của các biến demduong cho số lượng số nguyên dương, tongduong cho tổng số số dương, demam cho số lượng số nguyên âm, tongam cho tổng số số âm rồi kết thúc. b) Mã Nguồn while (true) { p2b2: try { Console.Write("Mời nhập vào số phần tử N của mảng: "); int n = int.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tài liệu "Hướng Dẫn Lập Trình Cơ Bản: Các Bài Tập Thực Hành" là một nguồn tài nguyên vô giá cho những ai mới bước chân vào thế giới lập trình. Tài liệu này tập trung vào việc củng cố kiến thức nền tảng thông qua các bài tập thực tiễn, giúp người đọc không chỉ hiểu lý thuyết mà còn có thể áp dụng ngay vào việc giải quyết các vấn đề cụ thể, từ đó xây dựng tư duy lập trình một cách vững chắc. Sau khi đã nắm vững các khái niệm cơ bản, bạn có thể muốn thử thách bản thân bằng cách áp dụng chúng vào một lĩnh vực chuyên sâu và đầy tiềm năng. Để mở rộng kiến thức và xem cách các nguyên tắc lập trình được vận dụng để tạo ra một sản phẩm thực tế, hãy khám phá thêm tài liệu Bài t p th c hành l ậ ự ập trình di động tạo một ứng dụng android. Đây là cơ hội tuyệt vời để bạn đi sâu hơn vào lĩnh vực phát triển ứng dụng di động và bắt đầu xây dựng dự án của riêng mình.