Mời chúng ta học sinh với quý thầy cô cùng xem thêm "Bài tập về xâu vào Pascal" để khối hệ thống kiến thức học tập tương tự như trau dồi kinh nghiệm tay nghề ra đề thi. Tài liệu cung cấp các dạng bài bác tập khá nhiều dạng, bao gồm kèm theo câu trả lời giúp chúng ta dễ dàng thâu tóm kiến thức hơn.




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

*

BÀI TẬP VỀ XÂUBài tập 6.1: Viết chương trình liệt kê những từ của một xâu ký tự được nhập vào từ bỏ bàn phím, từng từphải được viết trên một dòng.Uses Crt; BeginVar St:String; Write(‘Nhap xau St: ‘); Readln(St);Procedure XoaTrangThua(Var St:String); XoaTrangThua(St);Begin St:=St+#32; Xóa những ký từ trắng ở đầu xâu Writeln(‘Liet ke cac tu trong xau: ‘); While St<1>=#32 vị Delete(St,1,1); While POS(#32,St)0 vì Xóa các ký từ trắng sống cuối xâu Begin While St=#32 DoDelete(St,Length(St),1); Writeln(Copy(St,1,POS(#32,St))); Xóa các ký tự trắng chính giữa xâu Delete(St,1,POS(#32,St)); While POS(#32#32,St)0 bởi vì End;Delete(St,POS(#32#32,St),1); Readln;End; End.Bài tập 6.2: Viết chương trình nhập vào trong 1 xâu ký tự tự bàn phím. Tìm kiếm xâu đảo ngược của xâuđó rồi in hiệu quả ra màn hình hiển thị theo 2 cách: Đệ qui và không đệ qui.Ý tưởng:- nếu xâu St có một ký từ bỏ thì xâu hòn đảo = St. - Ngược lại: Xâu đảo = ký 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 không đệ qui BeginFunction XauDao(St:String):String; If Length(St) If dem>0 Then Writeln(ch,’ : Readln;’,dem); End.Bài tập 6.4: Viết lịch trình xóa các ký từ chữ số trong một xâu ký kết tự được nhập vào từ bànphím.Uses Crt; If St IN <‘0’..’9’> ThenVar St:String; OK:=TrueHàm POSNUM soát sổ xem vào xâu St gồm Else i:=i+1;ký từ bỏ chữ số tuyệt không? giả dụ có, hàm trả về vị If OK Then POSNUM:=i Elsetrí đầu tiên của ký tự chữ số, ngược lại hàm trả POSNUM:=0;về quý hiếm 0 End;Function POSNUM(St:String):Byte;Var OK:Boolean; Begin i:Byte; Write(‘Nhap xau St: ‘); Readln(St);Begin While POSNUM(St)0 do OK:=False; Delete(St,POSNUM(St),1); i:=1; Write(‘Xau sau khoản thời gian xoa: ‘,St); While (i If Length(st1)>Length(st2) Then Lấy phần dư của tổng a+b For i:=1 to Length(st1)-Length(st2) bởi vì sodu:=(a+b+sodu) DIV 10;st2:="0"+st2 Đổi số nguyên c quý phái xâu ký kết tự ch Else str(c,ch); For i:=1 to Length(st2)-Length(st1) vị Cộng xâu ch vào phía bên 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 >0 code:integer; If sodu>0 Then st,ch:string; BeginBegin str(sodu,ch); st:=""; sodu:=0; st:=ch+st; LamDayXau(st1,st2); End; Lấy từng số của 2 xâu: từ nên sang trái Cong:=st; For i:=Length(st1) DownTo 1 vị End; Begin Begin Đổi ký tự thanh lịch số nguyên Write("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 kéo ra cho Writeln("Tong= ",kqua);vào biến hóa c Readln; c:=(a+b+sodu) hack 10; End.BÀI TẬP TỰ GIẢIBài tập 6.11: Viết lịch trình nhập vào một trong những xâu ký tự trường đoản cú bàn phím. Tìm với in ra màn hình mộttừ có độ dài lớn số 1 trong xâu.Gợi ý:Tách từng từ bỏ để đối chiếu (xem bài bác tập 5).Bài tập 6.12: Viết công tác nhập một xâu ký kết tự St từ keyboard và một ký tự ch. In ra mànhình xâu St sau khoản thời gian xóa hết các ký trường đoản cú 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 chương trình nhập một xâu vào từ bàn phím và thông báo lên màn hình hiển thị xâu đócó bắt buộc đối xứng không áp theo 2 cách: Đệ qui và không đệ qui. (Ví dụ: abba, abcba là các xâu đốixứng).Gợi ý: - nếu xâu Length(st)Bài tập 6.16: Viết lịch trình nhập vào một dòng văn bản, hiệu chỉnh văn bản theo những yêucầu dưới đây và in văn bản sau lúc hiệu chỉnh ra màn hình: a. Xóa toàn bộ các cam kết tự white thừa. B. Trước các dấu câu không tồn tại các ký kết tự trắng, sau các dấu câu gồm một cam kết tự trắng. C. Đầu câu in hoa.Bài tập 6.17: Viết chương trình triển khai phép nhân 2 số nguyên lớn.Gợi ý: - Viết hàm nhằm nhân một số lớn với số có một chữ số. - Áp dụng hàm tính tổng 2 số lớn (xem bài tập 10).Bài tập 6.18: Viết lịch trình để nén cùng giải nén một xâu cam kết tự .Ví dụ: Xâu ‘AAAABBBCDDDDDDDEEF’ sau thời điểm nén sẽ biến hóa ‘4A3BC7D2EF’.Bài tập 6.19: Viết lịch trình nhập vào chúng ta tên đầy đủ của các học viên một lớp học (không quá50 người). Hãy sắp xếp lại họ tên của những học viên đó theo sản phẩm công nghệ tự Alphabet (Nếu thương hiệu trùng nhauthì xếp thứ tự theo bọn họ lót, trường hợp họ lót cũng trùng nhau thì xếp thiết bị tự theo họ). In ra screen danhsách của lớp học sau khi đa sắp xếp theo thiết bị tự Alphabet.Gợi ý: - cần sử dụng mảng xâu cam kết tự để lưu trữ họ tên học viên. - Đảo ngược những từ của mình tên trước khi sắp xếp.Bài tập 6.20: Viết chương trình liệt kê ra màn hình hiển thị tất cả những hoán vị của một xâu ký kết tự.Gợi ý:Dùng lời giải quay lui. BÀI TẬP KIỂU BẢN GHIBài tập 7.1: Viết chương trình thực hiện phép cộng 2 số phức.Uses Crt;Type Complex = Record In hiệu quả ra màn hình a,b:Real; Writeln(‘Tong cua 2 so phuc:’); End; If c1.b>=0 Then dau:=’+i’ else dau:=’-Var c1,c2,c3:Complex; i’; dau:string; Writeln(‘c1 = ‘, c1.a:0:2, dau,Begin abs(c1.b):0:2); Số phức c1 Writeln(‘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 c2 Writeln(‘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ức abs(c3.b):0:2); Số phức c3 c3.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 thống trị điểm thi giỏi nghiệp của sinh viên với 2 môn thi: cửa hàng vàchuyên ngành. Nội dung công việc quản lý gồm những:  Nhập điểm mang lại từng sinh viên.  In danh sách sinh viên ra màn hình.  Thống kê con số sinh viên thi đậu.  In ra screen hình list những sinh viên bị thi lại. 4Uses Crt;Const Max=200; Writeln(i:3,".",Hoten:20,DiemCS:5,DiemCN:20Type SinhVien=Record ); Hoten:string<30>; End; DiemCS,DiemCN:Byte; ch:=ReadKey; End; End; Procedure DanhSachSVThilai;Var SV:ARRAY<1..Max> Of SinhVien; Var ch:Char; n:Byte; i:Byte; c:Char; Begin Clrscr;Procedure NhapDanhSach; Writeln("DANH SACH SINH VIEN THIVar ch:Char; LAI");Begin Writeln; Clrscr; WRITELN("STT Ho ten Diem teo so Writeln("NHAP DANH SACH SINH VIEN"); Diem Chuyen nganh"); n:=0; For i:=1 khổng lồ n vị Repeat With SV vị n:=n+1; Begin With SV vày If (DiemCS=5)AND(SV.DiemCN>=5)Begin Then S:=S+1; Clrscr; Writeln("So sinh vien thi dau la: ",s); Writeln("DIEM THI TOT NGHIEP SINH ch:=Readkey;VIEN"); End; Writeln; WRITELN("STT Ho ten Diem teo so BeginDiem Chuyen nganh"); Repeat For i:=1 to n do Clrscr; With SV bởi Writeln("CHUONG TRINH quan tiền LY Begin DIEM 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 Of Until c=#27; "1": NhapDanhSach; End.Bài tập 7.3: Viết chương trình 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 n dt(S)= | xi yi1 xi1yi ) | ( 2 i1trong đó: (xi,yi) là tọa độ đỉnh vật dụng i của nhiều giác S. B/ Nhập vào thêm 1 điểm P(x,y). Hãy chất vấn xem p nằm trong hay quanh đó đ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. N nếu  dt(S ) = dt(S) thì phường  S. I 1 iUses Crt; beginType Toado=Record if i=n then j:=1 else j:=i+1; x,y:integer; s:=s+((P.x*P.y-P.x*P.y)); end; end; Mang=array<0..30> of Toado; DienTichDaGiac:=abs(s)/2; end;Var n:Byte; A:Mang; Function P:ToaDo; DienTichTamGiac(A,B,C:ToaDo):real; BeginProcedure NhapDinh(var n:Byte; Var DienTichTamGiac:=abs(A.x*B.y-P:Mang); B.x*A.y+B.x*C.y-C.x*B.y+C.x*A.y-Var i:Byte; A.x*C.y)/2;Begin End; Write("Nhap so dinh cua da giac n = ");readln(n); Function For i:=1 khổng lồ n vì chưng KiemTra(PP:ToaDo;n:Byte;P:Mang):Boolean; Begin Var i,j:integer; Write("P<",i,">.x = ");readln(P.x); s:real; Write("P<",i,">.y = ");readln(P.y); begin End; s:=0;End; For i:=1 to n vị beginFunction if i=n then j:=1 else j:=i+1;DienTichDaGiac(n:Byte;P:Mang):real; s:=s+DienTichTamGiac(PP,P,P);Var i,j:integer; end; s:real; If round(s)=round(DienTichDaGiac(n,P))Begin then KiemTra:=true s:=0; else KiemTra:=false; for i:= 1 to lớn n bởi end; 6 Write("P.y = ");readln(P.y);Begin If KiemTra(P,n,A) Then Writeln("Diem phường NhapDinh(n,A); nam giới trong domain authority giac S.") Writeln("S=",DienTichDaGiac(n,A):0:2); Else Writeln("Diem p. Nam ngoai da 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 chương trình nhân hai số phức c1, c2.Bài tập 7.5: Viết chương trình quản lý điểm thi học phần của sinh viên bao hàm các ngôi trường sau:Họ tên, Điểm Tin, Điểm nước ngoài ngữ, Điểm trung bình, Xếp loại. Tiến hành các các bước sau: a/ Nhập vào danh sách sinh viên của một tờ (không vượt 30 người), bao gồm: Họ tên, ĐiểmTin, Điểm nước ngoài ngữ. Tính Điểm trung bình cùng Xếp nhiều 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: chúng ta tên Điểm Tin Điểm ngoại Điểm Xếp một số loại ngữ T.Bình trần Văn An 8 9 8.5 giỏi Lê Thị béo 7 5 6.0 T.Bình .......................... ............ ..................... ............ .............. .. C/ In ra screen danh sách phần lớn sinh viên phải 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 với in ra screen những sinh viên tất cả điểm trung bình tối đa lớp. F/ bố trí lại list sinh viên theo sản phẩm công nghệ tự Alphabet. G/ bố trí lại list sinh viên theo lắp thêm tự giảm dần của điểm trung bình. H/ Viết tính năng tra cứu giúp theo thương hiệu không vừa đủ của sinh viên. Ví dụ: lúc nhập vào tênPhuong thì chương trình sẽ tìm và in ra màn hình hiển thị thông tin rất đầy đủ của phần đông sinh viên gồm tênPhuong (chẳng hạn như: Pham Anh Phuong, vì chưng Ngoc Phuong, Nguyen phái nam Phuong...).Bài tập 7.6: Viết chương trình làm chủ sách sinh sống thư viện gồm các trường sau: Mã số sách, Nhan đề,Tên Tác giả, nhà Xuất bản, Năm xuất bản. A/ Nhập vào kho sách của tủ sách (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 gồm trong thư viện. C/ tra cứu một cuốn sách tất cả mã số được nhập vào từ bàn phím. Giả dụ tìm thấy thì in ra màn hìnhthông tin đầy đủ của cuốn sách đó, ngược lại thì thông báo không tìm kiếm thấy. C/ Tìm và in ra screen tất cả những cuốn sách gồm cùng người sáng tác đượ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 các cuốn sách mà lại nhan đề bao gồm chứa từ bất kỳ đượ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: sinh sản một file SINHVIEN.DAT để lưu tin tức của một tấm sinh viên. Mỗi sinh viêncần những thông tin sau: họ tên, Ngày sinh, Quê quán, Điểm trung bình, Xếp nhiều loại (trường xếploại vì chương trình tự tính lấy dựa vào điểm vừa đủ như sau: trường hợp điểm trung bình các loại ‘D’, nếu 5 begin 32:2,quequan,#32:10- read(f,sv); length(quequan),Diemtb:5:2); with sv vị 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 file SINHVIEN.DAT xếp các loại khá(‘B’) trở lên.Program Vi_du_3; writeln("File khong ton tai");Type exit; St20 = String<20>; end; St10 = String<10>; n:=0; SinhVien = record writeln("Danh sach sinh vien dat loai kha tro Hoten: St20; len"); Ngaysinh,Quequan: St10; while not Eof(f) vì chưng DiemTb: real; begin Xeploai: Char; read(f,sv); end; with sv doVar if xeploai write("Ngay sinh: "); if diemtb bài tập 8.7: coppy nội dung của tệp tin SINHVIEN.DAT vào tệp tin văn bạn dạng SINHVIEN.TXT saocho mỗi sinh viên lưu trong một dòng.Program Vidu_7; beginType writeln("File khong ton tai"); St20 = String<20>; exit; St10 = String<10>; end; SinhVien = record rewrite(g); Hoten: St20; while not Eof(f) vày Ngaysinh,Quequan: St10; begin DiemTb: real; read(f, Sv); Xeploai: Char; with Sv vì chưng end; beginVar Str(diemtb,bdiem:5:2); f: tệp tin of SinhVien; St:= g:Text; hoten+#32+ngaysinh+#32+quequan+#32+Bdie St:String; m; Sv: sinhvien; writeln(g,St); Bdiem: String<5>; end;Begin end; assign(f,"sinhvien.dat"); Close(f); $I- Close(g); reset(f); readln; $I+ End. If IOResult 0 thenBài tập 8.8: Một ma trận mxn số thực được chứa trong một tệp tin văn phiên bản có thương hiệu MT.INP gồm: dòngđầu chứa hai số m, n; m dòng tiếp theo sau lần lượt đựng m mặt hàng của ma trận. Hãy viết chương trìnhđọc dữ liệu từ file MT.INP, tính tổng của từng hàng ma trận với ghi lên file văn phiên bản có tênKQ.OUT vào đó, mẫu đầu chứa số m, cái thứ hai chứa m tổng của m mặt hàng (m,n assign(g,’KQ.OUT’); write(g,S:0:2,#32); rewrite(g); close(g); writeln(g,m); End. For i:= 1 khổng lồ m doChú ý:  chương trình trên không kiểm tra sự vĩnh cửu của file ‘MT.INP’, nếu cần phải có thể kiểm tra tương tự các ví dụ như trên.  Tổng của mỗi mặt hàng được lưu trong mảng một chiều S (phần tử S lưu tổng của hàng i)Bài tập 8.9: mang đến 3 ma trận số nguyên A = (aịj)mxn, B = (bjk)nxp, C = (ckl)pxq, được cất trong fileMATRIX.INP gồm: dòng đầu cất 4 số m, n, p, q. M+n+p dòng tiếp theo sau lần lượt chứa m hàngma trận A, n hàng ma trận B và p. Hàng ma trận C. Viết công tác đọc dữ liệu từ fileMATRIX.INP và tính ma trận tích D = AxBxC rồi ghi lên file văn bản có thương hiệu MATRIX.OUTtrong đó: mẫu đầu cất m, q; m dòng tiếp sau chứa m hàng của ma trận D. N phường d il   a ij * b jk * c kl j 1 k 1Program Vidu_9; for l:=1 to lớn q doVar read(f,C); f,g: Text; readln(f); A, B, C, D:array<1..100,1..100> of end;integer; close(f); m,n,p,q,i,j,k,l,r,s: byte; assign(g,’MATRIX.OUT’); rewrite(g);Begin writeln(g,m,#32,q); assign(f,’MATRIX.INP’); for i:= 1 khổng lồ m vì reset(f); begin readln(f,m,n,p,q); for l:=1 lớn q vày fillchar(D,mxq,0); begin for i := 1 lớn m bởi vì for j:= 1 lớn n begin bởi vì for j:= 1 to n bởi vì read(f,A); for k:=1 to p. Do readln(f); end; for j:= 1 lớn n do D := D + A*B*C; begin write(g,D, for k:=1 to p do #32);read(f,B); end; readln(f); writeln(g); end; end; for k:= 1 to p do close(g); begin readln; End.Chú ý: phương pháp tính quý giá của các phần tử ma trận D = (dil)mxq như sau:Bài tập 8.10: Một ma trận mxn số thực được chứa trong một tệp tin văn phiên bản có tên DULIEU.INPgồm: dòng đầu đựng hai số m, n; m dòng tiếp theo sau lần lượt cất m sản phẩm của ma trận. Hãy viếtchương trình đọc dữ liệu từ tệp tin DULIEU.INP, cho biết thêm các hàng của ma trận bao gồm tổng bộ phận trên 12hàng đó to nhất. Tác dụng ghi lên file văn bạn dạng có tên DULIEU.OUT , trong những số đó dòng đầu đựng giátrị lớn nhất của tổng các bộ phận trên một hàng, cái thứ hai đựng chỉ số những hàng đạt cực hiếm tổnglớn nhất đó (m,n GtMax then m,n,i,j: byte; beginBegin T:=; assign(f,’DULIEU.INP’); GtMax:= S; reset(f); end readln(f,m,n); else fillchar(S,m,0); if S = GTMax then for i:= 1 to lớn m vày T:= T+; begin assign(g,’DULIEU.OUT’); S:=0; rewrite(g); for j:=1 to lớn n vày writeln(g,GTMax:0:2); begin for i:=1 to lớn 100 do if i in T then read(f,x); write(g,i,#32); S:=S+x; readln; end; End. Readln(f);Chú ý: lịch trình trên sử dụng mảng S nhằm lưu tổng vốn các phần tử trên từng hàng. Ráng thể, S là tổng mức các thành phần trên hàng vật dụng i của ma trận sẽ cho. Tập T , GTMax theo lần lượt là tập chứa các chỉ số các hàng cùng giá trị lớn nhất của các bộ phận trên mỗi hàng tại thời gian đang xét. Khởi thủy ta xem hàng trước tiên có tổng giá trị lớn nhất. Khi xét hàng thiết bị i có các trường phù hợp sau: - S > GTMax: S new là tổng lớn số 1 và từ bây giờ chỉ bao gồm hàng i giành được giá trị này - S = GTMax: có thêm mặt hàng i đạt giá trị lơn nhất. - S Program Sao_chep_File; assign(g,file_dich);const rewrite(g); bufsize = 200; Temp:= filesize(f);var while Temp > 0 do f,g: file; begin File_nguon, file_dich: String; if bufsize SoHoadon (số hoá đơn); Thang (tháng mua/bán); Mahang (mã sản phẩm mua/bán); Loai (nhận một trong hai quý giá ‘M’(mua) hoặc ‘B’ (bán)Như vậy địa thế căn cứ vào trường Loai ta biết chính là hoá đối kháng mua giỏi hoá đối chọi bán. Viết chương trìnhcho phép nhập vào một dãy các hoá đối kháng và lưu lại vào file mang tên Hoadon.dat, quy trình nhập dừngkhi SoHoadon = 0. Tính số dư trong thời điểm tháng n (n được nhập từ bàn phím khi thực hiện chươngtrình) . Hiểu được số dư vào một tháng được xem theo công thức: Số dư = Tổng phân phối - Tổng mua,trong kia tổng bán, tổng download lần lượt là tổng số chi phí bán, mua trong thời điểm tháng đó.Yêu cầu: khi nhập chăm chú kiểm tra để Loai chỉ nhận một trong các hai quý giá ‘M’ hoặc ‘B’ với tháng chỉ dấn giá trị từ là 1 đến 12. không được áp dụng mảng.Hướng dẫn: Khai báo file lưu những hoá đơn, mỗi hoá 1-1 là một phiên bản ghi như sau Type Hoadon = record SoHoadon: word; Thang: byte; Mahang: string<5>; Loai: char; end; Var f: tệp tin of hoadon;Bài tập 8.19: tín đồ ta làm chủ các đầu sách của một thư viện bởi một bạn dạng ghi gồm bao gồm cáctrường: Masach, Tensach, Tentacgia, Nhaxb (nhà xuất bản), Namxb (năm xuất bản), SoLuong.Viết chương trình được cho phép thực hiện tại các thao tác sau: a. Nhập vào các đầu sách gồm trong thư viện cùng lưu vào file có tên Sach.dat, quá trình nhập giới hạn khi mã sách gửi vào là một trong những xâu rỗng. B. Chăm chú và in ra tên các quyển sách được xuất bạn dạng sau năm m (m được nhập từ bàn phím khi triển khai chương trình). C. Cha sung sách vào thư viện theo yêu thương cầu: ví như sách đã tất cả thì chỉ tăng con số sách xẻ sung, trái lại thêm một đầu sách mới vào file.Chú ý:Không được sử dụng mảng - khi nhập chú ý kiểm tra nhằm năm xuất bản b. In ra danh sách cán bộ có thông số lương nằm trong tầm từ x mang đến y, x với y là những số thực được nhập từ bàn phím khi triển khai chương trình. C. Coppy thông tin những cán bộ có tuổi trên 50 vào một trong những file khác. D. In bảng lương của toàn bộ cán bộ lưu trong file CANBO.DAT ra screen gồm các thông tin: STT, Hoten, HSLuong, Luong, trong đó Luong được tính theo cách làm Luong = (HSLuong+HSPhucap)*290000, tài liệu in ra định hình theo cột. Cuối bảng, in tổng lương của toàn cơ quan. E. Sao chép nội dung của file CANBO.DAT vào tệp tin văn phiên bản CANBO.TXT, mỗi cán bộ khớp ứng một dòng. Phía dẫn: Khai báo từng cán cỗ là một phiên bản ghi như sauType St10 = String<10>; St20 = String<20>; Canbo = Record Hoten, Diachi: St20, Ngaysinh: St10; dd/mm/yyyy HSluong, HSPhucap: real; SoDT: St10; Số điện thoại end;Var f: file of Canbo; lúc nhập ngày sinh đề nghị kiểm tra format theo yêu thương cầu: dd/mm/yyyy Tuổi của một cán bộ được xem bằng năm bây giờ trừ đến năm sinh. Năm sinh đem từ 4 ký tự sau cùng của ngày sinh và gửi sang dạng số.Bài tập 8.21: Viết chương trình nhập vào tên một tệp tin văn bản. Kiểm soát file này còn có tồn trên trên đĩakhông? ví như có, in ngôn từ của file từ mẫu thứ m đến cái thứ n, trong số đó m với n là hai sốnguyên dương bất kỳ được nhập từ bàn phím khi thực hiện chương trình.Hướng dẫn: Mở file bằng giấy tờ thủ tục Reset, rồi chuyển con trỏ về loại thứ m, đọc với in n cái (hoặccho đến khi hết file).Bài tập 8.22:Giả sử vào một file văn phiên bản trên đĩa mang tên là MATRIX.TXT bạn ta vẫn lưu những sốliệu về một ma trận A cung cấp mxn và một vector X n chiều. Cách tàng trữ như sau: Dòng trước tiên chứa hai số m với n chiếc thứ hai chứa vector X m dòng tiếp theo sau lần lượt đựng m hàng của ma trận A Giữa những số vào một dòng phương pháp nhau một cam kết tự trắngViết công tác tính giá trị vector Y = AX với đưa công dụng ra màn hình hiển thị đồng thời lưu giữ vào cuốifile MATRIX.TXT (A cùng X được đem từ file MATRIX.TXT)Yêu cầu: công tác phải tùy chỉnh cấu hình các giấy tờ thủ tục sau LayDulieu(A,X,m,n) thực hiện việc đọc tài liệu từ file MATRIX.TXT cùng gán mang đến A, X, m, n TinhTich(A,X,m,n,Y) tiến hành việc tính vector Y LuuKetqua(Y,m) thực hiện việc in vector Y ra screen và lưu vào thời điểm cuối file MATRIX.TXT Thành phần trang bị i của vector Y được tính theo bí quyết m Y i    Ai, j  * X  j  j 1Bài tập 8.23: đưa sử trong một tệp tin văn phiên bản trên đĩa có tên là DANHBA.TXT giữ danh bạ điệnthoại trong thành phố. Biện pháp lưu như sau: dòng đầu giữ hai số nguyên dương m cùng n, trong số đó m là số máy điện thoại cảm ứng thông minh thuộc cơ quan nhà nước, còn n là số sản phẩm công nghệ thuộc tư nhân.

Xem thêm: Văn Hóa Và Pháp Luật Trong Xã Hội Tin Học Hóa, Bài 9: Tin Học Và Xã Hội

16 m dòng tiếp theo sau lưu thông tin lần lượt của m máy điện thoại thông minh thuộc cơ quan nhà nước, mỗi dòng ghi số điện thoại, một ký kết tự trắng và kế tiếp là tên cơ quan. n dòng tiếp theo sau nữa lưu thông tin lần lượt của n máy smartphone tư nhân, mỗi mẫu ghi số năng lượng điện thoại, một cam kết tự trắng và tiếp nối là bọn họ tên nhà điện thoại.Viết chương trình đọc dữ liệu từ file DANHBA.TXT với in bảng danh bạ điện thoại cảm ứng thông minh ra màn hìnhtheo vật dụng tự tăng ngày một nhiều của chủ máy điện thoại, những máy điện thoại cảm ứng thông minh thuộc ban ngành nhà nước in trướcrồi đến các máy điện thoại cảm ứng tư nhân. Danh sách in ra theo 3 cột, cột 1 ghi số năng lượng điện thoại, cột 2 ghitên cơ sở hoặc tên nhà máy năng lượng điện thoại, cột 3 ghi nhiều loại là TN (tư nhân) hoặc NN (nhà nước)Yêu cầu: Khai báo kiểu phiên bản ghi là MAYDT bao hàm 3 trường: SoDt, TenChu, Loai thiết lập cấu hình thủ tục LayDulieu(A,k) nhằm đọc dữ liệu từ tệp tin DANHBA.TXT và lưu vào mảng A (mảng những MAYDT) cùng với k là số bộ phận của mảng. thiết lập thủ tục SAPXEP(A,k) để bố trí mỗi team máy điện thoại cảm ứng nhà nước, bốn nhân theo sản phẩm tự tăng đột biến của tên công ty máy điện thoại trong mảng A. tùy chỉnh thiết lập thủ tục INKETQUA(A,k) để in ra screen danh bạ điện thoại cảm ứng thông minh từ mảng A.Bài tập 8.24: cho một file văn phiên bản có có tên là MATRIX.TXT với câu chữ như sau: Dòng trước tiên của file cất hai số nguyên dương m và n lần lượt là số hàng cùng số cột của một ma trận cấp cho mxn (m,n