Encurtar o código do programa
Problem
Rabbit Clover continua a aprender programação. Ele já estudou as linhas. Recentemente, passou ao estudo das sub-rotinas, nomeadamente dos procedimentos. Mas ele não entende como usá-los. Recentemente, Clover queria escrever um programa que imprimisse as palavras mais longas de duas sentenças em uma coluna (se houver várias dessas palavras, ele usaria a primeira que encontrasse). Ele esqueceu completamente os procedimentos e escreveu um programa muito complexo.
Aqui está ela:
var max, n: inteiro;
s1, s2, palavraMax, palavra:string;
começar
readln(s1);
readln(s2);
máximo := 0;
s1 := s1 + ' ';
enquanto comprimento(s1) > 0 para começar
n := pos(' ', s1);
palavra := copiar(s1, 1, n);
se comprimento(palavra) > máximo então comece
max := comprimento(palavra);
palavraMax := palavra;
fim;
delete(s1, 1, n);
fim;
writeln(palavraMax);
máximo := 0;
s2 := s2 + ' ';
enquanto comprimento(s2) > 0 para começar
n := pos(' ', s2);
palavra := copiar(s2, 1, n);
se comprimento(palavra) > máximo então comece
max := comprimento(palavra);
palavraMax := palavra;
fim;
delete(s2, 1, n);
fim;
writeln(palavraMax);
fim.
Concordo, este é um programa bastante difícil de entender.
Ajude Clover the Rabbit a melhorar o programa selecionando as mesmas ações no procedimento.