Заметим, чтобы сгенерировать строку, нужно знать только предыдущую строку. Будет генерировать по порядку от 1 до n-ой строки.
Программа:
var n, i: integer; cur_str, prev_str: string; begin read(n); prev_str := ''; for i := 1 to n do {Генерируем строки по порядку от 1 до n} begin str(i, cur_str); {Записываем в текущую строку её порядковый номер} cur_str := prev_str + prev_str + cur_str; {Дописываем предыдущую строку два раза в начало} prev_str := cur_str; {Записываем текущею строку вместо предудущей} end; writeln(cur_str); end.
1. A или B и C - так как у нас A = истина, следовательно данное логическое выражение всегда будет возвращать истину
2. B или НЕ C - B у нас Ложь, C истина, соответственно под инверсией C получает значение Ложь. Следовательно выражение всегда будет возвращать Ложь
3. B или (C и A) - Так как C и A хранят в себе истину и связаны с B с логического оператора "ИЛИ", выражение будет возвращать истину.
4. НЕ (A и B) или (B >= C или НЕ А) - В связи с тем, что в A и B хранятся истина и ложь соответственно, значение логического выражения A и B будет ложью, а инверсия ложи = истине. Следовательно уже НЕ (A и B) выдает истину и вторая часть выражения после после или рассматриваться не будет
Программа:
var
n, i: integer;
cur_str, prev_str: string;
begin
read(n);
prev_str := '';
for i := 1 to n do {Генерируем строки по порядку от 1 до n}
begin
str(i, cur_str); {Записываем в текущую строку её порядковый номер}
cur_str := prev_str + prev_str + cur_str; {Дописываем предыдущую строку два раза в начало}
prev_str := cur_str; {Записываем текущею строку вместо предудущей}
end;
writeln(cur_str);
end.
1. True (Истина)
2. False (Ложь)
3. True (Истина)
4. True (Истина)
Объяснение:
1. A или B и C - так как у нас A = истина, следовательно данное логическое выражение всегда будет возвращать истину
2. B или НЕ C - B у нас Ложь, C истина, соответственно под инверсией C получает значение Ложь. Следовательно выражение всегда будет возвращать Ложь
3. B или (C и A) - Так как C и A хранят в себе истину и связаны с B с логического оператора "ИЛИ", выражение будет возвращать истину.
4. НЕ (A и B) или (B >= C или НЕ А) - В связи с тем, что в A и B хранятся истина и ложь соответственно, значение логического выражения A и B будет ложью, а инверсия ложи = истине. Следовательно уже НЕ (A и B) выдает истину и вторая часть выражения после после или рассматриваться не будет