Адекватная версия:
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.
Объяснение:
Т.к по условию слово - последовательность непробельных символов, ограниченная пробелами или концами строки, то данная программа полностью игнорирует пунктуацию и считает любой символ частью того слова, с которым он не разделён пробелом.
Адекватная версия:
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.
Объяснение:
Т.к по условию слово - последовательность непробельных символов, ограниченная пробелами или концами строки, то данная программа полностью игнорирует пунктуацию и считает любой символ частью того слова, с которым он не разделён пробелом.
РЕШЕНИЕ. Составим таблицу всех вариантов поклажи на животных:
№ варианта
А
Б
В
Г
Д
Е
Ж
З
Осёл
М
М
М
М
Ф
Ф
Ф
Ф
Козёл
М
М
Ф
Ф
М
М
Ф
Ф
Верблюд
М
Ф
М
Ф
М
Ф
М
Ф
По первому условию, если осёл перевозит финики, то козёл – масло. Это исключает варианты Ж и З.
По второму условию, если осёл перевозит масло, то верблюд – финики. Это исключает варианты А и В.
По третьему условию, если козёл перевозит финики, то верблюд – масло. Это исключает вариант Г.
№ варианта
Б
Д
Е
Осёл
М
Ф
Ф
Козёл
М
М
М
Верблюд
Ф
М
Ф
Проверяем оставшиеся варианты Б, Д, Е на наличие противоречий.
В варианте Б нет противоречий: и осёл, и козёл перевозят масло, а верблюд – финики. Это соответствует условию второму, где говорится: если осёл перевозит масло, то верблюд – финики. Условие первое сообщает: если на осле доставляют финики, то на козле – масло. Однако, если осёл не перевозит финики, то козёл должен перевозить либо финики, либо масло. Из условия третьего следует: если козёл тащит на себе финики, то верблюд – масло. Но если козёл не перевозит финики, то тогда верблюд может перевозить и финики, и масло.
В варианте Д нет противоречий: на осле доставляют финики, а на козле и верблюде – масло. По условию первому, если осёл тащит на себе финики, то козёл – масло. Раз осёл не перевозит масло, то, учитывая условие второе, верблюд может перевозить и масло, и финики. Раз козёл не перевозит финики, делаем вывод из условия третьего, что верблюд может перевозить и финики, и масло.
В варианте Е нет противоречий: и осёл, и верблюд перевозят финики, а козёл- масло. В условии первом говорится: если на осле доставляют финики, то на козле - масло. Т.к. осёл перевозит финики, а не масло, то делаем вывод из условия второго, что верблюд перевозит и то, и другое. Поскольку козёл перевозит масло, а не финики, точно так же можно предположить (исходя из условия третьего), что нет никакого противоречия в том, что верблюд перевозит финики.
Единственное животное, чья поклажа теперь известна наверняка, - козёл. Во всех трёх возможных ситуациях (Б,Д,Е) он перевозит только масло.