1)
Ввод чисел в массив:
program vvod_mass;
var
a: array[1..12] of integer;
i: integer;
begin
for i:=1 to 12 do
begin
write('a[', i, ']='); readln(a[i]);
end;
end.
2)
program otric;
var
a: array[1..10] of integer;
i,n: integer;
begin
randomize;
for i:=1 to 10 do
begin
a[i]:=-10+random(21);
writeln(a[i]);
end;
for i:=1 to 10 do if a[i]<0 then inc(n);
write('Кол-во отрицательных чисел массива: ', n);
end.
3)
program chetniy;
var
a: array[1..8] of integer;
i,n: integer;
begin
randomize;
for i:=1 to 8 do
begin
a[i]:=-10+random(21);
writeln(a[i]);
end;
for i:=1 to 8 do if a[i] mod 2 = 0 then inc(n);
write('Кол-во отрицательных чисел массива: ', n);
end.
Самое простое из того, что смог придумать. Перебираем числа до половины необходимого (больше нет смысла) (for i := 2 to number div 2 do) и ищем есть ли делители (number mod i = 0). Выводим сообщение.
var
number, i : integer;
begin
write('Число: ');
readln(number);
for i := 2 to number div 2 do
if number mod i = 0 then
begin
writeln('Число не является простым, оно делится, как минимум, на ', i);
Exit;
end;
writeln('Число является простым');
end.
<em>MS DOS QBasic 1.0</em>
RANDOMIZE TIMER
CONST n = 9
DIM a(1 TO n) AS INTEGER
CLS
FOR i = 1 TO n
a(i) = INT(99 * RND)
PRINT a(i);
NEXT i
PRINT
FOR i = 1 TO n - 1
FOR j = i + 1 TO n
IF a(i) < a(j) THEN
t = a(i)
a(i) = a(j)
a(j) = t
END IF
NEXT j
NEXT i
FOR i = 1 TO n
PRINT a(i);
NEXT i
<u>Пример</u>
85 21 7 21 29 45 98 70 23
98 85 70 45 29 23 21 21 7
I = M*N*i = 50*40*16 = 32000бит;
32000:5 = 6400бит/сек = 800байт/cек