lab 04 revision

Post on 07-Apr-2018

217 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

8/4/2019 Lab 04 Revision

http://slidepdf.com/reader/full/lab-04-revision 1/3

Bài tập thự c hành số 04

 Để  đượ c đ iể m tuần này, các bạn phải hoàn thành bài 1 và bài 2. Bài 3, 4 không bắ t buộc. N ế u

bạn làm đượ c bài 3, 4 thì sẽ  đượ c đ iể m thưở ng.

Mục đích:

•  Ôn tậ p về các câu lệnh ra nhánh.•  Ôn tậ p về các câu lệnh lặ p.

Bài 1: Giải phươ ng trình trùng phươ ng. Tên chươ ng trình: equation.c 

Bạn hãy viết chươ ng trình giải phươ ng trình sau:

ax4 + bx2 + c = 0 (a ≠ 0).

Dữ liệu vào từ màn hình:•  Dòng đầu ghi số phươ ng trình. •  Các dòng tiế p theo mỗi dòng ghi ba số thực thể hiện ba hệ số phươ ng trình trùng phươ ng. 

K ết quả ra màn hình:

•  Tươ ng ứng vớ i mỗi phươ ng trình thì k ết quả theo định dạng sau:o  Dòng đầu ghi số k là số nghiệm của phươ ng trình.o  Dòng tiế p theo ghi k số thể hiện các nghiệm của phươ ng trình. Các nghi vớ i độ 

chính xác là ba số ở hàng thậ p phân.

Dữ liệu vào K ết quả tươ ng ứ ng2

1 0 0

1 4

1

0.000

3

0.000 -2.000 2.000

Bài 2: Kiểm tra biểu thức ngoặc đúng. Tên chươ ng trình: brackets.c 

Cho một biểu thức ngoặc gồm các ngoặc tròn: (, ). Hãy viết chươ ng kiểm tra tính đúng của biểuthức ngoặc.

Dữ liệu vào từ màn hình:

•  Dòng đầu ghi số N (1 < N < 201) là số kí tự trong biểu thức ngoặc•  Dòng hai ghi N kí tự thể hiện biểu thức ngoặc

K ết quả ra màn hình:

•  Ghi yes trong tr ườ ng hợ  p biểu thức ngoặc là đúng, hoặc no trong tr ườ ng hợ  p ngượ c lại.

8/4/2019 Lab 04 Revision

http://slidepdf.com/reader/full/lab-04-revision 2/3

Dữ liệu vào K ết quả tươ ng ứ ng

4

()()

yes

4

())(

no

Bài 3 (bonus): Tên chươ ng trình: spiral .c 

Cho một ma tr ận kích thướ c M*N, M hàng và N cột. Các số đượ c đánh trên ma tr ận từ trái sang phải và từ trên xuống dướ i, bắt đầu từ 1. Chẳng hạn, ma tr ận kích thướ c 3*4 sẽ là:

1 2 3 4

5 6 7 8

9 10 11 12

Bạn hãy in ma tr ận số đó theo hình xoán ốc bắt đầu từ ô (1,1) theo quy luật như hình dướ i đây.

Dữ liệu vào từ màn hình:

   Nhậ p hai số M và N từ màn hình(M*N < 201).

K ết quả ra màn hình:

  In các số trong các số trong ma tr ận theo hình xoắn ốc.

Dữ liệu vào  K ết quả tươ ng ứ ng 

M = 3

N = 4

1 2 3 4 8 12 11 10 9 5 6 7

8/4/2019 Lab 04 Revision

http://slidepdf.com/reader/full/lab-04-revision 3/3

 

Bài 4 (bonus): Rút gọn dãy số. Tên chươ ng trình: sequence.c 

Cho một dãy số a1, …, an. Chúng ta cần thao tác dãy này sử dụng các phép toán reduce(i), thay phần tử ai và ai+1 bằng max(ai, ai+1). Chi phí của thao tác đó bằng max(ai, a i+1). K ết quả sẽ đượ cmột dãy có độ dài nhỏ hơ n. Thực hiện n-1 thao tác này sẽ đượ c dãy có độ dài bằng 1.

 Nhiệm của bằng là thực hiện n-1 thao tác để rút gọn dãy số về 1 phần tử vớ i tổng chi phí nhỏ nhất.

Dữ liệu vào từ màn hình:

  Dòng đầu chứa số n là số phần tử của dãy số ( 1 ≤ n ≤ 1000)

  n dòng tiế p theo dòng thứ i+1 ghi số ai (0 ≤ ai ≤ 1,000,000,000)

K ết quả ra màn hình:

  Ghi một số duy nhất là tổng chi phí thấ p nhất.

Dữ liệu vào  K ết quả tươ ng ứ ng 

3

1

2

3

5

Chú  ý:

•  Không dùng mảng để nhớ .

•  Khi làm nhớ chứng minh cách làm là đúng!

top related