Module: Chương trình con: thủ tục và hàm - 1


Problem

7/12

Rút gọn mã chương trình

Problem

Rabbit Clover tiếp tục học lập trình. Anh ấy đã nghiên cứu các dòng. Gần đây, anh chuyển sang nghiên cứu về chương trình con, cụ thể là các thủ tục. Nhưng anh ta không hiểu làm thế nào để sử dụng chúng. Gần đây, Clover muốn viết một chương trình có thể in ra những từ dài nhất trong số hai câu trong một cột (nếu có nhiều từ như vậy thì nó sẽ lấy từ đầu tiên gặp phải). Anh ấy hoàn toàn quên mất các thủ tục và viết một chương trình rất phức tạp.
Cô ấy đây rồi: var max, n: số nguyên; s1, s2, từMax, từ:chuỗi; bắt đầu     readln(s1);     readln(s2);     tối đa := 0;     s1 := s1 + ' ';     trong khi chiều dài(s1) > 0 để bắt đầu         n := pos(' ', s1);         từ := bản sao (s1, 1, n);         nếu độ dài (từ) > tối đa sau đó bắt đầu             tối đa := độ dài (từ);             từMax := từ;         kết thúc;         xóa(s1, 1, n);     kết thúc;     writeln(wordMax);          tối đa := 0;     s2 := s2 + ' ';     trong khi chiều dài(s2) > 0 để bắt đầu         n := pos(' ', s2);         từ := bản sao (s2, 1, n);         nếu độ dài (từ) > tối đa sau đó bắt đầu             tối đa := độ dài (từ);             từMax := từ;         kết thúc;         xóa(s2, 1, n);     kết thúc;     writeln(wordMax); kết thúc. Đồng ý, đây là một chương trình khá khó hiểu. 
Giúp Clover the Rabbit cải thiện chương trình bằng cách chọn các hành động tương tự trong quy trình.