1. Trang chủ
  2. » Công Nghệ Thông Tin

tổng hợp bài tập C# cơ bản

10 3,6K 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Cơ sở lập trình thực hành 3: Các cấu trúc điều khiển
Người hướng dẫn Giảng viên: Lê Viết Mẫn
Trường học Đại Học Huế
Chuyên ngành Kinh tế
Thể loại Thực hành
Thành phố Huế
Định dạng
Số trang 10
Dung lượng 152,71 KB

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

Nội dung

tổng hợp các bài tập C# cơ bản

Trang 1

ĐẠI HỌC HUẾ

Trường Đại học Kinh tế Khoa Hệ thống thông tin Kinh tế

Cơ sở lập trình Thực hành 3 : Các cấu trúc điều khiển

Giảng viên: Lê Viết Mẫn

Email: lvman@hce.edu.vn

Lệnh điều kiện

Câu 1 Viết lại câu 3 bài thực hành 3 để kiểm tra xem kích cỡ giày có trong khoảng 17-46 hay không Nếu kích cỡ giày nằm ngoài khoảng này thì thông báo “Đây không phải là kích cỡ giày của người Châu Á”

Câu 2 Tiền vé vào cửa ở một viện bảo tàng địa phương được tính như sau : miễn phí cho trẻ

em dưới 5 tuổi, từ 65 tuổi trở lên là $1.50 và những người khác là $2.50 Viết một lệnh if để in

ra entryFee (tiền vào cửa) có kiểu float theo giá trị nhập vào ageOfEntrant (tuổi của người vào cửa) theo kiểu int

Câu 3 Các bản tin dự báo thời tiết thường đề cập tới nhiệt độ trong ngày Với nhiệt độ theo

độ Fahrenheit có công thức tính như sau :

65 − (N hiệt độ cao trong ngày + Nhiệt độ thấp trong ngày)/2

Biểu thức trên là dương thì đó là ngày nhiệt độ nóng, còn nếu là âm thì đó là ngày nhiệt

độ lạnh Viết một lệnh if đưa ra ngày nhiệt độ nóng hay ngày nhiệt độ lạnh Sử dụng các biến nguyên highTemp và lowTemp, các biến thực degDays, heatingDegDays và coolingDegDays Câu 4 Chỉ số lạnh (wind-chill index) dưới -25 là nguy hiểm, dưới -75 là vô cùng nguy hiểm Sửa chương trình tính chỉ số gió lạnh để in ra câu cảnh báo thích hợp

Trang 2

Câu 5 Một chỉ số về thời tiết ấm giống chỉ số gió lạnh là chỉ số khó chịu (discomfort index) cũng được gọi là chỉ số nhiệt độ - độ ẩm, được định nghĩa bằng :

discomf ortIndex = 0.4(dryT emp + wetT emp) + 15

Trong đó, dryTemp - “Nhiệt độ khô trên nhiệt kế” là nhiệt độ thông thường đo theo độ Fahrenheit và wetTemp - “Nhiệt độ ẩm trên nhiệt kế” là nhiệt độ theo độ Fahrenheit mà không khí có thể làm mát bằng cách làm bay hơi nước trong một áp suất không đổi Chỉ số lớn hơn

85 là rất khó chịu Viết một chương trình C# tính toán và in ra chỉ số khó chịu với các biến dryTemp và wetTemp nhập từ bàn phím và in ra một câu cho biết thời tiết có dễ chịu hay không Chương trình khi chạy sẽ có dạng như sau :

DISCOMFORT INDEX DETERMINATION

The dry-bulb temperature today is : 76

The wet-bulb temperature today is : 65

The discomfort index today is 71.4, a pleasant day

DISCOMFORT INDEX DETERMINATION

The dry-bulb temperature today is : 106

The wet-bulb temperature today is : 90

The discomfort index today is 93.4, very uncomfortable

Câu 6 Chỉ số độ ẩm H được định nghĩa :

H = T + h trong đó T là nhiệt độ hiện tại đo bằng ◦F và h là số độ ẩm được định nghĩa

h = e − 10

trong đó e là áp suất hơi nước theo millibar (1013.25 millibar = 760 millimet thủy ngân) Vùng khó chịu của độ ẩm là :

85 Mức độ khó chịu trung bình

100 Khó chịu với mọi người

115 Tất cả mọi hoạt động nên được hạn chế

Trang 3

Viết một chương trình C# để tính và in ra độ ẩm, với việc nhập vào nhiệt độ và áp suất hơi nước Cũng in thêm một thông báo cho biết mức độ khó chịu

Câu 7 Sau đây là những quy định đối với thành viên quốc hội của Mỹ, được trích dẫn từ mục I trong hiến pháp Mỹ :

Người được chọn vào Hạ Nghị Viện phải là một người ít nhất 25 tuổi, có 7 năm là công dân

Mỹ và không phải là dân di cư đến bang họ được chọn ( eligibleForHouse : đủ tư cách vào

hạ nghị viện)

Thượng nghị sĩ Mỹ phải là người ít nhất 30 tuổi, có 9 năm là công dân Mỹ và không phải dân di cư tới bang họ được chọn ( eligileForSenate : đủ tư cách làm thượng nghị sĩ)

Với age là tuổi của người ứng cử và lengthOfCitizenShip là số năm là công dân Mỹ

Sử dụng biến nguyên age và lengthOfCitizenShip, viết các biểu thức để tính các giá trị đúng cho các biến eligibleForHouse và eligibleForSenate Sử dụng chúng viết một chương trình C# kiểm tra tiêu chuẩn ứng cử vào quốc hội (bỏ qua điều kiện về bang cư trú) khi chạy chương trình sẽ cho kết quả đầu ra dạng như sau :

CONGRESS ELIGIBILITY

Enter age of candidate : 37

Enter years of U.S citizenship : 3

The candidate is not eligible for election to either the House of Representative

or the Senate

CONGRESS ELIGIBILITY

Enter age of candidate : 47

Enter years of U.S citizenship : 8

The candidate is eligible for election to the House of Representative but not eligible for election to the Senate

CONGRESS ELIGIBILITY

Enter age of candidate : 35

Enter years of U.S citizenship : 25

The candidate is eligible for election to both the House of Representative and the Senate

Trang 4

Câu 8 Trung tâm kiểm soát bệnh tật ở Atlanta, thuộc bang Georgia, xác định độ béo phì (obese) của một người thông qua chỉ số khối lượng cơ thể (body mas index) của người đó Chỉ

số này bằng trọng lượng (kg) chia cho bình phương chiều cao (m) Đối với một người đàn ông

có chỉ số là 27.8 hay hơn thì đã bị coi là béo Còn với một người phụ nữ không có thai thì giới hạn là 27.3 Viết chương trình đọc vào thông tin của một người theo : sex (giới tính), height (chiều cao), weight (cân nặng), tính ra chỉ số bodyMassIndex và đưa ra thông báo về mức độ béo

Dựa trên chỉ số trên hãy thông báo nguy cơ bị đau tim Nếu bodyMassIndex nhỏ hơn 25 là nguy cơ bị đau tim thấp, từ 25 đến dưới 30 là nguy cơ bị đau tim trung bình và lớn hơn 30 là nguy cơ bị đau tim cao

Chú ý : trong chương trình khi nhập vào theo inch và pound nên cần đổi về mét và kilogram (1 mét = 39.37 inch, 1 kg = 2.20 pound) Chương trình khi thực hiện sẽ cho kết quả đầu ra có dạng như sau :

OBESITY CALCULATION

Enter your sex (0 for male, 1 for female) : 0

Enter the height in inches : 68

Enter the weight in pounds : 154

Your body-mass-index 24.1851, you are not obese

Your risk of heart disease is very low to low

Lệnh lựa chọn

Câu 1 Viết một chương trình đọc vào một số nguyên n ≥ 0 và viết n thành số thứ tự với hậu

tố là : “th”, “st”, “sd” hay “nd” Chương trình khi chạy cho kết quả đầu ra có dạng :

Enter an integer >= 0 : 3

The ordinal form is 3rd

Câu 2 Giá bưu phẩm được tính theo quy tắc sau (với 1 ounce = 28,35 g) :

Loại một, trong nước : $0.32 cho ounce đầu tiên, $0.23 cho mỗi ounce sau

Loại thư gửi nước ngoài : $0.50 cho một nửa ounce

Bưu thiếp trong nước : $0.20

Gửi sách : $1.24 cho pound đầu tiên, 2-7 pounds $0.50 cho mỗi pound thêm, $0.31 cho mỗi pound thêm từ pound thứ 7 trở đi

Viết một câu lệnh switch để tính giá bưu phẩm khi gửi một món hàng với trọng lượng tính theo ounce (16 ounces = 1 pound) và các loại ở trong biến kiểu liệt kê postalClass

Trang 5

Câu 3 Có các kiểu ngộ độc sau : thuốc cảm, rượu, thuốc lá, cờlo, thuốc diệt chuột, axit mạnh, kiềm mạnh, strychnine, xăng dầu Ngoại trừ ngộ độc vì trong axit mạnh, kiềm mạnh, strychinine và xăng dầu, để giải độc nói chung, cần phải cho uống một lượng lớn những thứ gây nôn mửa và các loại thuốc giải độc phổ biến Ngộ độc bởi axit mạnh, cho uống nước và sau

đó là thuốc muối magie-cacbonat hoặc natri cacbonat hòa tan; không được gây nôn Ngộ độc bởi kiềm mạnh, cho uống nước và sau đó là dấm hay nước chanh; không được gây nôn Nếu ngộ độc strychinine hay xăng dầu, không được gây nôn, gọi bác sĩ ngay lập tức ! Viết một câu lệnh switch sử dụng kiểu liệt kê poisonType (kiểu độc tố) để in ra cách điều trị thích hợp với từng loại ngộ độc

Câu 4 Nhà toán học nổi tiếng Carl Friedrich Gauss đề ra một cách tính ngày lễ phục sinh theo lịch hiện hành (lịch Gergorian) của năm N (nhỏ hơn hoặc bằng 1999) Định nghĩa :

M = 15 + C − f loor(C/4) − f loor(8C + 13)/25 và

L = 4 + C − f loor(C/4) trong đó C là chỉ số thế kỷ của năm N hay :

C = f loor(N/100)

Chia N cho 4, 7 và 19 được lần lượt các số dư a, b, c Chia 19C + M cho 30 được số dư d Chia 2a + 4b + 6d + L cho 7 được số dư e Sau đó ta có ngày lễ phục sinh là ngày (22 + d + e) của tháng 3 nếu d + e ≤ 9 nếu không ngày lễ phục sinh là ngày (d + e − 9) của tháng 4 Với các ngoại lệ :

1 d = 29 và e = 16 Ngày lễ phục sinh diễn ra sớm hơn một tuần vào ngày 19/04

2 d = 28 và e = 6 và m = 2, 5, 10, 13, 16, 21, 24, hay 29 Ngày lễ phục sinh được diễn ra sớm hơn một tuần vào ngày 18/04

Viết một chương trình tính ngày lễ phục sinh Khi chạy chương trình cho kết quả như sau : CALCULATION OF THE DATE OF EASTER

Enter the year : 1986

The date of Easter is March 30

CALCULATION OF THE DATE OF EASTER

Trang 6

Enter the year : 1985

The date of Easter is April 7

Câu 5 Viết một chương trình tính ngày sau ngày đã nhập Chương trình cần phải tính toán

các năm nhuận Chương trình cần kiểm tra tính hợp lệ của ngày nhập vào Chương trình khi

thực hiện cho kết quả như sau :

TOMORROW’S DATE

Enter the day for today’s date : 22

Enter the month for today’s date : 10

Enter the year for today’s date : 1986

Tomorrow’s date is 23/10/1986

TOMORROW’S DATE

Enter the day for today’s date : 31

Enter the month for today’s date : 12

Enter the year for today’s date : 1886

Tomorrow’s date is 1/1/1887

Câu 6 Một dược phẩm cho trẻ em được quy định : ở dạng nước chứa 1.23 gren (1 gren =

0.0648 gam) một ống, dạng xiro chứa 2.46 gren một thìa cà phê và ở dạng viên thuốc nhai

chứa 1.23 gren một viên Liều lượng qui định là 0.0931 gren một pound đối với trẻ nặng 7-110

pound Nếu dạng ống, cho uống mỗi lần nữa ống nhưng không được vượt quá 3 ống đầy Nếu

dạng xiro, mỗi lần từ một phần tư thìa cà phê tới một thìa hoặc từng nữa thìa một nếu uống

nhiều hơn một thìa Thuốc viên không được bẻ vỡ và không dùng cho trẻ dưới 27 pounds Liều

lượng thuốc cho phép được dao động quanh giá trị quy định gần nhất (ví dụ : quy định 0.65

thìa xiro thì có thể được tới 0.75) Viết một chương trình đọc vào cân nặng đứa trẻ theo pound

và in ra liều lượng đúng của dược phẩm (thuốc nước : drop, xiro : syrup, thuốc viên : tablet)

Sau đây là kết quả thực hiện chương trình :

DOSAGE CALCULATOR

Enter the child’s weight in pounds : 38

Recommended dosage is 3.0 droppers of drops or 1.5 teaspoons of syrup or 3 tablets

Trang 7

Câu lệnh lặp - for

Câu 1 Viết chương trình in ra nhiệt độ Fahrenheit tương ứng với các nhiệt độ từ -10 ◦C đến

10 ◦C Chú ý : xem lại câu 1 bài thực hành 3

Câu 2 Viết chương trình in lịch theo tháng, năm và kiểu lịch như sau :

October, 1948

Sun Mon Tue Wed Thu Fri Sat

31

Các giá trị cần phải biết để có thể in lịch :

1 Tính số ngày từ 01/01 của năm in lịch đến ngày 01 tháng cần in lịch (gọi số ngày này là dayNumber)

2 Tính số ngày tuyệt đối (absoluteDay) - là số ngày từ ngày đầu tiên sau công nguyên đến ngày 01 tháng năm cần in lịch, theo công thức sau :

absoluteDay = dayN umber+365∗(year−1)+(year−1)/4−(year−1)/100+(year−1)/400

3 Tính thứ của ngày đầu tiên trong tháng dựa vào số ngày tuyệt đối (chia cho 7 lấy phần dư) và ngày của thứ bảy đầu tiên trong tháng

4 Tính số ngày trong tháng (lastDay = 28, 29, 30 hay 31)

Câu 3 Viết chương trình tính giá trị P n

i=1

√ i

Câu 4 Một trường đại học nổi tiếng thường gửi các hóa đơn thanh toán cho các khoa vào ngày 21 hàng tháng Nếu ngày 21 rơi vào thứ bảy hoặc chủ nhật thì hóa đơn được gửi vào ngày thứ 6 trước đó Viết một chương trình in ra danh sách các thứ và ngày hóa đơn gửi của các tháng trong năm được nhập vào

Chú ý : cần xác định xem ngày 21 mỗi tháng là thứ mấy (xem lại câu 2 ở trên)

Câu 5 Dãy số Fibonacci : 0, 1, 1, 2, 3, 5, 8, được xác định theo quy luật là số sau bằng tổng của hai số đứng trước Viết một chương trình in ra 20 số Fibonacci đầu tiên (sử dụng

Trang 8

Câu 6 Viết một chương trình đọc vào 1 năm, xác định tháng nào sẽ có thứ sáu vào ngày 13 Kết quả ra có dạng :

OCCURRENCES OF FRIDAY THE 13TH

Enter a year : 1903

Friday the 13th occurs in February March November

OCCURRENCES OF FRIDAY THE 13TH

Enter a year : 1975

Friday the 13th occurs in June

Câu 7 Viết chương trình in các thứ trong tuần và số lần ngày sinh nhật của một người trùng với thứ đó tính từ năm 2000 đến 2999

Câu 8 Viết chương trình in ra tổng các chữ số của mỗi số nguyên từ 150 đến 180 Kết quả

có dạng

SUM OF DIGITS

number sum

Câu 9 Viết chương trình liệt kê tất cả các số nhỏ hơn 3000 thỏa mãn điều kiện : số đó bằng tổng lập phương các chữ số của nó Ví dụ : 153 = 13+ 53+ 33

Câu lệnh lặp - while

Câu 1 Bài toán cổ về bà già và rổ trứng : Một kỵ sĩ va phải một bà già đang trên đường

ra chợ làm vỡ toàn bộ số trứng trong rổ Anh ta muốn đền rổ trứng nhưng bà già không biết chính xác mình có bao nhiêu trứng Bà già chỉ biết nếu bỏ trứng vào rổ 2 quả một thì lẻ 1 quả, tương tự nếu bỏ 3 quả một, 4 quả một, 5 quả một và 6 quả một thì đều lẻ 1 quả còn nếu bỏ 7 quả một thì vừa chẵn Hỏi bà già có thể mang ít nhất bao nhiêu quả trứng Lập trình giải bài toán trên

Câu 2 Viết chương trình reverseDigits đọc vào một số nguyên và in ra một số là số nguyên ban đầu với các chữ số bị đảo ngược thứ tự Kết quả ra có dạng :

DIGIT REVERSAL

Trang 9

Enter a positive integer : 12345

The integer with digits reversed is : 54321

Chương trình phải bỏ qua các chữ số 0 ở đầu nếu có Ví dụ : đọc vào 12000 thì in ra 21

Câu 3 Một số mà bằng với số đảo ngược của số đó thì được gọi là palindrome Ví dụ 121 là

số palindrome còn 41 thì không Sử dụng câu 2 ở trên để viết chương trình cho phép nhập vào một số và thông báo số đó có phải là số palindrome hay không

Câu 4 Xét quá trình sau : bắt đầu từ một số nguyên dương không phải là số palindrome, giả sử số 48 Lấy 48 + 84 = 132 Vì 132 không phải số palindrome nên ta lấy 132 + 231 = 363

là số palindrome và dừng lại Viết chương trình đọc vào một số nguyên và áp dụng quá trình trên cho đến khi tìm được số palindrome Chú ý điều kiện dừng của vòng lặp trước khi một số nguyên vượt quá giới hạn kiểu int trong máy tính Ví dụ nếu bắt đầu bằng 89 thì với các số nguyên 32-bit không thể tìm được số palindrome

Câu 5 Xét một quá trình áp dụng cho một số nguyên dương : Nếu số đó là lẻ thì nhân lên 3 rồi cộng 1 Nếu số đó là chẵn thì chia nó cho 2 Quá trình này lặp đến khi số nguyên còn lại là

1 Ví dụ : với số 34, ta phải tiến hành 13 bước và có kết quả là 34, 17, 52, 26, 13, 40, 20, 10, 5,

16, 8, 4, 2, 1

Viết chương trình áp dụng quá trình trên cho các số nguyên từ 1 đến 1000 Sau đó, đưa ra

số bước lớn nhất cần cho quá trình, số trung gian lớn nhất được tạo ra

Tổng hợp

Câu 1 Bài toán thị trường chứng khoán : đọc vào giá trị của cổ phiếu cho các ngày liên tiếp nhau và tìm ra 2 ngày tốt nhất để bán và mua cổ phiếu sao cho thu lợi cao nhất Kết quả ra

có dạng :

STOCK MARKET PROBLEM

Enter value of stock on day 1 : $ 17

Enter value of stock on day 1 : $ 18

Enter value of stock on day 1 : $ 16

Enter value of stock on day 1 : $ 17

Enter value of stock on day 1 : $ 21

Enter value of stock on day 1 : $ 19

Enter value of stock on day 1 : $ 20

Enter value of stock on day 1 : $ ^D

Trang 10

Câu 2 Một bảng khấu hao vốn biểu diễn lịch trả tiền lãi hàng tháng cho một khoản vay Ta

có công thức tính phần lãi tháng :

L˜ai = Số dư x L˜aisuất

12

và phần được áp dụng cho vốn gốc là

V ốn gốc = Nợ đã trả - Lãi

và số dư sẽ là

Số dư còn lại = Số dư - Vốn gốc

Ví dụ : Với lãi suất 5.5% của khoản vay $20178.45 và số tiền thực trả hàng tháng là $187.35, chương trình cần ra kết quả như sau :

Enter amount of loan : $ 20178.45

Enter interest rate : 0.055

Enter monthly payment : $ 187.35

Schedule of direct reduction loan

Loan : $ 20178.45

Rate : 5.5%

Monthly Payment : $ 187.35

Payment Interest Principal Balance

20178.45

Chúc các bạn thực hành tốt !

Ngày đăng: 16/10/2013, 10:56

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w