Trang Chủ Tài chính Cá nhân Làm thế nào để Tạo mã trong Ruby để Vẽ một Hình chữ nhật - núm vú

Làm thế nào để Tạo mã trong Ruby để Vẽ một Hình chữ nhật - núm vú

Video: Hướng dẫn cách giải khối Rubik 3x3 nhanh nhất và đơn giản nhất 2025

Video: Hướng dẫn cách giải khối Rubik 3x3 nhanh nhất và đơn giản nhất 2025
Anonim

Trong Ruby, bạn có thể tạo một hình chữ nhật trên màn hình bằng cách sử dụng nghệ thuật ASCII. Nếu bạn định vẽ một hình chữ nhật trên giấy đã được lấp đầy bằng một khuôn mẫu, bạn sẽ cần làm gì? Trước tiên, bạn có thể vẽ phác thảo hình chữ nhật, và sau đó bạn có thể tô màu bên trong.

Nhưng đối với chương trình của bạn trong Ruby, bạn sẽ muốn thay vì vẽ hình dạng từ trên xuống dưới cùng, mỗi dòng một lần. Làm thế nào bạn mô tả làm thế nào để làm điều đó? Giống như thế này:

  1. Vẽ phần trên cùng của hình chữ nhật bằng cách sử dụng mẫu bên ngoài (hoặc cạnh) cho dòng đầu tiên.

  2. Đối với mỗi đường tạo nên các cạnh và bên trong hình chữ nhật, vẽ cạnh bên trái, tất cả ở giữa, và sau đó là cạnh bên phải.

    Lặp lại bước này cho đến khi bạn cần vẽ phía dưới hình chữ nhật.

  3. Vẽ vùng đáy của hình chữ nhật chính xác khi bạn vẽ cạnh trên cùng.

Đây là một thuật toán để vẽ hình chữ nhật theo dòng từ trên xuống dưới.

An thuật toán chỉ là một chuỗi các bước bạn làm theo để hoàn thành một số nhiệm vụ hoặc tính toán. Trong trường hợp này, bạn đã viết ra trình tự vẽ một hình chữ nhật bằng cách quét qua từ trên xuống dưới, từng dòng.

Phiên bản Ruby của thuật toán của bạn đọc rất nhiều giống như phiên bản tiếng Anh:

  1. Thiết lập hai biến số giúp bạn dễ dàng nhìn thấy những gì đang diễn ra. Bạn sẽ sử dụng lựa chọn của người dùng về kích thước hình dạng như là chiều cao và chiều rộng của hình vẽ mà bạn sẽ vẽ:

    height = shape_size width = shape_size
    
  2. Bạn sẽ vẽ hình chữ nhật theo dòng, do đó thiết lập một vòng lặp sẽ lặp lại mã của bạn cho mỗi hàng (do đó, có nghĩa là bạn cần mã bản vẽ của bạn để chạy độ cao lần):

    1. upto (height) do | hàng | # Vẽ mã đi ở đây kết thúc
    

    Vòng lặp là một cách mạnh mẽ để lặp lại mã một số lần (hoặc thậm chí một số lần vô hạn)! Ruby có một số cách để lập trình một vòng lặp. Phương pháp upto là một cách dễ dàng để tính từ một số bắt đầu đến một số cuối cùng. Đối với hình chữ nhật, bạn muốn đếm bắt đầu từ 1 cho dòng đầu tiên và kết thúc đếm khi bạn đạt đến số được biểu thị bằng chiều cao.

  3. Bây giờ, để thuật toán hoạt động, bạn cần phải kiểm tra để xem hàng bạn muốn chương trình in ra sao. Bạn có ba trường hợp: hàng đầu tiên, hàng giữa và hàng cuối cùng. Thêm trong trường hợp của hàng đầu tiên ở giữa vòng lặp của bạn:

    nếu hàng == 1 đặt outside_letter * width end
    

    Nếu biến hàng bằng một, chương trình sẽ sử dụng puts để in lựa chọn của bạn cho các bên ngoài một số lần bằng chiều rộng.

    Bạn sử dụng câu lệnh if nếu bạn muốn xem nếu một điều kiện nào đó là đúng hay sai.Biểu tượng == trong Ruby đặt câu hỏi: "Là điều ở phía bên trái bằng với điều ở phía bên phải của biểu tượng ==? "Nếu có, thì Ruby sẽ chạy các dòng mã cho đến khi có điều kiện khác hoặc từ khóa kết thúc.

  4. Tiếp theo, thêm vào một kiểm tra để xem nếu đây là hàng cuối cùng. Từ khóa elsif bắt đầu một kiểm tra điều kiện khác và bạn đặt nó ngay trước từ khóa kết thúc trước đó. Đó cũng không phải là lỗi chính tả. Ruby chỉ có một cách vui vẻ nói "khác nếu"! Toàn bộ điều sẽ giống như sau:

    nếu hàng == 1 đặt outside_letter * chiều rộng elsif hàng == cao đặt left_letter * chiều rộng kết thúc
    
  5. Cuối cùng, bạn cần phải xử lý hiển thị của tất cả các hàng ở giữa, do đó, thêm một điều kiện cuối cùng bằng cách sử dụng từ khóa khác của Ruby. Mã này đi ngay trước từ khóa kết thúc. Đây là toàn bộ khối của Ruby:

    nếu hàng == 1 đặt outside_letter * chiều rộng elsif hàng == chiều cao đặt outside_letter * width else middle = inside_letter * (width - 2) đặt "# {outside_letter} # {middle} # { outside_letter} "end
    

    Trường hợp trung gian có vẻ phức tạp. Nó đang làm gì? Vâng, theo thuật toán của bạn, nó cần phải rút ra các cạnh trái và phải và tất cả mọi thứ ở giữa.

    Biến trung bình là tính toán chuỗi đại diện cho trung tâm của hình chữ nhật. Nếu bạn lấy đi một cho nhân vật cạnh trái và một cho nhân vật cạnh phải, chiều rộng cuối cùng của khoảng giữa có chiều rộng đầy đủ trừ hai ký tự.

    Câu lệnh puts cuối cùng sử dụng xử lý chuỗi để tạo ra hàng kết hợp.

  6. Chạy chương trình của bạn và xem nếu bạn có bất kỳ lỗi nào. Bạn có nhận được một cái gì đó giống như những gì được hiển thị ở đây? Nếu bạn thấy một lỗi mà nói điều gì đó giống như so sánh Fixnum với String thất bại, điều này có nghĩa là Ruby đã có một thời gian khó sử dụng các giá trị bên trong shape_size như một số.

    Ruby không chắc chắn làm thế nào để sử dụng dây cho các con số.

    Tại sao lại là vấn đề nếu bạn gõ vào một số? Vâng, được đọc trong đầu vào của bạn, nhưng nó đọc tất cả các ký tự mà bạn gõ như một chuỗi. Bạn phải giúp Ruby chuyển đổi chuỗi thành một số.

  7. Thay đổi hai dòng nơi bạn đặt các biến chiều cao và chiều rộng để sử dụng phương thức to_i, có nghĩa là chuyển đổi nội dung của biến này thành một số nguyên (số):

    height = shape_size. to_i chiều rộng = shape_size. to_i
    

    Chạy lại mã của bạn. Sự thành công!

    Đây có phải là hình chữ nhật thú vị nhất thế giới?
Làm thế nào để Tạo mã trong Ruby để Vẽ một Hình chữ nhật - núm vú

Lựa chọn của người biên tập

ĐịNh dạng Kiểm thử GED trên máy vi tính và các kỹ năng bắt buộc

ĐịNh dạng Kiểm thử GED trên máy vi tính và các kỹ năng bắt buộc

Thử GED được thực hiện trên máy vi tính. Điều đó có nghĩa là bạn cần phải quen thuộc với một máy tính, bàn phím và chuột. Nếu trước đây bạn chưa thử nghiệm trên máy tính, đây là một số điểm khác biệt bạn nên biết: Kỹ năng đánh máy là một tài sản. Bạn không phải là người đánh máy cảm ứng ...

Khi Không Có Thông tin để Trả lời Câu hỏi GED - những núm vú

Khi Không Có Thông tin để Trả lời Câu hỏi GED - những núm vú

Một số câu hỏi về GED kiểm tra có thể không cung cấp cho bạn đủ thông tin để tìm câu trả lời đúng. Ví dụ, một câu hỏi có thể yêu cầu một kết luận mà bạn không thể làm từ các thông tin được đưa ra. Ngay cả khi bạn biết một số thông tin có thể giúp bạn giải quyết vấn đề, đừng sử dụng nó. Khi bạn lấy GED, ...

Việc phải làm Ngay trước khi Bạn Lấy GED - núm vú

Việc phải làm Ngay trước khi Bạn Lấy GED - núm vú

Làm tốt bài kiểm tra GED nhiều hơn đi vào vị trí kiểm tra và trả lời các câu hỏi. Bạn cần phải chuẩn bị cho những thách thức trong các bài kiểm tra. Để đảm bảo rằng bạn đã sẵn sàng để giải quyết bài kiểm tra đầu vào, hãy chắc chắn rằng bạn làm những điều sau đây dẫn đến kiểm tra: Đủ ngủ. Đó là sự thật ...

Lựa chọn của người biên tập

Máy tính Độ phân giải Màn hình - núm vú

Máy tính Độ phân giải Màn hình - núm vú

Như máy ảnh kỹ thuật số, màn hình máy tính (và các thiết bị hiển thị khác) tạo mọi thứ bạn thấy trên màn hình pixels. Bạn thường có thể chọn từ một số cài đặt màn hình, mỗi kết quả đều có một số điểm ảnh màn hình khác nhau. Đây là các cài đặt chuẩn: 800 x 600 pixel 1024 x 768 pixel 1280 x 1024 pixel 1600 x ...

Ghi Các tùy chọn cho máy ảnh SLR kỹ thuật số của bạn - núm vú

Ghi Các tùy chọn cho máy ảnh SLR kỹ thuật số của bạn - núm vú

Các cài đặt cơ bản của máy ảnh dSLR và chỉnh sửa phim chụp SLR kỹ thuật số và lưu ảnh và phim, cũng như các tùy chọn liên quan đến ảnh và tiếp xúc khác. Thanh cuộn ở phía bên phải của hệ thống menu cho bạn biết bạn đang ở đâu - lên hoặc xuống - khi bạn xem xét các lựa chọn riêng lẻ trong ...

Máy tính Độ phân giải máy in - độ dày

Máy tính Độ phân giải máy in - độ dày

Độ Phân giải máy in được đo bằng các chấm trên mỗi inch (dpi). Hình ảnh được in được tạo thành bởi các chấm nhỏ màu sắc, và có bao nhiêu dpi mà máy in có thể sản xuất xác định độ phân giải của máy in. Độ phân giải càng cao, điểm chấm nhỏ hơn và hình ảnh in càng tốt. Nhưng các máy in khác nhau sử dụng các công nghệ in khác nhau, một số trong đó ...

Lựa chọn của người biên tập

Nhân chủng học Các chủ đề để nghiên cứu cho bài kiểm tra tương tự Miller (MAT) - những con voi

Nhân chủng học Các chủ đề để nghiên cứu cho bài kiểm tra tương tự Miller (MAT) - những con voi

Nhân chủng học là nghiên cứu về con người và hành vi của chúng. Để nghiên cứu nhân chủng học cho bài kiểm tra Miller Analogies (MAT), bạn sẽ cần phải tập trung vào các thuật ngữ và các con số quan trọng được liệt kê ở đây. Nếu bạn từng tự hỏi tại sao mọi người hành động theo cách họ làm, bạn có thể thấy nhân học hấp dẫn. Các thuật ngữ nhân học xuất hiện trên bài kiểm tra MAT ...

Các chủ đề kiến ​​trúc cho Nghiên cứu Thử nghiệm Tương tự Miller (MAT) - núm vú

Các chủ đề kiến ​​trúc cho Nghiên cứu Thử nghiệm Tương tự Miller (MAT) - núm vú

Cho Thử nghiệm Tương tự Miller, bạn nên làm quen với các ví dụ nổi tiếng về kiến ​​trúc - như Đấu trường La Mã La Mã. Trên sàn MAT, kiến ​​trúc không phải là lớn như một loại hình nghệ thuật, do đó bao phủ các căn cứ có thể được một chút dễ dàng hơn. Các danh sách dưới đây sẽ làm quen với các kiến ​​trúc sư và kiến ​​trúc sư quan trọng nhất trong lịch sử của bạn và