Tài liệu Bài tập tin 11 nâng cao(bt)

  • Số trang: 52 |
  • Loại file: PDF |
  • Lượt xem: 160 |
  • Lượt tải: 0
trancongdua

Đã đăng 1751 tài liệu

Mô tả:

Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang Trường THPT Hoàng Văn Thụ Tổ Toán - Tin Trần Văn Chung Nha Trang 7/2015 ĐT : 0972.311.481 Trang 1 Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang Lêi giíi thiÖu Bài tập pascal cơ bản đến nâng cao theo chương trình TIN HỌC lớp 11 không phân ban Nhằm giúp các bạn học sinh lớp 11 tiếp cận với ngôn ngữ lập trình Pascal một cách dễ dàng và vận dụng vào các ngôn ngữ lập trình khác trong tin học, tôi sưu tầm và biên soạn một số bài toán cơ bản đến nâng cao có trong chương trình của lớp 11 không phân ban. Các chương trình nhằm mục đích tham khảo cho các bạn ham mê tin học và là tài liệu chuẩn bị cho các bài kiểm tra về môn tin học. Trong tập tài liệu này sẽ không tránh khỏi sai sót mong các bạn góp ý thêm để tài liệu thêm hoàn thiện: liên lạc theo địa chỉ email: chungtin4adhsp@gmail.com Nha trang tháng 8 năm 2013 ĐT : 0972.311.481 Trang 2 Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang Phần I : CÁC BÀI TẬP CƠ BẢN Bài 1: Tìm giá trị lớn nhất trong 4 số a, b, c, d (a, b, c, được nhập từ bàn phím). Program Program TIM_SO_LON_NHAT; Uses crt; Var a,b,c,d,max : real; BEGIN Clrscr; Writeln('TIM SO LON NHAT TRONG BON SO A, B, C, D'); Writeln('--------------------------------------------------------------------------------------'); Write('Nhap a='); Readln(a); Write('Nhap b='); Readln(b); Write('Nhap c='); Readln(c); Write('Nhap d='); Readln(d); max :=a; If b>max then max :=b; If c>max then max :=c; if d>max then max :=d; Writeln('So lon nhat la : ',max : 4 : 2); Readln; END. Bài 1B: Viêt chương trình nhập ba số dương bất kỳ, kiểm tra ba số vừa nhập có phải là ba cạnh của tam giác không? Nếu phải thì tính chu vi và diện tích của tam giác đó. PROGRAM Kiem_tra_tam_giac; Uses crt; Var a,b,c,cv,s,p : real; BEGIN Clrscr; Writeln(‘nhap so thu nhat’); readln(a); Writeln(‘nhap so thu hai’); readln(b); Writeln(‘nhap so thu ba’); readln(c); If(a+b>c) And(a+c>b) And(b+c>a) then Begin Cv :=a+b+c; p :=c/2; s :=sqrt(p*(p-a)*(p-b)*(p-c)); Writeln(‘ba so vua nhap la ba canh cua tam giac’); ĐT : 0972.311.481 Trang 3 Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang Writeln(‘ chu vi cua tam gia la’, cv : 4 : 2, ‘ dien tich cua tam giac la’, s:6 :2); End Else Writeln(‘ba so vua nhap khong phai la ba canh cua tam giac’); Readln End. Bài 1C: Viết chương trình nhập độ cao h so với mặt đất của một vật rơi tại nơi có gia tốc g, Tính và hiển thị vận tốc của vật tại mặt đất. Program Tinh_van_toc; Uses crt; Var h, v,g : real; Begin Clrscr; Writeln(‘nhap do cao cua vat’); readln(h); Writeln(‘nhap gia toc’); readln(g); V :=sqrt(2*g*h); Writeln(‘van toc tai mat dat la’, v : 6 : 2); Readln End. Bài 1D: Nhập vào 3 số a,b,c từ bàn phím, kiểm tra ba số nhập vào có phải là 3 cạnh của tam giác không? Nếu phải thì tam giác là tam giác gi? Đều, Vuông, Cân, Tam giác thường, hiển thị chu vi, diện tích nếu đó là tam giác? Program kiem_tra; Uses crt; Var a,b,c, cv,s,p : real; Begin Clrscr; Write('nhap vao so thu nhat '); readln(a); Write('nhap vao so thu hai '); readln(b); Write('nhap vao so thu ba '); readln(c); If (a+b>c) and (b+c>a) and (a+b>c) then Begin Writeln(' ba so nhap vao la ba canh cua tam giac '); ĐT : 0972.311.481 Trang 4 Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang If (a=b) or (b=c) or (a=c) then Writeln(' tam giac la tam giac can') Else If (a=b) and (b=c) then Writeln(' tam giac la tam giac deu') Else If (sqr(a)=sqr(b)+sqr(c)) or (sqr(b)=sqr(a)+sqr(c)) or( sqr(c)=sqr(b)+sqr(a)) then Writeln(' tam giac la tam giac vuong') Else Writeln(' tam giac la tam giac thuong '); Cv:=a+b+c; p:=(a+b+c)/2; S:=sqrt(p*(p-a)*(p-b)*(p-c)); Writeln(' chu vi tam giac la ', cv:6:2); write( ' dien tich tam giac la ',s:6:2); End Else Writeln(' ba so nhap vao khong phai la ba canh cua tam giac'); Readln End. Bài 2: Viết chương trình giải phương trình ax+b=0 Program GIAI_PHUONG_TRINH_BAC_NHAT; Uses crt; Var a,b,x : real; Begin Clrscr; Writeln('GIAI PHUONG TRINH BAC NHAT : AX + B=0'); Writeln('------------------------------------------------------------'); Write ('Nhap a= '); readln(a); Write ('Nhap b= '); readln(b); If(a=0) then If(b=0) then Writeln(' Phuong trinh co vo so nghiem') Else writeln(' Phuong tring vo nghiem') Else Writeln('Phuong trinh co nghiem x=',-b/a : 4 : 2); Readln End. Bài 3: Viết chương trình giải bất phương trình bậc 1 (ax + b > 0) Program BAT_PHUONG_TRINH_BAC_I; Uses crt; ĐT : 0972.311.481 Trang 5 Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang Var a,b : real; Begin Clrscr; Writeln('GIAI BAT PHUONG TRINH BAC NHAT : AX + B>=0'); Writeln('----------------------------------------------------------------------'); Write('nhap a='); readln(a); Write('nhap b='); readln(b); If a<>0 then If a>0 then Writeln('Bat phuong trinh co nghiem : x>=',-b/a : 4 : 2) Else Writeln('Bat phuong trinh co nghiem : x<=',-b/a : 4 : 2) Else If b>=0 then Writeln('Bat phuong trinh co vo so nghiem') Else writeln('Bat phuong trinh vo nghiem'); Readln End. Bài 4: Viết chương trình giải phương trình (ax2 + bx + c =0) Program GIAI_PHUONG_TRINH_BACII; Uses crt; Var a,b,c,d,x,x1,x2 : real; Begin Clrscr; Writeln('GIAI PHUONG TRINH BAC II : '); Writeln('-------------------------------------------'); Write('Nhap he so a='); readln(a); Write('Nhap he so b='); readln(b); Write('Nhap he so c='); readln(c); If a=0 then If b=0 then If c=0 then Writeln('Phuong trinh co vo so nghiem') Else Writeln('Phuong trinh vo nghiem') Else Writeln('Phuong trinh co mot nghiem : x=',-c/b : 4 : 2) ĐT : 0972.311.481 Trang 6 Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang Else Begin d :=b*b-4*a*c; If d=0 then Writeln('Phuong trinh co nghiem kep : x=',-b/(2*a) : 4 : 2) Else if d<0 then Writeln(‘phuong trinh vo nghiem’) Else Begin x1:=(-b+sqrt(d))/(2*a); x2:=(-b-sqrt(d))/(2*a); Write('Phuong trinh co hai nghiem : ‘); Writeln(‘ x1=',x1 : 4 : 2,' va x2=',x2 : 4 : 2); End; End; Readln End. Bài 5: Giải hệ phương trình tuyến tính : ax + by = m cx + dy = n Program GIAI_HE_HAI_AN; Uses crt; Var a,b,c,d,m,n : real; dx,dy,dd : real; BEGIN Clrscr; Writeln('GIAI HE HAI AN : '); Writeln('----------------------------------'); Write('Nhap a='); readln(a); Write('Nhap b='); readln(b); Write('Nhap c='); readln(c); Write('Nhap m='); readln(m); Write('Nhap n='); readln(n); dd :=a*d-b*c; dx :=m*d-b*n; dy :=a*n-c*m; If dd=0 then If (dx=0) And (dy=0) then ĐT : 0972.311.481 Trang 7 Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang Writeln('He vo so nghiem hoac vo nghiem') Else writeln('He vo nghiem') Else Begin Write('He co nghiem : '); Writeln('x=',dx/dd : 4 : 2,' va y=',dy/dd : 4 : 2); End; Readln End. Bài 6: Nhập vào thời gian 1 công việc nào đó là x giây. Hãy chuyển đổi và viết ra màn hình số thời gian trên dưới dạng bằng bao nhiêu giờ, bao nhiêu phút, bao nhiêu giây. Program DOI_GIO_PHUT_GIAY; Uses crt; Var gio, phut,giay, x : longint; Begin Clrscr; Writeln('DOI SANG GIO PHUT GIAY'); Writeln('--------------------------------------'); Write('Nhap vao so giay : '); readln(x); gio:=x div 3600; x :=x mod 3600; phut :=x div 60; x :=x mod 60; Writeln('Ket qua = ', gio,'gio : ', phut, 'phut : ', x, 'giay'); Readln; End. Bài 7: Nhập vào tâm và bán kính của một đường tròn. Sau đó nhập vào một điểm A(x, y) bất kì và kiểm tra xem nó có thuộc đường tròn hay không? Program KIEM_TRA_DIEM_THUOC_DUONG_TRON; Uses crt; Var x0,y0,xa,ya,d,r : real; Begin Clrscr; Writeln('KIEM TRA DIEM THUOC DUONG TRON : '); Writeln('--------------------------------------------------------'); ĐT : 0972.311.481 Trang 8 Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang Write('Nhap ban kinh R= '); readln(r); Write('Nhap hoanh do tam duong tron = '); readln(x0); Write('Nhap tung do tam duong tron = '); readln(y0); Write('Nhap hoanh do diem a = '); readln(xa); Write('Nhap tung do diem a = '); readln(ya); d :=SQRT(SQR(xa-x0)+SQR(ya-y0)); If r=d then Writeln('Diem A nam tren duong tron') Else If d>r then Writeln('Diem A nam ngoai duong tron') Else Writeln('Diem A nam trong duong tron'); Readln End. Bài 7 b: Viết chương trình nhập vào tâm và bán kính hai đường tròn, xác định vị trí tương đối của hai đường tròn đó. Program Khao_Sat_Hai_Duong_Tron; Var R 1, R2 ,x1, y1,x2,y2, Kc, Tong, Hieu : Real; BEGIN Writeln('KHAO SAT 2 DUONG TRON'); Writeln('----------------------------------------------------'); Writeln; Writeln('*Duong tron thu nhat'); Write(' +Ban kinh : '); Readln(R1); Write(' +Toa do x : '); Readln(x1); Write(' +Toa do y : '); Readln(y1); writeln; Writeln('*Duong tron thu hai'); Write(' +Ban kinh : '); Readln(R2); Write(' +Toa do x : '); Readln(x2); Write(' +Toa do y : '); Readln(y2); Kc :=Sqrt(Sqr(x1 – x2) + Sqr(y1 – y2)); ĐT : 0972.311.481 Trang 9 Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang Tong :=R1 + R2; Hieu :=ABS(R1 – R2); If (Kc = 0) AND (Hieu = 0) Then Writeln('-Hai duong tron trung nhau') Else If (Hieu > Kc) Then Writeln('-Hai duong tron long nhau') Else If (Tong = Kc) OR (Hieu = Kc) Then Writeln('-Hai duong tron tiep xuc nhau') Else If (Tong > Kc) AND (Hieu < Kc) Then Writeln('-Hai duong tron cat nhau ') Else If (Tong < Kc) Then Writeln('-Hai duong tron o ngoai nhau-'); Readln End. Bài 8: Tính xy ( Với x, y là số thực). Program X_LUYTHUA_Y; Uses crt; Var lt, x,y,z : real; Begin Clrscr; Writeln(‘TINH X LUY THUA Y : ’); Writeln('----------------------------------'); Write('Nhap x = '); readln(x); Write('nhap y = '); readln(y); If x>=0 then Begin z :=exp(y*ln(x)); Writeln('x ^ y = ',z : 4 : 2); End Else Writeln('Khong tinh duoc do x la so am'); Readln; ĐT : 0972.311.481 Trang 10 Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang End. Bài 9: Tính n! Program TINH_N_GIAI_THUA; Uses crt; Var i,n,gt : integer; Begin Clrscr; Writeln(' TINH N GIAI THUA : '); Writeln('----------------------------------'); Write('Nhap n ='); readln(n); gt :=1; For i :=1 to n do gt :=gt*i; Writeln(n, '!= ',gt); Readln; End. Bài 10** : Đọc ngày tháng năm, sau đó viết ra màn hình đó là ngày thứ mấy trong tuần. Program Ngaythang; Uses crt; Var Thu, Ngay, Thang : Byte; Nam : Integer; BEGIN Clrscr; Write (' Doc Ngay : '); Readln ( Ngay ); Write (' Doc Thang : '); Readln ( Thang ); Write (' Doc Nam : '); Readln ( Nam ); Nam :=1900 + ( Nam mod 1900 ); If Thang < 3 Then Begin Thang :=Thang + 12; Nam :=Nam - 1; End; Thu :=Abs ( Ngay + Thang * 2 + ( Thang + 1 ) * 3 div 5 + Nam + Nam div 4 ) mod 7; Case Thu Of ĐT : 0972.311.481 Trang 11 Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang 0 : Writeln (‘ngay ’,ngay,’ thang ',thang,’ nam ’,nam,’ la ngay Chu Nhat '); 1 : Writeln ('ngay ’,ngay,’ thang ',thang,’ nam ’,nam,’ la ngay Thu Hai '); 2 : Writeln ('ngay ’,ngay,’ thang ',thang,’ nam ’,nam,’ la ngay Thu Ba '); 3 : Writeln (‘ngay ’,ngay,’ thang ',thang,’ nam ’,nam,’ la ngay Thu Tu '); 4 : Writeln (‘ngay ’,ngay,’ thang ',thang,’ nam ’,nam,’ la ngay Thu Nam '); 5 : Writeln ('ngay ’,ngay,’ thang ',thang,’ nam ’,nam,’ la ngay Thu Sau '); 6 : Writeln ('ngay ’,ngay,’ thang ',thang,’ nam ’,nam,’ la ngay Thu Bay '); End; Readln; END. Bài 11: Viết chương trình : Nhâp số báo danh Nhập điểm văn, toán, ngoại ngữ In ra màn hình dưới dạng :       Phiếu điểm: Số báo danh : Điểm văn : Điểm toán : Điểm ngoại ngữ : Tổng số điểm: Bạn đã trúng tuyển ( hoặc Bạn đã không trúng tuyển ) với điều kiện Tổng số điểm >= 15 hay ngược lại. Program INPHIEU; Uses Crt; Var SBD : Integer; Van, Toan, Ngoaingu, Tongdiem : Real; BEGIN Clrscr; Write (' So bao danh : '); Readln( SBD ); Write (' Diem toan : '); Readln( Toan ); Write (' Diem ngoai ngu : '); Readln( Ngoaingu ); ĐT : 0972.311.481 Trang 12 Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang Write (' Diem van : '); Readln ( Van ); Tongdiem :=Toan + Van + Ngoaingu; Writeln (' Phieu Bao Diem '); Writeln (' So bao danh : ', SBD ); Writeln (' Diem van : ', Van ); Writeln (' Diem toan : ', Toan ); Writeln (' Diem ngoai ngu : ', Ngoaingu); Writeln (' Tong diem : ', Tongdiem); If Tongdiem >= 15 Then Writeln(' Ban da trung tuyen ') Else Writeln(' Ban khong trung tuyen '); Readln; END. Bài 12 : Viết chương trình nhập hai số thực. Sau đó hỏi phép tính cần thực hiện và in kết quả của phép tính đó. Nếu là “+”, in kết quả của tổng lên màn hình. Nếu là “-”, in kết quả của hiệu lên màn hình. Nếu là “/”, in kết quả của thương lên màn hình. Nếu là “*”, in kết quả của tích lên màn hình. Nếu là “+”, in kết quả của tổng lên màn hình. Nếu là “+”, in kết quả của tổng lên màn hình. Program Chuongtrinh_tinh; Uses Crt; Var a, b, T : Real; Pt : Char; BEGIN Clrscr; Write (' a = '); Readln( a ); ĐT : 0972.311.481 Trang 13 Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang Write (' b = '); Readln( b ); Write (' Phep tinh thuc hien la (+ - * /) : '); Readln( Pt ); If Pt = '+’ Then T :=a + b; If Pt = '-’ Then T:=a - b; If Pt = '*’ Then T :=a * b; If Pt = '/’ Then T :=a / b; Write ( a, pt, b, ' = ', T ); Readln; END. Bài 13: viêt chương trình nhập và tâm và bán kính của đường tròn và môt điểm bất kỳ, xác định vị trí của điểm đó với đường tròn trên Prgram vi_tri_tuong_doi; Var xi, yi, R, Xa, Ya, IA : real; Begin Writeln(‘nhap hoanh do tam duong tron’); realnd(xi); Writeln(‘nhap tung do tam duong tron’); realnd(yi); Writeln(‘nhap hoanh do diem A’); realnd(xa); Writeln(‘nhap tung do diem A’); realnd(Ya); Writeln(‘nhap ban kinh duong tron’); realnd(R); IA:=sqrt(sqr(xi-xa)+sqr(yi-ya)); If IA>R then Writeln(‘Diem A nam ngoai duong tron’); If IA=R then Writeln(‘Diem A nam tren duong tron’); If IAb) do Begin If a>b then a :=a-b else b :=b-a; End; uc :=a; bc :=(T)/uc; Writeln(‘uoc chung lon nhat cua ‘,a,’ va ’,b,’ la ‘,uc); Writeln(‘boi chung nho nhat cua ‘,a,’va ’,b,’ ‘,bc); la Readln END. Câu 15 : Chương trình nhập mảng một chiều gồm n phần tử n<=100 kiểu nguyên rồi thực hiện a. b. c. d. e. f. Đếm số lượng phần tử dương cho kết quả ra màn hình Tính tổng các phần tử dương trong mảng. Tính trung bình các phần tử trong mảng. Tính trung bình các phần tử dương trong mảng Tìm vị trí đầu tiên của phần tử =k với k nhập từ bàn phím. Tìm vị trí phần tử =k với k nhập từ bàn phím, nếu có nhiều phần tử =k thì hiển thị ra màn hình tất cả vị trí phần tử=k đó. g. Đếm số lượng phần tử là nguyên tố trong mảng. h. Kiểm tra mảng vừa nhập có phải là cấp số cộng hay không? i. Sắp xếp mảng theo thứ tự tăng dần các phần tử và hiển thị ra màn hình mảng tăng đó ĐT : 0972.311.481 Trang 19 Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang Prgram BAI_15; Uses crt; Var A : array[1..100] of integr; i, k,demd, s, demnt, tg,n, d, dd,j : integer; tb, tbm : real; Begin Clrscr; Writeln(‘nhap so luong phan tu cua mang’); readln(n); Writeln(‘----------------------nhap mang--------------------------------------‘); For i :=1 to n do Begin Writeln(‘nhap so hang thu’, i, ‘A[‘,i,’]= ‘); Readln(A[i]); End; {-------------------------------------------Cau a----------------------------------} demd :=0; For i :=1 to n do if A[i]>0 then demd :=demd+1; Writeln(‘ so luong phan tu duong cua mang la’, demd); {-----------------------------------Cau b-----------------------------------------} s :=0; For i :=1 to n do if A[i]>0 then s :=s+ A[i]; Writeln(‘ tong cac phan tu duong cua mang la’, s); {-----------------------------------Cau c-----------------------------------------} s :=0; For i :=1 to n do s :=s+A[i]; tbm :=s/n; Writeln(‘ trung binh cac phan tu cua mang la ’, tbm : 6 : 2); ĐT : 0972.311.481 Trang 20
- Xem thêm -