Program proga_25_3; var A: text; s,p : string; i:integer; f:boolean; begin write('Введите имя и путь к файлу '); read(p); assign(A, p); reset(A); while not eof(A) do begin readln(A,s); for i:=1 to length(s) div 2 do if s[i]=s[length(s)-i+1] then f:=true else begin f:=false; break; end; if f then writeln (S); end; close(A); end.
Из описания следует, что x,y,z - целые неотрицательные числа. Слово "Рыбка" выводится всегда, поскольку х либо меньше 6, т.е. равно 0,1,2,3,4,5, либо больше 5, т.е. равно 6,7,8,9,10. Соответственно, слово "Птичка" не будет выведено никогда. Если y>7 (y=8,9,10), то условие y mod 2 = 3 всегда ложно (остаток от деления на два не может быть равен трем) и поэтому выводится слово "плавает". Если же y<=7, то не выводится ничего. При z, кратном 3 (z=0,3,6,9) проверяется истинность сложного высказывания (x div 2 > 4) and (x mod 2<>1). Оно истинно если при целочисленном делении х на два получается число большее четырех, т.е. при х=10 и при этом х должен быть четным. И тогда будет напечатано в "пруду". Если же это высказывание ложно, печатается "под облаками". И в конце выводится точка. Итак, при значениях x,y,z не превышающих 10: a) Рыбка плавает в пруду. - x=10, y∈[8,9,10], z∈[0,3,6,9] b) Птичка летает в пруду. - никогда c) Птичка под облаками. - никогда d) Рыбка летает под облаками. - никогда e) Птичка плавает под облаками. - никогда f) Рыбка летает. - никогда
var
A: text;
s,p : string;
i:integer;
f:boolean;
begin
write('Введите имя и путь к файлу ');
read(p);
assign(A, p);
reset(A);
while not eof(A) do
begin
readln(A,s);
for i:=1 to length(s) div 2 do
if s[i]=s[length(s)-i+1] then
f:=true
else
begin
f:=false;
break;
end;
if f then
writeln (S);
end;
close(A);
end.