# JavaCore: Bài tập số 1 ## 1. Bài tập về phân tích dữ liệu hướng đối tượng: :::info 💡 **Kiến thức cần có để giải quyết:** - Lập trình hướng đối tượng và các khái niệm cơ bản - Kỹ năng phân tích yêu cầu / phân tích hướng đối tượng ::: Cho một thực thể (*entity*) "***Công ty TNHH Xây dựng và Đầu tư Quốc tế HOÀNG LONG***", hãy xác định những phương thức (*methods*) và thuộc tính (*attributes*) của thực thể này. Trên cơ sở đó, hãy viết ra 1 class Java đại diện cho thực thế kể trên với những yêu cầu sau: - Xác định rõ từng access modifiers của các methods và attributes - Dựa trên class đã thiết kế, cho biết class tổng-quát-hơn (*parent class*) của class này là gì? - Trong trường hợp chủ doanh nghiệp muốn tạo ra một công ty con của công ty trên. Chúng ta sẽ thực hiện: (***trắc nghiệm chọn 1 đáp án đúng** và cho biết lý do chọn đáp án*) - [ ] Tạo một class mới kế thừa (*extends*) class đã thiết kế - [ ] Tạo một class mới tách biệt - [ ] Tạo một object mới từ class đã thiết kế - [ ] Tạo một class mới tách biệt và tạo một object từ class vừa nêu. ## 2. Viết chương trình Java giải quyết bài toán sau: :::info 💡 **Kiến thức cần có để giải quyết:** - Biến (*variable*) trong Java - `for` trong Java - Đọc input từ bàn phím với Java - Kĩ năng phân tích bài toán đơn giản ::: Nhập vào số nguyên $N$, hãy vẽ một tam giác vuông với chiều cao là $N$ tầng Vd: Với $N = 3$, ta được ``` * ** *** ``` Yêu cầu trình bày: - Cung cấp mã nguồn Java có thể cung cấp kết quả chính xác - Phân tích INPUT, OUTPUT của bài toán, và cho biết các bước để giải quyết là gì? - **Phụ**: Hãy cho biết với các INPUT đã phân tích, sẽ có những rủi ro nào xảy ra khiến chương trình có thể cho ra kết quả sai / ngừng hoàn toàn (crash)