intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

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

Chia sẻ: Nguyễn Ngọc Sơn | Ngày: | Loại File: DOCX | Số trang:48

701
lượt xem
80
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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, mời các bạn cùng tham khảo "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" dưới đây. Tài liệu cung cấp 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.

Chủ đề:
Lưu

Nội dung Text: 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

  1. Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang 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. Nha trang tháng 3/2011 ĐT  :  0972.311.481 Trang 1
  2. Trần Văn Chung 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’); Writeln(‘ chu vi cua tam gia la’, cv : 4 : 2, ‘ dien tich cua tam giac la’, s:6 :2); ĐT  :  0972.311.481 Trang 2
  3. Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang 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 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 ĐT  :  0972.311.481 Trang 3
  4. Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang 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; 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 a0 then If a>0 then Writeln('Bat phuong trinh co nghiem  :  x>=',­b/a  : 4  : 2)  Else Writeln('Bat phuong trinh co nghiem  :  x
  5. Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang 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) 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
  6. Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang 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 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 ĐT  :  0972.311.481 Trang 6
  7. Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang Clrscr; Writeln('KIEM TRA DIEM THUOC DUONG TRON  : ');  Writeln('­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­');  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); ĐT  :  0972.311.481 Trang 7
  8. Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang      Write('    +Toa do x  :  ');     Readln(x2);      Write('    +Toa do y  :  '); Readln(y2);      Kc :=Sqrt(Sqr(x1 – x2) + Sqr(y1 – y2));      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 
  9. Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang Writeln('x ^ y = ',z  : 4  : 2); End Else  Writeln('Khong tinh duoc do x la so am');  Readln; 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 
  10. Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang       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 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; ĐT  :  0972.311.481 Trang 10
  11. Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang  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 );  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. ĐT  :  0972.311.481 Trang 11
  12. Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang Program  Chuongtrinh_tinh; Uses Crt;  Var      a, b, T   :  Real;  Pt   :  Char;  BEGIN     Clrscr;      Write (' a = '); Readln( a );      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. ĐT  :  0972.311.481 Trang 12
  13. Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang PHẦN II  :  CÂU LỆNH CÓ CẤU TRÚC Bài 12.  Cho số tự nhiên n, hãy lập trình để tính các tổng sau   :  a. 1 + 1/22 + 1/32 + … + 1/n2  b. 1 + 1/2! + 1/3! + … + 1/n!  Program  Caua; Uses crt;  Var  n, i   :  Word;            S   :  Real;  BEGIN Clrscr; Write (' Nhap n   :  '); Readln (n);  S :=0;  For i :=1 To n Do    S :=S + 1 / sqr(i);  Writeln ('Tong la  S = ', S  : 6  : 2);  Readln   END.  Program  Cau_b; Uses crt; Var n, i, j, p   :  Word;  S   :  Real;  BEGIN  Clrscr; Write (' Nhap n   :  ');  Readln(n);  p :=1;      s :=0;  For i  :=1 To n  Do  Begin  p :=p * i;       S :=S + 1 / p;  ĐT  :  0972.311.481 Trang 13
  14. Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang End;  Writeln ('Tong la S = ', S  : 6  : 2);   Readln End. Câu 13a :  Lập trình tính tổng   :  A = 1 + 1/2 + 1/3 + … + 1/n ở đây n là số tự nhiên được nhập vào từ bàn phím. Program  tinhtong; Uses Crt;  Var i, n   :  Integer;  tong  :  Real;  BEGIN  Clrscr;  Write (' Cho so tu nhien n   :  '); Readln (n);  tong :=0;  i :=1;  While i 
  15. Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang Clrscr; Writeln(‘can so hang thu may cua day Fibonaxi’);  readln(n); A[0] :=0; A[1] :=1; For i :=2 to n do A[i] :=A[i­1]+A[i­2]; Writeln(‘so hang thu’, n,’cua day fibonaxi la’, A[n]); Readln End. Câu 14a :  Tính hàm lũy thừa an, ở đây a thực và n tự nhiên được nhập vào từ bàn  phím. Program  Tinhgiaithua; Uses Crt;  Var  i, n   :  Integer;  a, giatri   :  Real;   BEGIN Clrscr;  Write (' nhap co so a =  :  '); Readln(a);  Write (' nhap  so mu n =  :  '); Readln(n);  i :=1;  giatri :=1;  While i 
  16. Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang ĐT  :  0972.311.481 Trang 16
  17. Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang Bài 14b. Viết chương trình nhập vào hai số nguyên dương a, b bất kỳ, hiển thị ước  chung lớn nhất của hai số và bội chung nhỏ nhất của hai số đó. Program  UC_BC; Uses crt; Var a, b, uc, bc   :  integer; BEGIN Clrscr; Writeln(‘nhap so thu nhat ’);  readln(a); Writeln(‘nhap so thu hai ’);  readln(b); While (ab) do Begin If a>b then a :=a­b else b :=b­a; End; uc :=a;  bc :=(a*b)/uc; Writeln(‘uoc chung lon nhat cua   ‘,a,’ va  ’,b,’    la ‘,uc); Writeln(‘boi chung nho nhat cua ‘,a,’va ’,b,’      la    ‘,bc); Readln END. Câu 15 :  Chương trình nhập mảng một chiều gồm n phần tử n
  18. Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang 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 đó 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; ĐT  :  0972.311.481 Trang 18
  19. Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang 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); {­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­Cau d­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­}  s :=0; demd :=0; For i :=1 to n do Begin   if A[i]>0 then s :=s+ A[i]; demd :=d+1; End; tb :=s/demd; Writeln(‘ trung binh cac phan tu duong  cua mang la   ’, tb  : 6  : 2); {­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­Cau e­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­} Writeln(‘  nhap gia tri can tim vi tri  ’);  readln(k); J :=1; While (j n then Writeln(‘khong co gia tri  ’, k, ’ trong mang’) Else Writeln(k, ‘   nam o vi tri thu  ’, j,’   trong mang’); {­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­Cau f­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­} Writeln(‘  nhap gia tri can tim vi tri  ’);  readln(k); J :=1; writeln(‘cac vi tri xuat hien cua  ’,k,’  trong mang la’);  While (j
  20. Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang Begin  j:=2; While( j A[i] ­ 1 then demnt :=demnt+1; End; Writeln(‘  so luong phan tu la nguyen to la’, demnt); {­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­Cau h­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­} d :=A[2]­A[1]; j:=3; While (jn then Writeln(‘ mang vua nhap la cap so cong’) else Writeln(‘ mang vua nhap khong phai la cap so cong’); {­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­Cau i­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­} For i :=1 to n do For j :=i+1 to n­1 do  If A[j]>A[j+1] then Begin {doi vi tri hai phan tu A[j] va A[j+1]} tg :=A[j]; A[j] :=A[j+1]; A[j+1] :=tg; End; Writeln(‘mang sau khi duoc sap xep la’); For i :=1 to n do write(A[i]  : 5); Readln END. Bài 15 b:  Viết chương trình nhập vào mảng gồm n phần tử (n
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2