Thông báo

Collapse
No announcement yet.

Giải giúp em câu này ạ

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Giải giúp em câu này ạ

    void main ()
    {
    int n,i,s;
    s=0;
    n=5;
    i=1;
    while(i<n)
    {
    s=s+i;
    i++;
    }
    }
    cho biet gia tri cua n,i,s khi chay xong chuong trinh tren.
    mấy anh ơi chỉ giúp em cách tính ra giá trị của 3 biến trên với, em mới học c nên còn yếu lắm ạ. mong các anh em giúp đỡ , cảm ơn anh em rất nhiều

  • #2
    n= 5
    s= 1+2+3+4
    i=5


    Comment


    • #3
      Nguyên văn bởi ngoanrazor Xem bài viết
      n= 5
      s= 1+2+3+4
      i=5
      anh ơi, i<n mà sao i=5 được hả anh, còn s=s+i thì sao s=1+2+3+4 được hả anh, em ko hiểu chỗ này , anh giải thích dùm em nha,
      cảm ơn anh nhiều lắm

      Comment


      • #4
        Đầu tiên cho s=0, n=5 , i=1
        thực hiện vòng lăp ( nếu i còn nhỏ hơn 5 thì thực hiện s=s+i , i=i+1)
        vl1 : i=1,s=0,n=5 , thoa man điều kiện nên , s=s+i=1 , i=i+1 =2
        vl2 : i=2 , s=1,n=5 , vẫn thoản mẫn điều kiện vòng lặp nên s=s+i = 1+2 , i=i+1=3
        vl3 : i=3, s=3,n=5 , . ................................................. s= 1+2+3 , i= i+1=4
        vl4 ; i=4 , s=1+2+3, n=5 , ............................................ s= 1+2+3+4 , i=i+1 =5
        giờ đên i=5 không nhỏ hơn n nên vòng lặp được thoát
        và kết quả cuối cùng i=5, s= 1+2+3+4 , n=5

        Comment


        • #5
          Đầu tiên cho s=0, n=5 , i=1
          thực hiện vòng lăp ( nếu i còn nhỏ hơn 5 thì thực hiện s=s+i , i=i+1)
          vl1 : i=1,s=0,n=5 , thoa man điều kiện nên , s=s+i=1 , i=i+1 =2
          vl2 : i=2 , s=1,n=5 , vẫn thoản mẫn điều kiện vòng lặp nên s=s+i = 1+2 , i=i+1=3
          vl3 : i=3, s=3,n=5 , . ................................................. s= 1+2+3 , i= i+1=4
          vl4 ; i=4 , s=1+2+3, n=5 , ............................................ s= 1+2+3+4 , i=i+1 =5
          giờ đên i=5 không nhỏ hơn n nên vòng lặp được thoát
          và kết quả cuối cùng i=5, s= 1+2+3+4 , n=5
          cảm ơn anh nhiều lắm, bây giờ em đã hiểu.

          Comment


          • #6
            Đầu tiên cho s=0, n=5 , i=1
            thực hiện vòng lăp ( nếu i còn nhỏ hơn 5 thì thực hiện s=s+i , i=i+1)
            vl1 : i=1,s=0,n=5 , thoa man điều kiện nên , s=s+i=1 , i=i+1 =2
            vl2 : i=2 , s=1,n=5 , vẫn thoản mẫn điều kiện vòng lặp nên s=s+i = 1+2 , i=i+1=3
            vl3 : i=3, s=3,n=5 , . ................................................. s= 1+2+3 , i= i+1=4
            vl4 ; i=4 , s=1+2+3, n=5 , ............................................ s= 1+2+3+4 , i=i+1 =5
            giờ đên i=5 không nhỏ hơn n nên vòng lặp được thoát
            và kết quả cuối cùng i=5, s= 1+2+3+4 , n=
            anh ơi nhưng mà em hỏi anh kia ảnh nói là i cuối cùng bằng 4 thôi anh ạ, vì nó ko được bằng 5 , vậy phải làm sao bây giờ hả anh, cảm ơn anh nhiều lắm

            Comment


            • #7
              Nguyên văn bởi vuhoalam Xem bài viết
              anh ơi nhưng mà em hỏi anh kia ảnh nói là i cuối cùng bằng 4 thôi anh ạ, vì nó ko được bằng 5 , vậy phải làm sao bây giờ hả anh, cảm ơn anh nhiều lắm
              i= 5 em ah, anh làm bên cntt đây


              Comment


              • #8
                i= 5 em ah, anh làm bên cntt đây
                dạ dậy em tin anh, cảm ơn anh nhiều lắm

                Comment


                • #9
                  sẵn tiện mấy anh giúp dùm em câu này luôn ạ, cảm ơn mấy anh nhiều lắm
                  Viết 1 đoạn chương trình con có tên là DELAY_2ms thực hiện chức năng làm trễ 1 khoảng thời gian là 2ms. biết tần số dao động của thạch anh là 12mhz , các phép toán được sử dụng gần đúng,
                  mấy anh ơi, có phải là dùng timer ko ạ, em ko biết dùng delay là dùng cái gì nữa, mong mấy anh giúp đỡ,
                  em viết dạy có đúng ko mấy anh ơi
                  void delay 20us(void)
                  {
                  TMOD=0X01;
                  THO=0Xff;
                  TLO=0Xec;
                  TRO=1;
                  while(!TFO)
                  TFO=0;
                  TRO=0;
                  }

                  Comment


                  • #10
                    dùng timer thì chính xác hơn nếu không dùng thì em cho nó dô 1 vòng lập, ở đây ta biết thạch anh 12mhz thì xung clock 8051 là 1us(micro giây) mà 1ms(mili giây)= 1000us, em làm 1 vòng lập cho nó chạy không để qua 2000 lệnh là đc rồi ~ 2ms


                    Comment


                    • #11
                      dùng timer thì chính xác hơn nếu không dùng thì em cho nó dô 1 vòng lập, ở đây ta biết thạch anh 12mhz thì xung clock 8051 là 1us(micro giây) mà 1ms(mili giây)= 1000us, em làm 1 vòng lập cho nó chạy không để qua 2000 lệnh là đc rồi ~ 2ms
                      nhưng mà anh ơi, đề bài yêu cầu là viết 1 đoạn chương trình con có tên là DELAY_2ms
                      viết sao cũng được miễn là có chương trình con đó là được rồi anh ạ,
                      anh viết dùm em một chương trình đó đi anh, mai em thi rồi, hix, cảm ơn anh nhiều lắm

                      Comment


                      • #12
                        Được voi đòi hai bà tưng

                        Comment


                        • #13
                          trời em chỉ muốn học hỏi thêm thôi mà, đâu có ý gì đâu mà anh nói em như dậy, hixhix

                          Comment

                          Về tác giả

                          Collapse

                          vuhoalam Tìm hiểu thêm về vuhoalam

                          Bài viết mới nhất

                          Collapse

                          Đang tải...
                          X