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

BÀI tập lập TRÌNH cơ bản

11 9 0

Đ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

Tiêu đề Bài tập lập trình cơ bản
Người hướng dẫn PTS. Nguyễn Văn A
Trường học Đại học Bách Khoa Hà Nội
Chuyên ngành Lập trình cơ bản
Thể loại Sách hướng dẫn
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 11
Dung lượng 168,56 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Viết chương trình giải và biện luận phương trình bậc nhất ax + b = c, trong đó a, b, c là các số thực nhập từ bàn phím.. Lập trình giải các bài toán sau: a Sắp xếp các số nguyên tố theo

Trang 1

BÀI T ẬP LẬP TRÌNH CƠ BẢN

A LỆNH CƠ BẢN

1 Viết chương trình nhập chiều dài và chiều rộng của một hình chữ nhật, xuất ra màn hình chu vi và diện tích của hình chữ nhật đó

2 Viết chương trình nhập vào bán kính hình tròn, xuất ra màn hình chu vi và diện tích hình tròn đó

3 Viết chương trình tìm các số có ba chữ số abc, sao cho tổng lập phương ba chữ số của

số đó bằng chính số đó: a3 + b3 + c3 = abc

B LỆNH RẼ NHÁNH

1 Viết chương trình giải và biện luận phương trình bậc nhất ax + b = c, trong đó a, b, c là các số thực nhập từ bàn phím

2 Viết chương trình giải và biện luận phương trình bậc hi ax2 + bx + c = d, trong đó a, b,

c, d là các số thực nhập từ bàn phím

3 Viết chương trình nhập vào tháng và năm

a) Kiểm tra năm nhập có phải năm nhuận hay không Biết năm nhuận là năm chia hết cho

400 hoặc chia hết cho 4 nhưng không chia hết cho 100

b) Cho biết số ngày của tháng vừa nhập

4 Viết chương trình nhập ngày, tháng, năm

a) Kiểm tra tính hợp lệ của ngày, tháng, năm

b) Tính tổng số ngày tình từ ngày đầu tiên của năm (ngày 1/1) đến ngày vừa nhập

c) Biết thứ (hai, ba, tư, năm, sáu, bảy, chủ nhật) của ngày 1/1 Hãy xác định thứ của ngày vừa nhập

d) In ra màn hình ngày, tháng, năm kế tiếp của ngày, tháng, năm vừa nhập

e) In ra màn hình ngày, tháng, năm trước của ngày, tháng, năm vừa nhập

5 Trong mặt phẳng tọa độ Oxy, cho tọa độ hai điểm A và C là hai đỉnh nằm trên đường chéo AC của hình chữ nhật ABCD, nhập tọa độ điểm M Lập trình kiểm tra điểm M có

nằm trong hình chữ nhật hay không (bao gồm biên của hình chữ nhật)?

Trang 2

6 Trong mặt phẳng Oxy, cho 3 điểm A, B, C Nhập 3 số thực a, b, c là độ dài lần lượt ba cạnh AB, AC, BC Lập trình kiểm tra A, B, C có phải là ba đỉnh một tam giác hay không?

a) Nếu phải, tính diện tích tam giác ABC Xác định tính chất tam giác ABC (tam giác đều, tam giác cân, tam giác vuông, tam giác vuông cân, tam giác thường)

b) Nếu không, cho biết điểm nào nằm giữa hai điểm nào?

C LỆNH LẶP

1 Nhập số nguyên dương N từ bàn phím Lập trình giải các bài toán sau

a) Đếm số lượng các chữ số của N Tìm chữ số lớn nhất và chữ số nhỏ nhất trong các chữ

số của số N

b) Tính tổng các chữ số của số N cho đến khi tổng này nhỏ hơn 10

Ví dụ : N = 567 5 + 7 + 8 = 20 = N  2 + 0 = 2 < 10  in kết quả là số 2

c) In lại số N lên màn hình sau khi đã xóa sự có mặt của tất cả các chữ số 0 và 5 có mặt trong các chữ số của N

Ví dụ : N = 580051  in kết quả N = 81

2 Nhập số nguyên dương N từ bàn phím Lập trình giải các bài toán sau

a) Kiểm tra N có phải là số nguyên tố hay không ? Nếu không , hãy tính tổng tất cả các ước nguyên tố của N

b) Kiểm tra N có phải là số đối xứng hai không

Ví dụ : 7,9,12421, 123321: là các số đối xứng ; 123320, 12, 12329: không phải là số đối xứng

c) Kiểm tra N có phải là số gần đối xứng hay không ? (Số này được hiểu như số đối xứng nhưng có một cặp khác nhau)

d) Phân tích N ra thừa số nguyên tố ( ví dụ 18 = 2^1 * 3^2)

3 Tính giá trị các biểu thức sau (với điều kiện 0 ≤ n ≤ 15 , nếu nhập sai thì yêu cầu nhập lại)

a) 𝑠 = 0!1 +1!1 +2!1 + ⋯ +𝑛!1

b) 𝑠 = 𝑥 −𝑥3!3+𝑥5!5+ ⋯ + (−1)𝑛 𝑥2𝑛+1

(2𝑛+1)! − ∞ < 𝑥 < +∞

Trang 3

c) 𝑠 = 1 −𝑥2!2+𝑥4!4+ ⋯ + (−1)𝑛 𝑥2𝑛

(2𝑛)! − ∞ < 𝑥 < +∞

d) 𝑠 = 𝑒𝑥 = 1 +1!𝑥 +𝑥2!2+𝑥3!3+ ⋯ +𝑥𝑛!𝑛 − ∞ < 𝑥 < +∞

e) s = 1.2 + 2.3.4 + 3.4.5.6 + 4.5.6.7.8 + + n.(n+1).(n+1) (2n) ( 0 < n ≤ 7)

4 Nhập vào hai số nguyên dương a và b Lập trình thực hiện các công việc sau:

a) Tìm UCLN(a,b)

b) Tìm hai số nguyên x và y sao cho x*a + y*b = UCLN(a,b)

5 Dãy số Fibonacci xác định như sau: { 𝑎(0) = 𝑎(1) = 1 𝑎

𝑛 = 𝑎𝑛−1+ 𝑎𝑛−2 a) Xác định số thứ k trong dãy số Fibonacci

b) Nhập vào số nguyên m , kiểm tra xem m có phải là số Fibonacci hay không?

c) Nhập vào số nguyên dương m In ra màn hình m số Fibonacci đầu tiên và đồng thời là

số nguyên tố

6. Viết chương trình nhập vào số nguyên n là bậc đa thức và n + 1 số nguyên a i (0 ≤ a i ≤

n), với ailà hệ số của xi và giá trị biến nguyên x Tính giá trị biểu thức đó

7 Cho số tự nhiên n Tìm tất cả các cách phân tích n thành tổng của lớn hơn hoặc bằng hai số tự nhiên liên tiếp (hoặc đưa ra lời phủ định)

8 Lập trình giải các bài toán sau:

a) Tìm số nguyên dương n nhỏ nhất sao cho 1 + 2 + 3 + + n > 1000

b) Tìm k nhỏ nhất sao cho 2k lớn hơn hoặc bằng n (n nhập từ bàn phím)

c) Tìm k lớn nhất sao cho 4k nhỏ hơn n (n nhập từ bán phím)

D MẢNG MỘT CHIỀU

1 Cho mảng một chiều gồm n số nguyên, nhập số nguyên x Lập trình giải các bài toán sau:

a) Kiểm tra x có trong mảng hay không? Nếu có, in ra màn hình tất cả vị trí tìm thấy, ngược lại in thông báo “Không tồn tại x trong mảng”

b) Kiểm tra mảng đã được sắp xếp tăng dần hay chưa? Nếu chưa hãy sắp xếp dãy tăng dần

và chèn x vào đúng vị trí của nó trong dãy, in kết quả ra màn hình

2 Cho mảng một chiều gồm n phần tử

Trang 4

a) Đếm số lượng các phần tử khác nhau trong dãy Cho biết phần tử nào xuất hiện nhiều lần nhất trong dãy

b) Tìm số lương lớn nhất và số âm bé nhất trong dãy Trong trường hợp không có số âm hay số dương nào trong dãy thì in ra *

3 Cho mảng gồm n số nguyên Lập trình giải các bài toán sau:

a) Sắp xếp các số nguyên tố theo thứ tự tăng dần, các số còn lại không đổi vị trí

b) Sắp xếp các số chẵn lên đầu dãy, các số lẻ xuống cuối dãy

c) Sắp xếp các số vừa chi hết cho 3 vừa lẻ ở đầu dãy, các số vừa chia hết cho 3 vừa chẵn

xuống chuối dãy, các số còn lại ở giữa

d) Sắp xếp các số dương ở đầu dãy theo thứ tự tăng, đến các số 0, cuối cùng là các số âm theo thứ tự giảm dần

4 Cho dãy gồm n số nguyên Lập trình giải các bài toán sau

a) Kiểm tra dãy có k số dương liên tiếp hay không? (k nhập từ bàn phím)

b) Tìm và in ra màn hình đoạn con tăng dài nhất

c) Tìm và in ra các đoạn con dài nhất gồm các số nguyên tố sao cho tổng của chúng cũng

là một số nguyên tố

d) Tìm đoạn con đối xứng và dài nhất của dãy

5 Cho hai mảng một chiều x và y, mỗi mảng có n phần tử, tương ứng là hoành độ và tung

độ của n điểm trong mặt phẳng Oxy In ra màn hình khoảng cách xa nhất giữa hai điểm

6 Cho hai mảng một chiều a và b lần lượt cho m và n phần tử, chứa các hệ số của hai đa thức In ra màn hình dãy các hệ số của tích hai đa thức trên (thứ tự in hệ số từ hệ số của bậc thấp đến bậc cao)

7 Cho hai dãy số a và b, mỗi dãy có n phần tử Gọi p là một hoán vị của a Tìm p sao cho tổng sau đây có giá trị nhỏ nhất

S = p[0] * b[0] + p[1] * b[1] + + p[n-1] * b[n - 1]

8 Nhập dãy số n số Lập trình giải các bài toán sau:

a) Tìm các số của dãy bằng tổng hai số khác trong cùng dãy

b) Nhập số nguyên 0 < k < n In ra màn hình tổng lớn nhất k phần tử liên tiếp xuất hiện trong dãy

Trang 5

9 Cho hai mảng một chiều a và b lần lượt có m và n phần tử, nhập số nguyên dương q Lập trình tìm tổng a[i] + b[j] nhỏ nhất và lớn hơn q

10 Nhập dãy số nguyên có n số Lập trình liệt kê tất cả các tập con của các phần tử trong dãy

11 Cho dãy gồm n số nguyên (n < 10000) Hãy tìm cách chia dãy số trên thành nhiều đoạn con nhất sao cho các đoạn con có tổng bằng nhau Yêu cầu xuất ra màn hình có cấu trúc: dòng đầu ghi hai số K, S lần lượt là số đoạn được chia và tổng của đoạn; K dòng tiếp theo, mỗi dòng ghi các số tương ứng của đoạn chia được

E MẢNG HAI CHIỀU

1 Viết chương trình hiển thị 10 dòng đầu tiên của tam giác Pascal theo 2 dạng tam giác vuông và tam giác cân Biết mỗi hàng trong tam giác Pascal bắt đầu và kết thúc bằng 1

và phần tử khác trong hàng là tổng hai phần tử kề nhau phía trên nó

Ví dụ: 5 dòng đầu tiên tam giác pascal theo 2 dạng tam giác vuông và tam giác cân a) Dạng 1

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

b) Dạng 2

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

2. Viết chương trình gán các giá trị nguyên từ 1 đến n 2 cho các phần tử của ma trận vuông

có kích thước n × n theo dạng zigzag dạng hàng và dạng cột, với n (2 ≤ n ≤ 10) được

nhập từ bàn phím

Ví dụ:

n = 4

1 2 3 4

n = 4

1 8 9 16

Trang 6

8 7 6 5

9 10 11 12

16 15 14 13

2 7 10 15

3 6 11 14

4 5 12 13

3. Viết chương trình gán các giá trị nguyên từ 1 đến n 2 cho các phần tử của ma trận vuông

có kích thước n × n theo dạng xoắn ốc, với n (2 ≤ n ≤ 10) nhập từ bàn phím

Ví dụ:

n = 4

1 2 3 4

12 13 14 5

11 16 15 6

10 9 8 7

n = 5

1 2 3 4 5

16 17 18 19 6

15 24 25 20 7

14 23 22 21 8

13 12 11 10 9

4. Một ma phương (magic square) là một bảng có kích thước n × n Mỗi ô trong bảng

chứa các số nguyên khác nhau, và giá trị của các số nguyên là 1, 2, 3, , n2 sao cho

tổng giá trị của bất kỳ cột, hàng, đường chéo nào đều bằng nhau Để tạo ma phương n

× n cho bất kỳ cho bất kỳ số nguyên lẻ n nào, ta có thể thực hiện như sau:

- Đặt giá trị 1 vào cột giữa của hàng đầu tiên trong bảng

- Sau khi một số nguyên k nào đó được đặt, ta di chuyển lên một hàng và sang phải

một cột để đặt số nguyên k + 1 kế tiếp, trừ khi có một trong các sự kiện sau

o Nếu k được đặt ở hàng trên cùng và cột thứ j thì k + 1 phải được đặt ở hàng cuối

cùng và cột thứ j + 1

o Nếu k được đặt ở cột bên phải nhất và hàng thứ i thì k + 1 phải được đặt ở cột

bên trái nhất và hàng thứ i – 1

o Nếu sự di chuyển đến ô đã được đặt hay nếu k đang được đặt ở gốc trên bên phải

của bảng thì đặt k + 1 ngay bên dưới k trong cùng một cột

Trang 7

Viết chương trình tạo ma phương n × n, trong đó 3 ≤ n ≤ 10 là một trong các số nguyên

lẻ được nhập từ bán phím

Ví dụ:

n = 5

17 24 1 8 15

23 5 7 14 16

4 6 13 20 22

10 12 19 21 3

11 18 25 2 9

5 Cho ma trận a kích thước m × n Viết chương trình xây dựng ma trận b kích thước m ×

n từ ma trận a, sao cho phần tử b[i][j] là số lượng phần tử dương xung quanh a[i][j] trong ma trận a (lưu ý b[i][j] tối đa là 8 và nhỏ nhất là 0)

Ví dụ:

m = 4, n = 3

2 4 -5

6 8 -6

3 -1 3

8 9 -6

3 3 2

4 5 3

4 6 2

2 3 2

6. Cho ma trận kích thước m × n Viết chương trình sắp xếp lại ma trận sao cho dòng có

tổng nhỏ nằm ở trên dòng có tổng lớn hơn

Ví dụ:

m = 4, n = 3

5 6 3

1 -3 4

-7 5 -9

0 3 4

-7 5 -9

1 -3 4

0 3 4

5 6 3

Trang 8

7. Cho ma trận nguyên kích thước m × n Viết chương trình tìm tất cả các điểm yên ngựa

trong ma trận, biết điểm yên ngựa là điểm có giá trị nhỏ nhất trên dòng, nhưng là lớn nhất trên cột

Ví dụ:

m = 3, n = 4

35 42 29 36

25 31 26 42

33 71 20 85

Điểm yên ngựa tìm thấy là 29 (dòng 0, cột 2)

8. Cho ma trận kích thước m × n Viết chương trình sắp xếp lại ma trận tăng theo dòng,

theo cột, theo đường chéo chính và đường chéo phụ

Ví dụ:

m = 3, n = 4

11 12 45 32

79 65 54 32

34 57 65 43

Ma trận sau khi sắp xếp

11 12 32 32

34 43 45 54

57 65 65 79

9. Cho ma trận nguyên m × n Viết chương trình in ra màn hình các giá trị cực đại là phần

tử trung tâm của cửa số 3 × 3 và có giá trị lớn hơn các phần tử còn lại trong cửa sổ

Ví dụ:

m = 3, n = 4

11 12 88 32

79 65 54 45

34 57 92 43

Các phần tử cực đại cần tìm a[0][2] = 88

a[1][0] = 79 a[2][2] = 92

10 Cho ma trận các số nguyên dương m × n Viết chương trình nhập số nguyên dương k <

min(m, n) và in ra tổng lớn nhất của cửa số k × k trong ma trận

Ví dụ:

m = 3, n = 4, k = 2

4 5 3 6

Tong lon nhat: 27 Cua so con la:

Trang 9

8 9 6 0

3 4 8 9

9 6

4 8

F CHUỖI KÝ TỰ

1 Nhập chuỗi từ bán phím Viết chương trình xóa tất cả các khoảng trắng ở đầu và cuối chuỗi, còn các khoảng trắng ở giữa chuỗi liền nhau thì chỉ giữ lại một

Ví dụ: Chuỗi s = “ AA BB CD F ”

Kết quả xuất ra là “AA BB CD F”

2 Viết chương trình nhập vào một chuỗi ký tự In ra màn hình các ký tự trong chuỗi cùng

số lần xuất hiện ký tự đó (kể cả khoảng trắng)

3 Nhập vào một chuỗi gồm các ký tự liền nhau, các ký tự nhập vào bao gồm các ký từ az và AZ

a) Viết chương trình nén chuỗi và in ra kết quả nén chuỗi như ví dụ sau

AABBBCDDDEFFFFF  2A3BC3DE5F

Aabbccccdddefgggg  Aa2b4c3def4g

b) Viết chương trình giải nén chuỗi ngược lại quá trình nén chuỗi trên

2A3DE  AADDDE

A4b5ef  Abbbbeeeeef

4 Nhập vào một chuỗi ký tự

a) Kiểm tra trong chuỗi có k ký tự kề nhau mà như nhau không?

b) Thực hiện phép loại bỏ ký tự kề nhau mà như nhau chỉ giữ lại một

5 Viết chương trình nhập vào một chuỗi ký tự, đưa chuỗi đó về dạng chuẩn theo quy tắc như sau:

- Không có ký tự trống ở đầu và cuối chuỗi

- Không có hai ký tự trống kề nhau

- Không có ký tự trống đứng liền sau dấu chấm (.)

- Ký tự đầu tiên và ký tự sau dấu chấm (.) phải biết hoa

Trang 10

6 Một chuỗi được gọi là đối xứng (palindrome) nếu nó không thay đổi khi thứ tự của các

ký tự được đảo ngược, ví dụ “level”, “madam” Viết chương trình nhập vào một chuỗi, kiểm tra chuỗi đó có phải là chuỗi đối xứng hay không

7 Viết chương trình nhận vào hai chuỗi và cho biết chuỗi thứ nhất có phải là hoán vị các

ký tự của chuỗi thứ hai hay không Ví dụ chuỗi “dear” là một hoán vị của chuỗi “read” hay “dare”

8 Viết chương trình nhập vào một chuỗi ký tự Lập trình giải quyết các vấn đề sau a) Đếm số từ trong xâu (giả sử các từ cách nhau bằng các khoảng trống)

b) Tìm từ dài nhất trong chuỗi

9 Một cụm trong biểu thức toán học là đoạn nằm giữa đoạn hai dấu đóng, mở ngoặc “(“,

“)” Với biểu thức toán học cho trước, hãy tách các cụm của biểu thức đó

Ví dụ: x * (a + 1) * ((b - 2) / (c + 3))

Tách thành các cụm sau:

- (a + 1)

- (b – 2)

- (c + 3)

- ((b - 2) / (c + 3))

10 Viết chương trình nhập vào hai chuỗi cho biết chuỗi thứ nhất có phải là hoán vị các ký

tự chuỗi thứ hai hay không? Ví dụ chuỗi “read” là chuỗi hoán vị của chuỗi “dear” hoặc

“dare”

G CẤU TRÚC

1 Viết chương trình nhập vào danh sách n sinh viên, biết mỗi sinh viên bao gồm các thông tin họ tên, quê quán, năm sinh, giới tính, điểm môn 1, điểm môn 2, điểm môn 3 Yêu cầu tìm sinh viên có điểm trung bình 3 môn là cao nhất, nếu có nhiều sinh viên có cùng điểm trung bình cao nhất thì in ra thông tin tất cả sinh viên đó

2 Nhập hai phân số a và b

a) Kiểm tra xem a và b có phải là hai phân số tối giản hay không? Nếu không, hãy, tối giản hai phân số này

Ngày đăng: 28/09/2022, 11:24

HÌNH ẢNH LIÊN QUAN

- Đặt giá trị 1 vào cột giữa của hàng đầu tiên trong bảng - BÀI tập lập TRÌNH cơ bản
t giá trị 1 vào cột giữa của hàng đầu tiên trong bảng (Trang 6)
4. Một ma phương (magic square) là một bảng có kích thước n× n. Mỗi ô trong bảng chứa các số nguyên khác nhau, và giá trị của các số nguyên là 1, 2, 3, ..., n2 sao cho  t ổng giá trị của bất kỳ cột, hàng, đường chéo nào đều bằng nhau - BÀI tập lập TRÌNH cơ bản
4. Một ma phương (magic square) là một bảng có kích thước n× n. Mỗi ô trong bảng chứa các số nguyên khác nhau, và giá trị của các số nguyên là 1, 2, 3, ..., n2 sao cho t ổng giá trị của bất kỳ cột, hàng, đường chéo nào đều bằng nhau (Trang 6)
9. Cho ma trận nguyên m× n. Viết chương trình in ra màn hình các giá trị cực đại là phần t ử trung tâm của cửa số 3 × 3 và có giá trị lớn hơn các phần tử còn lại trong cửa sổ - BÀI tập lập TRÌNH cơ bản
9. Cho ma trận nguyên m× n. Viết chương trình in ra màn hình các giá trị cực đại là phần t ử trung tâm của cửa số 3 × 3 và có giá trị lớn hơn các phần tử còn lại trong cửa sổ (Trang 8)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w