Адекватная версия:
PascalABC.NET
begin
var expr := Readstring();
expr.Split(' ')[0].Println;
end.
Версия "Нас так учили"
var
expression: string;
s_index: byte;
begin
s_index := 1;
readln(expression);
while expression[s_index] <> ' ' do begin
write(expression[s_index]);
s_index := s_index + 1;
end;
end.
Объяснение:
Т.к по условию слово - последовательность непробельных символов, ограниченная пробелами или концами строки, то данная программа полностью игнорирует пунктуацию и считает любой символ частью того слова, с которым он не разделён пробелом.
var x, y: integer;
begin
for y := 1 to N do begin
for x := 1 to N do
write(String.Format('{0,2}*{1,2}={2,3} ', 2*x, 2*y, 4*x*y));
writeln;
end;
end.