Сделать блок-схему для кода: var
m, n, i: integer;
sum: real;
function fact(x: integer): real;
begin
if x = 0 then fact := 1
else fact := fact(x - 1) * x;
end;
begin
writeln('Введите границы m и n: ');
readln(m, n);
sum := 0;
for i := m to n do if not odd(i) then
sum := sum + fact(i);
writeln('Сумма факториалов четных чисел от m до n = ', sum);
end.
Итак, два ответа истинных, два - ложных. Тогда среди "не мы" есть хотя бы один истинный и один ложный ответ.
Пусть один "не мы" ложный (а два истинных), тогда его автор и взял ручку Никиты, а Лев солгал и он знает, кто взял ручку.
А теперь пусть два "не мы" ложных, а один истинный. Тогда получается, что ручку взяли сразу двое - те, кто солгал. Это противоречит условию, где сказано. что ручку взял один, следовательно, так быть не может.
ответ: Лев знает, кто взял ручку.
Var
S:string;
Begin
Write('Введите строку: ');ReadLn(S);
S:=Copy(S,1,Length(S) div 2);
WriteLn(S);
End.
Пример работы программы:
Введите строку: 1234
12
Для удаления левой половины символов:
Var
S:string;
Begin
Write('Введите строку: ');ReadLn(S);
S:=Copy(S,Length(S) div 2+1, Length(S));
WriteLn(S);
End.
Пример работы программы:
Введите строку: 1234
34
Удаление выбранной половины символов:
Var
S:string;
A:byte;
Begin
Write('Введите строку: ');ReadLn(S);
WriteLn('1 - удаление правой половины, 2 - удаление левой половины');
ReadLn(A);
if A = 1 then S:=Copy(S,Length(S) div 2+1, Length(S))
else S:=Copy(S,1,Length(S) div 2);
WriteLn(S);
End.
Пример работы программы:
Введите строку: 1234567890
1 - удаление правой половины, 2 - удаление левой половины
2
12345