Tính tổng trở của một mạch điện phức hợp gồm nhiều mạch song song, nối tiếp
với nhau.
Ờ, cái này rất giống bài của mình, ai giúp với!!!
Cái này là kiến thức vật lý chứ liên quan gì đến JAVA đâu bạn.
Tổng trở của một mạch n điện trở nối tiếp (n mạch nối tiếp) thì bằng tổng các điện trở ( tổng trở mạch) thành phần.
Còn song song thì 1/tổng trở =1/R1+1/R2+…+1/Rn tưởng tự với tổng trở các mạch mắc song song.
Anh hiểu nhằm rồi!
Nếu chỉ việt tính điện trỏ như anh nói, mà em nhờ máy anh giúp chắc giờ em đang ngồi nhằm lớp quá!
Theo yêu cầu của đề là mổ tả cái mạch phức hợp gồm nhiếu mạch song song và nối tiếp.
[QUOTE=11520648;45475]Nếu chỉ việt tính điện trỏ như anh nói, mà em nhờ máy anh giúp chắc giờ em đang ngồi nhằm lớp quá!
Theo yêu cầu của đề là mổ tả cái mạch phức hợp gồm nhiếu mạch song song và nối tiếp.[/QUOTE]
vậy thì rất phức tạp, phải miêu tả mạch điện cụ thể thì mới tính được! nói chung là bài này không đơn giản!
Như thế này ah?
Có phải bài như hình dưới không?


Theo mình nhớ thì đây là cách mắc điện trở hình sao đó bạn, nên bạn lên google search công thức và áp dụng vào là ra thôi.
Chẳng phải bạn kêu tính tổng trở mạch phức hợp sao, tính từng mạch nhỏ rùi tính tổng thui ;). Còn viết bài này thì ngôn ngữ đâu quan trọng, tùy vào input mà cho output thôi.
HÌ… nếu bài như cái hình của Võ Tiến An thì đâu có gì gọi là phức tạp đâu nhỉ? dùng mấy công thức tính trở cơ bản là ra mà! Có thể gom mấy cái trở song song lại trước hoặc mấy trở nối tiếp trước tùy theo đề bài, với cái hình trên thì gom 2 thằng song song rồi mới gom nối tiếp.
Không biết yêu cầu “cụ thể” của bạn Dương Nhật Thời là gì?
Cũng không có gì là lớn đâu bạn. Giả sử với N đoạn như vậy. Chủ yếu ta viết 01 lớp gồm có 3 thành phần như thế. Sau khi nhập n xong cho chạy từ 1->n để nhập vào các giá trị các biến trở trên từng phân đoạn như vậy thôi. Rồi sau đó dùng 1 cách để tính. Đó là cách nghĩ của mình đối với bài này. Vì đề bài cho dữ liệu quá ít (hay nói cách khác câu từ quá mơ hồ) nên tùy mỗi bạn suy nghĩ mà làm thôi. [QUOTE=09520401;45546]HÌ… nếu bài như cái hình của Võ Tiến An thì đâu có gì gọi là phức tạp đâu nhỉ? dùng mấy công thức tính trở cơ bản là ra mà! Có thể gom mấy cái trở song song lại trước hoặc mấy trở nối tiếp trước tùy theo đề bài, với cái hình trên thì gom 2 thằng song song rồi mới gom nối tiếp.
Không biết yêu cầu “cụ thể” của bạn Dương Nhật Thời là gì?[/QUOTE]
[QUOTE=09520396;45485]Có phải bài như hình dưới không?
[/QUOTE]
Đúng nó rồi đó anh!
[QUOTE=09520109;45533]Chẳng phải bạn kêu tính tổng trở mạch phức hợp sao, tính từng mạch nhỏ rùi tính tổng thui ;). Còn viết bài này thì ngôn ngữ đâu quan trọng, tùy vào input mà cho output thôi.[/QUOTE]
Em cũng nghĩ vậy nhưng nhập làm sao? tính làm sao?
Đó mới là vấn đề.
Đế yêu cầu sử dụng lập trình hướng đối tượng
[QUOTE=09520401;45546]HÌ… nếu bài như cái hình của Võ Tiến An thì đâu có gì gọi là phức tạp đâu nhỉ? dùng mấy công thức tính trở cơ bản là ra mà! Có thể gom mấy cái trở song song lại trước hoặc mấy trở nối tiếp trước tùy theo đề bài, với cái hình trên thì gom 2 thằng song song rồi mới gom nối tiếp.
Không biết yêu cầu “cụ thể” của bạn Dương Nhật Thời là gì?[/QUOTE]
Yêu cầu của đề là nhập một cái mạch điện theo yêu cầu người dùng(có thể rất phức tạp), rồi xuất ra giá trị điện trở của mạch!
VD:


Mình mới viết chương trình bằng C#, bạn thử xem có được không rồi code lại sang java nha(code này mình nghĩ hoàn toàn có thể code lại bên java được nhưng lười code lại quá :p)
Ý tưởng mình như sau:
Bạn sẽ đưa vào một đặc tả cho cái đề bài, ở đây để tránh rắc rối mình quy ước luôn:
+: nối tiếp
=: song song
: gom nhóm
(): bên trong chứa chỉ số của điện trở
VD mình đưa vào chuỗi: [[[R1(1)+R2(3)+[R4(5)=R5(10)]]=[R6(1)+R7(3)]]+R8(2)], tương ứng với hình này
R1(1): R1 = 1 Ohm,…
Cái đặc tả này mình đưa vào là một quy ước chặt chẽ và không được có sai sót nếu không sẽ không cho kết quả đúng, kiểu đưa vào như [R1(1)+R2(2)=R3(1)]…mình không chấp nhận vì không biết rõ là R1 nối tiếp R2 và cả hai song song với R3 hay là R2 song song với R3 và cả hai nối tiếp với R1(xin lỗi mình dốt vật lý lắm) nhưng như [R1(1)+R2(2)+R3(1)+…] thì được, do đó cứ ràng buộc theo quy luật là nếu có sự thay đổi về liên kết(nối tiếp sang song song và ngược lại)thì mình sẽ gom nhóm lại cho dễ xử.
Trong bài của bạn không cần thiết cái tên điện trở do đó bạn có thể bỏ đi nếu code lại và chỉ đưa vào các giá trị điện trở như vậy sẽ dễ hơn nữa.
Cái lớp chính chứa cấu trúc của mạch như sau:
enum LinkType
{
serial = 1, parallel = 2, none = 3,
}
class Resistance
{
public string name = "";
public float value = 0;
public List<Resistance> ress = null;
public LinkType type = LinkType.none;
public Resistance()
{
ress = new List<Resistance>();
}
public Resistance(string name, float value)
{
this.name = name;
this.value = value;
}
}
Cái Resistance của mình nó gồm các thuộc tính name(tên), value(giá trị điện trở), một danh sách các Resistance con và type là loại liên kết giữa các Resistance ấy: serial(nối tiếp), parallel(song song), none(không có)-trường hợp nó không có Resistance con(null). Cái Resistance là lớp mà nó chứa một “cục” và cái “cục”
này có thể là 1 điện trở, một cụm mạch hoặc cả mạch, mà mình xây dựng đệ quy dần từ cái đặc tả đưa vào.
Sau xây dựng mình sẽ được một cái đại loại như “cây”, khi đó các thao tác còn lại bạn chỉ việc thực hiện trên cây này thôi.
Ý tưởng mình là vậy, code rồi nhưng chưa bắt lỗi chi tiết, cũng chưa kiểm tra kết quả đúng hay không? Hi vọng là sẽ giúp được bạn! :o

Resistance.rar (44.3 KB)

[QUOTE=11520648;45575]Đúng nó rồi đó anh![/QUOTE]
File nén là bài anh làm bằng java. Tuy chưa tổng quát lắm. Nhưng giải quyết được vấn đề cơ bản. Em xem đó để phát triển tổng quát hơn.
Thân!
TongTro.rar (16 KB)
Cam ơn anh 08520021 và anh 09520396 ý tưởng là phân loại cái mạch mạch chính có 2 loại là song song và nối tiếp, và số lượng thành phần của mạch chính, sau đó mõi thành phần được xem như một mạch chính lập lại bước trên, dừng lại khi mạch thành phần là điện trở.
Em chẵng biết gì về C# nên ko hiểu code của anh 08520021! ^^.
Đây là code của em mong mấy anh gớp ý.
Btap8.rar (18.5 KB)
[QUOTE=11520648;45705]Cam ơn anh 08520021 và anh 09520396 ý tưởng là phân loại cái mạch mạch chính có 2 loại là song song và nối tiếp, và số lượng thành phần của mạch chính, sau đó mõi thành phần được xem như một mạch chính lập lại bước trên, dừng lại khi mạch thành phần là điện trở.
Em chẵng biết gì về C# nên ko hiểu code của anh 08520021! ^^.
Đây là code của em mong mấy anh gớp ý.[/QUOTE]
Mình đọc sơ bộ qua thôi bạn, theo như ý tưởng và code thì chắc là bạn đi đúng hướng rồi đó, về cơ bản thì giải quyết được yêu cầu của đề rồi.
Chúc bạn học tốt! :rolleyes:
[QUOTE=08520021;45729]Mình đọc sơ bộ qua thôi bạn, theo như ý tưởng và code thì chắc là bạn đi đúng hướng rồi đó, về cơ bản thì giải quyết được yêu cầu của đề rồi.
Chúc bạn học tốt! :rolleyes:[/QUOTE]
Thank anh!

