1. Формализовать и решить логическую задачу Продавец фруктов заказал на оптовой базе по ящику яблок, апельсинов и груш, составил ящики друг на друга и повез к своей палатке. Разгружая машину, продавец заметил, что в нижнем ящике фрукты сильно помялись. Переспевшие груши тоже имели не самый лучший вид, хоть и лежали в верхнем ящике. Целыми остались только завернутые в сеточки апельсины. В каком ящике лежали яблоки?
2. Составить таблицу истинности четырех функций
X ∨ ¬Y ∨ ¬Z
¬(¬X&¬Y) & (X&Y)
¬X ⇔ (¬X xor Y)
¬(¬X ∨ ¬Y) & (X xor Y) ⇔ Z
[any] Pascal: (без хранения введённых чисел => "эффективная")
var a, i, x: integer; begin for i := 1 to 6 do begin read(a); if a>0 then x := x + 1 else if a<0 then x := x - 1 end; if x>0 then write('Больше положительных') else if x<0 then write('Больше отрицательных') else write('Одинаково')end.PascalABC.NET: (с хранением введённых чисел в массиве)
## var a := ReadArrInteger(6); var x := a.Sum(x -> x>0 ? 1 : -1); if x=0 then Write('Одинаково') else Print('Больше', x>0 ? 'положительных' : 'отрицательных')Пример работы:
{1}
begin
var a:=readArrinteger('Вводите: ', readinteger('n ='));
write ('Ср. арифметическое: ', a.Average);
end.
{2}
begin
var a:=readarrinteger('Водите: ', readinteger('n ='));
var sum:=0;
for var i:=0 to length(a)-1 do if i.isodd then sum+=a[i];
write ('Сумма: ', sum);
end.
{3}
begin
var a:=readarrinteger('Вводите: ', readinteger('Кол-во элементов: '));
var otr:=0; var pol:=0;
for var i:=0 to length(a)-1 do if a[i]<0 then otr+=1 else pol+=1;
write('Массив: '); a.Println;
if otr=pol then write ('Отрицательных и положительных элементов равное кол-во') else
if otr>pol then write('Отрицательных больше на ', otr-pol) else
write ('Положительных больше на ', pol-otr);
end.