bài bác tập về xâu vào Pascal bài tập Pascal cơ bản những dạng bài bác tập Pascal bài bác tập về xâu Tài liệu bài xích tập Pascal


Bạn đang xem: Bài tập pascal lớp 11 kiểu xâu

*
pdf

các bài tập Pascal cơ phiên bản


*
doc

các dạng bài bác tập Pascal cơ bản


*
doc

bài bác tập Pascal cơ phiên bản dành cho học sinh - sv


*
doc

100 bài tập Turbo Pascal - Lớp 8 (tài liệu tu dưỡng cho học tập sinh xuất sắc môn tin học giành riêng cho học sinh THCS)




Xem thêm: Độ Dài Đường Gấp Khúc Độ Dài Đường Gấp Khúc Toán 2, Độ Dài Đường Gấp Khúc Toán 2

Nội dung

BÀI TẬP VỀ XÂUBài tập 6.1: Viết lịch trình liệt kê các từ của một xâu ký tự được nhập vào từ bàn phím, mỗi từphải được viết bên trên một dòng.Uses Crt;BeginVar St:String;Write(‘Nhap xau St: ‘); Readln(St);Procedure XoaTrangThua(Var St:String);XoaTrangThua(St);BeginSt:=St+#32;Xóa những ký tự trắng sống đầu xâuWriteln(‘Liet ke cac tu vào xau: ‘);While St<1>=#32 vì chưng Delete(St,1,1);While POS(#32,St)0 DoXóa những ký trường đoản cú trắng ngơi nghỉ cuối xâuBeginWhileSt=#32DoDelete(St,Length(St),1);Writeln(Copy(St,1,POS(#32,St)));Xóa những ký từ bỏ trắng chính giữa xâuDelete(St,1,POS(#32,St));WhilePOS(#32#32,St)0DoEnd;Delete(St,POS(#32#32,St),1);Readln;End;End.Bài tập 6.2: Viết công tác nhập vào một xâu ký tự từ bàn phím. Kiếm tìm xâu hòn đảo ngược của xâuđó rồi in tác dụng ra màn hình theo 2 cách: Đệ qui và không đệ qui.Ý tưởng:- trường hợp xâu St có 1 ký tự thì xâu đảo = St.- Ngược lại: Xâu đảo = ký kết tự cuối + Đệ qui(Phần còn lại của xâu St).Uses Crt;Giải thuật đệ quiVar St:String;Function DeQui(St:String):String;Giải thuật ko đệ quiBeginFunction XauDao(St:String):String;If Length(St)0 Then Writeln(ch,’ :Readln;’,dem);End.Bài tập 6.4: Viết công tác xóa những ký trường đoản cú chữ số trong một xâu cam kết tự được nhập vào trường đoản cú bànphím.Uses Crt;Var St:String;Hàm POSNUM khám nghiệm xem trong xâu St cóký tự chữ số tốt không? trường hợp có, hàm trả về vịtrí đầu tiên của ký kết tự chữ số, trái lại hàm trảvề quý hiếm 0Function POSNUM(St:String):Byte;Var OK:Boolean;i:Byte;BeginOK:=False;i:=1;While (i0DoDelete(St,POSNUM(St),1);Write(‘Xau sau khoản thời gian xoa: ‘,St);Readln;End.mã một xâu cam kết tự bằng phương pháp đảo ngược những bitEnd;DaoBit:=CHR(s);End;Function MaHoa(st:string):string;Var i:Byte;BeginĐảo bit từng ký kết tự vào xâu stFor i:=1 to Length(st) Dost:=DaoBit(st);Mahoa:=st;End;BeginWrite("Nhap xau: "); Readln(st);st:=MaHoa(st);Writeln("Xau sau khi ma hoa: ",st);Readln;st:=MaHoa(st);Writeln("Xau sau khi giai ma: ",st);Readln;End.Bài tập 6.6: Viết chương trình tiến hành phép cộng 2 số tự nhiên lớn (không thừa 255 chữ số).Uses crt;Them so 0 vao truoc xau nganVar so1,so2,kqua:string;var i:Byte;Procedure LamDayXau(Var st1,st2:string);Begin2 If Length(st1)>Length(st2) ThenLấy phần dư của tổng a+bFor i:=1 to lớn Length(st1)-Length(st2) Dosodu:=(a+b+sodu) DIV 10;st2:="0"+st2Đổi số nguyên c sang xâu ký kết tự chElsestr(c,ch);For i:=1 khổng lồ Length(st2)-Length(st1) DoCộng xâu ch vào phía trái xâu kết quảst1:="0"+st1;stEnd;st:=ch+st;Function Cong(st1,st2:string):string;End;Var i,a,b,c,sodu:Byte;Xử lý trường thích hợp số dư sau cùng >0code:integer;If sodu>0 Thenst,ch:string;BeginBeginstr(sodu,ch);st:=""; sodu:=0;st:=ch+st;LamDayXau(st1,st2);End;Lấy từng số của 2 xâu: từ đề xuất sang tráiCong:=st;For i:=Length(st1) DownTo 1 DoEnd;BeginBeginĐổi cam kết tự thanh lịch số nguyênWrite("Nhap so thu nhat: "); Readln(so1);Val(st1,a,code);Write("Nhap so thu hai: "); Readln(so2);Val(st2,b,code);kqua:=Cong(so1,so2);Tính tổng của 2 số a,b vừa lấy ra choWriteln("Tong= ",kqua);vào biến hóa cReadln;c:=(a+b+sodu) thủ thuật 10;End.BÀI TẬP TỰ GIẢIBài tập 6.11: Viết chương trình nhập vào một xâu ký tự trường đoản cú bàn phím. Tìm và in ra screen mộttừ tất cả độ dài lớn số 1 trong xâu.Gợi ý:Tách từng tự để so sánh (xem bài xích tập 5).Bài tập 6.12: Viết lịch trình nhập một xâu ký kết tự St từ bàn phím và một ký kết tự ch. In ra mànhình xâu St sau khoản thời gian xóa hết các ký từ ch trong xâu đó.Gợi ý: While POS(ch,st)0 vì chưng Delete(st,POS(ch,st),1);Bài tập 6.13: Viết công tác nhập một xâu vào từ bàn phím và thông tin lên màn hình xâu đócó cần đối xứng không theo 2 cách: Đệ qui với không đệ qui. (Ví dụ: abba, abcba là các xâu đốixứng).Gợi ý:- nếu như xâu Length(st)st thì st ko đối xứng+ Ngược lại: call đệ qui cùng với xâu st sau thời điểm bỏ đi cam kết tự đầu và ký tự cuối.Bài tập 6.14: Viết chương trình hòn đảo ngược thứ tự các từ vào một xâu được nhập vào từ bỏ bànphím.Ví dụ: Xâu Nguyen Van An đang thành An Van Nguyen.Gợi ý:Tách từng trường đoản cú nối vào đầu xâu mới (xem bài bác tập 5).Bài tập 6.15: Viết chương trình nhập vào 2 xâu ký tự s1 và s2. Soát sổ xem xâu s2 xuất hiện bao nhiêulần trong xâu s1. (Lưu ý: length(s2)=0 Then dau:=’+i’ else dau:=’Var c1,c2,c3:Complex;i’;dau:string;Writeln(‘c1 = ‘, c1.a:0:2, dau,Beginabs(c1.b):0:2); Số phức c1Writeln(‘Nhap so phuc c1:’);If c2.b>=0 Then dau:=’+i’ else dau:=’Write(‘Phan thuc a = ‘); Readln(c1.a);i’;Write(‘Phan ao b = ‘); Readln(c1.b);Writeln(‘c2 = ‘, c2.a:0:2, dau,abs(c2.b):0:2); Số phức c2Writeln(‘Nhap so phuc c2:’);Writeln(‘La so phuc:’);Write(‘Phan thuc a = ‘); Readln(c2.a);If c3.b>=0 Then dau:=’+i’ else dau:=’Write(‘Phan ao b = ‘); Readln(c2.b);i’;Writeln(‘c3 = ‘, c3.a:0:2, dau,Tính tổng 2 số phứcabs(c3.b):0:2); Số phức c3c3.a := c1.a + c2.a;Readln;c3.b := c1.b + c2.b;End.Bài tập 7.2: Viết chương trình làm chủ điểm thi giỏi nghiệp của sinh viên với 2 môn thi: các đại lý vàchuyên ngành. Nội dung quá trình quản lý bao gồm: Nhập điểm mang đến từng sinh viên. In list sinh viên ra màn hình. Thống kê con số sinh viên thi đậu. In ra màn hình hình list những sv bị thi lại.4 Uses Crt;Const Max=200;Type SinhVien=RecordHoten:string<30>;DiemCS,DiemCN:Byte;End;Var SV:ARRAY<1..Max> Of SinhVien;n:Byte;c:Char;Procedure NhapDanhSach;Var ch:Char;BeginClrscr;Writeln("NHAP DANH SACH SINH VIEN");n:=0;Repeatn:=n+1;With SV DoBeginWrite("Ho ten: "); Readln(Hoten);Write("Diem teo so: "); Readln(DiemCS);Write("Diem chuyen nganh: ");Readln(DiemCN);End;Writeln("Nhan phim bat ky de nhaptiep/Nhan de ket thuc!");ch:=Readkey;Until ch=#27;End;Procedure InDanhSach;Var ch:Char;i:Byte;BeginClrscr;Writeln("DIEM THI TOT NGHIEP SINHVIEN");Writeln;WRITELN("STTHo tenDiem teo soDiem Chuyen nganh");For i:=1 to n doWith SV DoBeginWriteln(i:3,".",Hoten:20,DiemCS:5,DiemCN:20);End;ch:=ReadKey;End;Procedure DanhSachSVThilai;Var ch:Char;i:Byte;BeginClrscr;Writeln("DANH SACH SINH VIEN THILAI");Writeln;WRITELN("STTHo tenDiem co soDiem Chuyen nganh");For i:=1 lớn n doWith SV DoBeginIf (DiemCS=5)AND(SV.DiemCN>=5)Then S:=S+1;Writeln("So sinh vien thi dau la: ",s);ch:=Readkey;End;BeginRepeatClrscr;Writeln("CHUONG TRINH quan liêu LYDIEM THI TOT NGHIEP SINH VIEN");Writeln("1. Nhap danh sach sinh vien");Writeln("2. In danh sach sinh vien");5 Writeln("3. Thong ke so sinh vien thi dau");"2": InDanhSach;Writeln("4. Danh sach sinh vien thi lai");"3": ThongKeSVThiDau;Writeln(": Thoat");"4": DanhSachSVThilai;c:=Readkey;End;Case c OfUntil c=#27;"1": NhapDanhSach;End.Bài tập 7.3: Viết công tác nhập vào n đỉnh của một nhiều giác lồi S.a/ Tính diện tích của S biết:1 ndt(S)= | (xi yi1 xi1yi ) |2 i1trong đó: (xi,yi) là tọa độ đỉnh đồ vật i của đa giác S.b/ Nhập vào thêm 1 điểm P(x,y). Hãy đánh giá xem p. Nằm trong hay bên cạnh đa giác S.Ý tưởng:Nối p. Với những đỉnh của đa giác S thì ta được n tam giác: Si= PPiPi+1, với Pn+1=P1.nNếu dt(S ) = dt(S) thì p.  S.ii 1Uses Crt;Type Toado=Recordx,y:integer;end;Mang=array<0..30> of Toado;Var n:Byte;A:Mang;P:ToaDo;Procedure NhapDinh(var n:Byte; VarP:Mang);Var i:Byte;BeginWrite("Nhap so dinh cua domain authority giac n = ");readln(n);For i:=1 to n doBeginWrite("P<",i,">.x = ");readln(P.x);Write("P<",i,">.y = ");readln(P.y);End;End;FunctionDienTichDaGiac(n:Byte;P:Mang):real;Var i,j:integer;s:real;Begins:=0;for i:= 1 to n dobeginif i=n then j:=1 else j:=i+1;s:=s+((P.x*P.y-P.x*P.y));end;DienTichDaGiac:=abs(s)/2;end;FunctionDienTichTamGiac(A,B,C:ToaDo):real;BeginDienTichTamGiac:=abs(A.x*B.yB.x*A.y+B.x*C.y-C.x*B.y+C.x*A.yA.x*C.y)/2;End;FunctionKiemTra(PP:ToaDo;n:Byte;P:Mang):Boolean;Var i,j:integer;s:real;begins:=0;For i:=1 to lớn n dobeginif i=n then j:=1 else j:=i+1;s:=s+DienTichTamGiac(PP,P,P);end;If round(s)=round(DienTichDaGiac(n,P))then KiemTra:=trueelse KiemTra:=false;end;6 Write("P.y = ");readln(P.y);BeginIf KiemTra(P,n,A) Then Writeln("Diem PNhapDinh(n,A);nam trong da giac S.")Writeln("S=",DienTichDaGiac(n,A):0:2);Else Writeln("Diem p. Nam ngoai domain authority giac S.");Readln;Readln;Writeln("Nhap diem P:");End.Write("P.x = ");readln(P.x);BÀI TẬP TỰ GIẢIBài tập 7.4: Viết công tác nhân nhì số phức c1, c2.Bài tập 7.5: Viết chương trình thống trị điểm thi học phần của sinh viên bao gồm các trường sau:Họ tên, Điểm Tin, Điểm ngoại ngữ, Điểm trung bình, Xếp loại. Thực hiện các công việc sau:a/ Nhập vào danh sách sinh viên của một tờ (không thừa 30 người), gồm những: Họ tên, ĐiểmTin, Điểm nước ngoài ngữ. Tính Điểm trung bình cùng Xếp loại cho từng sinh viên.b/ In ra screen danh sách sinh viên của lớp đó theo phương thức sau:Họ tênĐiểm TinTrần Văn An8Lê Thị Béo7.......................... ..............Điểm Ngoạingữ95.....................ĐiểmT.Bình8.56.0............Xếp loạiGiỏiT.Bình..............c/ In ra màn hình danh sách hầu hết sinh viên đề xuất thi lại (nợ một trong những hai môn).d/ In ra danh sách những sinh viên xếp một số loại Giỏi.e/ Tìm cùng in ra màn hình những sinh viên bao gồm điểm trung bình cao nhất lớp.f/ thu xếp lại danh sách sinh viên theo thiết bị tự Alphabet.g/ sắp xếp lại list sinh viên theo thứ tự sút dần của điểm trung bình.h/ Viết tính năng tra cứu theo thương hiệu không tương đối đầy đủ của sinh viên. Ví dụ: lúc nhập vào tênPhuong thì chương trình sẽ tìm cùng in ra màn hình thông tin không thiếu thốn của phần lớn sinh viên gồm tênPhuong (chẳng hạn như: Pham Anh Phuong, do Ngoc Phuong, Nguyen phái nam Phuong...).Bài tập 7.6: Viết chương trình làm chủ sách nghỉ ngơi thư viện gồm các trường sau: Mã số sách, Nhan đề,Tên Tác giả, công ty Xuất bản, Năm xuất bản.a/ Nhập vào kho sách của thư viện (gồm tất cả các trường).b/ In ra màn hình hiển thị tất cả những cuốn sách có trong thư viện.c/ search một cuốn sách gồm mã số được nhập vào trường đoản cú bàn phím. Trường hợp tìm thấy thì in ra màn hìnhthông tin tương đối đầy đủ của cuốn sách đó, ngược lại thì thông báo không tìm thấy.c/ Tìm và in ra màn hình tất cả các cuốn sách có cùng tác giả được nhập vào từ bàn phím.d/ thanh lọc ra những cuốn sách được xuất phiên bản trong cùng một năm nào đó.e/ Tìm cùng in ra màn hình hiển thị các cuốn sách mà lại nhan đề tất cả chứa từ ngẫu nhiên được nhập vào trường đoản cú bànphím.BÀI TẬP VỀ TỆPBài tập 8.1: tạo một tệp tin SINHVIEN.DAT để lưu thông tin của một tấm sinh viên. Từng sinh viêncần những thông tin sau: chúng ta tên, Ngày sinh, Quê quán, Điểm trung bình, Xếp một số loại (trường xếploại vì chưng chương trình trường đoản cú tính lấy nhờ vào điểm mức độ vừa phải như sau: trường hợp điểm trung bình "" thenSt20 = String<20>;beginSt10 = String<10>;sv.hoten:= Bhoten;SinhVien = recordwrite("Ngay sinh (dd/mm/yyyy): ");Hoten: St20;readln(sv.ngaysinh);Ngaysinh,Quequan: St10;write("Quequan: ");DiemTb: real;readln(sv.quequan);Xeploai: Char;write("Diem trung binh: ");end;readln(sv.diemtb);Varif sv.diemtb 0 thenNgaysinh,Quequan: St10;BeginDiemTb: real;writeln("File khong ton tai");Xeploai: Char;exit;end;End;Varwriteln(#32:10, "DANH SACH SINHf: tệp tin of SinhVien;VIEN");Sv: sinhvien;writeln(#32:6,"HO TEN",#32:8,"NGAYBhoten:st20;SINH",#32:4,"QUE quan tiền DTB");i:word;while not eof(f) do8 beginread(f,sv);with sv do32:2,quequan,#32:10length(quequan),Diemtb:5:2);end;close(f);writeln(hoten,#32:20,length(hoten),ngaysinh,#readln;End.Bài tập 8.3: In danh sách tất cả sinh viên có tin tức lưu trong tệp tin SINHVIEN.DAT xếp loại khá(‘B’) trở lên.Program Vi_du_3;writeln("File khong ton tai");Typeexit;St20 = String<20>;end;St10 = String<10>;n:=0;SinhVien = recordwriteln("Danh sach sinh vien dat loai kha troHoten: St20;len");Ngaysinh,Quequan: St10;while not Eof(f) doDiemTb: real;beginXeploai: Char;read(f,sv);end;with sv doVarif xeploai 0 thenreadln;beginend.Bài tập 8.4: thông tin về điểm của sinh viên có họ tên là Bhoten, ngày sinh là Bngay và quê quánlà Bquequan bị không nên lệch. Hãy sữa điểm cùng xếp một số loại của sinh viên này với dữ liệu nhập từ bỏ bàn phím.Program Vi_du_4;Bhoten:st20;TypeBngaysinh,Bquequan:St10;St20 = String<20>;BeginSt10 = String<10>;assign(f,"sinhvien.dat");SinhVien = record$I-Hoten: St20;reset(f);Ngaysinh,Quequan: St10;$I+DiemTb: real;if IOResult 0 thenXeploai: Char;beginend;writeln("File khong ton tai");Varexit;f: tệp tin of SinhVien;end;filename:String;write("Ho ten sinh vien: ");Sv: sinhvien;readln(bhoten);9 write("Ngay sinh: ");if diemtb 0 thenreadln;beginEnd.Bài tập 8.6: Đếm số dòng, số cam kết tự white xúât hiện nay trong một tệp tin văn phiên bản đã có trên đĩa, thương hiệu fileđược nhập từ bàn phím khi chạy chương trình.Program Vidu_6;while not Eof(f) doVarbeginf: Text;readln(f,st);filename,St: String;inc(NStr);NLines,NStr: word;for i:= 1 khổng lồ length(St) doi: byte;if St = #32 thenBegininc(NBl);write(‘Nhap ten file: ‘);end;readln(filename);Close(f);assign(f,filename);writeln(‘So dong : ‘,NStr);reaset(f);writeln(‘So ky tu trang: ‘, NBl)NBl:=0;readln;NStr:=0;End.10