CHUỖI VÀ CÁC BÀI TOÁN TRÊN CHUỖI part 3
Số trang: 11
Loại file: pdf
Dung lượng: 25.95 KB
Lượt xem: 17
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tham khảo tài liệu chuỗi và các bài toán trên chuỗi part 3, công nghệ thông tin, tin học văn phòng phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
CHUỖI VÀ CÁC BÀI TOÁN TRÊN CHUỖI part 3 if stack.index=0 then pops:=false else b egin pops:=true; dt:=stack.data[stack.index]; dec(stack.index); end;end;{-----------------------------------------------------------}Procedure WriteStack(stack:stackc);var i:integer;Begin For i:=0 to stack.index do write(stack.data[i]);End;{-------------------------------------------------------------}procedure WriteState(ch:char;P:string; stack:stackc);Begin inc(step); write(step:3, ); write(ch:5); write(p:20);{Hien thi tung buoc} write( ); writestack(stack);{Hien thi tung buoc} writeln; if step mod 23=0 then 23 Vâ Minh Phæ – Bæ m«n Khoa häc m¸y tÝnh Begin write(Press enter to continue...); readln; end;End;{-----------------------------------------------------------}Function Priority(Token:char):integer;Begin case Token of (,): Priority:=0; -,+: Priority:=1; *,/: Priority:=2; ^: Priority:=3; End;End;{-------------------------------------------------------------}Procedure Init(var stack:stackc);Begin stack.index:=0;End;{-------------------------------------------------------------}Procedure InitR(var stack:stackR);Begin stack.index:=0;End;{--------------------------------------------------------------}function TheTop(var stack:stackc):char;Begin if stack.index=0 then 24 Vâ Minh Phæ – Bæ m«n Khoa häc m¸y tÝnh TheTop:=#0 else TheTop:=stack.data[stack.index];End;{-------------------------------------------------------------}function Empty(var stack:stackc):boolean;Begin if stack.index=0 then Empty:=true else Empty:=false;End;{--------------------------------------------------------------}function EmptyR(var stack:stackR):boolean;Begin if stack.index=0 then EmptyR:=true else EmptyR:=false;End;{--------------------------------------------------------------}function Push(var stack:stackc;dt:char):boolean;Begin if stack.index=max+1 then push:=false else Begin inc(stack.index); push:=true; 25 Vâ Minh Phæ – Bæ m«n Khoa häc m¸y tÝnh stack.data[stack.index]:=dt; end;End;{---------------------------------------------------------------}function PushR(var stack:stackR;dt:Real):boolean;Begin if stack.index=max+1 then pushR:=false else Begin inc(stack.index); pushR:=true; stack.data[stack.index]:=dt; end;End;{--------------------------------------------------------}function Pop(var stack:stackc;var dt:char):boolean;Begin if stack.index=0 then Pop:=false else Begin Pop:=True; dt:=stack.data[stack.index]; dec(stack.index); End;End;{---------------------------------------------------------}function PopR(var stack:stackR;var dt:Real):boolean; 26 Vâ Minh Phæ – Bæ m«n Khoa häc m¸y tÝnhBegin if stack.index=0 then PopR:=false else Begin PopR:=True; dt:=stack.data[stack.index]; dec(stack.index); End;End;{----------------------------------------------------------}function DeleteBlank(s:string):string;var i,j:integer;Begin j:=0; i:=1; while ifunction Polish(s:string; var p:string) :boolean;var i,j:integer; stack:stackc; ch:char;Begin Polish:=true; s:=DeleteBlank(s); s:=s+); init(stack); push(stack,(); i:=1; p:=; while not Empty(stack) do Begin if upcase(s[i]) in [A..Z] then Begin p:=p+upcase(s[i]); WriteState(s[i],p,stack); end else Begin if s[i]=( then Begin Push(stack,s[i]); WriteState(s[i],p,stack); End else if s[i] =) then 28 Vâ Minh Phæ – Bæ m«n Khoa häc m¸y tÝnh Begin pop(stack,ch); while ch( do Begin p:=p+ch; pop(stack,ch); End; WriteState(s[i],p,stack); End else if s[i] in [-,+,/,*,^] then Begin{Coi nhu la phep tinh} while (Priority(TheTop(stack))>=Priority(s[i])) do Begin pop(stack,ch); p:=p+ch; End; ...
Nội dung trích xuất từ tài liệu:
CHUỖI VÀ CÁC BÀI TOÁN TRÊN CHUỖI part 3 if stack.index=0 then pops:=false else b egin pops:=true; dt:=stack.data[stack.index]; dec(stack.index); end;end;{-----------------------------------------------------------}Procedure WriteStack(stack:stackc);var i:integer;Begin For i:=0 to stack.index do write(stack.data[i]);End;{-------------------------------------------------------------}procedure WriteState(ch:char;P:string; stack:stackc);Begin inc(step); write(step:3, ); write(ch:5); write(p:20);{Hien thi tung buoc} write( ); writestack(stack);{Hien thi tung buoc} writeln; if step mod 23=0 then 23 Vâ Minh Phæ – Bæ m«n Khoa häc m¸y tÝnh Begin write(Press enter to continue...); readln; end;End;{-----------------------------------------------------------}Function Priority(Token:char):integer;Begin case Token of (,): Priority:=0; -,+: Priority:=1; *,/: Priority:=2; ^: Priority:=3; End;End;{-------------------------------------------------------------}Procedure Init(var stack:stackc);Begin stack.index:=0;End;{-------------------------------------------------------------}Procedure InitR(var stack:stackR);Begin stack.index:=0;End;{--------------------------------------------------------------}function TheTop(var stack:stackc):char;Begin if stack.index=0 then 24 Vâ Minh Phæ – Bæ m«n Khoa häc m¸y tÝnh TheTop:=#0 else TheTop:=stack.data[stack.index];End;{-------------------------------------------------------------}function Empty(var stack:stackc):boolean;Begin if stack.index=0 then Empty:=true else Empty:=false;End;{--------------------------------------------------------------}function EmptyR(var stack:stackR):boolean;Begin if stack.index=0 then EmptyR:=true else EmptyR:=false;End;{--------------------------------------------------------------}function Push(var stack:stackc;dt:char):boolean;Begin if stack.index=max+1 then push:=false else Begin inc(stack.index); push:=true; 25 Vâ Minh Phæ – Bæ m«n Khoa häc m¸y tÝnh stack.data[stack.index]:=dt; end;End;{---------------------------------------------------------------}function PushR(var stack:stackR;dt:Real):boolean;Begin if stack.index=max+1 then pushR:=false else Begin inc(stack.index); pushR:=true; stack.data[stack.index]:=dt; end;End;{--------------------------------------------------------}function Pop(var stack:stackc;var dt:char):boolean;Begin if stack.index=0 then Pop:=false else Begin Pop:=True; dt:=stack.data[stack.index]; dec(stack.index); End;End;{---------------------------------------------------------}function PopR(var stack:stackR;var dt:Real):boolean; 26 Vâ Minh Phæ – Bæ m«n Khoa häc m¸y tÝnhBegin if stack.index=0 then PopR:=false else Begin PopR:=True; dt:=stack.data[stack.index]; dec(stack.index); End;End;{----------------------------------------------------------}function DeleteBlank(s:string):string;var i,j:integer;Begin j:=0; i:=1; while ifunction Polish(s:string; var p:string) :boolean;var i,j:integer; stack:stackc; ch:char;Begin Polish:=true; s:=DeleteBlank(s); s:=s+); init(stack); push(stack,(); i:=1; p:=; while not Empty(stack) do Begin if upcase(s[i]) in [A..Z] then Begin p:=p+upcase(s[i]); WriteState(s[i],p,stack); end else Begin if s[i]=( then Begin Push(stack,s[i]); WriteState(s[i],p,stack); End else if s[i] =) then 28 Vâ Minh Phæ – Bæ m«n Khoa häc m¸y tÝnh Begin pop(stack,ch); while ch( do Begin p:=p+ch; pop(stack,ch); End; WriteState(s[i],p,stack); End else if s[i] in [-,+,/,*,^] then Begin{Coi nhu la phep tinh} while (Priority(TheTop(stack))>=Priority(s[i])) do Begin pop(stack,ch); p:=p+ch; End; ...
Tìm kiếm theo từ khóa liên quan:
thuật toán tài liệu thuật toán chuỗi suy diễn tài liệu lập trình kỹ thuật lap trìnhGợi ý tài liệu liên quan:
-
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 247 0 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 188 0 0 -
Giới thiệu môn học Ngôn ngữ lập trình C++
5 trang 181 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 147 0 0 -
Luận văn: Nghiên cứu kỹ thuật giấu tin trong ảnh Gif
33 trang 147 0 0 -
Bài giảng lập trình c căn bản - Trường Apptech - Chương 4
27 trang 117 0 0 -
Giáo trình Lập trình C căn bản - HanoiAptech Computer Education Center
136 trang 117 0 0 -
Báo cáo thực tập Công nghệ thông tin: Lập trình game trên Unity
27 trang 115 0 0 -
Giáo trình về phân tích thiết kế hệ thống thông tin
113 trang 113 0 0 -
LUẬN VĂN: Tìm hiểu kỹ thuật tạo bóng cứng trong đồ họa 3D
41 trang 104 0 0