Chào bạn! Rất vui vì bạn đã vào thăm blog của tôi: -)

Danh sách bài đã đăng

Sửa Đóng
uses crt;
type TroChuSo=^ChuSoMoRong;
     ChuSoMoRong=record
                   ChuSo:char;
                   Next,Prev:TroChuSo;
                 end;
var Fa,Fb,Fc,La,Lb,Lc,Heap:TroChuSo;
    dem:word;
 
procedure NhapSo(var Fs,Ls:TroChuSo);
var ch:char;
    S:TrochuSo;
begin
  Fs:=Nil;
  Ls:=Nil;
  repeat
    repeat ch:=readkey until ch in ['0'..'9',#13];
    if ch<>#13 then
      begin
        write(ch);
        New(S);
        S^.ChuSo:=ch;
        S^.Next:=Nil;
        if Fs=Nil then Fs:=S
        else Ls^.Next:=S;
        S^.Prev:=Ls;
        Ls:=S;
      end;
  until ch=#13;
  writeln;
end;
 
procedure XuatSo(Fs:TroChuSo);
var S:TrochuSo;
begin
  S:=Fs;
  while S<>Nil do
    begin
      write(S^.ChuSo);
      S:=S^.Next
    end;
  writeln;
end;
 
procedure CanBang(var Fa,La,Fb,Lb:TroChuSo);
var A,B,S:TroChuSo;
begin
  A:=La;
  B:=Lb;
  while (A<>Nil) and (B<>Nil) do
    begin
      A:=A^.Prev;
      B:=B^.Prev;
    end;
  if B=Nil then
    while A<>Nil do
      begin
        New(S);
        S^.ChuSo:='0';
        S^.Prev:=Nil;
        if Lb=Nil then Lb:=S
        else Fb^.Prev:=S;
        Fb:=S;
        A:=A^.Prev;
      end
  else
    if A=Nil then
      while B<>Nil do
        begin
          New(S);
          S^.ChuSo:='0';
          S^.Prev:=Nil;
          if La=Nil then La:=S
          else Fa^.Prev:=S;
          Fa:=S;
          B:=B^.Prev;
        end;
end;
 
procedure Cong(Fa,La,Fb,Lb:TroChuSo; var Fc,Lc:TroChuSo);
var A,B,C:TroChuSo;
    nho:byte;
begin
  CanBang(Fa,La,Fb,Lb);
  A:=La;
  B:=Lb;
  Fc:=Nil;
  Lc:=Nil;
  nho:=0;
  while (A<>Nil) do
    begin
      New(C);
      C^.ChuSo:=chr((ord(A^.ChuSo)-48+ord(B^.ChuSo)-48+nho) mod 10+48);
      nho:=(ord(A^.ChuSo)-48+ord(B^.ChuSo)-48+nho) div 10;
      C^.Prev:=Nil;
      if Lc=Nil then Lc:=C
      else Fc^.Prev:=C;
      C^.Next:=Fc;
      Fc:=C;
      A:=A^.Prev;
      B:=B^.Prev;
    end;
  if nho=1 then
    begin
      New(C);
      C^.ChuSo:='1';
      C^.Prev:=Nil;
      Fc^.Prev:=C;
      C^.Next:=Fc;
      Fc:=C;
    end;
end;
 
procedure KhoiTao(var Fs,Ls:TroChuSo; so:char);
begin
  New(Fs);
  Fs^.ChuSo:=so;
  Fs^.Next:=Nil;
  Fs^.Prev:=Nil;
  Ls:=Fs;
end;
 
BEGIN
  Mark(Heap);
  TextMode(c80);
  KhoiTao(Fa,La,'0');
  KhoiTao(Fb,Lb,'1');
  dem:=0;
  repeat
    dem:=dem+1;
    Cong(Fa,La,Fb,Lb,Fc,Lc);
    Fa:=Fb;
    La:=Lb;
    Fb:=Fc;
    Lb:=Lc;
    write('F(',dem,')=');
    XuatSo(Fc);
  until dem=563;
  repeat until readkey=#27;
  Release(Heap);
END.
  • Báo cáo

    lightsmok 21:52 25-10-2009

    Em ơi,

    Dòng
    Program <Tên chuong trình>;
    không cần viết, chuong trình vẫn chạy bình thuờng...

    Chúc Em thành công!
  • Báo cáo

    lightsmok 21:51 25-10-2009

    Em oi,

    Dòng
    Program <Tên chuong trình>;
    không c?n vi?t, chuong trình v?n ch?y bình thu?ng...

    Chúc Em thành công!
  • Báo cáo

    agn 19:59 25-10-2009

     Thầy ơi, em muốn hỏi thầy phần Turbo Pascal mà thầy đang dạy 10a2Toán ấy ạk. ở lớp học lý thuyết có chỗ là program, bọn e có phải vjết thêm dòng đấy ko, bt thì e ko thấy thầy bảo vjết, chương trìng hoạt động bt, thế vjết hay ko có j quan trọng ạk, còn cả chỗ mà  x:0:3 trong đáp số nữa, số 0 ấy nghĩa là gì hả thầy???

     em cảm ơn thầy nhiều, hj, từ h có j ko hiểu e hỏi thầy ở đây thầy nhé!!! e  lớp 10a2toán thầy ạk!!!

 

R H
G S
B V

#