ZAMYLA CHAN: Đó là một-me, Zamyla.
Hôm nay, chúng ta sẽ thực hiện Mario, nơi mà chúng ta rút ra Mario
một kim tự tháp đầy đủ cho anh ta để nhảy qua.
Hãy phá vỡ các tiểu nhiệm vụ cho vấn đề này.
>> Đầu tiên, chúng tôi muốn nhắc nhở người dùng cho chiều cao của kim tự tháp.
Và sau đó chúng tôi muốn chắc chắn mà đầu vào là hợp lệ.
Và sau đó chúng ta sẽ muốn vẽ các kim tự tháp.
>> Vì vậy, chúng ta hãy nói về khiến và xác nhận người dùng nhập vào.
Nó có thể trông giống như một cái gì đó này, một vòng lặp do-while mà
nhắc nhở người sử dụng cho một số nguyên và sau đó chỉ lặp đi lặp lại
nếu số nguyên đó là không hợp lệ.
Vì vậy, những gì nên tình trạng này là gì?
>> Đối với điều này, chúng ta hãy quay trở lại với đặc điểm kỹ thuật.
Vâng, spec cho chúng ta biết rằng bất kỳ hợp lệ chiều cao sẽ là giữa 0 và 23,
bao gồm.
Vì vậy, sau đó có nghĩa rằng bất kỳ không hợp lệ Chiều cao sẽ được ít hơn 0
hoặc hơn 23.
>> Vì vậy, bây giờ mà chúng tôi có thông tin này, chúng ta hãy thiết kế điều kiện của chúng tôi.
Nhưng chúng ta cần phải cẩn thận, bởi vì bây giờ chúng tôi có
hai phép toán luận rằng chúng ta muốn đánh giá.
>> Ở đây tôi đã cung cấp cho bạn với một bảng sự thật.
Điều này cho phép chúng tôi để mất hai Boolean, Boolean một và hai.
Và chúng ta có thể đánh giá hoặc bool1 và bool2 hoặc bool1 hoặc bool2.
>> Vì vậy, sự khác biệt là những gì giữa và và hay?
Vâng, bool1 và bool2 sẽ để đánh giá đúng khi và chỉ
nếu cả hai phép toán luận là đúng sự thật, trong khi đó, hoạt động
sẽ là sự thật nếu một trong hai người các phép toán luận hoặc cả hai đều đúng.
Vì vậy, với điều này trong tâm trí, xem bạn có thể tìm ra
những điều kiện thích hợp cho Vòng lặp do-while của bạn cho một n không hợp lệ
sẽ là.
>> Cùng với đó, chúng tôi đã nhắc nhở và xác nhận người sử dụng cho chiều cao của kim tự tháp
mà họ muốn.
Vì vậy, bây giờ, nó đến với chúng tôi để vẽ các kim tự tháp.
Các kim tự tháp đầy đủ cho việc này vấn đề sẽ xem xét một chút
như thế này, nơi chúng tôi có một kim tự tháp bên trái, một số khoảng cách, và sau đó là một kim tự tháp phải.
Vì vậy, hãy phá vỡ này xuống một chút.
>> Nếu tôi đi đến soạn thảo văn bản của tôi, ở đây tôi đã rút ra cho chúng ta một kim tự tháp gióng bên trái.
Nhưng điều đó sẽ không làm.
Những gì chúng tôi muốn làm là chúng ta muốn tạo ra một kim tự tháp canh phải đầu tiên.
Vì vậy, để làm được điều này, chỉ cần đẩy băm của tôi cùng một bên,
Tôi chỉ sẽ đặt một vài ký tự ở giữa, chỉ những dấu chấm.
Sau đó, tôi sẽ đưa hai trên dòng tiếp theo, và một trên đường dây đó.
Và ở đây tôi có một canh phải kim tự tháp.
>> Sau đó, tôi sẽ quay trở lại hàng đầu
và đặt trong khoảng cách, mà là, mỗi spec, hai không gian.
Sau đó, tôi sẽ điền vào phía bên kia của các kim tự tháp.
Tôi sẽ đi đến hàng thứ hai, viết hai không gian cho khoảng cách và sau đó hai
băm.
Quay lại hàng thứ ba, hai không gian cho khoảng cách và ba băm.
Và cuối cùng, hai không gian cho khoảng cách và bốn băm.
Vì vậy, đó là những gì một đầy đủ kim tự tháp sẽ trông như thế nào.
>> Tất nhiên, chúng tôi không muốn các dấu chấm trong cách.
Vì vậy, chúng tôi sẽ thay thế các chấm bằng cách đặt một số không gian trong.
Một, hai, ba trên dòng đầu tiên.
Một, hai ngày thứ hai.
Và một trên dòng thứ ba.
Vì vậy, đây là những gì chúng ta sẽ làm gì nếu chúng tôi muốn chỉ cần thực hiện một kim tự tháp đầy đủ,
nói, trong trình soạn thảo văn bản của chúng tôi.
>> Vì vậy, hãy thực hiện việc này, hiểu các mô hình,
và chuyển đổi nó sang một số giả.
Đối với mỗi hàng của các kim tự tháp, chúng tôi muốn để in các kim tự tháp bên trái và sau đó
khoảng cách và sau đó kim tự tháp phải.
Đối với các kim tự tháp bên trái, chúng tôi in số lượng cần thiết của không gian,
tiếp theo là băm.
Sau đó, chúng tôi in khoảng cách, mà chỉ là hai không gian mỗi lần.
Và trong các kim tự tháp phải, chúng tôi in số điều kiện tiên quyết của băm.
>> Đối với hàng thứ hai, chúng tôi tiến hành cùng một quá trình chính xác.
Chúng tôi in các không gian cho trái kim tự tháp, số lượng cần thiết
băm, khoảng cách, hai không gian, và sau đó băm cho các kim tự tháp phải.
>> Hãy giải quyết những mô hình kim tự tháp bên trái.
Nếu tôi đã có, cho các mục đích Trong ví dụ này, một chiều cao
tám yêu cầu của người sử dụng, sau đó hàng đầu tiên của tôi
sẽ có một băm và bảy chỗ.
hàng thứ hai của tôi sẽ có hai bảng băm, sáu không gian.
hàng thứ ba, ba băm, năm không gian.
Bạn có lẽ có thể làm điều này mình với chiều cao tám
và xác định cho mỗi hàng có bao nhiêu băm và bao nhiêu không gian bạn cần.
Nhưng những gì chúng tôi muốn làm là chúng tôi muốn tóm tắt nó.
Vì vậy, tôi yêu cầu bạn cho bất kỳ hàng thứ n, bao nhiêu băm và bao nhiêu không gian chúng ta cần?
>> Bây giờ, khi bạn xác định mẫu cho bao nhiêu băm
và bao nhiêu không gian bạn cần cho bất kỳ hàng thứ n với chiều cao nhất định,
nhớ phải cẩn thận làm thế nào bạn đang lập chỉ mục.
Những gì tôi có ý nghĩa của điều này là trong hàng ngày cuộc sống hầu hết chúng ta bắt đầu đếm một.
Vì vậy, các hàng đầu tiên sẽ là số một.
Và hàng thứ hai sẽ là hàng thứ hai, vv và vv.
>> Nhưng trong khoa học máy tính và CS50, chúng tôi không lập chỉ mục.
Vì vậy, chúng tôi thực sự bắt đầu đếm từ số không.
Vì vậy, các hàng đầu tiên sẽ có hàng số zero.
Và hàng thứ hai sẽ là hàng số một.
Vì vậy, nếu tôi đã có một chiều cao của tám cho kim tự tháp của tôi, sau đó giá trị cuối cùng của n
thực sự sẽ là bảy và không tám.
>> Vì vậy, hãy cẩn thận về điều này.
Và nhận thức được khi bạn đang xác định mô hình của bạn cho dù bạn không lập chỉ mục
hoặc một lập chỉ mục
>> ĐƯỢC.
Vì vậy, bây giờ chúng ta có mô hình kim tự tháp bên trái,
chúng ta cần phải xác định mô hình cho khoảng cách.
May mắn thay, điều này là rất dễ dàng.
Nó chỉ luôn hai không gian.
>> Vì vậy, bây giờ chúng ta tiến tới mô hình đúng.
Hàng đầu tiên sẽ có một băm.
Hàng thứ hai, hai.
hàng thứ ba, ba.
Vv và vv.
Vì vậy, một lần nữa, xác định cho bất kỳ trừu tượng n và bất kỳ độ cao bao nhiêu băm
và không gian bao nhiêu mỗi hàng phải có.
>> ĐƯỢC.
Vì vậy, chúng tôi biết rằng đối với mỗi chúng ta hàng cần phải tiến hành một số quá trình.
làm sao chúng ta làm việc đó bây giờ?
Vâng, chúng tôi sử dụng cho vòng lặp cấu trúc, bao gồm một khởi tạo,
một điều kiện, và một bản cập nhật.
Đối với các vòng lặp có thể được sử dụng để lặp lại quá trình.
>> Vì vậy, nói tôi muốn nó để chào hỏi, thế giới 50 lần, sau đó tôi cho vòng lặp
sẽ giống như thế này, nơi Tôi khởi tạo biến của tôi không.
Các điều kiện là tôi là ít hơn 50.
Và sau đó cập nhật là nó gia tăng bởi một mỗi lần.
Vì vậy, điều này sẽ làm sẽ là để in hello, thế giới 50 lần trong một hàng.
>> Bây giờ, nói rằng tôi muốn lặp hơn chiều cao của kim tự tháp.
Sau đó, thay vì mã hóa cứng một số giá trị trong điều kiện,
Tôi chỉ sử dụng chiều cao biến.
Vì vậy, điều này sẽ làm là lặp hơn chiều cao mỗi hàng.
Và tôi có thể làm một cái gì đó bên trong của cơ thể của vòng lặp đó.
>> Chúng ta muốn gì để làm bên trong thân của vòng lặp?
Vâng, như chúng tôi chỉ ra trước đây, chúng tôi muốn in các không gian và băm
kim tự tháp bên trái và sau đó in hai không gian và sau đó in băm.
Vì vậy, chúng tôi đã đoán ra.
Vì vậy, chúng ta có thể bắt đầu để điền trong chương trình của chúng tôi nhiều hơn.
>> Ở đây tôi có một bên ngoài vòng lặp cho rằng lặp trên mỗi dòng trong các kim tự tháp.
Và bên trong cơ thể mà tôi sẽ in không gian liên tục,
băm nhiều lần, và sau đó khoảng cách, và sau đó băm cho các kim tự tháp phải,
và sau đó, cuối cùng, một mới dòng để bắt đầu dòng kế tiếp.
>> Cùng với đó, chúng tôi đã nhắc nhở người sử dụng cho đầu vào.
Chúng tôi đã thực hiện chắc chắn rằng đó là hợp lệ.
Và sau đó chúng tôi đã rút ra các kim tự tháp.
Vì vậy, Mario có thể thành công leo lên kim tự tháp.
>> Tên tôi là Zamyla.
Và đây là CS50.