Cách làm cho công tơ điên quay chậm???

Với giá điện khoảng 3-4k/kwh thì mỗi tháng sinh viên chúng ta cũng tốn chừng một hai lít tiền điện.Hôm nay em xin chia sẻ với mọi người 1 số cách làm cho công tơ điện quay chậm lại:

C1: Bà con có để ý bên dưới cái đĩa quay ở công tơ có 1 con ốc vít không?Bà còn hãy lấy tu vít vặn con ốc ngay cục nam châm mà cái đĩa quay qua nó lại 1tí là công tơ quay chậm lại ngay.Nhưng nhớ là chặt vừa thui nhé nếu không thì tháng sau nhà bạn sẽ có công tơ mới dùng đó. Cách này hơi nguy hiểm nên đề nghị bà con cẩn thận khi thực hiện. Cách này dễ bị phát hiện lắm vì nếu mở ra để vặn vít thỳ phải cắt đi cái kẹp chì khi nom công tơ là người ta biết liền.

C2: Cách này đơn giản hơn cách trên,bà con chỉ cần đặt 1 cái nam châm vào công tơ thế là nó chạy chậm liền nhưng nhớ phải đặt đúng cực không nó chạy nhanh hơn ngựa đó.

C3: Tháo công tơ ra và điều chỉnh khoảng cách giữa hai cục nam châm và cái đĩa. Nếu khoảng cách này càng xa thì đĩa quay càng chậm nhưng cách này dễ bị lộ vì nếu muốn tháo ra chỉnh thì phải cắt đi cái kẹp chì khi nom công tơ là người ta biết liền. Và bà con nên cẩn thận khi tháo ra rồi lắp vào lại thừa mấy con ốc đó.

C4: Cách này chỉ dùng cho bác nào thích tìm tòi khám phá và có 1 chút hiểu biết về vật lý :Thiết kế một hệ thống như thế này : dùng một cánh quạt có gắn động cơ treo lên vị trí cao nhất của ngôi nhà để làm một máy phát điện gió, khi đó ta sẽ tạo ra được một dòng điện xoay chiều với tần số k ổn định.Tiếp theo bạn làm một mạch chỉnh lưu để biến đổi dòng điện xoay chiều đó thành dòng một chiều và nạp nó vào ăc quy.Việc tiếp theo bạn hãy làm một mạch nghịch lưu để chuyển dòng một chiều đó thành dòng điện xoay chiều tần số 50 HZ ổn định.Việc cuối cùng là đấu nối dòng điện bạn vừa tạo ra lên lưới quốc gia bằng cách hòa đồng bộ, nhớ là đấu sau đồng hồ nhé để nguồn điện do bạn tạo ra đó sẽ giúp quay ngược đồng hồ.Nếu máy phát của bạn đủ mạnh đồng hồ sẽ quay ngược nhiều có khi sẽ làm âm luôn tiền điện của tháng trước và khi đó cuối tháng điện lực còn phải trả lại tiền cho bạn nữa đó, vì bạn đã phát điện lên lưới quốc gia góp phần làm giảm tình trạng thiếu điện nghiêm trọng hiện nay.

C5: Đầu tháng mấy bác cứ dùng thoải mái.Kể cả thứ gì không dùng đến cũng cứ để đấy cho thật nhi���u điện rùi cuối tháng đảo lại dây vào công tơ là nó quay ngược lại liền.Tất nhiên mọi người phải chú ý đến 1 mức nhất định thì đổi lại dây nếu không chủ nhà sẽ nghi sao tự nhiên dùng ít thế.Đã có trường hợp làm cách này dẫn tới chỉ số điện tháng tới âm nên mọi người phải chú ý kĩ càng khi làm cách này.

C6: Không thể thiếu cách này.Đơn giản và ngắn gọn:tiết kiệm điện dùng ít thôi thì tự công tơ nó sẽ quay chậm lại.

Trên đây là 1 số cách làm cho công tơ điện chạy chậm lại.Khi mọi người đọc chắc sẽ nghĩ em đang tuyên truyền cách ăn cắp điện là không tốt nhưng xin thưa với mọi người rằng chắc chắn công tơ nhà mọi người đều chạy nhanh hơn bình thường.Vì vậy trên đây chỉ là 1 số cách để làm cho nó trở về trạng thái hoạt động bình thường thôi.

 

Nguồn: Diễn đàn HĐH Nam Định

DateDiff() function in C#

using System;


namespace ReflectionIT.System {

    public enum DateInterval {
        Year,
        Month,
        Weekday,
        Day,
        Hour,
        Minute,
        Second
    }

    public class DateTimeUtil {

        public static long DateDiff(DateInterval interval, DateTime date1, DateTime date2) {

            TimeSpan ts = date2 - date1;

            switch (interval) {
                case DateInterval.Year:
                    return date2.Year - date1.Year;
                case DateInterval.Month:
                    return (date2.Month - date1.Month) + (12 * (date2.Year - date1.Year));
                case DateInterval.Weekday:
                    return Fix(ts.TotalDays) / 7;
                case DateInterval.Day:
                    return Fix(ts.TotalDays);
                case DateInterval.Hour:
                    return Fix(ts.TotalHours);
                case DateInterval.Minute:
                    return Fix(ts.TotalMinutes);
                default:
                    return Fix(ts.TotalSeconds);
            }
        }

        private static long Fix(double Number) {
            if (Number >= 0) {
                return (long)Math.Floor(Number);
            }
            return (long)Math.Ceiling(Number);
        }
    }
}

Đệ qui trong MS SQL 2005

 

/*Tạo 1 bảng tạm Sample1 có các field như bên dưới. */

declare @Sample1 table 
  ( 
      RecordID int  Primary key NOT NULL ,
      ParentRecordID int,
      SortOrder int,
      Description nvarchar(100),
      Salary money
   )

 /* Start loading of test data */
1.  insert into @Sample1 values(1,null,null,'CEO',10)
2.  insert into @Sample1 values(2,1,1,'Vice Pres. Marketing',9)
3.  insert into @Sample1 values(3,1,2,'Vice Pres. Ops-',8)
4.  insert into @Sample1 values(4,2,1,'Marketing Director - Direct Mail',7)
5.  insert into @Sample1 values(5,2,2,'Marketing Director - TV',6)
6.  insert into @Sample1 values(6,1,3,'Vice Pres. - Research',5)
7.  insert into @Sample1 values(7,4,1,'Human Resources Director',4)
8.  insert into @Sample1 values(8,4,2,'Some other item',3)
9.  insert into @Sample1 values(9,6,1,'Research Analyst',2)

/*
Hàng 1 là record gốc(cha) nên ParentRecordID = null, và SortOrder(sắp thứ tự) cũng bằng null
Hàng 2 có 1 record liên quan tức record lớn hơn(hay còn gọi là có record cha) nên ParentRecordID=1, và SortOrder khởi đầu bằng 1
Tương tự, hàng 3 cũng vậy.
Hàng 4 thì ParentRecordID=2 thì tức là record hàng 2 là cha của nó.
Cứ như vậy chèn cho đến hết các record.
Câu đệ qui trình bày giúp duyệt hết record này.
*/

  set nocount off;

/*Đây là hàm đệ qui*/
 with RecursionCTE (RecordID,ParentRecordID,SortOrder,Salary,TOC)
 as
 (
   select RecordID,ParentRecordID,SortOrder,Salary,
          convert(varchar(100),'') TOC
      from @Sample1
      where ParentRecordID is null
   union all
   select R1.RecordID,
          R1.ParentRecordID,
          R1.SortOrder,
          R1.Salary,
          case when DataLength(R2.TOC) > 0
                    then convert(varchar(100),R2.TOC + '.'
                                 + cast(R1.SortOrder as varchar(10))) 
                    else convert(varchar(100),
                                cast(R1.SortOrder as varchar(10))) 
                    end as TOC
      from @Sample1 as R1
     join RecursionCTE as R2 on R1.ParentRecordID = R2.RecordID     /*Kết giữa RecordID và ParentRecordID     */
  )

select * from RecursionCTE order by ParentRecordID,SortOrder asc

Results

RecordID    ParentRecordID SortOrder   Salary     TOC
----------- -------------- ----------- -----------------
1           NULL           NULL        10.00                
2           1              1            9.00       1
3           1              2            8.00       2
6           1              3            5.00       3
4           2              1            7.00       1.1
5           2              2            6.00       1.2
7           4              1            4.00       1.1.1
8           4              2            3.00       1.1.2
9           6              1            2.00       3.1

 

Sum Up Subordinate Salaries of All Employees

set nocount on

  declare @Sample1 table 
  ( 
      RecordID int  Primary key NOT NULL ,
      ParentRecordID int,
      SortOrder int,
      Description nvarchar(100),
      Salary money
   )

 /* Start loading of test data */
  insert into @Sample1 values(1,null,null,'CEO',10)
  insert into @Sample1 values(2,1,1,'Vice Pres. Marketing',9)
  insert into @Sample1 values(3,1,2,'Vice Pres. Ops-',8)
  insert into @Sample1 values(4,2,1,'Marketing Director - Direct Mail',7)
  insert into @Sample1 values(5,2,2,'Marketing Director - TV',6)
  insert into @Sample1 values(6,1,3,'Vice Pres. - Research',5)
  insert into @Sample1 values(7,4,1,'Human Resources Director',4)
  insert into @Sample1 values(8,4,2,'Some other item',3)
  insert into @Sample1 values(9,6,1,'Research Analyst',2)

set nocount off;

 with RecursionCTE (RecordID,ParentRecordID,SortOrder,Salary)
 as
 (
   select RecordID,ParentRecordID,SortOrder,Salary
      from @Sample1
      where ParentRecordID is null
   union all
   select R1.RecordID,
          R1.ParentRecordID,
          R1.SortOrder,
          R1.Salary
      from @Sample1 as R1
     join RecursionCTE as R2 on R1.ParentRecordID = R2.RecordID
  )
 select sum(R1.salary) as Salary
   from @Sample1 as R1
   JOIN RecursionCTE as R2
   on R1.RecordID = R2.RecordID

Results


Salary
---------------------
54.00

(1 row(s) affected)

 

Sum Up Subordinate Salaries of a Specific Employee

set nocount on

  declare @Sample1 table 
  ( 
      RecordID int  Primary key NOT NULL ,
      ParentRecordID int,
      SortOrder int,
      Description nvarchar(100),
      Salary money
   )

 /* Start loading of test data */
  insert into @Sample1 values(1,null,null,'CEO',10)
  insert into @Sample1 values(2,1,1,'Vice Pres. Marketing',9)
  insert into @Sample1 values(3,1,2,'Vice Pres. Ops-',8)
  insert into @Sample1 values(4,2,1,'Marketing Director - Direct Mail',7)
  insert into @Sample1 values(5,2,2,'Marketing Director - TV',6)
  insert into @Sample1 values(6,1,3,'Vice Pres. - Research',5)
  insert into @Sample1 values(7,4,1,'Human Resources Director',4)
  insert into @Sample1 values(8,4,2,'Some other item',3)
  insert into @Sample1 values(9,6,1,'Research Analyst',2)

set nocount off;

 with RecursionCTE (RecordID,ParentRecordID,SortOrder,Salary)
 as
 (
   select RecordID,ParentRecordID,SortOrder,Salary
      from @Sample1
      where ParentRecordID =2 -- specific employee id
   union all
   select R1.RecordID,
          R1.ParentRecordID,
          R1.SortOrder,
          R1.Salary
      from @Sample1 as R1
     join RecursionCTE as R2 on R1.ParentRecordID = R2.RecordID
  )
 select sum(R1.salary) as Salary
   from @Sample1 as R1
   JOIN RecursionCTE as R2
   on R1.RecordID = R2.RecordID

Results:



Salary
---------------------
20.00

 

Manager to Subordinate Salary Differential

 

set nocount on

  declare @Sample1 table 
  ( 
      RecordID int  Primary key NOT NULL ,
      ParentRecordID int,
      SortOrder int,
      Description nvarchar(100),
      Salary money
   )

 /* Start loading of test data */
  insert into @Sample1 values(1,null,null,'CEO',10)
  insert into @Sample1 values(2,1,1,'Vice Pres. Marketing',9)
  insert into @Sample1 values(3,1,2,'Vice Pres. Ops-',8)
  insert into @Sample1 values(4,2,1,'Marketing Director - Direct Mail',7)
  insert into @Sample1 values(5,2,2,'Marketing Director - TV',6)
  insert into @Sample1 values(6,1,3,'Vice Pres. - Research',5)
  insert into @Sample1 values(7,4,1,'Human Resources Director',4)
  insert into @Sample1 values(8,4,2,'Some other item',3)
  insert into @Sample1 values(9,6,1,'Research Analyst',2)

set nocount off;

 with RecursionCTE (RecordID,ParentRecordID,SortOrder,ParentSalary,Salary,Differential)
 as
 (
   select RecordID,ParentRecordID,SortOrder,
            convert(money,null) as ParentSalary,
            Salary,
            convert(money,null) as Differential
      from @Sample1
      where ParentRecordID is null
   union all
   select R1.RecordID,
            R1.ParentRecordID,
            R1.SortOrder,
            convert(money,R2.Salary) as ParentSalary,
            R1.Salary,
            convert(money,R2.Salary - R1.Salary) as Differential
      from @Sample1 as R1
     join RecursionCTE as R2 on R1.ParentRecordID = R2.RecordID


  )

select * from RecursionCTE order by ParentRecordID,SortOrder asc

 

RecordID    ParentRecordID SortOrder   ParentSalary          Salary                Differential
----------- -------------- ----------- --------------------- --------------------- ---------------------
1           NULL           NULL        NULL                  10.00                 NULL
2           1              1           10.00                 9.00                  1.00
3           1              2           10.00                 8.00                  2.00
6           1              3           10.00                 5.00                  5.00
4           2              1           9.00                  7.00                  2.00
5           2              2           9.00                  6.00                  3.00
7           4              1           7.00                  4.00                  3.00
8           4              2           7.00                  3.00                  4.00
9           6              1           5.00                  2.00                  3.00