с решением Решение логических задач. см (Приложение 5)
А. Решите задачу табличным
В финале турнира Российской Армии по шахматам встретились представители шести воинских званий: майор, капитан, лейтенант, старшина, сержант и ефрейтор, причем разных специальностей: летчик, танкист, артиллерист, минометчик, сапер и связист. Определите специальность и звание каждого из шахматистов по следующим данным:
1) в первом туре лейтенант выиграл у летчика, майор — у танкиста, а сержант — у минометчика;
2) во втором туре капитан выиграл у танкиста;
3) в третьем и четвертом турах минометчик из-за болезни не участвовал в турнире, поэтому свободными от игры оказались капитан и ефрейтор;
4) в четвертом туре майор выиграл у связиста;
5) победителями турнира оказались лейтенант и майор, а хуже всех выступил сапер.
Б. Постройте таблицы истинности для следующих выражений:
// PascalABC.NET 3.0, сборка 1139 от 10.01.2016 begin var n:=ReadInteger('Количество элементов в массиве: '); var a:=ArrRandom(n,-50,50); a.Println(','); Writeln('Четные элементы: '); var i:=1; while i<n do begin Write(a[i],' '); Inc(i,2) end; Writeln; Writeln('Нечетные элементы: '); i:=0; while i<n-1 do begin Write(a[i],' '); Inc(i,2) end; Writeln end.
Тестовое решение: Количество элементов в массиве: 10 15,-18,-29,-25,46,21,-8,-17,-9,15 Четные элементы: -18 -25 21 -17 15 Нечетные элементы: 15 -29 46 -8 -9
begin
var n:=ReadInteger('Количество элементов в массиве: ');
var a:=ArrRandom(n,-50,50);
a.Println(',');
Writeln('Четные элементы: ');
var i:=1;
while i<n do begin Write(a[i],' '); Inc(i,2) end;
Writeln;
Writeln('Нечетные элементы: ');
i:=0;
while i<n-1 do begin Write(a[i],' '); Inc(i,2) end;
Writeln
end.
Тестовое решение:
Количество элементов в массиве: 10
15,-18,-29,-25,46,21,-8,-17,-9,15
Четные элементы:
-18 -25 21 -17 15
Нечетные элементы:
15 -29 46 -8 -9
var
a,b:string;
i:integer;
begin
readln(a);
readln(b);
For i:=1 to Length(a) do
begin
if (a[i]='3') then
Begin
Delete(a,i,1);
InSert('e',a,i);
End;
if (a[i]='0') then
Begin
Delete(a,i,1);
InSert('o',a,i);
End;
if (a[i]='1') then
Begin
Delete(a,i,1);
InSert('i',a,i);
End;
if (a[i]='7') then
Begin
Delete(a,i,1);
InSert('t',a,i);
End;
if (a[i]='4') then
Begin
Delete(a,i,1);
InSert('a',a,i);
End;
if (a[i]='5') then
Begin
Delete(a,i,1);
InSert('s',a,i);
End;
end;
if b in a then
writeln('YES')
else
writeln('NO')
end.