Первая задача:
var
i:integer;
a: array [1..7] of String;
begin
a[1]:='мама';
a[2]:='ель';
a[3]:='парта';
a[4]:='каникулы';
a[5]:='прыжок';
a[6]:='ура';
a[7]:='прикол';
for i:=1 to 7 do
writeln(a[i],' ', Length(a[i]));
end.
Вторая задача:
var
i, j, c:integer;
a:array [1..8] of integer;
begin
for i:=1 to 8 do
begin
writeln('Введите эл. массива A[', i, ']');
readln(a[i]);
end;
writeln();
for i:=1 to 8 do
write(a[i], ' ');
for i:=1 to 7 do
for j:=i+1 to 8 do
if a[i]>a[j] then
begin
c:=a[i];
a[i]:=a[j];
a[j]:=c;
end;
writeln();
for i:=1 to 8 do
write(a[i], ' ');
end.
a&b&c
Объяснение:
Очень просто это "сокращать". Надо вспомнить, что & - это логическое умножение и заменить знак на обычное умножение. Знак ∨ - логическое сложение, его заменить на +. А дальше почти как в обычной алгебре.
(a&b&c)∨a&b&c = a·b·c + a·b·c
Обозначим a·b·c через d. Получим d·d, а это всегда d.
Делаем обратные замены d = a·b·c = a&b&c
Вот набор правил этой забавной логической арифметики.
0+0=0, 0+1=1, 1+0=1, 1+1=1, d+0=d, d+1=1, d+d=d - сложение "ИЛИ"
0·0=0, 0·1=0, 1·0=0, 1·1=1, d·0=0, d·1=d, d·d=d - умножение "И"
¬0 = 1, ¬1 = 0 - инверсия "НЕ"