Đăng ký Đăng nhập

Tài liệu Bài tập tin học đại cương

.PDF
145
22
134

Mô tả:

TÔ VĂN NAM B ài tập TIN HQC BẠICưONG TMM PASCAL (Túi hàn lần thứ nhất) NHÀ X U Ấ T BẢN GIÁO DỤC Chương 1. THUẬT TOÁN 1. Một sô bài tập có lời giải 1.1. Dùng sơ đổ khối mô tá thuật toán cho phép tính giá trị của các biếu thức sau : A = x" + y B= X + y+ A c = xy + A - B2 Lời g iả i : Sơ đ ồ khôi có dạng như hình 1.1. 1.2. Võ sơ đổ khỏi mô tả thuật toán cho phép tính giá trị lớn nhất cứa ba số a, h, c. Lời g iả i : Bài toán có hai lời giải. Sơ đồ khói có dạng như hình 1.2 và hình 1.3. Bat dau n z Doc x,y >f A = x 2+y 2 > B = x+y+A >t c = xy + A -B 2 > In A, B, c Ket thuc Hình 1 .1 Hình 1.2 3 Dung max = c _____^ _______ U ^ lm ax ĩ / Ket Ihuc Hình 1.3 1.3. Vẽ sơ đồ khối mò tả thuật toán cho phép tìm giá trị lớn nhất của một dãy số. Lời g iả i : Sơ đồ khối có dạng như hình 1.4. rmax = ĩ i = i +1 Hình 1.4 XI 1.4. Trình bày thuật toán tìm mượn một quyển sách ở thư viện KHOA HỌC, biết tên tác giả, nhớ không chính xác tên sách. L ờ i g iả i : Thuật toán có thê diễn đạt bằng ngôn ngữ mỏ phỏng như sau : Bước ỉ : Đến thư viện Khoa học, tìm đến tú phân loại sách theo tên tác giả. Theo cách xếp thứ tự của từ điển, tìm hộp phích có chữ cái trùng với chữ đầu tên tác giả. Bước 2 : Rút hộp phích này. theo thứ tự từ điển tìm tên tác giả. Bước 3 : Nếu không tìm thấy tên tác giả thì chuyển sang bước 10. Bước 4 : Theo thứ tự từ điển, tìm tên các sách của tác giả này. Bước 5 : Nếu không tìm thấy sách thì chuyển sang bước 10. Bước 6 : Ghi lại tên sách, tên tác giả, mã sách vào phiếu mượn. Rước 7 : Đưa cho nhân viên thư viện, chờ trả lời. Bước 8 : Nếu trả lời không còn thì chuyển sang bước 10. Bước 9 : Cầm sách về sử dụng. Bước 10 : Kết thúc. 1.5. Tìm tất cả tổ hợp chập M của N phần tử. Lời g iải : Bước I : Đọc N và M vào. Bước 2 : Gán C| = i với i = 1 ,2 , , M. Bước 3 : Đưa ra dãy C | , c 2 , . . . , CM. Bước 4 : Với i = M , M - 1, , 1 tìm i sao cho Cj * N - M + i. Nếu tìm được i thì sang bước 5, khòng thì sang bước 7. Bước 5 : Gán Cj = C| + 1, Cj = Cj_| + 1 với j = i + 1 , i + 2 , , M. Bước ố : Quay về bước 3. Bước 7 : Kết thúc. 5 1.6. Nêu thuật toán dưới dạng sơ dồ khói tính căn bậc hai một sỏ dương A với sai số nhỏ hơn e theo công thức lặp sau đâv : x n+l = ( X n + A / X n ) với X 0 = 1 Lời g iải : Bước I : Nhập dãy A và 8 Bước 2 : Gán Xm = 1 Bước 3 : Xe = Xm Bước 4 : Xm = (Xc + A/Xc)/2 Bước 5 : Nếu IXc - Xml < £ thì chuyển tới bước 6 không thì quav vồ bước 3 Bước ổ : Kết thúc. 1.7. Cho dãy số X| , x 2 ........... X n. Trình bày thuật toán sắp xếp lại dãy này theo thứ tự tãng dần. Lời g i ả i : Bước I : Nhập dãy X | , x 2 ..........X n. Bước 2 : Gán i = 1 Bước 3 : Gán j = i + 1 Bước 4 : Kiểm tra Xj < Xj. Nếu đúng thì sang bước 5, nếu không thi sang bước 6. Bước 5 : Đổi chỗ Xị và Xj. Bước 6 : Gán j = j + 1. Bước 7 : Lặp lại từ bước 4 cho đến khi j >N. Bước 8 : Gán i = i + 1 Bước 9 : Lặp lại từ bước 3 cho đến khi i = N. Bước 10 : Kết thúc. 1.8. Trình bày thuật toán dưới dạng sơ đổ khối tìm trung bình cộng của N' + I giá trị X, nàm trên đoạn [A, B l , (X 0 = A . X N = B). 6 1 9. I lù\ mó la thuật toán xoá phần tứ thứ 11 trong một máng sỏ nguyên. Lời : T h u ậ t to á n n h ư sau : liiíớc / . Nhập dãv số nguyên từ bàn phím. Hước 2 : Nhập vị trí muôn xoá từ bàn phím (vtri). Hước .1 : Vòng lặp từ vtri tăng tới spt - 1, trong dó đặt phấn tứ đứng trước bằng phần tử dứng sau x[i] := x [i+ l]. ỈÌKỚC 4 Giám sô phần tử di 1. spt := spt-1 ; Hước 5 Kết ihúc. 1.10 llãy mõ ta thuật toán chèn thêm một sô vào vị trí thứ 11 trong một màng sò Iiuuyõn. Lời g iải : T h u ậ t to á n nh ư sau : liước / . Nhập dãy sỏ nguyên từ bàn phím li ước 2 . Nhập vị trí muôn chèn từ bàn phím (vtri) Hước J : Vòim lặp i từ spt + I giám xuống vtri +1. trong đó đặt phần tử đứng sau bằng phần tử dứng trước x[i]:= xỊi-1]. íiước 4 : Gán phần tứ tại vị trí muốn chèn bàng sô muốn chèn x[vtri]:= so. Hước 5 : Tăng sò phần tứ lên 1. spl:= spt+1 ; Hước 6 Kết thúc. 1.11 Cho một mảng số thực ; sau dó nhập vào một sô và tìm xem sỏ ấy có 11'oni! máng hay không. Lời giai : T h u ậ t to á n n h ư sau : Bước I : Nhập dãy sò thực a \'à so từ bàn phún Bước 2 : i :=1 : Biiớc 3 : Ncu a[i] < > so và ị < = spt thì i:= i+l lỉirức 4 . Nếu i<= spt thì in a[i] (a[iỊ có giá trị bàng so) [ìước 5 Nếu i = spt +1 thì so không có trong máng 'Mfớc 6 : Kòt thúc. 7 2. Bài tập đề nghị é 2.1. Hãy mô tả giải thuật cho phép tính tống của một dãy bao gồm n số thực. 2.2. Cho trước một dãy sô nguyên, loại bó những giá trị trùng nhau (chi giữ lại một) mà vẫn giữ nguyên thứ tự. V í dụ : Giá sử ta có dãy : 18 15 14 14 23 14 12 12 11 32 11 141 1 12 32 Sau khi loại bỏ ta có : 18 15 14 23 «2.3. Cho dãy n số thực. Hãy trình bày các giải thuật: - Xoá các sô nhỏ hơn 10. - Xoá các số nằm trong đoạn [10, 20]. 2.4. Cho một dãy sô thực. Hãy mó tả các giái thuật: - Sắp xếp các số âm lên đầu dãv, sau đó là các sỏ còn lại. — sắp xếp các số 0 lên đầu dãy, sau đó ỉà các số âm, còn lại là các sô ^ dương. Ì5. Cho một dãy số nguyên. Hãy trình bày các giải thuật: - Sắp xếp các số lẻ lên đầu dãy, sau đó là các số chẩn. - Sắp xếp các số lớn nhất lên đầu dãv, sau đó là các số nhó nhất, cuối cùng là các sô còn lại. 2.6. Cho một dãy số thực. Hãy trình bày giải thuật cho phép : - Tim phần tử đầu tiên đạt giá trị lớn nhất. - Tun phần tử cuối cùng đạt giá trị lớn nhất. - Đếm xem có bao nhiêu phần tứ đạt giá trị lớn nhài. 2.7. Cho một dãy sỏ nguyên : hãy mô tâfgiái thuầt cho phép : - Xoá đi các phần từ đạt giá trị lớn nhất. - Xoá đi các phần tứ đạt giá trị nhỏ nhất. 8 C h ư ơ n g 2. CÁC THÀNH PHẨN cơ BẢN CỦA PASCAL 1. Tóm tắt lý thuyết 1.1. Các ký hiệu cơ bản TURBO PASCAL có bộ chữ cái riêng và được chia làm 2 nhóm như sau : * Các ký lự chữ và số : * 26 chữ cái a, b, c,..., z( 1) * 10 chữ sô thập phân 0. 1, 2,..., 9 * Các ký tự đặc biệt : * Ký tư tròng * Dấu bàng = * Dấu cộng và dấu trừ +, * Dấu nhân và dấu chia *, / * Dâu lớn hơn và dấu nhó hưn >. < * Dâu lớn hơn hay bằng và dấu nhò hơn hay bàng >= , < = * Dấu đó la s * Đây là lập hợp các ký tự hợp lệ được dùng đế viết các chương trình ; không được dùng các ký hiệu khác ngoài các ký hiệu nói trên chẳng hạn như : ỡ, X. co, Vị/, p, a , (f). 7t,... 1.2. Các từkhoá Các từ khoá là một bộ phận khổng thê tách rời của TU RBO PASCAL dược dinh nghĩa trước với V nghĩa xác định và kliònc thê dịnh nghĩa l ạ i ; người lập trình không được phép đặt lên mới trùng với các từ khoá ; sau dây là một sò lừ khoá : begin, program, end, ... ( I ) T U R B O PASC AL không phán biệt chữ hoa và chữ thường 9 1.3. Tên Tên theo định nghĩa là một dãy ký tự dùng đò chi tên biến, lẽn liúiiiĩ. tôn kiêu dử liệu, tên chương trình con., tên bát đàu hung chữ cái, sau đó có the là chữ cái, chữ số. dâu gạch nổi ; khóiiỊ’ íhotc clítiiụ nít kỷ tự (túc bici nhưilấn irốniỊ, (Iũii " : (lún cliút thin "I".... dê íỉặt tcn. 1.4. Các kiêu chuẩn Một kiêu dữ liệu là một lập hợp các uiá trị mà một hién kiêu đó có thô nhận ; mỗi biến tronu chương trình đều phái két hơp với một và chi một kiêu dữ liệu. 1.4.1. Kieu integer Kicu integer còn gọi là kiêu nguyên. Trong TURBO PASCAL, một biến kiêu integcr có thê lấy các giá trị nguyên năm trong đoan [-3 2 7 6 8 , 32767]. Mỗi giá trị inleger chiếm 2 byte bộ nhớ. Vì kiểu integer chi biểu diễn được các số nguyên khá bé nõn từ TURBO PASCAL 4.0 trở đi, người ta định nghĩa thèm các kiêu nguvòn khác : shortlnt 1 bvte [-128,127] longlnl 4 bytc 1-2 147 483 648. 2 147 483 6471 Word 2 byte |0. 65535] Byte 1 bvte [0. 255] 1.4.2.1)ữ liệu kiéu real Một biến kiêu real có thè lây các giá trị nằm tron tỉ khoáng [2.9 1.7 x i o X 10 ], một giá trị kiêu real chiếm 6 byte bộ nhớ. 1.4.3. Kiéii boolcan Một giá trị kiêu boolcan chi có thê là một tron SI hai giá trị T R I 1 vi FALSE. các giá trị này dược xếp thứ tự như sau TRUE > FALSE. Mộ giá trị kiêu boolean chiếm 1 bvte bộ nhớ. 10 1.4.4. Kiến ehar Kiêu (. Iiíic còII gọi là kiếu kv tự bao gồm 256 ký tự trong bán mã ASCII. Một kv lự được viết trong hai dấu Iiháv d(tn : ví dụ : T . 'a'. H'..... Một ti ĩá trị KI cu cliar chiếm 1 bvlc hộ nhớ. 128 ký tự dầu tiên (có mã ASCII lừ 0 dến 127) gọi là ký tự chuán. 128 ký tự còn lại. dược sứ dụng dô mã hoá các ký tự riêng của từng ngôn ngữ, gọi là các kv tự I11Ớ rộng. 1.5. Biêu thức Biếu thức hao gồm các toán hạng (biến, hằng, lời gọi hàm) kết hợp với nhau bằng các toán từ để biêu diễn một công thức nào dó. Các phép tính trong C7 một biếu thức được . thực . . hiện theo thứ tư ưu tiên như sau : - Phép tính một ngôi (đáo dâu, phú định). - Các phép tính thuộc lớp nhân. - Các phép tính Ihuộc lớp cộna. - Các phép tính quan hệ. 1.6. Cấu trúc cùa một chương trình pascal Cấu trúc của một chương trình Pascal bao gồm 3 phần : 1.6.1. Phán tiêu đề cúa chương trình Phần này có dạng : Program ten_chuong_trinh ; 1.6.2. Phần khai báo Phần này bao gồm nhiều mục, mỏ tả các đòi tượng được dùng trong chương trình : * - Khai báo đưn vị chương trình (U n its): uses danh sách các u nit; - Khai báo hằng : const tên hằng = giá trị; - Khai báo kiêu : type tên_kiểu = kiểu; - Khai báo biến : Var Danh_sách_các_biến:kiểu; - Khai báo các chương trình con. 1.6.3. Phán thân chương trình Đế minh hoạ chúng ta xét một thí dụ đơn giản sau : Program tinh_dt; const pi = 3.14; var s,r : real; Begin r :=5; s := pi* r* r; End. 2. Bài tập đề nghị 2.1. Hãv đặt 10 tên hợp lệ trong TU RBO PASCAL. 2.2. Các giá trị sau đây thuộc kiêu chuẩn nào ? a) 1/4 b) 6/3 c) 2002 d) 100.00C e) sqrt(34) f) sqrt(36) g) sqrt(25.0) h) 5 > 2.3. Viết các số sau đây ra dạng thòng thường : 3.4E+2 - 4 .2 E - 1 5 2.4. Các tên sau đây tên nào hợp lệ trong môi trường TURBO PASCAL : 12 a) tinh dien tich b) Tinh_dien_tich c) bcd d) 12a4h e) k40 0 k 46 g) fl.txt h) 12th 8. 2.5. Viết các khai báo cho các yêu cầu sau : a) x,y là các biến thực. b) biến k sẽ nhận các giá trị trong khoảng (0. 255]. c) z, t là các biến nguvên trong khoáng [-32768, + 32767]. d) k. j. i là các biến có thế nhận các giá trị nguyên trong khoảng [0. 65535]. e) ch là biến có thê nhận các ký tự. 2.6. Viết các hiếu thức sau theo ngôn ngữ PASCAL. X+ y a) ± Z L X- 4 b) X6 + 5 x 5 - 2x4 + 6 x 3 + 4x _ b" + 4ac t) ■ T 7 ......... 2a g) 2cosx + 3siny c) ex + 5y h) Ix + vl + l o g ^ d) (1 + y4)x 1) ln(v + 1) - sinx e) X3 + cos(x2 + 2) m) xy + 1 2.7 Viết các biểu thức quan hệ sau bằng ngôn ngữ PASCAL a) a < X < b b) b' - 4ac < 0 c) i > 1 0 hoặc i < 5 d )D = 0 v à D | * 0 hoặc D3 * 0 e) - 1 2 < t < 7 f) a = 0 và b * 0. 2.8 Chuyển các biểu thức viết trong PASCAL sau đây (hành biếu thức toán học thông thường a) sqr(b) - 4 *a *c b) (a + b)/2/a c) (a*a + b*b)/2*x d) (x + y)/(2*a) Chương 3. CÁC LỆNH CỦA PASCAL 1. Lệnh gán, thủ tục vào ra dữ liệu 1.1. Tính và đưa ra màn hình , 3 , • . giá trị của biểu thức A sau đâv : A = (x + s i n ( b ) - e 0.19238 w , ~ , b, )/(5 + e + c <0.20345 + 0 , ) Trong đó : X = - 1 , 5 172 b = 2X + X3 - 31.769 c = Log 7 (X4 + 5X) + Ln (X2 + 5b). Hướng dan : - Trong PASCAL để tính luỹ thừa f = ab (a > 0) ta viết: f = exp (b * ln(a)) - Hàm mẫu ln(x) cho ta lnx, vì vậy khi gặp logarit cơ số khác e ta ph. biến đổi theo còng thức : Log a X = In (x)/ln(a). Lời g iải : C h ư ơ n g t r ìn h n h ư sau : Program bll; Const X = - 1 .5172; var a,b,c: real; begin b:= exp(x*In(2))+abs(x)/x*exp(5*ln(x))—31.769; c:= (ln (sqr (sqr (x) )+exp(x*ln(5)))/ln (7)+ln (x*x exp(h/ l n (5))) a := (x* sqr(x)+sin(b)- exp (0 .19238))/(5+exp(b) + abs (c) /c* exp ((0.20345-»-x): *rln(c) ); writeln(1a = 1/a ); writeln(1b = 1,b) ; writeln ('c = ',c ); readln; end. 14 1.2. V1êt chương trình nhập họ và tôn. bậc lưưng, ngàv công trong tháng, phụ láp, hệ sỏ trách nhiệm, tạm ứng. In ra màn hình họ tên, tiền lương và lien còn được lĩnh ; biết răng cóng thức tính toán như sau : Tiồn lương = Bậc lưưng/30*Ngày công*Hệ số trách nhiệm + Phụ cấp Tién còn được lĩnh = Tiền lương - Tạm ứng. Lời g iả i : C h ư ơ n g tr ìn h nh ư sau : Program Tinh_luong; Var Ten: String; nc ,pc,tam:Integer; bl,hs,tt,cl:Real; Beg:n Uriteln('CHUONG TRINH TINH LUONG'); Wr:teln ('----------------------- '); Write(’-Cho biet ho ten:1); Readln(ten); Write('-Cho biet bac luong:’); Readln(bl); Write('-Cho biet ngay cong:1); Readln(nc); Write('~Cho biet he so trach nhiem:1); Readln(hs); Write(*-Cho biet phu cap khu vuc =*); Readln(pc); Write('-Cho biet so tien da tam ung ky 1 =*); Readln (tam); tt:= ((bl/SO^nc^hs) +pc); cl:= tt - tam; w r ite 1n ; Writeln(*+ Ong (Ba): *,ten:24); Writeln('+Tien luong trong thang = 1,tt:10:2, ’dong'); Writeln(f+So tien con linh = ',01:10:2,1 dong1); Writeln(' Bam phim de ket thuc'); Readln; Enc. 1.3. Viết chương trình nhập vào chu vi của một hình chữ nhật, sau đó tính áện tích lớn nhất mà hình chữ nhật đó có thể có được ; biết rằng trong á c hình chữ nhật có chu vi bằng nhau thì hình vuông có diện tích lơn nhất. 15 Lời g iả i : C h ư ơ n g t r ìn h n h ư sau : Program Tinh_dien_tich; Var cv,canh,s:real; Begin Writeln('TINH DIEN TICH LON NHAT CƯA HINH CHU NHAT1); Writeln ('-----------------------------------------'); Write(,-Cho biet chu vi chu nhat:’); Readln(cv); canh:=cv/4; s :=carìh* canh; Writeln ('-Chu vi hinh chu nhat = 1,cv:10:2, 'met'); Writeln (’-Dien tich lon nhat se = 1,s :10:2, 'met vuong'); Writeln('Bam phim de ket thuc'); Readln; End. 1.4. Viết chương trình nhập các giá trị a, b, c, X rồi tính và in ra trị của tam thức : ax + bx + c Lời g iả i : C h ư ơ n g t r ìn h n h ư sau : Program Tam_thuc; Var a,b,c,X,p:Integer; Begin Writeln('TINH TAM THƯC'); Writeln (*------------ 1); Write('-Nhap a= '); Readln(a); Write('-Nhap b= '); Readln(b); Write('-Nhap c= *); Readln(c); Mriteí^Nhap x= '); Readln(x); p := ((a* (x* x) ) + (b*x) + c); Writeln(!*Tri cua tam thuc =,,p); Writeln('Bam phim de ket thuc1); Readln; End. 16 1.5. Viết chương trình nhập toạ độ X, y, z của một vectơ 3 chiểu sau đó tính và hiển thị độ dài của vectơ này theo công thức sau : 2 2 2 độ dài = X + y + z Lời g iải : C h ư ơ n g t r ìn h n h ư s a u : Program Tinh_do_dai_vec_to; Var X,y,2:Integer ; 1 :Real; Begin Writeln('TINH CHIEƯ DAI VECTO'); Writeln (*-------------------- 1); Writeln; Write(f-Cho biet toa do X: '); Readln(x); Write('-Cho biet toa do Y: *); Readln(y); Write(f-Cho biet toa do Z: '); Readln(z); 1:= Sqrt(Sqr(x) + Sqr(y) + Sqr(z)); Writeln(1+Chieu dai cua vecto =',1:10:2); Writeln('Bam phim de ket thuc*); Readln; End. 1.6. Viết chương trình nhập hai số nguyên không quá 3 chữ số, rồi in kết qưả phép tính nhân hai số đó theo dạng : 567 * 14 793 8 Lời g i ả i : C h ư ơ n g t r ìn h n h ư sa u : program tich; var thua__s01, thua_s02: integer; begin write(fDoc hai so:'); readln(thua s01, thua_s02); writeln(thua_s01:15); writeln (1X 1:9, so :6); writeln ('------ 1:15) ; writeln(thua_s01* thua_s02) end. 2-BTTHrC ĐẠI H Ọ C Q U Ố C GIA HÀ NỘI IRUNG TAM THÔNG TIN THƯ VIỆN 17 1.7. Viết chương trình nhập vào một ký tự viết hoa sau đó hiển thị dạng vicì thường của nó. L ờ i g i ả i : C h ư ơ n g t r ì n h n h ư sa u : program chuthuong; var ch: char; begin write('nhap chu viet hoa'); readln(ch); if ('a' < ch) and (ch < 'z') then begin writeln('Chu viet hoa tuong ung la:'); write (# (ord (ch) + 32)); end else write readln; ('khong phai la chu cai thuong:1); end. 1.8. Viết một chương trình nhập vào hai số nguyên có 3 chữ số sau đó in r; kết quả phép tính nhân theo dạng : 4 57 x 345 2 285 1828 1371 157665 1.9. Viết chương trình đọc vào 3 cạnh của một tam giác rồi tính diện tích củ tam giác đó. 1.10. Lập chương trình đọc toạ độ Đề - các 3 điểm A, B, c từ bàn phím rc tính các góc A, B, c , độ dài các cạnh tam giác ABC và đưa kết quả r màn hình. 1.11. Lập chương trình đọc chiều dài các cạnh a, b, c của tam giác ABC rc tính diện tích, độ dài các đường cao và đưa kết quả ra màn hình. 18 2. Lệnh điều kiện 2.1. Lập chương trình giải bất phương trình bậc nhất ax + b > 0 Program gpt; Var a,b: real; begin write ('vao a, b = f); readln(a,b); if a=0 then if b>0 then writeln(fBat phuong trinh dung voi moi X 1) else writeln('Bat phuong trinh vo nghiêm'); if a>0 then writeln(1nghiem bat phuong trinh la x> :1, -b/a:10:2); if a<0 then writeln ('nghiem bat phuong trinh la x < :1,-b/a:10:2); readln; end. 2.2. Viết chương trình nhập vào 2 số nguyên, yêu cầu máy kiêm tra xem 2 sô đó có phải là ước số của nhau khồng ? Lời g i ả i : C h ư ơ n g t r ì n h n h ư sa u : Program Uoc_so; Var sol,so2,tam:Integer; Begin Writeln(* KIEM TRA ƯOC so CƯA 2 so NGƯYEN1); Writeln (1----------------------------- '); Write(*-So thu nhat= 1)/ Readln(sol); Write('~So thu hai =*); Readln(so2); If sol < so2 Then Begin tam:=sol; sol:=so2; so2:=tam; End; 19 If (sol Mod so2) = 0 Then Writeln(1+So: 1,302:4,*la uoc so cua so : ,sol:4) Else Begin Writeln (*+Hai so: ',301:4, ' va so f,so2:4); Writeln(' Khong phai la uoc so cua nhau'); End; Writeln/ Writeln('Bam phim de ket thuc1); Readln; End. 2.3. Viết chương trình nhập vào 3 số nguyên dương. Hãy kiểm tra chúng C( phải là kích thước của 3 cạnh trong một tam giác không ? Trong trườnị hợp là 3 cạnh của một tam giác, hãy kiểm tra tiếp xem tam giác đổ cc phải là tam giác đều, cân không ? Lời g i ả i : C h ư ơ n g t r ìn h n h ư sau : Program Tam_giac; Var a,b,c:Integer; tamgiac,deu,can:Boolean; Begin Wr i t e l n (1BA CANH CƯA TAM GIAC ?'); Writeln (•-------------------- 1); Write(f-Nhap so thu nhat= '); Readln(a); Write('-Nhap so thu hai = ')/ Readln(b); Write(1-Nhap so thu ba = •); Readln(c); tamgiac:=False; deu:=False; can:=False; If (a+b>c) And (b+c>a) And (c-i-a>b) Then Begin tamgiac:=True; If (a=b) And (b=c) Then 20 deu:=True; If (a=b) Or (b=c) Or (c=a) Then c a n :=True; End; Writeln; Writeln(' 3 so vua nhap la:'); Writeln('+Tam giac:',tamgiac); Writeln('+Tam giac deu:',deu); Writeln(1+Tam giac can:',can); Writeln; Writeln('Bam phim de ket thuc1); Readln; End. 2.4. Viết chương trình ihực hiện các công việc sau : - Gõ một phím - Máy sẽ thông báo phím vừa bấm là phím nào : • Nếu gõ các phím từ 'A' đến 'Z' hay từ 'a' đến 'z' sẽ thông báo “phím ký tự” • Nếu gõ các phím từ '0' đến '9' sẽ thông báo “phím ký số”. • Nếu gõ các phím sẽ thông báo “phún các phép toán số học” • Nếu gõ các phím khác sẽ thông báo “phím đặc biệt” Lời g i ả i : C h ư ơ n g t r ì n h n h ư sa u : Program KT_phim; Var phim: Char; Begin Writeln('KIEM TRA BAN PHIM'); Writeln (1---------------- 1); Write('-Bam mot phim:'); Readln (phim); Case phim Of ' A ' . . ' z ' , ' a ' . . ' z 1 : W r i t e l n ( ' do l a mot p h i m kỵ t u ' ) ; '0 '. .'9':Writeln(' do la mot phim kỵ so'); ':Writeln('do la mot phep toan so hoc'); 21
- Xem thêm -

Tài liệu liên quan