Top 3 # Bài Tập Kế Thừa Trong Java Có Lời Giải Xem Nhiều Nhất, Mới Nhất 3/2023 # Top Trend | Caffebenevietnam.com

Tính Kế Thừa Trong Java

Tư tưởng của kế thừa trong java là có thể tạo ra một class mới được xây dựng trên các lớp đang tồn tại. Khi kế thừa từ một lớp đang tồn tại bạn có sử dụng lại các phương thức và thuộc tính của lớp cha, đồng thời có thể khai báo thêm các phương thức và thuộc tính khác.

Cú pháp của kế thừa trong java

Sử dụng từ khóa extends để kế thừa.

class Subclass-name extends Superclass-name { }

Ví dụ về kế thừa trong java

class Employee { float salary = 1000; } class Programmer extends Employee { int bonus = 150; } public class InheritanceSample1 { public static void main(String args[]) { Programmer p = new Programmer(); System.out.println("Programmer salary is: " + p.salary); System.out.println("Bonus of Programmer is: " + p.bonus); } }

Kết quả:

Programmer salary is: 1000.0 Bonus of Programmer is: 150

Trong ví dụ trên class Programmer là con của class Employee, nên nó được phép truy cập đến trường salary của class cha.

Các kiểu kế thừa trong java

Có 3 kiểu kế thừa trong java đó là đơn kế thừa, kế thừa nhiều cấp, kế thừa thứ bậc.

Khi một class được kế thừa từ nhiều class đươc gọi là đa kế thừa. Trong java, đa kế thừa chỉ được support thông qua interface, như đã được nói đến trong bài interface trong java

Chú ý: Đa kế thừa trong java không được support thông qua class.

Ví dụ về đơn kế thừa

File: chúng tôi

class Animal { void eat() { System.out.println("eating..."); } } class Dog extends Animal { void bark() { System.out.println("barking..."); } } public class TestInheritance1 { public static void main(String args[]) { Dog d = new Dog(); d.bark(); d.eat(); } }

Output:

Ví dụ về kế thừa nhiều cấp

File: chúng tôi

class Animal { void eat() { System.out.println("eating..."); } } class Dog extends Animal { void bark() { System.out.println("barking..."); } } class BabyDog extends Dog { void weep() { System.out.println("weeping..."); } } public class TestInheritance2 { public static void main(String args[]) { BabyDog d = new BabyDog(); d.weep(); d.bark(); d.eat(); } }

Kết quả:

weeping... barking... eating...

Ví dụ về kế thừa thứ bậc

File: chúng tôi

class Animal { void eat() { System.out.println("eating..."); } } class Dog extends Animal { void bark() { System.out.println("barking..."); } } class Cat extends Animal { void meow() { System.out.println("meowing..."); } } public class TestInheritance3 { public static void main(String args[]) { Cat c = new Cat(); c.meow(); c.eat(); } }

Kết quả:

Câu hỏi: Tại sao đa kế thừa không được support trong java?

Để giảm thiểu sự phức tạp và đơn giản hóa ngôn ngữ, đa kế thừa không được support trong java.

Hãy suy xét kịch bản sau: Có 3 lớp A, B, C. Trong đó lớp C kế thừa từ các lớp A và B. Nếu các lớp A và B có phương thức giống nhau và bạn gọi nó từ đối tượng của lớp con, như vậy khó có thể xác đinh được việc gọi phương thức của lớp A hay B.

Vì vậy lỗi khi biên dịch sẽ tốt hơn lỗi khi runtime, java sẽ print ra lỗi “compile time error” nếu bạn cố tình kế thừa 2 class.

class A { void msg() { System.out.println("Hello"); } } class B { void msg() { System.out.println("Welcome"); } } public class C extends A,B { public static void main(String args[]) { C obj = new C(); obj.msg(); } }

Kết quả:

Luyện Tập Về Thừa Kế Trong Java

   4. Luyện Tập về Thừa Kế Trong Java

4.1  Ex: The 

Circle

 and 

Cylinder

 Classes

Bài tập này sẽ hướng dẫn bạn thông qua các khái niệm quan trọng trong thừa kế.

Trong bài tập này, một lớp con được gọi 

Cylinder

là bắt nguồn từ siêu lớp 

Circle

như được hiển thị trong sơ đồ lớp (trong đó một mũi tên hướng lên từ lớp con đến siêu lớp của nó). 

Nghiên cứu cách lớp con 

Cylinder

gọi các hàm tạo của lớp cha (thông qua 

super()

và 

super(radius)

) và kế thừa các biến và phương thức từ lớp cha 

Circle

.

Bạn có thể sử dụng lại 

Circle

lớp mà bạn đã tạo trong bài tập trước. 

Đảm bảo rằng bạn giữ “ 

Circle.class

” trong cùng thư mục.

public class Cylinder extends Circle { private double height; public Cylinder() { super(); height = 1.0; } public Cylinder(double height) { super(); this.height = height; } public Cylinder(double radius, double height) { super(radius); this.height = height; } public double getHeight() { return height; } public double getVolume() { return getArea()*height; } }

Viết chương trình kiểm tra (

TestCylinder

) để kiểm tra lớp 

Cylinder

 đã tạo, như sau:

public class TestCylinder { public static void main (String[] args) { Cylinder c1 = new Cylinder(); System.out.println("Cylinder:" + " radius=" + c1.getRadius() + " height=" + c1.getHeight() + " base area=" + c1.getArea() + " volume=" + c1.getVolume()); Cylinder c2 = new Cylinder(10.0); System.out.println("Cylinder:" + " radius=" + c2.getRadius() + " height=" + c2.getHeight() + " base area=" + c2.getArea() + " volume=" + c2.getVolume()); Cylinder c3 = new Cylinder(2.0, 10.0); System.out.println("Cylinder:" + " radius=" + c3.getRadius() + " height=" + c3.getHeight() + " base area=" + c3.getArea() + " volume=" + c3.getVolume()); } }

Method Overriding and “Super”

:

 Lớp con 

lớp 

Cylinder

 kế thừa 

getArea()

phương thức từ Vòng tròn siêu lớp của nó. 

Hãy thử 

cách ghi đè

 các 

getArea()

phương pháp trong các lớp con 

Cylinder

để tính diện tích bề mặt (= 2π × bán kính × chiều cao + 2 × cơ sở khu vực) của xi lanh thay vì của vùng căn cứ. 

Đó là, nếu 

getArea()

được gọi bởi một 

Circle

thể hiện, nó trả về khu vực. 

Nếu 

getArea()

được gọi bởi một 

Cylinder

thể hiện, nó trả về diện tích bề mặt của hình trụ.

Nếu bạn ghi đè lên 

getArea()

trong lớp con 

Cylinder

, nó 

getVolume()

không còn hoạt động. 

Điều này là do 

getVolume()

sử dụng 

phương thức

 ghi đè 

được tìm thấy trong cùng một lớp. 

(Thời gian chạy Java sẽ chỉ tìm kiếm siêu lớp nếu nó không thể định vị phương thức trong lớp này). 

Sửa lỗi 

.

getArea()

getVolume()

Gợi ý: Sau khi ghi đè lên 

getArea()

lớp con 

Cylinder

, bạn có thể chọn gọi 

getArea()

siêu lớp 

Circle

bằng cách gọi 

super.getArea()

.

THỬ:

Cung cấp một 

toString()

phương thức cho 

Cylinder

lớp, ghi đè lên 

toString()

kế thừa từ siêu lớp 

Circle

, ví dụ:

cách ghi đè

@Override public String toString() { return "Cylinder: subclass of " + super.toString() + " height=" + height; }

Hãy thử 

toString()

phương pháp trong 

TestCylinder

.

Lưu ý: 

@Override

được gọi là 

chú thích

 (được giới thiệu trong JDK 1.5), yêu cầu trình biên dịch kiểm tra xem có phương thức nào như vậy trong siêu lớp được ghi đè không. 

Điều này giúp rất nhiều nếu bạn viết sai tên của 

toString()

Nếu 

@Override

không được sử dụng và 

toString()

bị sai chính tả 

ToString()

, nó sẽ được coi là một phương thức mới trong lớp con, thay vì ghi đè lên lớp cha. 

Nếu 

@Override

được sử dụng, trình biên dịch sẽ báo hiệu lỗi. 

@Override

chú thích là tùy chọn, nhưng chắc chắn tốt đẹp để có.

4.2 Ví dụ: Superclass 

Person

 và các lớp con của nó

4.3  Ex: 

Point2D

 and 

Point3D

4.4  Ex: 

Point

 and 

MovablePoint

4.5  Ex: Superclass 

Shape

 and its subclasses 

Circle

Rectangle

 and 

Square

Viết một siêu lớp được gọi 

Shape

(như thể hiện trong sơ đồ lớp), chứa:

Hai biến đối tượng 

color

String

) và 

filled

boolean

).

Hai hàm tạo: một hàm tạo không có đối số (không đối số) khởi tạo 

color

thành “xanh” và 

filled

đến 

true

và một hàm tạo khởi tạo 

color

và 

filled

cho các giá trị đã cho.

Getter và setter cho tất cả các biến thể hiện. 

Theo quy ước, getter cho một 

boolean

biến 

xxx

được gọi 

isXXX()

(thay vì 

getXxx()

cho tất cả các loại khác).

Một 

toString()

phương thức trả về “ 

A Shape with color of xxx and filled/Not filled

“.

Viết chương trình kiểm tra để kiểm tra tất cả các phương thức được định nghĩa trong 

Shape

.

Viết hai lớp con 

Shape

được gọi 

Circle

và 

Rectangle

, như thể hiện trong sơ đồ lớp.

Các 

Circle

lớp học bao gồm:

Một biến đối tượng 

radius

double

).

Ba Constructor như hình. Trong constructor

 không có đối số thì khởi tạo bán kính tới 

1.0

.

Getter và setter cho biến thể hiện (instance variable) 

radius

.

Phương thức 

getArea()

và 

getPerimeter()

.

Ghi đè 

toString()

phương thức được kế thừa, để trả về “ 

A Circle with radius=xxx, which is a subclass of yyy

“, đây 

yyy

là đầu ra của 

toString()

phương thức từ lớp cha.

Các lớp 

Rectangle

 bao gồm:

Hai biến đối tượng 

width

double

) và 

length

double

).

Ba Constructor như hình. Trong constructor

 không có đối số 

khởi tạo 

width 

và 

length 

bằng 

1.0

.

Getter và setter cho tất cả các biến thể hiện.

Phương thức 

getArea()

và 

getPerimeter()

.

Ghi đè 

toString()

phương thức được kế thừa, để trả về “ 

A Rectangle with width=xxx and length=zzz, which is a subclass of yyy

“, đây 

yyy 

là đầu ra của 

toString()

phương thức từ lớp cha.

Viết một lớp được gọi 

Square

, như là một lớp con của 

Rectangle

Tự thuyết phục bản thân 

Square 

có thể được mô hình hóa như là một lớp con của 

Rectangle

Square 

không có biến đối tượng, nhưng kế thừa chiều rộng và chiều dài của biến đối tượng từ hình chữ nhật siêu lớp của nó.

Cung cấp các constructor thích hợp (như thể hiện trong sơ đồ lớp). 

Dấu:

public Square(double side) { super(side, side); }

Ghi đè 

toString()

phương thức để trả về “ 

A Square with side=xxx, which is a subclass of yyy

“, đây 

yyy

là đầu ra của 

toString()

phương thức từ lớp cha.

Bạn có cần ghi đè lên 

getArea()

và 

getPerimeter()

Thử chúng và in ra kết quả 😉

Ghi đè 

setLength()

và 

setWidth()

thay đổi cả 

width

và 

length

, để duy trì hình dạng vuông.

5.  Exercises on Composition vs Inheritance

Chúng có hai cách để sử dụng lại một lớp trong các ứng dụng của bạn: 

thành phần

 và 

kế thừa

 .

5.1  Ex: The 

Point

 and 

Line

 Classes

Chúng ta hãy bắt đầu với 

thành phần

 với tuyên bố “một dòng gồm hai điểm”.

Hoàn thành định nghĩa của hai lớp sau: 

Point

và 

Line

Lớp 

Line

bao gồm 2 trường hợp của lớp 

Point

, đại diện cho điểm bắt đầu và điểm kết thúc của dòng. 

Cũng viết các lớp kiểm tra cho 

Point

và 

Line

(nói 

TestPoint

và 

TestLine

).

public class Point { private int x; private int y; public Point (int x, int y) {......} public String toString() { return "Point: (" + x + "," + y + ")"; } public int getX() {......} public int getY() {......} public void setX(int x) {......} public void setY(int y) {......} public void setXY(int x, int y) {......} } public class TestPoint { public static void main(String[] args) { Point p1 = new Point(10, 20); System.out.println(p1); ...... } } public class Line { private Point begin; private Point end; public Line (Point begin, Point end) { this.begin = begin; ...... } public Line (int beginX, int beginY, int endX, int endY) { begin = new Point(beginX, beginY); ...... } public String toString() { ...... } public Point getBegin() { ...... } public Point getEnd() { ...... } public void setBegin(......) { ...... } public void setEnd(......) { ...... } public int getBeginX() { ...... } public int getBeginY() { ...... } public int getEndX() { ...... } public int getEndY() { ...... } public void setBeginX(......) { ...... } public void setBeginY(......) { ...... } public void setBeginXY(......) { ...... } public void setEndX(......) { ...... } public void setEndY(......) { ...... } public void setEndXY(......) { ...... } public int getLength() { ...... } public double getGradient() { ...... } } public class TestLine { public static void main(String[] args) { Line l1 = new Line(0, 0, 3, 4); System.out.println(l1); Point p1 = new Point(...); Point p2 = new Point(...); Line l2 = new Line(p1, p2); System.out.println(l2); ... } }

Sơ đồ lớp cho 

thành phần

 như sau (trong đó một mũi tên đầu kim cương rỗng chỉ vào thành phần của nó):

Thay vì 

thành phần

 , chúng ta có thể thiết kế một 

Line

lớp bằng cách sử dụng 

inheritance

Thay vì “một dòng gồm hai điểm”, chúng ta có thể nói rằng “một dòng là một điểm được mở rộng bởi một điểm khác”, như thể hiện trong sơ đồ lớp sau:

Chúng ta hãy thiết kế lại 

Line

lớp (được gọi 

LineSub

) là một lớp con của lớp 

Point

LineSub

kế thừa điểm bắt đầu từ siêu lớp của nó 

Point

và thêm điểm kết thúc. 

Hoàn thành định nghĩa lớp. 

Viết một lớp kiểm tra được gọi 

TestLineSub

để kiểm tra 

LineSub

.

public class LineSub extends Point { Point end; public LineSub (int beginX, int beginY, int endX, int endY) { super(beginX, beginY); chúng tôi = new Point(endX, endY); } public LineSub (Point begin, Point end) { super(begin.getX(), begin.getY()); chúng tôi = end; } public String toString() { ... } public Point getBegin() { ... } public Point getEnd() { ... } public void setBegin(...) { ... } public void setEnd(...) { ... } public int getBeginX() { ... } public int getBeginY() { ... } public int getEndX() { ... } public int getEndY() { ... } public void setBeginX(...) { ... } public void setBeginY(...) { ... } public void setBeginXY(...) { ... } public void setEndX(...) { ... } public void setEndY(...) { ... } public void setEndXY(...) { ... } public int getLength() { ... } public double getGradient() { ... } }

Tóm tắt: Có hai cách tiếp cận mà bạn có thể thiết kế một dòng, 

composition 

hoặc 

inheritance

“Một dòng gồm hai điểm” hoặc “Một dòng là một điểm được mở rộng bằng một điểm khác”. 

So sánh 

Line

và 

LineSub 

thiết kế: 

Line 

sử dụng 

thành phần

 và 

LineSub 

sử dụng 

kế thừa

 . 

Thiết kế nào tốt hơn?

5.2  Ex: The 

Circle

 and 

Cylinder

 Classes Using Composition

Hãy thử viết lại 

Circle-Cylinder

các bài tập trước sử dụng 

thành phần

 (như thể hiện trong sơ đồ lớp) thay vì 

thừa kế

 . 

Đó là, “một hình trụ bao gồm một vòng tròn cơ sở và chiều cao”.

public class Cylinder { private Circle base; private double height; public Cylinder() { base = new Circle(); height = 1.0; } ...... }

Thiết kế nào (kế thừa hoặc thành phần) là tốt hơn?

Tổng Hợp Bài Tập Java Có Lời Giải

Để dễ dàng tiếp cận và làm quen với ngôn ngữ lập trình Java. VNCoder sẽ tổng hợp các bài tập thực hành Java mẫu có lời giải chi tiết. Đây là tài liệu tham khảo hữu ích để các bạn luyện tập, thành thạo cú pháp và cấu trúc của ngôn ngữ lập trình Java.

Các mệnh đề if-else, switch-case.

Các vòng lặp for, while, do-while.

Các từ khóa break và continue trong java.

Các toán tử trong java.

Mảng (array) trong java.

File I/O trong java.

Xử lý ngoại lệ trong java.

Các bài tập Java đều có hướng dẫn giải chi tiết, code tham khảo. Các bạn nên tự làm trước, nếu chưa hoàn thành thì có thể tham khảo gõ lại theo code mẫu, như vậy trình độ của các bạn sẽ lên nhanh chóng

Bài Tập Kế Toán Có Lời Giải

Published on

2. I 311 331 333 334 338 342 353 II 411 441 421 Nợ phải trả Vay ngắn hạn Phải trả người bán Thuế và các khoản phải nộp nhà nước Phải trả người lao động Phải trả phải nộp khác Nợ dài hạn Quỹ khen thưởng phúc lợi Vốn chủ sở hữu Nguốn vốn kinh doanh Nguồn vốn xây dựng cơ bản Lợi nhuận chưa phân phối Tổng nguồn vốn 1.000.000 200.000 100.000 50.000 200.000 50.000 300.000 100.000 2.500.000 2.000.000 400.000 100.000 3.500.000 I – Các nghiệp vụ phát sinh trong tháng 1, Ngày 2/2 mua một thiết bị dùng cho phân xưởng sản xuất theo giá thanh toán là 440.000, trong đó có thuế GTGT 10%, chưa thanh toán tiền cho người bán. Chi phí vận chuyển chi bằng tiền mặt 11.000, đã tính thuế GTGT 10%. Thiết bị này được đầu tư bằng vốn vay dài hạn có tỷ lệ khấu hao 10% năm. 2, Ngày 4/2 doanh nghiệp nhượng bán 1 ô tô vận tải của bộ phận sản xuất có nguyên giá là 100.000, tỷ lệ trích khấu hao là 10%/năm, khấu hao đến hết tháng 1/2011 là 80.000. Tiền nhượng bán thu bằng chuyển khoản 120.000, chưa có thuế GTGT 10%. 3, Ngày 4/2 Doanh nghiệp nhận vốn góp liên doanh từ Công ty XYZ bằng một dây truyền thiết bị nguyên giá là 500.000. Chi phí vận chuyển, lắp đặt, chạy thử là 25.000, chưa tính thuế GTGT 10%, thanh toán bằng tiền mặt. Tỷ lệ khấu hao là 10%/năm. 4, Ngày 5/2 doanh nghiệp góp vốn liên doanh với công ty H bằng một thiết bị sản xuất có nguyên giá là 200.000, khấu hao luỹ kế đến tháng 1/2011 là 50.000. Giá trị vốn góp thoả thuận là 220.000. Tỷ lệ khấu hao là 10%/năm. 5, 7/2 Tạm ứng bằng tiền mặt cho nhà cung cấp 60.000 để lấy hàng kỳ sau. 6, 7/2 Khách hàng thanh toán toàn bộ số nợ kỳ trước bằng chuyển khoản. 7,Ngày 9/2 Đặt mua 2000kg nguyên liệu với giá chưa thuế là 100/kg, thuế giá trị gia tăng 10%. Chi phí vận chuyển là 10.000, chưa có thuế GTGT 10%. Điều kiện thanh toán là tín dụng thương mại 30 ngày kể từ ngày mua với triết khấu thanh toán 1%. Cuối tháng hàng chưa về đến kho 8,Ngày11/2 Mua 100 công cụ A cho bộ phận quản lý, giá mua chưa thuế là 500/cái (phân bổ 50%). Thanh toán bằng chuyển khoản. 2

3. 9,Ngày 11/2 Xuất kho 150.000, trong đó 120.000 sử dụng trực tiếp cho sản xuất sản phẩm, 20.000 phục vụ cho nhu cầu ở phân xưởng, 10.000 cho nhu cầu quản lý. 10, Ngày 12/2 Tính ra tiền lương phải trả trong tháng cho người lao động 300.000 trong đó: công nhân sản xuất 200.000, nhân viên quản lý phân xưởng 20.000, nhân viên bán hàng 30.000, bộ máy quản lý doanh nghiệp 50.000. 11, 15/2 Trích BHXH, BHYT, BHTN, KPCD theo tỷ lệ quy định. 12, Ngày 20/2 thanh toán toàn bộ lương còn nợ kỳ trước và 60% lương tháng này cho công nhân viên. 13, Ngày 24/2 trích quỹ khen thưởng cho tập thể người lao động 50.000: trong đó công nhân sản xuất 30.000, nhân viên quản lý phân xưởng 5.000, nhân viên bán hàng 5.000, số còn lại của bộ máy quản lý. 14, Trích khấu hao tài sản cố định biết khấu hao của tháng trước là 40.000. 15, Ngày 26/2 chi phí điện nước chưa thanh toán dùng cho sản xuất là 44.000; dùng cho văn phòng quản lý 9.900 ( bao gồm cả thuế GTGT 10%). 16, Ngày 27/2 hoàn thành nhập kho 5000 sản phẩm loại A, 8000 sản phẩm loại B biết hệ số quy đổi lần lượt của sản phẩm A, B lần lượt là 2 và 1,5. Còn dở dang 3000 sản phẩm đã hoàn thành 60%. 17. Ngày 28/2 Xuất kho thành phẩm gửi bán 3000 sản phẩm loại A, chi phí vận chuyển 2.200 (đã tính thuế GTGT 10%), chuyển 6000 sản phẩm loại B cho công ty X theo hợp đồng đã ký tháng trước với giá thoả thuận 35/sản phẩm. Khách hàng đã thanh toán bằng chuyển khoản. 18. Ngày 28/2 Kiểm kho phát hiện mất một thiết bị nguyên giá 30.000, khấu hao đến tháng 1/2011 là 10.000. Xử lý bằng cách phạt lương thủ kho 10.000, ghi giảm nguồn vốn kinh doanh 10.000 19. Ngày 28 Hạch toán kết quả kinh doanh trong tháng II- Định khoản – phản ánh vào tài khoản kế toán NV1) Nợ TK 211: 410.000 Nợ TK 133: 41.000 Có TK 331: 440.000 Có TK 111: 11.000 Nợ TK 331 : 410.000 Có TK 342: 410.000 NV2) 3

4. Nợ TK 112: 132.000 Có TK 711: 120.000 Có TK 3331: 12.000 Nợ TK 214: 80.000 Nợ TK 811: 20.000 Có TK 211: 100.000 NV3) Nợ TK 211: 525.000 Nợ Tk 133: 2.500 Có TK 111: 27.500 Có TK 411: 500.000 NV4) Nợ TK 214: 50.000 Nợ TK 811: 150.000 Có TK 211: Nợ TK 222: 200.000 220.000 Có TK 711: 220.000 NV5) Nợ TK 331: 60.000 Có TK 111: 60.000 NV6) Nợ TK 112: 100.000 Có TK 131: 100.000 NV7) Nợ TK 151: 210.000 Nợ TK 133: 21.000 Có TK 331: 231.000 4

5. NV8) Nợ TK 153: 50.000 Nợ TK 133: 5.000 Có TK 112: 55.000 NV9) Nợ TK 621: 120.000 Nợ TK 627: 20.000 Nợ TK 642: 10.000 Có TK 152: 150.000 NV10) Nợ TK 622: 200.000 Nợ TK 627: 20.000 Nợ TK 641: 30.000 Nợ TK 642: 50.000 Có TK 334: 300.000 NV11) Nợ TK 622: 44.000 Nợ TK 627: 4.400 Nợ TK 641: 6.600 Nợ TK 642: 11.000 Nợ TK 334: 25.500 Có TK 338: 91.500 NV12) Nợ TK 334: 380.000 Có TK 112: 380.000 NV13) Nợ TK 353: 50.000 5

6. Có TK 334: 50.000 NV14) Tính khấu hao Tài Sản Cố định hữu hình trong tháng Khấu hao tháng trước 1, Dây chuyền sản xuất (NV1) 2, Ô tô bị nhượng bán (NV2) 3, Dây chuyền thiết bị (NV3) 4, Thiết bị mang đi góp vốn (NV4) Cộng Khấu hao tăng trong tháng Khẩu hao giảm trong tháng Khấu hao tháng này 40.000 6.922,62 2114,3 44.808,32 Nợ TK 627: 30.000 Nợ TK 642: 10.000 Nợ TK 641: 4.808,32 Có TK 214: 44.808,32 NV15) Nợ TK 627: 40.000 Nợ TK 642: 9.000 Nợ TK 133: 4.900 Có TK 331: 53.900 NV16) Chí phí SXKD dở dang cuối kỳ theo phương pháp sản lượng ước tính tương đương: Chi phí NVC chính cho sản phẩm dở dang cuối kỳ 6

7. = 22.500 Chi phí chế biến tính cho sản phẩm dở dang cuối kỳ = 24.324 Thẻ tính giá thành sản phẩm Khoản mục chi phí Chi phí Chi phí Chi phí SXKD dở SXKD SXKD dở dang đầu trong kỳ dang cuối kỳ kỳ 1, Chi phí NVL trực tiếp 2, Chi phí nhân công trực tiếp. 3, Chi phí sản xuất chung. Cộng 120.000 244.000 114.400 478.400 50.000 ∑Z sản phẩm hoàn thành Z đơn vị sản phẩm 22.500 24.324 46.824 Tổng giá thành sản phẩm hoàn thành = Chi phí SXKD dở dang đầu kỳ + Chi phí SXKD trong kỳ – Chi phí SXKD dở dang cuối kỳ = 481.576 Nợ TK 154: 478.400 Có TK 621: 120.000 Có TK 622: 244.000 Có TK 627: 114.400 Nợ TK 155: 481.576 Có TK 154: 481.576 17) Hàng gửi bán Nợ TK 157: 131.334 Có TK 155: 131.334 Hàng gửi để thực hiện hợp đồng 7

8. Nợ TK 157: 197.001 Có TK 155: 197.001 Ghi nhận giá vốn hàng bán Nợ TK 632: 197.001 Có TK 157: 197.001 Ghi nhận doanh thu Nợ TK 112: 231.000 Có TK 3331: 21.000 Có TK 511: 210.000 18) Nợ TK 334: 10.000 Nợ TK 411: 10.000 Nợ TK 214: 10.000 Có TK 211: 30.000 19) Hạch toán kết quả kinh doanh Nợ TK 911: 197.001 Có TK 632: Nợ TK 511: 150.000 Có TK 911: Nợ TK 911: 197.001 150.000 131.408,32 Có TK 641: 41.408,32 Có TK 642: 90.000 Nợ TK 911: 170.000 Có TK 811: Nợ TK 711: 170.000 340.000 8

9. Có TK 911: 340.000 Nợ TK 911: Có TK 333: Có TK 421: TK 111 Tiền mặt tại quỹ D: 200.000 211) 11.000 (1) 211) 27.500 (3) 331) 60.000 (5) (PS) 98.500 D: 101.500 TK 112 Tiền gửi ngân hàng D: 500.000 211) 132.000(2) 153) 55.000(8) 131) 100.000(6) 334) 380.000(12) 231.000 (17) (PS) 463.000 435.000 D: 528.000 TK 131 Phải thu khách hàng D: 100.000 100.000 (6) TK 222 Vốn góp liên doanh D: 100.000 (PS) D: 0 220.000 (4) (PS) 220.000 D: 320.000 100.000 TK 133 Thuế VAT được khấu trừ D: 200.000 211) 41.000(1 211) 2.500(3 153) 5.000(8 151)21.000(7 4.900(15) (PS) 74.400 D: 274.400 TK 152 Nguyên vật liệu D: 200.000 621) 120.000 627) 20.000 642) 10.000 (PS) D: 50.000 9 150.000

10. TK 153 Công cụ, dụng cụ D: 80.000 TK 151 Hàng mua đang trên đường D: 50.000 112) 50.000 (8) (PS) 50.000 D: 130.000 331) 210.000 (7) (PS) 210.000 D: 260.000 TK 155 Thành phẩm TK 154 Chi phí sản xuất kinh doanh dở dang D: 50.000 D: 20.000 481.576(16) 328.332(17) 478.400(16) 481.576(16) (PS) 481.576 D: 173.244 328.332 (PS) 478.400 D: 46.824 TK 157 Hàng gửi bán 481.576 TK D: 0 131.334 (17) (PS) 131.334 D: 131.334 TK 211 Tài sản cố định hữu hình D: 1.900.000 410.000 (1) 525.000 (3) (PS) 935.000 D: 2.505.000 TK 214 Hao mòn tài sản cố định D: 200.000 100.000 (2) 200.000 (4) 30.000 (18) 330.000 80.000 (2) 50.000 (4) 10.000 (19) (PS) 140.000 10 627) 30.000 642) 10.000 641) 4.808,32 44.808,32 D: 104.808,32

11. TK 331 Phải trả cho người bán TK 333 Thuế và các khoản phải nộp nhà nước D: 50.000 D: 100.000 410.000 (1) 60.000 (5) 440.000 (1) 231.000 (7) 53.900 (15) (PS) 470.000 12.000(3) 21.000 (17) 724.900 D: 354.900 (PS) TK 334 Phải trả người lao động D: 200.000 338) 25.500 622)200.000 112) 380.000 627)20.000 10.000 (18) 641) 30.000 642) 50.000 353) 50.000 (PS)415.500 350.000 D: 134.500 33.000 D: 83.000 TK 338 Phải trả và phải nộp khác D: 50.000 622) 44.000 627) 4.400 641) 6.600 642) 11.000 334) 25.500 91.500 D: 141.500 (PS) TK 342 Nợ dài hạn D: 300.000 410.000 (1) 410.000 D: 710.000 (PS) TK TK 353 Quỹ khen thưởng phúc lợi D: 100.000 (PS) TK 411 Nguồn vốn kinh doanh D: 2.000.000 10.000(18) (PS) 10.000 50.000 D: 50.000 TK 621 Chi phí nguyên vật liệu trực tiếp 120.000 (9) 500.000 (3) 500.000 D: 2.490.000 TK 622 Chi phí nhân công trực tiếp 120.000 (16) 200.000 (10) 11 244.000 (16)

12. 44.000 (11) TK 627 Chi phí sản xuất chung 20.000 (9) 20.000 (10) 4.400 (11) 30.000 (14) 40.000 (15) 114.400 TK 641 Chi phí bán hàng 30.000 (10) 6.600 (10) TK 642 Chi phí quản lý doanh nghiệp 10.000 (9) 50.000 (10) 11.000 (11) 10.000 (14) 9.000 (15) 90.000(19) TK 632 Giá vốn hàng bán 197.001(17) 197.001(19) 4.808,32 (14) 41.408,32 TK 511 Doanh thu bán hàng TK 911 Xác định kết quả kinh doanh 210.000 (17) 41.408,31 (641 90.000 (642 170.000 (811 197.001(632 (PS)498.409,31 210.000(19) TK 421 Lợi nhuận chưa phân phối D: 100.000 210.000 (511 340.000 (711 550.000 TK 51.590,69 (19) 12

13. (PS) 51.590,69 D: 151.590,69 TK 711 Doanh thu khác TK 811 Chi phí khác 120.000 (2) 220.000 (4) 20.000(2) 150.000(4) 340.000 (911) 170.000 (911)(19 Bảng cân đối kế toán cuối kỳ Mã số A 111 112 113 121 128 129 131 133 136 138 139 151 152 153 155 154 157 Nội dung Tài sản Tài sản lưu động và đầu tư ngắn hạn Tiền mặt tại quỹ Tiền gửi ngân hàng Tiền đang chuyển Các khoản đầu tư tài chính ngắn hạn Đầu tư chứng khoán ngắn hạn Đầu tư ngắn hạn khác Dự phòng giảm giá đầu tư ngắn hạn Các khoản phải thu Phải thu khách hàng Thuế V.A.T được khấu trừ Phải thu nội bộ Phải thu khác Dự phòng phải thu khó đòi Hàng mua đang trên đường Nguyên vật liệu Công cụ, dụng cụ Thành phẩm Chí phí sản xuất kinh doanh dở dang Hàng gửi bán Tài sản Dài hạn 13 Số dư đầu kỳ 101.500 528.000 50.000 274.400 50.000 260.000 50.000 130.000 173.244 46.824 131.334

14. 211 213 214 222 B 311 331 333 334 338 342 353 411 441 421 Tài sản cố định hữu hình Tài sản cố định vô hình Hao mòn tài sản cố định Góp vốn liên doanh Tổng Tài sản Nguồn vốn Nợ phải trả Vay ngắn hạn Phải trả người bán Thuế và các khoản phải nộp nhà nước Phải trả người lao động Phải trả phải nộp khác Nợ dài hạn Quỹ khen thưởng phúc lợi Vốn chủ sở hữu Nguốn vốn kinh doanh Nguồn vốn xây dựng cơ bản Lợi nhuận chưa phân phối Tổng nguồn vốn 14 2.505.000 200.000 104.808,32 320.000 4.715.689,68 200.000 354.900 83.000 134.500 141.500 710.000 50.000 2.490.000 400.000 171.590,69 4.715.490,69