Đến nội dung

Hình ảnh

Tuyển tập bài tập Pascal

pascal

  • Please log in to reply
Chủ đề này có 30 trả lời

#21
hxthanh

hxthanh

    Tín đồ $\sum$

  • Hiệp sỹ
  • 3915 Bài viết

Chỉ em cách làm số 4 chữ số ngẫu nhiên đi thầy?!!

Để thật sự ngẫu nhiên thì cần có lệnh Randomize;

Em có thể cho từng chữ số của số $\overline{abcd}$ random

Ví dụ a:=random(10); b:=random(10); ...

Hoặc cả số x:=random(10000); sẽ được số x ngẫu nhiên trong khoảng $0\le x \le 9999$

 

Để phân tích và so sánh cho điểm, em cần phải tách từng chữ số của số có 4 chữ số được nhập vào rồi ghi vào a[1], b[1], c[1], d[1] chẳng hạn.

Sau đó so sánh a[1] với a, nếu bằng thì +10 cho điểm, nếu không thì so với b, nếu bằng thì +1 cho điểm, v.v...

 

Mệt quá thì em thư giãn bằng mấy cái này: (Tất cả đều là sản phẩm của Borland Pascal 7)

(Xephinh chạy rất mượt trên Windows XP, Win7 phải chạy bằng Batch Dos.

Cobac4 chạy bằng Batch Dos sẽ có âm thanh thực!)

File gửi kèm  XepHinh.rar   2.09MB   348 Số lần tải



#22
nghethuat102

nghethuat102

    Trung sĩ

  • Thành viên
  • 147 Bài viết

Để thật sự ngẫu nhiên thì cần có lệnh Randomize;

Em có thể cho từng chữ số của số $\overline{abcd}$ random

Ví dụ a:=random(10); b:=random(10); ...

Hoặc cả số x:=random(10000); sẽ được số x ngẫu nhiên trong khoảng $0\le x \le 9999$

 

Để phân tích và so sánh cho điểm, em cần phải tách từng chữ số của số có 4 chữ số được nhập vào rồi ghi vào a[1], b[1], c[1], d[1] chẳng hạn.

Sau đó so sánh a[1] với a, nếu bằng thì +10 cho điểm, nếu không thì so với b, nếu bằng thì +1 cho điểm, v.v...

 

Mệt quá thì em thư giãn bằng mấy cái này: (Tất cả đều là sản phẩm của Borland Pascal 7)

(Xephinh chạy rất mượt trên Windows XP, Win7 phải chạy bằng Batch Dos.

Cobac4 chạy bằng Batch Dos sẽ có âm thanh thực!)

attachicon.gifXepHinh.rar

em làm mà sao nó cứ lặp lui lặp tới 1 số, nên dùng thêm cả kiểu file để lưu trữ nua? như thế có đc k thầy?

 

AAAA   :ohmy:  trò chơi hay thế ,trên cả tuyệt vời


Bài viết đã được chỉnh sửa nội dung bởi nghethuat102: 23-07-2014 - 14:46


#23
nghethuat102

nghethuat102

    Trung sĩ

  • Thành viên
  • 147 Bài viết

Để thật sự ngẫu nhiên thì cần có lệnh Randomize;

Em có thể cho từng chữ số của số $\overline{abcd}$ random

Ví dụ a:=random(10); b:=random(10); ...

Hoặc cả số x:=random(10000); sẽ được số x ngẫu nhiên trong khoảng $0\le x \le 9999$

 

Để phân tích và so sánh cho điểm, em cần phải tách từng chữ số của số có 4 chữ số được nhập vào rồi ghi vào a[1], b[1], c[1], d[1] chẳng hạn.

Sau đó so sánh a[1] với a, nếu bằng thì +10 cho điểm, nếu không thì so với b, nếu bằng thì +1 cho điểm, v.v...

 

Mệt quá thì em thư giãn bằng mấy cái này: (Tất cả đều là sản phẩm của Borland Pascal 7)

(Xephinh chạy rất mượt trên Windows XP, Win7 phải chạy bằng Batch Dos.

Cobac4 chạy bằng Batch Dos sẽ có âm thanh thực!)

attachicon.gifXepHinh.rar

uses crt;
var  ck,ck1:char;
     a,b,c,d:integer;
     f:text;
     w:array[0..9] of boolean;
   procedure chonso;
    var i:integer;
     begin
     for i:=0 to 9 do
       w[i]:=true;
         randomize;
         repeat a:=random(10);until w[a]=true;
         w[a]:=false;
         repeat b:=random(10);until w[b]=true;
         w[b]:=false;
         repeat c:=random(10);until w[c]=true;
         w[c]:=false;
         repeat d:=random(10);until w[d]=true;
         w[d]:=false;
     end;
   procedure hoi;
    begin
     gotoxy(4,19);
     write('Ban co choi tiep khong?(c/k)   ');
    repeat
     gotoxy(34,19);
     clreol;
     read(ck1);
    until (ck1='c')or(ck1='k');
    end;
   procedure ke;
    var i:integer;
    begin
     for i:=1 to 80 do
     write('*');
    end;
   procedure sailam;
      begin
      gotoxy(3,17);
      writeln('Ban da cho diem sai o lan nao do phai khong?');
      gotoxy(1,18);
      ke;
      hoi;
      end;
   procedure hanhdong1;
     var n,k,i,a1,a2:integer;    s:string;
         q:array[1..4] of integer;
      begin
      clrscr;
      gotoxy(1,1);
      ke;
      gotoxy(22,3);
      writeln('Moi ban thu tai suy luan!');
         for i:=1 to 7 do
          begin
          gotoxy(1,7+i-1);
          write(' Lan doan ',i,': ');
          repeat
          gotoxy(20,7+i-1);
          clreol;
          read(n);
          k:=1;
          str(n,s);
          if (length(s)=3)or(length(s)=4) then
          begin
          k:=0;
          q[4]:=n mod 10;
          q[3]:=(n mod 100)div 10;
          q[2]:=(n div 100)mod 10;
          q[1]:=n div 1000;
          for a1:=1 to 3 do
          for a2:=a1+1 to 4 do
           if q[a1]=q[a2] then k:=k+1;
          end;
          until k=0;
           if a=q[1] then k:=k+10;
           if b=q[2] then k:=k+10;
           if c=q[3] then k:=k+10;
           if d=q[4] then k:=k+10;
           if (a=q[2])or(a=q[3])or(a=q[4]) then k:=k+1;
           if (b=q[1])or(b=q[3])or(b=q[4]) then k:=k+1;
           if (c=q[1])or(c=q[2])or(c=q[4]) then k:=k+1;
           if (d=q[1])or(d=q[2])or(d=q[3]) then k:=k+1;
           if k=40 then break
           else
               begin
               gotoxy(27,7+i-1);
               if k div 10=0 then write('0',k)
               else
               write(k);
               end;
          end;
         gotoxy(2,14);
         if k<>40 then
           write('Da het luot doan, so can tim la: ',a,b,c,d)
         else
           write('Chuc mung ban da doan dung, so can tim la: ',a,b,c,d);
          gotoxy(1,15);
         ke;
         hoi;
      end;
   procedure hanhdong2;
     var i:integer;
      begin
      gotoxy(1,1);
      ke;
      end;
   procedure tambiet;
      begin
      clrscr;
      gotoxy(33,12);
      writeln('Chao tam biet!');
      gotoxy(23,14);
      writeln('@ Written by: Nguyen Huu Phong - 2014');
      readln;
      end;
 begin
 repeat
  clrscr;
  gotoxy(21,1);
  writeln('TRO CHOI DOAN SO GIUA BAN VA MAY');
  gotoxy(4,3);
  writeln('cho mot so co 4 chu so khac nhau. Ban phai tim ra so nay qua 7 lan doan.');
  writeln('Sau moi lan doan may se cho ban mot thong tin dang xA yB. Voi x la so chu so');
  writeln('ban doan dung va nam dung vi tri con y la so chu so dung nhung sai vi tri.');
  gotoxy(27,7);
  writeln('AN 1 HOAC 2 DE LUA CHON');
  writeln;
  write('  1. Ban la nguoi doan so');
  write('             2. May tinh se doan so cua ban ');
  {_____________________________________________________________________}
    repeat
     gotoxy(71,9);
     clreol;
     read(ck);
    until (ck='1')or(ck='2');
  if ck='1' then
     begin
     chonso;
     hanhdong1;
     end
  else hanhdong2;
   if ck1='k' then tambiet;
 until ck1='k';
 readln;
  end.

Em làm được phần chấm điểm thôi, còn phân tích thì e chịu


Bài viết đã được chỉnh sửa nội dung bởi nghethuat102: 23-07-2014 - 16:11


#24
hxthanh

hxthanh

    Tín đồ $\sum$

  • Hiệp sỹ
  • 3915 Bài viết

Em làm ... gần chuẩn rồi! 

Gợi ý cho em phần thuật toán cho Computer

Thực ra rất đơn giản, em cứ vét cạn thôi

Đầu tiên máy đoán ngẫu nhiên ra một số ở lần 1

Nên dùng x[1]=Random(10000);

Lần 2 lập lại x[2]=Random(10000); kết hợp điều kiện x[2] khác x[1] và điểm của (x[2] so với x[1]) bằng điểm người cho lần 1

Lần 3 tiếp tục x[3]=Random(10000); kết hợp điều kiện x[3] khác x[2], khác x[1], và điểm (x[3] so với x[1]) bằng điểm người cho lần 1, điểm (x[3] so với x[2]) bằng điểm người cho lần 2

cứ tiếp tục vét cạn như thế!

Đến hết lần 7 mà không tìm thấy thì máy thua! :luoi: :D



#25
hxthanh

hxthanh

    Tín đồ $\sum$

  • Hiệp sỹ
  • 3915 Bài viết
Uses Crt;
Const E=[0,1,2,3,4,10,11,12,13,20,21,22,30,40];
  Function hg(n,x:integer):shortint;
    begin
      hg:=(x div n)-10*(x div (10*n));
    end;


  Function dk(x:integer):boolean;
    begin
      dk:=false;
      if (hg(1,x)<>hg(10,x))and(hg(1,x)<>hg(100,x))and(hg(1,x)<>hg(1000,x))and(hg(10,x)<>hg(100,x))
        and(hg(10,x)<>hg(1000,x))and(hg(100,x)<>hg(1000,x))and(x<9877)and(x>122)
      then dk:=true;
    end;


  Function ss(x,y:shortint):shortint;
    begin
      ss:=0;if x=y then ss:=1;
    end;


  Function diem(x,y:integer):shortint;
    begin
      diem:=10*(ss(hg(1000,x),hg(1000,y))+ss(hg(100,x),hg(100,y))+ss(hg(10,x),hg(10,y))
        +ss(hg(1,x),hg(1,y)))+ss(hg(1000,x),hg(100,y))+ss(hg(1000,x),hg(10,y))+ss(hg(1000,x),hg(1,y))
        +ss(hg(100,x),hg(1000,y))+ss(hg(100,x),hg(10,y))+ss(hg(100,x),hg(1,y))+ss(hg(10,x),hg(1000,y))
        +ss(hg(10,x),hg(100,y))+ss(hg(10,x),hg(1,y))+ss(hg(1,x),hg(1000,y))
        +ss(hg(1,x),hg(100,y))+ss(hg(1,x),hg(10,y));
    end;


  PROCEDURE May;
  VAR x:array[-5..7]of integer;
        chdx:array[-5..7]of shortint;i:shortint;
      zz: longint;
  BEGIN
    clrscr; readln;
    writeln('********************************************************************************');
    writeln('  LUU Y: Ban phai tra loi that chinh xac qua moi lan may tinh doan.');
    writeln('De tra loi chinh xac ban chi can nhap vao mot so co 2 chu so');
    writeln('Vi du: "21" co nghia la 2A 1B, "40" co nghia la may da doan dung!');
    writeln; writeln;
    x[-5]:=-1111;x[-4]:=-1111;x[-3]:=-1111;x[-2]:=-1111;x[-1]:=-1111;x[0]:=-1111;
    chdx[-5]:=0;chdx[-4]:=0;chdx[-3]:=0;chdx[-2]:=0;chdx[-1]:=0;chdx[0]:=0;
    i:=1;
    while i<9 do
    begin
      zz:=1;
      randomize;
      repeat
        x[i]:=random(10000);
        zz:=zz+1;
        if (zz=20000)or(i=8) then
        begin
        gotoxy(3,17); Writeln('Ban da cho diem sai o lan nao do phai khong?');
        readln;
        exit;
        end;
      until dk(x[i])
        and(x[i]<>x[i-1])and(x[i]<>x[i-2])and(x[i]<>x[i-3])and(x[i]<>x[i-4])and(x[i]<>x[i-5])and(x[i]<>x[i-6])
        and(diem(x[i-6],x[i])=chdx[i-6])and(diem(x[i-5],x[i])=chdx[i-5])and(diem(x[i-4],x[i])=chdx[i-4])
        and(diem(x[i-3],x[i])=chdx[i-3])and(diem(x[i-2],x[i])=chdx[i-2])and(diem(x[i-1],x[i])=chdx[i-1]);
      if x[i]<1000 then write(' Lan thu ',i,'    0',x[i],'  ');
      if x[i]>1000 then write(' Lan thu ',i,'    ',x[i],'  ');
      zz:=1;
      repeat
        gotoxy(21,7+i);clreol;read(chdx[i]);
      until chdx[i] in E;
      if chdx[i]=40 then exit;
      i:=i+1;
    end;
  END;
PROCEDURE Ban;
VAR i:shortint;y:integer;
    x:array[1..7]of integer;
BEGIN
  clrscr;randomize;
  repeat
    y:=random(10000);
  until dk(y);readln;
  writeln('********************************************************************************');
  writeln('                     Moi ban thu tai suy luan !!!');
  writeln;
  i:=1;
  while i<=7 do
  begin
    repeat
      gotoxy(1,6+i);clreol;
      write(' Lan doan thu ',i,': ');gotoxy(25,6+i);read(x[i]);
    until dk(x[i]);
    if diem(x[i],y)=40 then
    begin
      if y<1000 then
      begin
        writeln('   Ban doan dung roi,chinh la so: 0',y);
        exit;
      end;
      if y>1000 then
      begin
        writeln('   Ban doan dung roi,chinh la so: ',y);
        exit;
      end;
    end;
    gotoxy(32,6+i);writeln(diem(x[i],y)div 10,'A',' ',diem(x[i],y)-10*(diem(x[i],y)div 10),'B');
    i:=i+1;
  end;
  if y<1000 then writeln('  Da het luot doan, so can tim la: 0',y);
  if y>1000 then writeln('  Da het luot doan, so can tim la: ',y);
END;
PROCEDURE Ketthuc;
BEGIN
clrscr;gotoxy(34,13);write('Chao tam biet!');
        gotoxy(24,15);write('@ Written by: Hoàng Xuân Thanh - 2002');readln;
        halt;
END;
{Chuong trinh chinh}
VAR ch,tr:char;
BEGIN
    Repeat
      clrscr;
      writeln('                      TRO CHOI DOAN SO GIUA BAN VA MAY TINH');writeln;
        writeln('  Cho mot so co 4 chu so khac nhau. Ban phai tim ra so nay qua 7 lan doan.');
        writeln('Sau moi lan doan may se cho ban mot thong tin dang xA yB. Voi x la so chu so ');
        writeln('ban doan dung va nam dung vi tri con y la so chu so dung nhung sai vi tri');writeln;
        writeln('                            AN 1 HOAC 2 DE LUA CHON'); writeln;
        repeat gotoxy(0,9);clreol;
        write('  1. Ban la nguoi doan so               2. May tinh se doan so cua ban ');
        read(tr)until tr in['1','2'];if (tr='1') then Ban; if (tr='2') then May;
        writeln('*******************************************************************************');
        gotoxy(3,19);write(' Ban co choi tiep khong?(c/k) ');
        repeat gotoxy(34,19);clreol;read(ch)until ch in['c','C','k','K'];readln;
        if ch in['c','C']then continue;
        if ch in['k','K']then Ketthuc;
    Until false;
END.

Đây là nguyên đoạn code của cái DoanSo ở đề bài! :)

Function hg(n,x); tách hàng (đơn vị, chục, trăm, nghìn) của một số

Function dk(x); Kiểm tra điều kiện tất cả các hàng của một số phải khác nhau

Function ss(x,y); So sánh hai chữ số x với y nếu bằng nhau thì là 1

Function diem(x,y) Đánh giá sự khác biệt giữa hai số x và y theo giả thiết.



#26
nghethuat102

nghethuat102

    Trung sĩ

  • Thành viên
  • 147 Bài viết

 

Uses Crt;
Const E=[0,1,2,3,4,10,11,12,13,20,21,22,30,40];
  Function hg(n,x:integer):shortint;
    begin
      hg:=(x div n)-10*(x div (10*n));
    end;


  Function dk(x:integer):boolean;
    begin
      dk:=false;
      if (hg(1,x)<>hg(10,x))and(hg(1,x)<>hg(100,x))and(hg(1,x)<>hg(1000,x))and(hg(10,x)<>hg(100,x))
        and(hg(10,x)<>hg(1000,x))and(hg(100,x)<>hg(1000,x))and(x<9877)and(x>122)
      then dk:=true;
    end;


  Function ss(x,y:shortint):shortint;
    begin
      ss:=0;if x=y then ss:=1;
    end;


  Function diem(x,y:integer):shortint;
    begin
      diem:=10*(ss(hg(1000,x),hg(1000,y))+ss(hg(100,x),hg(100,y))+ss(hg(10,x),hg(10,y))
        +ss(hg(1,x),hg(1,y)))+ss(hg(1000,x),hg(100,y))+ss(hg(1000,x),hg(10,y))+ss(hg(1000,x),hg(1,y))
        +ss(hg(100,x),hg(1000,y))+ss(hg(100,x),hg(10,y))+ss(hg(100,x),hg(1,y))+ss(hg(10,x),hg(1000,y))
        +ss(hg(10,x),hg(100,y))+ss(hg(10,x),hg(1,y))+ss(hg(1,x),hg(1000,y))
        +ss(hg(1,x),hg(100,y))+ss(hg(1,x),hg(10,y));
    end;


  PROCEDURE May;
  VAR x:array[-5..7]of integer;
        chdx:array[-5..7]of shortint;i:shortint;
      zz: longint;
  BEGIN
    clrscr; readln;
    writeln('********************************************************************************');
    writeln('  LUU Y: Ban phai tra loi that chinh xac qua moi lan may tinh doan.');
    writeln('De tra loi chinh xac ban chi can nhap vao mot so co 2 chu so');
    writeln('Vi du: "21" co nghia la 2A 1B, "40" co nghia la may da doan dung!');
    writeln; writeln;
    x[-5]:=-1111;x[-4]:=-1111;x[-3]:=-1111;x[-2]:=-1111;x[-1]:=-1111;x[0]:=-1111;
    chdx[-5]:=0;chdx[-4]:=0;chdx[-3]:=0;chdx[-2]:=0;chdx[-1]:=0;chdx[0]:=0;
    i:=1;
    while i<9 do
    begin
      zz:=1;
      randomize;
      repeat
        x[i]:=random(10000);
        zz:=zz+1;
        if (zz=20000)or(i=8) then
        begin
        gotoxy(3,17); Writeln('Ban da cho diem sai o lan nao do phai khong?');
        readln;
        exit;
        end;
      until dk(x[i])
        and(x[i]<>x[i-1])and(x[i]<>x[i-2])and(x[i]<>x[i-3])and(x[i]<>x[i-4])and(x[i]<>x[i-5])and(x[i]<>x[i-6])
        and(diem(x[i-6],x[i])=chdx[i-6])and(diem(x[i-5],x[i])=chdx[i-5])and(diem(x[i-4],x[i])=chdx[i-4])
        and(diem(x[i-3],x[i])=chdx[i-3])and(diem(x[i-2],x[i])=chdx[i-2])and(diem(x[i-1],x[i])=chdx[i-1]);
      if x[i]<1000 then write(' Lan thu ',i,'    0',x[i],'  ');
      if x[i]>1000 then write(' Lan thu ',i,'    ',x[i],'  ');
      zz:=1;
      repeat
        gotoxy(21,7+i);clreol;read(chdx[i]);
      until chdx[i] in E;
      if chdx[i]=40 then exit;
      i:=i+1;
    end;
  END;
PROCEDURE Ban;
VAR i:shortint;y:integer;
    x:array[1..7]of integer;
BEGIN
  clrscr;randomize;
  repeat
    y:=random(10000);
  until dk(y);readln;
  writeln('********************************************************************************');
  writeln('                     Moi ban thu tai suy luan !!!');
  writeln;
  i:=1;
  while i<=7 do
  begin
    repeat
      gotoxy(1,6+i);clreol;
      write(' Lan doan thu ',i,': ');gotoxy(25,6+i);read(x[i]);
    until dk(x[i]);
    if diem(x[i],y)=40 then
    begin
      if y<1000 then
      begin
        writeln('   Ban doan dung roi,chinh la so: 0',y);
        exit;
      end;
      if y>1000 then
      begin
        writeln('   Ban doan dung roi,chinh la so: ',y);
        exit;
      end;
    end;
    gotoxy(32,6+i);writeln(diem(x[i],y)div 10,'A',' ',diem(x[i],y)-10*(diem(x[i],y)div 10),'B');
    i:=i+1;
  end;
  if y<1000 then writeln('  Da het luot doan, so can tim la: 0',y);
  if y>1000 then writeln('  Da het luot doan, so can tim la: ',y);
END;
PROCEDURE Ketthuc;
BEGIN
clrscr;gotoxy(34,13);write('Chao tam biet!');
        gotoxy(24,15);write('@ Written by: Hoàng Xuân Thanh - 2002');readln;
        halt;
END;
{Chuong trinh chinh}
VAR ch,tr:char;
BEGIN
    Repeat
      clrscr;
      writeln('                      TRO CHOI DOAN SO GIUA BAN VA MAY TINH');writeln;
        writeln('  Cho mot so co 4 chu so khac nhau. Ban phai tim ra so nay qua 7 lan doan.');
        writeln('Sau moi lan doan may se cho ban mot thong tin dang xA yB. Voi x la so chu so ');
        writeln('ban doan dung va nam dung vi tri con y la so chu so dung nhung sai vi tri');writeln;
        writeln('                            AN 1 HOAC 2 DE LUA CHON'); writeln;
        repeat gotoxy(0,9);clreol;
        write('  1. Ban la nguoi doan so               2. May tinh se doan so cua ban ');
        read(tr)until tr in['1','2'];if (tr='1') then Ban; if (tr='2') then May;
        writeln('*******************************************************************************');
        gotoxy(3,19);write(' Ban co choi tiep khong?(c/k) ');
        repeat gotoxy(34,19);clreol;read(ch)until ch in['c','C','k','K'];readln;
        if ch in['c','C']then continue;
        if ch in['k','K']then Ketthuc;
    Until false;
END.

Đây là nguyên đoạn code của cái DoanSo ở đề bài! :)

Function hg(n,x); tách hàng (đơn vị, chục, trăm, nghìn) của một số

Function dk(x); Kiểm tra điều kiện tất cả các hàng của một số phải khác nhau

Function ss(x,y); So sánh hai chữ số x với y nếu bằng nhau thì là 1

Function diem(x,y) Đánh giá sự khác biệt giữa hai số x và y theo giả thiết.

 

Code này tạm thời em chưa thể đọc, e muốn tự nghiên cứu ra cơ  :icon6:

Nhưng mà thầy có thể ra cho em mấy bài gần vs cấp 3 ấy, vì em chuẩn bị lên cấp 3.

 Học đước càng nhiều càng tốt, :luoi:  :luoi:  :luoi:



#27
hxthanh

hxthanh

    Tín đồ $\sum$

  • Hiệp sỹ
  • 3915 Bài viết

Em thật giống tôi ngày trước! Cái gì cũng thích tự mày mò nghiên cứu. Học Pascal tuy rất cơ bản nhưng cũng rất khó! Tuy rằng Pascal có rất ít ứng dụng trong thực tiễn, nhưng một khi giỏi xoay sở với ngôn ngữ này thì tiếp cận với các ngôn ngữ cao hơn cũng dễ dàng hơn! Bây giờ người ta chỉ học Pascal cho ... vui! Chủ yếu để rèn luyên tư duy logic là chính! Bản thân tôi cũng không đụng đến cả chục năm nay rồi!



#28
nghethuat102

nghethuat102

    Trung sĩ

  • Thành viên
  • 147 Bài viết

Em thật giống tôi ngày trước! Cái gì cũng thích tự mày mò nghiên cứu. Học Pascal tuy rất cơ bản nhưng cũng rất khó! Tuy rằng Pascal có rất ít ứng dụng trong thực tiễn, nhưng một khi giỏi xoay sở với ngôn ngữ này thì tiếp cận với các ngôn ngữ cao hơn cũng dễ dàng hơn! Bây giờ người ta chỉ học Pascal cho ... vui! Chủ yếu để rèn luyên tư duy logic là chính! Bản thân tôi cũng không đụng đến cả chục năm nay rồi!

Thế thầy dạy ở trường nào thế thầy? !



#29
nghethuat102

nghethuat102

    Trung sĩ

  • Thành viên
  • 147 Bài viết

Em thật giống tôi ngày trước! Cái gì cũng thích tự mày mò nghiên cứu. Học Pascal tuy rất cơ bản nhưng cũng rất khó! Tuy rằng Pascal có rất ít ứng dụng trong thực tiễn, nhưng một khi giỏi xoay sở với ngôn ngữ này thì tiếp cận với các ngôn ngữ cao hơn cũng dễ dàng hơn! Bây giờ người ta chỉ học Pascal cho ... vui! Chủ yếu để rèn luyên tư duy logic là chính! Bản thân tôi cũng không đụng đến cả chục năm nay rồi!

Chỉ cho em chương quy hoạch động và đệ quy trong pascal vs thầy ơi, quy hoạch động em không đc hiểu cho lắm, đệ quy thì em hiểu rồi!!



#30
cuibap0911

cuibap0911

    Lính mới

  • Thành viên mới
  • 3 Bài viết

Thầy làm giúp em bai này với. xin gửi về mail [email protected]

Cho bảng A kích thước MxN (1< M <5000, 1< N <5000). Phần tử Aij (i = 1..M, j = 1..N)
được gọi là phần tử đặc biệt nếu Aij là phần tử nhỏ nhất trong hàng của nó đồng thời là phần tử
lớn nhất trong cột của nó. Hãy viết chương trình kiểm tra xem bảng A có phần tử đặc biệt hay
không và phần tử đặc biệt đó có phải là số nguyên tố hay không.
Dữ liệu vào trong tập tin văn bản PTDB.inp gồm:
- Dòng 1: hai số M, N (1< M <5000, 1< N <5000).
- M dòng tiếp theo chứa các giá trị gồm N cột.
Kết quả xuất ra tập tin văn bản PTDB.out gồm:
- Dòng 1: Chứa chỉ số của các phần tử đặc biệt.
- Dòng 2: Giá trị của các phần tử đặc biệt.
- Dòng 3: Kiểm tra tính chất số nguyên tố của phần tử đặc biệt.
Lưu ý: các số trên một dòng cách nhau bằng một khoảng trắng.
Ví dụ:
PTDB.inp 
4 3
5 13 9
3 14 16
7 17 14
2 40 23
 
 PTDB.out
Chi so cac phan tu dac biet la: (3,1)
Cac phan tu dac biet co gia tri = 7
Phan tu dac biet 7 la so nguyen to
PTDB.inp 
5 5
15 3 9 2 10
55 14 16 10 5
76 17 14 10 4
12 4 23 3 3
5 14 56 13 5
 
 PTDB.out
Khong co phan tu dac biet


#31
zubaki rin

zubaki rin

    Lính mới

  • Thành viên mới
  • 2 Bài viết

làm giúp mình bài nay với:

cho dãy gồm n phần tử, tính tổng k phần tử bắt đầu từ vị trí b

ví dụ

5 7 4

9

6

2

4

5

test này là tính tổng 7 phần tử bắt đầu từ vị trí thứ 4, kết quả là 35

 







Được gắn nhãn với một hoặc nhiều trong số những từ khóa sau: pascal

1 người đang xem chủ đề

0 thành viên, 1 khách, 0 thành viên ẩn danh