Кэтой составить блок-схему. машинист два дня ездил в город. если в первый день машинист проехал 10 км, то во второй день он проехал на 5 км больше. сколько всего км пути проехал машинист? решите !
Procedure ShellStr(var s: string); { сортирует символы строки методом Шелла } var i, j, n, step: integer; c: char; begin s := Trim(s); n := Length(s); step := n div 2; while step > 0 do begin for j := n - step downto 1 do begin i := j; while i <= n - step do begin if s[i] > s[i + step] then begin c := s[i]; s[i] := s[i + 1]; s[i + 1] := c end; i := i + step end end; step := step div 2 end end;
procedure TrimNullsLeft(var s: string); { Усекает левые (незначащие нули) в строке s } var i, n: integer; begin i := 1; n := Length(s); while (s[i] = '0') do i := i + 1; s := Copy(s, i, n - i + 1) end;
var p: integer; s, M, N: string; f: text;
begin Assign(f, 'input.txt'); Reset(f); Readln(f, s); Close(f); Assign(f, 'output.txt'); Rewrite(f); s := Trim(s); p := Pos(' ', s); M := Copy(s, 1, p - 1); N := Copy(s, p + 1, Length(s) - p); s := M + N; ShellStr(s); TrimNullsLeft(s); Writeln(f, s); Close(f); Writeln('Программа завершила работу') end.
1) 1
2) 2
3) 2
4) 2
Объяснение:
1)
т.к. выражение в информатике - запись про которую можно однозначно сказать, оно ложно или нет
2)
а) НЕ (Первая буква согласная) - Первая буква гласная
б) НЕ (Последняя буква гласная) - Последняя буква согласная
ИЛИ - Одно из двух условий
ложно для имени - ни условие а), ни условие б) не выполняется
Пимен выполняет условие б)
Кристина не выполняет ни одно из условий
Ирина выполняет условие а)
Александр выполняет условие а)
3)
¬ - оператор НЕ
& - оператор И
В общем виде НЕ(условие 1) И НЕ(условие 2)
Выражение истинно если не выполняются оба условия
Условие 1: x < 6.
Условие 2: x < 7.
Искомое число больше чем 6 и 7. Минимальное целое - 8.
Из предложенных вариантов подходит только 9
{ сортирует символы строки методом Шелла }
var
i, j, n, step: integer;
c: char;
begin
s := Trim(s);
n := Length(s);
step := n div 2;
while step > 0 do
begin
for j := n - step downto 1 do
begin
i := j;
while i <= n - step do
begin
if s[i] > s[i + step] then
begin
c := s[i];
s[i] := s[i + 1];
s[i + 1] := c
end;
i := i + step
end
end;
step := step div 2
end
end;
procedure TrimNullsLeft(var s: string);
{ Усекает левые (незначащие нули) в строке s }
var
i, n: integer;
begin
i := 1; n := Length(s);
while (s[i] = '0') do i := i + 1;
s := Copy(s, i, n - i + 1)
end;
var
p: integer;
s, M, N: string;
f: text;
begin
Assign(f, 'input.txt');
Reset(f);
Readln(f, s);
Close(f);
Assign(f, 'output.txt');
Rewrite(f);
s := Trim(s);
p := Pos(' ', s);
M := Copy(s, 1, p - 1);
N := Copy(s, p + 1, Length(s) - p);
s := M + N;
ShellStr(s);
TrimNullsLeft(s);
Writeln(f, s);
Close(f);
Writeln('Программа завершила работу')
end.