Trang 16 / 16 FirstFirst ... 1113141516
Hiển thị kết quả từ 151 đến 153 / 153
  1. #151
    Tham gia
    13-08-2012
    Location
    Vĩnh Cửu, Đồng Nai
    Bài viết
    95
    Like
    9
    Thanked 9 Times in 8 Posts
    Quote Được gửi bởi Vuio View Post
    Thật buồn cười, mấy phím chức năng đó phải bao gồm mã #0 và mã phím.
    Chứ như bạn nói Alt+D là #32, #32 chẳng phải dấu cách sao.
    Nên chỉnh lại Alt+D là #0#32 mới đúng
    { TIẾP THEO BÀI #150 }

    Code:
    program Test_Keyboard;
    uses crt;
    var
      key : char;
    begin
      repeat
        key := readkey;
        
        If key <> #0 then
          begin
            case key of
              Chr(32)..Chr(126): writeln (key);           {Phím thường từ ' ' đến '~'  }
    
    
              Chr(8): writeln ('BackSpace'); 
              Chr(9): writeln ('Tab');
              Chr(13): writeln ('Enter');
              Chr(27): writeln ('Escape');
              Chr(32): writeln ('SpaceBar');
            end;
          end              {Không có d?u ';'}      
        else if key = #0 then   {Phím mở rộng? / Phím chức năng?}
          begin
            key := readkey;    {Ðọc lần nữa để lấy mã phím mở rộng}
            case key of
            
              {#0, #2 --->#13: ???}
              
              #1:  writeln ('Alt_Esc');       {*}
              #14: writeln ('Alt_BackSpace'); {*}
              #15: writeln ('Shift_Tab');     {*}  
              
              #16: writeln ('Alt_Q');
              #17: writeln ('Alt_W');  
              #18: writeln ('Alt_E'); 
              #19: writeln ('Alt_R');
              #20: writeln ('Alt_T');
              #21: writeln ('Alt_Y');
              #22: writeln ('Alt_U');
              #23: writeln ('Alt_I'); 
              #24: writeln ('Alt_O');
              #25: writeln ('Alt_P');
              
              {#26 --->#29: ???} 
              
              #30: writeln ('Alt_A');  
              #31: writeln ('Alt_S');  
              #32: writeln ('Alt_D'); 
              #33: writeln ('Alt_F'); 
              #34: writeln ('Alt_G'); 
              #35: writeln ('Alt_H');
              #36: writeln ('Alt_J'); 
              #37: writeln ('Alt_K');
              #38: writeln ('Alt_L'); 
              
              {#39 --->#43: ???}     
              
              #44: writeln ('Alt_Z'); 
              #45: writeln ('Alt_X'); 
              #46: writeln ('Alt_C'); 
              #47: writeln ('Alt_V');
              #48: writeln ('Alt_B'); 
              #49: writeln ('Alt_N'); 
              #50: writeln ('Alt_M'); 
              
              {#51 --->#58: ???}
              
              #59: writeln ('F1');    
              #60: writeln ('F2');  
              #61: writeln ('F3');  
              #62: writeln ('F4');  
              #63: writeln ('F5');  
              #64: writeln ('F6');  
              #65: writeln ('F7');  
              #66: writeln ('F8');  
              #67: writeln ('F9');  
              #68: writeln ('F10'); 
              
              {#69 --->#70: ???}
              
              #71: writeln ('Home');
              #72: writeln ('Up');
              #73: writeln ('PageUp');
             
              {#74: ???}
              
              #75: writeln ('Left');
              
              {#76: ???}
              
              #77: writeln ('Right');
              
              {#78: ???}
              
              #79: writeln ('Ends'); 
              #80: writeln ('Down');
              #81: writeln ('PageDown');
              #82: writeln ('Ins');
              #83: writeln ('Del');
              #84: writeln ('Shift_F1');
              #85: writeln ('Shift_F2');
              #86: writeln ('Shift_F3');
              #87: writeln ('Shift_F4');
              #88: writeln ('Shift_F5');
              #89: writeln ('Shift_F6');
              #90: writeln ('Shift_F7');
              #91: writeln ('Shift_F8');
              #92: writeln ('Shift_F9');
              #93: writeln ('Shift_F10'); 
              #94: writeln ('Ctrl_F1');
              #95: writeln ('Ctrl_F2');
              #96: writeln ('Ctrl_F3');
              #97: writeln ('Ctrl_F4');
              #98: writeln ('Ctrl_F5');
              #99: writeln ('Ctrl_F6');
              #100: writeln ('Ctrl_F7');
              #101: writeln ('Ctrl_F8');
              #102: writeln ('Ctrl_F9');
              #103: writeln ('Ctrl_F10');    
              #104: writeln ('Alt_F1'); 
              #105: writeln ('Alt_F2'); 
              #106: writeln ('Alt_F3'); 
              #107: writeln ('Alt_F4'); 
              #108: writeln ('Alt_F5'); 
              #109: writeln ('Alt_F6'); 
              #110: writeln ('Alt_F7'); 
              #111: writeln ('Alt_F8'); 
              #112: writeln ('Alt_F9'); 
              #113: writeln ('Alt_F10'); 
              #114: writeln ('Ctrl_PrintScreen');  {*}
              #115: writeln ('Ctrl_Left');
              #116: writeln ('Ctrl_Right');
              #117: writeln ('Ctrl_End');    
              #118: writeln ('Ctrl_PageDown'); 
              #119: writeln ('Ctrl_Home');
              #120: writeln ('Alt_1');     
              #121: writeln ('Alt_2');     
              #122: writeln ('Alt_3');   
              #123: writeln ('Alt_4');
              #124: writeln ('Alt_5');     
              #125: writeln ('Alt_6');     
              #126: writeln ('Alt_7');   
              #127: writeln ('Alt_8');
              #128: writeln ('Alt_9');     
              #129: writeln ('Alt_0');
              
              {#130 --->#131: ???}
              
              #132: writeln('Ctrl_PageUp');{*}
              #133: writeln ('F11');       {*}       
              #134: writeln ('F12');       {*}
              #135: writeln ('Shift_F11'); {*}
              #136: writeln ('Shift_F12'); {*}
              #137: writeln ('Ctrl_F11');  {*}
              #138: writeln ('Ctrl_F12');  {*}
              #139: writeln ('Alt_F11');   {*}
              #140: writeln ('Alt_F12');   {*}
              
              {#141 --->#147: ???}
               
              #148: writeln ('Ctrl_Tab');  {*}
              
              {#149 --->#164: ???}
              
              #165: writeln ('Alt_Tab');   {*}           
              
            end;
          end;
      until (key = chr (27));  {Escape}
      Readln;
    end.
    Được sửa bởi ada95 lúc 20:03 ngày 09-08-2021 Reason: Định dạng code
    Life - Love - Freedom

  2. #152
    Tham gia
    18-11-2021
    Bài viết
    4
    Like
    1
    Thanked 0 Times in 0 Posts
    anh chị nào giúp em bài này với ạ
    In ra chữ số thứ N trong phần thập phân của thương số khi chia p cho q.

  3. #153
    Tham gia
    13-08-2012
    Location
    Vĩnh Cửu, Đồng Nai
    Bài viết
    95
    Like
    9
    Thanked 9 Times in 8 Posts
    Quote Được gửi bởi kieutrangnvt View Post
    anh chị nào giúp em bài này với ạ
    In ra chữ số thứ N trong phần thập phân của thương số khi chia p cho q.
    Code:
    (*In ra chữ số thứ N trong phần thập phân 
    của thương số khi chia p cho q.*)
    
    program In_N;
    var
        p :integer; {số chia}
        q :integer; {số bị chia}
        r :real;    {kết quả = p/q}
    
        N :integer; {chữ số N trong phần thập phân} 
        
        f :real;    {phần thập phân}
        i :LongInt; {phần nguyên}
        m :byte;    {Kết quả}
        
        v :integer; {vòng lặp}
    
    begin
        write ('Nhap so chia    p:=');  readln (p);
        write ('Nhap so bi chia q:=');  readln (q);
        write ('Nhap so N:=');          readln (N);
        
        r := p/q;       {thực hiện phép chia}
        f := frac (r);  {lấy phần thập phân}  
        
        for v:=1 to (N+1) do f := f *10; {dịch chuyển f theo số N}
                    
        i := trunc (f); {làm tròn}
        
        m := i mod 10;  {chữ số cuối cùng hàng đơn vị trong số là kết quả}
        
        writeln;
        writeln ('Phep chia p/q = ',r);
        writeln ('Chu so N= ',N,' trong phan thap phan la = ',m);
        readln;
    end.

    Chú ý: vì trong phép chia, chữ số thập phân có khi trải dài nhiều đến vô tận,
    nên phép gán này: i := trunc (f); i có kiểu LongInt, f là real, khi f vượt quá i sẽ tràn biến, kết quả sẽ không chính xác nữa.
    Nên code trên chỉ đúng với N nhỏ (N<12).

    Tôi có cách khác tổng quát hơn với N bất kỳ, chữ số 100 tỷ chẳng hạn, cũng tính được, không hạn chế.
    Nhưng tôi nghĩ yêu cầu của bạn trên đến đây là được rồi. (Lập trình với số lớn)
    Life - Love - Freedom

Trang 16 / 16 FirstFirst ... 1113141516

Tags for this Thread

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •