1. Trang chủ
  2. » Luận Văn - Báo Cáo

tiểu luận đồ án môn học cơ sở lập trình nhập vào 3 số biết rằng đó là số đo của 2 cạnh và góc nằm giữa hai cạnh của một tam giác hãy tính các số đo còn lại 1 cạnh và 2 góc

61 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Định dạng
Số trang 61
Dung lượng 2,63 MB

Nội dung

Bài 1: Nhập các phần tử của một ma trận vuông cấp n, kiểm tra ma trận này có phảilà ma trận đối xứng qua đường chéo chính không?………27LỜI GIẢI CÁ NHÂN: BÙI LƯƠNG TRỌNG TRÍPhần 1.. Dùng mả

Trang 1

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Ế

Tp Hồ Chí Minh, Tháng 12 Năm 2023

Trang 2

MỤC LỤC

ĐỀ BÀI……….……… 2

PHÂN CHIA CÔNG VIỆC……… 4

LỜI GIẢI……… 5

LỜI GIẢI CÁ NHÂN: NGUYỄN HUY HOÀNG……… 5

Phần 1 Bài 6: Nhập vào 3 số, biết rằng đó là số đo của 2 cạnh và góc nằm giữa hai cạnh của một tam giác Hãy tính các số đo còn lại (1 cạnh và 2 góc) ……….……….… 5

Phần 2 Bài 6: Dùng mảng 1 chiều để lưu số ngày của các tháng trong năm, chương trình nhập tháng t trong phạm vi từ 1-12, sau đó cho biết số ngày của tháng t…….……… 8

Phần 3 Bài 6: Nhập vào 2 ma trận A và B tính kết quả của C =A * Bmxn nxp mxp mxn nxp … …10

LỜI GIẢI CÁ NHÂN: NGUYỄN NHẬT BẢO Phần 1 Bài 2: 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. ……… ……….14

Phần 2 Bài 2: 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: F(x) = anXn + a + + a + a x + a n-1Xn-1 2x2 1 0 ……….………… 16

Phần 3 Bài 2: Nhập các phần tử của ma trận Amxn , 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?……… ……… 19

LỜI GIẢI CÁ NHÂN: NGUYỄN LÊ ĐỨC TRÍ Phần 1 Bài 1: Viết chương trình giải hệ phương trình sau: a1x + b y = c1 1 a2x + b y = c2 2 ……… 21

Phần 2 Bài 1: Nhập dữ liệu vào mảng có n số nguyên Nhập số nguyên X In ra vị trí các phần tử trong mảng có giá trị bằng X……….…… 25

Phần 3 Bài 1: Nhập các phần tử của một ma trận vuông cấp n, kiểm tra ma trận này có phải là ma trận đối xứng qua đường chéo chính không?………

27 LỜI GIẢI CÁ NHÂN: BÙI LƯƠNG TRỌNG TRÍ Phần 1 Bài 10: Một hình cầu có bán kính R và một hình trụ có bán kính r và chiều cao h Nếu bán kính của mỗi hình tăng lên gấp đôi, thì thể tích sẽ thay đổi như thế nào …… … 30

Phần 2 Bài 10: Nhập số hạng đầu tiên của cấp số cộng, công sai của cấp số cộng, số lượng phần tử cần in Sau đó in ra đây cấp số cộng này ……… …….………… 35

Trang 3

Phần 3 Bài 10: Nhập ma trận vuông cấp n In ra các phần tử của ma trận này theo phương

của đường chéo chính. ……….… 38

ĐỀ NHÓM: ĐỀ CHẴN – NHÓM 2……….……… … … 43

Cho 1 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 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 trê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

1 Phân Tích……….…… ……….……… 43

2 Thuật Toán……….…… 43

ỨNG DỤNG……… 50

PHỤ LỤC……….……… …… 61

TÀI LIỆU THAM KHẢO……….……… ……

Trang 4

PHÂN CHIA CÔNG VIỆC

Bài 6 - phần 1, 2, 3 Nguyễn Huy Hoàng

Bài 2 - phần 1, 2, 3 Nguyễn Nhật Bảo

Bài 1 - phần 1, 2, 3 Nguyễn Lê Đức Trí

Bài 10 - phần 1, 2, 3 Bùi Lương Trọng Trí

Bài cho nhóm chẵn - phần 4 Cả nhóm cùng làm

Trình bày đồ án và định dạng Word Cả nhóm cùng làm

Check đạo văn Turnitin Nguyễn Lê Đức Trí

Too long to read on your phone? Save to

read later on your computer

Save to a Studylist

Trang 5

LỜI GIẢI

PHẦN LỜI GIẢI CÁ NHÂN: NGUYỄN HUY HOÀNG

Phần 1- Bài 6.Nhập vào 3 số, biết rằng đó là số đo của 2 cạnh và góc nằm giữa hai cạnh của một tam giác Hãy tính các số đo còn lại (1 cạnh, và 2 góc)

1 Phân Tích

Để tìm các cạnh và góc của một tam giác thì

Đầu tiên xác định các cạnh, góc đã cho có thỏa điều kiện trở thành 1 tam giác chưa

Áp dụng định lý hàm cos để tìm các cạnh, góc còn thiếu bằng công thức

2 Thuật Toán

a) Mô Tả Thuật Toán

Bước 1: để xuất tiếng việt dùng câu lệnh

Console.Write( "nhập vào góc giữa A và B: " );

Bước 3: lưu các giá trị vừa nhập vào các biến a, b, A

Console.WriteLine( "Tam giác không tồn tại" );

return ; } Bước 5: tính các giá trị yêu cầu

double c = Math.Sqrt(a * a + b * b - 2 * a * b * Math.Cos(A));

Trang 6

b) Sơ Đồ Khối

Trang 8

Phần 2- Bài 6 Dùng mảng 1 chiều để lưu số ngày của các tháng trong năm, chương trình nhập tháng t trong phạm vi từ 1-12, sau đó cho biết số ngày của tháng t

a) Mô Tả Thuật Toán

Bước 1: để xuất tiếng việt dùng câu lệnh

Console.OutputEncoding = Encoding.Unicode;

Console.InputEncoding = Encoding.Unicode;

Bước 2: nhập vào tháng t

Console.Write( "Nhập tháng : " );

Bước 3: lưu giá trị vừa nhập vào biến t

int t = Parse(Console.ReadLine()); int

Bước 4: kiểm tra giá trị vừa nhập có thỏa điều kiện số tháng trong 1 năm không

int [] soNgayThang = new int [] { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };

bước 6: xuất ra màng hình số ngày của tháng vừa nhập

Console.WriteLine( "Số ngày của tháng {0} là: {1}" , t, soNgayThang[t - 1]);

Trang 9

Console.WriteLine( "Giá trị của tháng không hợp lệ!" );

return ;

}

[] soNgayThang = int new int [] { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; Console.WriteLine( "Số ngày của tháng {0} là: {1}" , t, soNgayThang[t - 1]); }

}

}

Trang 10

Phần 3- Bài 6 Nhập vào 2 ma trận A và B tính kết quả của C =A * Bmxn nxp mxp mxn nxp

1 Phân Tích

Khai báo hai biến ma trận Amxn và Bnxp.

Nhập vào hai ma trận Amxn và Bnxp.

Kiểm tra tính khả thi của phép nhân ma trận: Số cột của ma trận A phải bằng số hàng của ma trận B Tính tích từng phần tử của ma trận C theo công thức:

Cij = Σ(Aik * Bkj)

với i = 1, 2, , m; j = 1, 2, , p.

2 Thuật Toán

a) Mô Tả Thuật Toán

Bước 1: để xuất tiếng việt dùng câu lệnh

Console.OutputEncoding = Encoding.Unicode;

Console.InputEncoding = Encoding.Unicode;

Bước 2: khởi tạo các biến i, j, k, r1, c1, r2, c2, sum = 0

i, j, k, r1, c1, r2, c2, sum = 0; int

Bước 3: khởi tạo các mảng ma trận 1, 2, ma trận tích

int [,] arr1 = new int [50, 50];

int [,] arr2 = new int [50, 50];

int [,] ma_tran_tich = new int [50, 50];

Console.WriteLine( "Không thể nhân hai ma trận !!!" );

Console.Write( "số cột của ma trận 1 phải bằng số hàng của ma trận 2" );

Trang 12

[,] arr1 = int new int [50, 50];

[,] arr2 = int new int [50, 50];

[,] ma_tran_tich = int new int [50, 50];

Console.WriteLine( "Không thể nhân hai ma trận !!!" );

Console.Write( "số cột của ma trận 1 phải bằng số hàng của ma trận 2" ); }

Trang 13

}

Console.Write( "\nIn ma trận 1:\n" ); for (i = 0; i < r1; i++)

{

Console.Write( "\n" );

for (j = 0; j < c1; j++)

Console.Write( "{0}\t" , arr1[i, j]); }

Console.Write( "\nIn ma trận 2:\n" ); for (i = 0; i < r2; i++)

{

Console.Write( "\n" );

for (j = 0; j < c2; j++)

Console.Write( "{0}\t" , arr2[i, j]); }

Trang 14

PHẦN LỜI GIẢI CÁ NHÂN: NGUYỄN NHẬT BẢO

Búa, Búa thắng Kéo, Kéo thắng Bao

1 Phân Tích

Input: Lựa chọn của người chơi, lựa chọn ngẫu nhiên của máy: Bao, Búa hoặc Kéo Output: Kết quả so sánh lựa chọn, kết luận ai thắng ai thua

2 Thuật Toán

a) Mô Tả Thuật Toán:

● Bước 1: Sử dụng lệnh Console.OutputEncoding = Encoding.UTF8;

Điều này sẽ đảm bảo Console hỗ trợ ký tự Unicode

● Bước 2: Khởi tạo các biến

Khai báo biến LuaChonNguoiChoi, KetQua theo kiểu String để kết quả thu được

là dạng chuỗi ký tự; đối với biến LuaChonMay thì theo kiểu Int:

● Bước 3: Nhận sự lựa chọn của người chơi

Người chơi có thể tùy chọn 1 trong 3 tùy chọn Bao, Búa, Kéo từ đầu vào của người dùng để bắt đầu trò chơi

Console.WriteLine(“Lựa chọn của bạn là gì? Bao, Búa hay Kéo?”);

LuaChonNguoiChoi = Console.ReadLine();

Phương thức ReadLine() sẽ đọc ra một dòng chữ từ đầu vào của người dùng

● Bước 4: Tạo lựa chọn ngẫu nhiên cho máy

Ta dùng Random để tạo một lựa chọn ngẫu nhiên của máy theo giá trị từ 0 đến 2 (0, 1, 2 tương ứng với Bao, Búa, Kéo)

● Bước 5: So sánh lựa chọn của người chơi và của máy

Ta sẽ dùng toán tử == để so sánh Nếu lựa chọn của người chơi và máy giống nhau, thì kết quả là “Hòa” Nếu lựa chọn của người chơi thắng lựa chọn của máy, thì kết quả là người chơi thắng Và nếu lựa chọn của máy thắng lựa chọn của người chơi, thì kết quả là máy thắng

● Bước 6: Hiển thị kết quả trò chơi

Ta sẽ dùng phương thức WriteLine() để hiển thị kết quả của trò chơi:

Console.WriteLine(“Kết quả: {0}”, KetQua);

Trang 15

Console.WriteLine( "Chào mừng đến với trò chơi Bao-Búa-Kéo!" );

// Khởi tạo các biến

string LuaChonNguoiChoi = ; ""

LuaChonMay = 0; int

string KetQua = ; ""

// Nhận lựa chọn của người chơi

Console.WriteLine( "Bạn chọn Bao, Búa hay Kéo:" );

LuaChonNguoiChoi = Console.ReadLine();

// Tạo lựa chọn ngẫu nhiên của máy

Random random = new Random();

Trang 16

// Hiển thị kết quả của trò chơi

Console.WriteLine( "Kết quả: {0}" , KetQua);

Console.ReadKey();

}

In ra kết quả đa thức này: F(x) = anXn + a + + a + a x + a

n-1Xn-1

2x2

1 0

1 Phân Tích:

Input: Bậc n của F(x), giá trị x

Output: Giá trị của biểu thức F(x)

Trang 17

2 Thuật Toán

a) Mô Tả Thuật Toán:

● Bước 1: Nhập bậc của đa thức F(x)

Khai báo biến n theo kiểu số nguyên Int, rồi in ra màn hình

● Bước 2: Khởi tạo mảng a có kích thước n + 1 chứa các hệ số bậc x của đa thức

Hệ số a[0] tương ứng với hệ số của x bậc 0, hệ số a[1] tương ứng với hệ số của x bậc 1, v.v

double[] a = new double[n + 1];

● Bước 3: Nhập các hệ số bậc x của đa thức F(x)

Các hệ số sẽ được nhập theo thứ tự từ bé đến lớn (nghĩa là hệ số của x bậc 0 nhập trước, sau đó tới x bậc 1, bậc 2,…v.v)

● Bước 4: Nhập giá trị x

Khai báo x cho kiểu dữ liệu Double, sau đó in ra màn hình

● Bước 5: Tính giá trị của đa thức F(x)

Bằng cách sử dụng công thức của đề bài, ta dùng vòng lặp for để thực hiện Vòng lặp for lặp từ giá trị 0 đến n, và tại mỗi bước lặp, giá trị của đa thức được tính bằngcách cộng thêm hệ số a[i] với giá trị trước đó của đa thức, nhân x với số mũ i

Ví dụ: n = 3, thì vòng lặp for sẽ lặp lại 3 lần Tại mỗi bước lặp, giá trị của F(x) sẽ được tính:

i = 0: F(x) = a[0]

i = 1: F(x) = a[0] + a[1]x

i = 2: F(x) = a[0] + a[1]x + a[2]x^2

Và kết quả cuối cùng của F(x) là giá trị của đa thức tại x

● Bước 6: In kết quả giá trị của đa thức F(x) ra màn hình

Ta dùng phương thức WriteLine(); để in ra kết quả

Trang 18

b) Mã Nguồn

static void Main( string [] args)

{

Console.OutputEncoding = Encoding.UTF8; // Nhập bậc của đa thức

n; int

Console.Write( "Nhập bậc của đa thức: " );

n = Convert.ToInt32(Console.ReadLine()); // Khởi tạo mảng chứa các hệ số của đa thức

double [] a = new double [n + 1];

// Nhập giá trị của x

double x;

Console.Write( "Nhập giá trị của x: " );

x = Convert.ToDouble(Console.ReadLine()); // Tính giá trị của đa thức

Trang 19

Phần 3 – Bài 2 Nhập các phần tử của ma trận Amxn , 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?

1 Phân Tích

Input: Số hàng, số cột, số phần tử của ma trận

Output: Ma trận có đối xứng qua trục giữa hay không?

2 Thuật Toán

a) Mô Tả Thuật Toán:

● Bước 1: Sử dụng lệnh Console.OutputEncoding = Encoding.UTF8;

Điều này sẽ đảm bảo Console hỗ trợ ký tự Unicode

int[,] A = new int[m, n];

● Bước 4: Nhập vào các phần tử của ma trận

Sử dụng vòng lặp for để duyệt từng phần tử của ma trận Tại mỗi vị trí (i, j) chương trình sử dụng Console.Write() để hiển thị phần tử của ma trận và Convert.ToInt32() để chuyển đổi giá trị i,j được nhập từ người dùng thành kiểu dữ liệu int

● Bước 5: Kiểm tra ma trận đối xứng qua trục giữa:

Để kiểm tra ma trận đối xứng qua trục giữa, chương trình sẽ duyệt từng phần

tử của ma trận Tại mỗi vị trí (i, j) chương trình sẽ so sánh phần tử A[i, j] vớiphần tử A[m-i-1,n-j-1] Nếu hai phần tử này không bằng nhau, thì ma trận không đối xứng qua trục giữa Còn nếu hai phần tử này bằng nhau, thì chương trình sẽ tiếp tục duyệt phần tử tiếp theo

Biến DoiXung được sử dụng để lưu kết quả kiểm tra Biến này được gán giá trị true ban đầu với kiểu dữ liệu bool Nếu chương trình tìm thấy một phần

tử không đối xứng qua trục giữa, thì biến DoiXung sẽ được gán giá trị false

và vòng lặp sẽ bị ngắt Ngược lại, nếu chương trình duyệt hết tất cả các phần

tử mà không tìm thấy phần tử nào không đối xứng qua trục giữa thì biến DoiXung vẫn giữ nguyên giá trị true và ma trận được coi là đối xứng qua trục giữa

● Bước 6: Hiển thị kết quả

Trang 20

Sử dụng lệnh if else để hiển thị kết quả:

- Nếu biến DoiXung có giá trị true thì chương trình hiển thị kết quả “Ma trận A đối xứng qua trục giữa

- Nếu biến DoiXung có giá trị false thì chương trình hiển thị kết quả “Ma trận A không đối xứng qua trục giữa”

// Kiểm tra ma trận đối xứng qua trục giữa

bool DoiXung = true ;

for int ( i = 0; i < m; i++)

Trang 21

LỜI GIẢI CÁ NHÂN: NGUYỄN LÊ ĐỨC TRÍ

Phần 1 - Bài 1 Viết chương trình giải hệ phương trình sau:

- Trước hết người dùng sẽ khai báo biến cho các hệ số a , b , c1 1 1,a2,b2,c ,2 D,Dx, Dy

- Sau đó người dùng sẽ nhập các hệ số a , b , c1 1 1,a2,b2,c2

- Sau khi người dùng nhập vào các hệ số từ bàn phím, chương trình sẽ tiến hành tính toán

và đưa ra kết quả về số nghiệm của hệ phương trình thiết lập được từ các hệ số đã cho.

2 Thuật Toán

a) Mô Tả Thuật Toán

B1: Sử dụng dòng lệnh

Console.OutputEncoding = Encoding.UTF8;

Để đảm bảo rằng Console có hỗ trợ ký tự Unicode

B2: Khai báo kiểu dữ liệu double cho các biến

B3:Nhập vào các hệ số a , b , c1 1 1 ,a2, 2b c, 2 và thiết lập hệ phương trình bậc nhất hai ẩnConsole.Write("Nhập hệ số a1: ");

Trang 22

Console.WriteLine("Nghiệm của hệ phương trình trên là: (x; y) = ({0}; {1})", x, y);

- Nếu (D == 0 && Dx == 0 && Dy == 0) thì chương trình sẽ thông báo hệ phương trình có vô số nghiệm qua câu lệnh

Console.WriteLine("Hệ phương trình trên có vô số nghiệm");

- Nếu (D == 0) và (Dx != 0 || Dy != 0) chương trình sẽ thông báo hệ phương trình vô nghiệm qua câu lệnh

Console.WriteLine("Hệ phương trình trên vô nghiệm");

B6: Sử dụng câu lệnh

Console.ReadKey();

để kết thúc chương trình và in ra màn hình kết quả cuối cùng

Trang 23

b) Sơ Đồ Khối

c) Mã Nguồn

using System;

Trang 25

Phần 2 - Bài 1 Nhập dữ liệu vào mảng có n số nguyên Nhập số nguyên X In ra vị trí các phần tử trong mảng có giá trị bằng X

2 Thuật Toán

a) Mô Tả Thuật Toán

B1: Sử dụng câu lệnh

Console.OutputEncoding = Encoding.UTF8;

Để đảm bảo rằng console hỗ trợ ký tự Unicode

B2: Nhập vào số lượng phần tử của mảng bằng hai câu lệnh

Console.Write("Nhập số lượng phần tử của mảng: ");

int n = int.Parse(Console.ReadLine());

Với là kích thước của mảngn

B3: Khai báo mảng số nguyên có kích thước là n

Với là biến đại diện cho số nguyên Xx

B5: Sử dụng vòng lặp FOR lần nữa để duyệt qua từng phần tử của mảng

Console.Write("Các vị trí của phần tử có giá trị bằng {0} trong mảng là: ", x);

for (int i = 0; i < n; i++)

Trang 26

để kết thúc chương trình và in ra màn hình vị trí các phần tử trong mảng có giá trị bằng

số nguyên X được cho trước

Console.Write( "Nhập số lượng phần tử của mảng: " );

n = int int Parse(Console.ReadLine());

[] arr = int new int [n];

Console.WriteLine( "Nhập giá trị cho từng phần tử của mảng:" );

for int ( i = 0; i < n; i++)

x = int int Parse(Console.ReadLine());

Console.Write( "Các vị trí của phần tử có giá trị bằng {0} trong mảng là: " , x);

for int ( i = 0; i < n; i++)

Trang 27

Phần 3 - Bài 1 Nhập các phần tử của một ma trận vuông cấp n, kiểm tra ma trận này cóphải là ma trận đối xứng qua đường chéo chính không?

Để đảm bảo rằng console hỗ trợ ký tự Unicode

B2: Nhập vào số cấp của một ma trận vuông bằng hai câu lệnh

Console.Write("Nhập cấp của ma trận vuông: ");

int n = int.Parse(Console.ReadLine());

Với là số cấp của ma trận vuông đó.n

B3: Khai báo và khởi tạo ma trận vuông kích thước n x n bằng câu lệnh

int[,] matrix = new int[n, n];

Với int[,] là kiểu dữ liệu của mảng hai chiều, được sử dụng để lưu trữ dữ liệu của ma trậnvuông

B4: Sử dụng vòng lặp FOR để duyệt qua các hàng và cột của ma trận, và nhập vào các phần tử cho ma trận vuông

for (int i = 0; i < n; i++)

Trang 28

Console.Write( "Nhập cấp của ma trận vuông: " );

n = int int Parse(Console.ReadLine());

[,] matrix = int new int [n, n];

bool isSymmetric = true ;

for int ( i = 0; i < n; i++)

Trang 30

LỜI GIẢI CÁ NHÂN: BÙI LƯƠNG TRỌNG TRÍ

h Nếu bán kính của mỗi hình tăng lên gấp đôi, thì thể tích sẽ thay đổi như thế nào

Vtru1(sau khi tăng gấp đôi bán kính) = π*h*(2*r)^2

= 4*π*h*r^2

= 4*Vtru

- Tính sự thay đổi thể tích của hình cầu và hình trụ tròn sau khi tăng bán kính là:Hình cầu: Vcau2 = Vcau1 - Vcau = 8*Vcau - Vcau = 7*Vcau = 7*(4*π*R^3)/3Hình trụ tròn: Vtru2 = Vtru1 - Vtru = 4*Vtru - Vtru = 3*Vtru = 3*π*h*r^2

Để đảm bảo rằng Console có thể nhận và xử lý các ký tự Unicode khi nhập

từ bàn phím và hiển thị các ký tự của Unicode đúng cách khi in ra màn hình

Ngày đăng: 20/06/2024, 16:48

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w