Var f,f1:text; s:string; begin assign(f,'f.txt'); reset(f); assign(f1,'f1.txt'); rewrite(f1); while not eof(f) do begin readln(f,s); {есть функция: function TrimRight(s: string): string; Возвращает строку с удаленными конечными пробелами Можно и так, как написано ниже} while s[length(s)]=' ' do delete(s,length(s),1); writeln(f1,s); end; close(f); close(f1); end.
Рассмотрим три варианта: 1. Допустим, что правильно первое высказывание. Тогда: Петр - португальский, (раз второе суждение ошибочное, то Николай должен изучать португальский, а его уже изучает Петр) - НЕ ПОДХОДИТ 2. Допустим, что правильно второе высказывание. Тогда: Петр - не португальский, Георгий - Китайский, Николай - не португальский (тут нужно сделать вывод, что португальский должен изучать Георгий, но он изучает китайский) - НЕ ПОДХОДИТ 3. Допустим, что правильно третье высказывание. Тогда: Николай - португальский, Георгий - арабский, Петр - китайский. Вывод: правильно третье высказывание, значит, Николай изучает португальский, Георгий изучает арабский язык, а Петр - китайский.
Допустим, верно первое утверждение, а два другие ложны. Тогда получится, что и Петр, и Николай учат португальский - не удовлетворяет. Допустим, верно второе утверждение. Тогда ни Петр, ни Николай не учат португальский, а Георгий учит китайский. Получится, что на Петра и Николая остается только один язык - арабский. Не подходит. Допустим, верно третье утверждение.Тогда Николай учит португальский, Петр не учит португальский - тогда он учит арабский или китайский. Георгий не учит китайский, тогда он учит арабский. Тогда Петр учит китайский. Всё подходит.
ответ: Петр - китайский, Николай - португальский, Георгий - арабский.
s:string;
begin
assign(f,'f.txt');
reset(f);
assign(f1,'f1.txt');
rewrite(f1);
while not eof(f) do
begin
readln(f,s);
{есть функция:
function TrimRight(s: string): string;
Возвращает строку с удаленными конечными пробелами
Можно и так, как написано ниже}
while s[length(s)]=' ' do delete(s,length(s),1);
writeln(f1,s);
end;
close(f);
close(f1);
end.