Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang !!"# 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 Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang $%&'()$*+ !& , -. /01 222 3 422256 7,89 $, $, 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. !&:;13/"<2"=,1>6? @A,-"#BC7C>>3D7A,-?9 $EFGEHI 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 2 Trần Văn Chung 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. !&:J> ,K/A,J>@?12 7>=.>1A>@,K/9 $, 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. L&:MNOP $, 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); ĐT : 0972.311.481 Trang 3 Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang Readln End. Q&: / !4M N R S P8 $, 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 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 BÀITẬPPASCALBài 1: Hãy lập chương trình tính khoảng cách điểm A(xa,ya), B(xb,yb) Kết in hình đến chữ số thập phân? Bài 2: Hãy lập chương trình tính tọa độ trung điểm M đoạn thẳng AB Với tọa đọ điểm A(xa,ya) B(xb,yb) nhập từ bàn phím Kết in hình đến chữ số thập phân? Bài 3: Viết câu lệnh rẽ nhánh dạng thiếu rẽ nhánh dạng đủ tính: U=a2 - b2 a>b U= a2 + b2 amax 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 ba cạnh tam giác không? Nếu phải tính chu vi diện tích 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); 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 vật rơi nơi có gia tốc g, Tính hiển thị vận tốc vật mặt đất Program Tinh_van_toc; Uses crt; Var h, v,g: real; Begin Clrscr; Writeln(‘nhap 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 End Bài 3: Viết chương trình giải bất phương trình bậc (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: xds[j].holot) then Doi(i,j); end; Writeln('Danh sach hoc sinh: '); For i:=1 to n With ds[i] Writeln(holot: 20,ten: 11,tuoi: 4,lop: 5); Writeln; Write('Bam Enter de ket thuc '); Readln; END Bàitập 3: Thông tin học sinh ghi gồm trường: Họđệm: xâu 25 kí tự Tên: xâu 10 kí tự Tuổi: số nguyên hai chữ số Lớp: xâu hai chữ số chữ viết hoa Một file ghi chứa danh sách lớp gồm 20 học sinh Hãy lập chương trình hiển thị danh sách lên hình, người dòng Program Nhaphocsinh; Uses Crt; Const n=5; Type Danhsach=record holot: string[25]; ten: string[10]; tuoi: 99; lop: string[3]; end; Var ds: Danhsach; i: byte; f: file of Danhsach; BEGIN ClrScr; Writeln('Danh sach hoc sinh tu file bai2.dat'); Writeln; Assign(f,'bai2.dat'); Reset(f); For i:=1 to n Begin Read(f,ds); With ds Writeln(holot: 20,ten: 11,tuoi: 4,lop: 5); End; Close(f); Writeln; Write('Bam Enter de ket thuc '); Readln; END Bàitập 4: Một file ghi chứa danh sách học sinh, thông tin học sinh giống Hãy lập chương trình tạo file ghi khác chứa danh sách đó, ghi gồm trường: Họtên: xâu 35 kí tự Tuổi: số nguyên hai chữ số Khối: số nguyên hai chữ số Lớp: chữ viết hoa Prorgam file_banghi; Uses Crt; Type Danhsach1=record holot: string[25]; ten: string[10]; tuoi: 99; lop: string[3]; End; Danhsach2=record hoten: string[35]; tuoi: byte; khoi: byte; lop: char; End; Var ds1: Danhsach1; ds2: Danhsach2; f1: file of Danhsach1; f2: file of Danhsach2; c: integer; BEGIN ClrScr; Writeln('Ghi tu file bai3.dat sang bai3n.dat: '); Writeln; Assign(f1,'bai3.dat'); Reset(f1); Assign(f2,'bai3n.dat'); Rewrite(f2); While not Eof(f1) Begin Read(f1,ds1); With ds1 Begin ds2.hoten:=holot+ten; val(copy(lop,1,2),ds2.khoi ... Bài 5: Giải phương trình bậc : Ax+B=0 Với A,B số thực nhập từ bàn phím? ... Bài 6: Giải phương trình bậc 2: Ax2 +Bx+c=0 (A0) Với số thực A,B,C nhập từ bàn phím?