Решите по pascal ! 1, в одномерном массиве найти разность наибольшего и наименьшего элементов. 2. дан одномерный массив, вывести на экран числа > 5. 3. в одномерном массиве найти произведения ненулевых элементов.
1. const n=10; var a:array[1..n] of integer; i,max,min:integer; begin Randomize; writeln('Массив A:'); for i:=1 to n do begin a[i]:=random(51); write(a[i]:4); end; writeln; max:=a[1]; min:=a[1]; for i:=2 to n do begin if a[i]>max then max:=a[i]; if a[i]<min then min:=a[i]; end; writeln('max = ',max,' min = ',min); writeln(max,'-',min,' = ',max-min); end.
Пример: 23 23 46 28 38 21 46 5 19 27 max = 46 min = 5 46-5 = 41
2. const n=10; var a:array[1..n] of integer; i:integer; begin Randomize; writeln('Массив A:'); for i:=1 to n do begin a[i]:=random(21); write(a[i]:3); end; writeln; writeln('Числа >5:'); for i:=1 to n do if a[i]>5 then write(a[i]:3); end.
3. const n=10; var a:array[1..n] of integer; i:integer; p:real; begin Randomize; writeln('Массив A:'); for i:=1 to n do begin a[i]:=random(11); write(a[i]:3); end; writeln; p:=1; for i:=1 to n do if a[i]<>0 then p:=p*a[i]; write('p = ',p); end.
Можно заметить, что (J /\ ¬K) = ¬(J → K), тогда выражение превратится в ((J → K) → (M /\ N /\ L)) /\ (¬(J → K) → ¬(M /\ N /\ L)) /\ (M → J)
Сравним две подчёркнутые скобки, они похожи: первая имеет вид A → B, вторая ¬A → ¬B. Обе скобки должны быть одновременно равны 1, откуда A = B. Итак, уравнение можно переписать в виде системы двух уравнений:
(J → K) = (M /\ N /\ L) (M → J) = 1
Если бы J равнялось 0, то система бы решений не имела: из второго уравнения получилось бы, что M = 0, когда первое уравнение вырождается в неверное равенство 1 = 0. Значит, J = 1. Второе уравнение в таком случае выполняется при любых M, а первое имеет вид (1 → K) = (M /\ N /\ L) Если K = 0, то M /\ N /\ L = 0, это выполняется всегда, кроме случая M = N = L = 0 [8 - 1 = 7 решений]. Если K = 1, то M /\ N /\ L = 1, это верно при M = N = L = 1 [1 решение] Всего получается 7 + 1 = 8 решений.
const n=10;
var a:array[1..n] of integer;
i,max,min:integer;
begin
Randomize;
writeln('Массив A:');
for i:=1 to n do
begin
a[i]:=random(51);
write(a[i]:4);
end;
writeln;
max:=a[1]; min:=a[1];
for i:=2 to n do
begin
if a[i]>max then max:=a[i];
if a[i]<min then min:=a[i];
end;
writeln('max = ',max,' min = ',min);
writeln(max,'-',min,' = ',max-min);
end.
Пример:
23 23 46 28 38 21 46 5 19 27
max = 46 min = 5
46-5 = 41
2.
const n=10;
var a:array[1..n] of integer;
i:integer;
begin
Randomize;
writeln('Массив A:');
for i:=1 to n do
begin
a[i]:=random(21);
write(a[i]:3);
end;
writeln;
writeln('Числа >5:');
for i:=1 to n do
if a[i]>5 then write(a[i]:3);
end.
Пример:
Массив A:
7 0 12 5 1 1 13 15 13 20
Числа >5:
7 12 13 15 13 20
3.
const n=10;
var a:array[1..n] of integer;
i:integer; p:real;
begin
Randomize;
writeln('Массив A:');
for i:=1 to n do
begin
a[i]:=random(11);
write(a[i]:3);
end;
writeln;
p:=1;
for i:=1 to n do
if a[i]<>0 then p:=p*a[i];
write('p = ',p);
end.
Пример:
Массив A:
5 7 1 6 0 0 4 1 5 0
p = 4200