>> ROB Bowden: Xin chào, tôi Rob, và chúng ta hãy nhảy vào phiên bản của hacker của Mario.
Vì vậy, điều đầu tiên chúng ta cần làm là có được chiều cao từ người sử dụng.
Ở đây chúng tôi đang yêu cầu họ cho một số nguyên không âm nhỏ hơn 24 và
chúng ta đang sử dụng các chức năng CS50 getInt để lấy số nguyên từ người sử dụng.
Chúng ta thấy chúng ta đang ở trong một vòng lặp do-while sẽ tiếp tục lặp miễn là
chiều cao lớn hơn 23 hoặc nhỏ hơn 0.
Và vì vậy chúng tôi sẽ tiếp tục cho đến khi người sử dụng thực sự cho chúng ta những gì chúng ta muốn.
>> Một khi chúng ta có chiều cao đó, chúng tôi nhận được chính cho vòng lặp của chương trình của chúng tôi.
Vì vậy, trước tiên hãy xem xét một ví dụ từ các spec pset.
Chúng ta thấy trong ví dụ này là khi chúng ta nhập chiều cao là 4, hàng dưới cùng
đầu tiên in bốn băm, hai không gian, và thêm bốn băm.
>> Sau đó, một hàng trên đó in một không gian ba băm, hai không gian để
tách các kim tự tháp, và sau đó thêm ba băm.
Và ở trên đó, hai không gian, hai băm, hai không gian, hai băm.
Và cuối cùng, ba không gian một băm, hai không gian một băm.
Vì vậy, bạn nên bắt đầu chú ý mô hình ở đây.
>> Chúng ta hãy nhìn vào các mã trong bao chúng ta sẽ làm điều đó.
Chúng ta thấy ở đây là chúng ta đang lặp lại trên tất cả các hàng của kim tự tháp.
Trước tiên chúng ta muốn tính toán số lượng không gian.
Và hãy nhớ rằng chúng ta phải bắt đầu từ đỉnh của kim tự tháp và làm việc của chúng tôi
đường xuống kể từ khi chúng tôi không thể in phía dưới sau đó một hàng và
sau đó một hàng lên.
Vì vậy, ở trên cùng của kim tự tháp, thông báo rằng số lượng không gian bằng
chiều cao trừ đi 1.
Chúng sẽ in ba gian sau đó một băm và sau đó hai không gian để
riêng biệt và băm khác.
>> Vì vậy, không gian bằng chiều cao hàng trừ.
Nếu đó là dòng 1 và chiều cao của chúng tôi là 4, mà sẽ cung cấp cho chúng tôi 3 không gian, như chúng ta muốn.
Sau đó điều này cho vòng lặp chỉ in mà số lượng không gian.
Nếu không gian là ba, sau đó chúng ta sẽ tạo ra một không gian duy nhất ba lần.
>> Tiếp tục, bây giờ chúng tôi muốn in băm của kim tự tháp bên trái, đó là
chỉ bằng số lượng hàng.
Nhìn lại đây, trong hàng một, chúng tôi in một băm.
Trong hàng hai chúng tôi in hai, trong hàng ba chúng tôi in ba.
Lần liên tiếp vì vậy chúng tôi chỉ đơn giản lặp in biểu tượng băm.
Sau đó cho tất cả các hàng của kim tự tháp, chúng tôi in chính xác hai không gian tách biệt
những kim tự tháp.
>> Và cuối cùng, chúng tôi muốn in bên phải bên của kim tự tháp, đó là
một lần nữa cùng một số băm như phía bên trái.
Và do đó, nó cùng chính xác cho vòng lặp như trên đây.
Cuối cùng, chúng ta cần phải tạo ra một dòng mới trong để chuyển sang hàng tiếp theo của
kim tự tháp và tiếp tục in.
Và đó là nó.
Tên tôi là Rob và điều này là Mario.