Series8 - выводим четные числа и их количество из данного набора целых чисел.
Series9 - выводим нечетные числа из данного набора и их количество.
Series10 - определить наличие положительных чисел из данного набора.
Series11 - выводим числа меньшие данного числа.
Series8. Дано целое число N и набор из N целых чисел. Вывести в том же порядке все четные числа из данного набора и количество K таких чисел.
Последовательность действий:
var
a, i, N, K: integer;
begin
write('N = ');
readln(N);
K := 0; //начальное количество четных чисел
writeln('Введите ', N, ' целых чисел:');
for i := 1 to N do begin
read(a);
if odd(a + 1) then begin //число a четное
if K = 0 then writeln('Четные числа:');
write(a, ' ');
inc(K) //увеличиваем количество четных чисел на 1
end
end;
writeln;
writeln('количество четных чисел = ', K)
end.
**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647**function** Odd(i: integer): boolean;
: Возвращает True, если i нечетно**procedure** Inc(**var** i: integer);
: Увеличивает значение переменной i на 1 Series9. Дано целое число N и набор из N целых чисел. Вывести в том же порядке номера всех нечетных чисел из данного набора и количество K таких чисел.
Последовательность действий почти полностью повторяет действия из предыдущей задачи, только вместо проверки чисел на четность надо проверять на нечетность (условие odd(a) истинно), и выводить надо не сами числа, а их номера i в последовательности:
var
a, i, N, K: integer;
begin
write('N = ');
readln(N);
K := 0; //начальное количество нечетных чисел
writeln('Введите ', N, ' целых чисел:');
for i := 1 to N do begin
read(a);
if odd(a) then begin //число a нечетное
if K = 0 then writeln('Нечетные числа:');
write(a, ' ');
inc(K) //увеличиваем количество нечетных чисел на 1
end
end;
writeln;
writeln('количество нечетных чисел = ', K)
end.
**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647**function** Odd(i: integer): boolean;
: Возвращает True, если i нечетно**procedure** Inc(**var** i: integer);
: Увеличивает значение переменной i на 1 Series10. Дано целое число N и набор из N целых чисел. Если в наборе имеются положительные числа, то вывести True; в противном случае вывести False.
Все комментарии в коде:
var
a, i, N: integer;
bln: boolean;{ bln = True, если существуют положительные числа,
и bln = False в противном случае }
begin
write('N = ');
readln(N);
bln := false; //положительных чисел пока что нет
writeln('Вводим ', N, ' случайных целых чисел:');
randomize;
for i := 1 to N do begin
a := random(200) - 100; //случайное число [-100, 99]
write(a, ' ');
if (a > 0)and(bln = false) then bln := true
{ Замечание: условие (a > 0)and(bln = false) означает, что число
а положительное (a>0) и перед этим положительных чисел ещё не
было (bln=false). Поскольку эти два условия должны выполнятся
одновременно, то объединяем их оператором and (логическое "и") }
end;
writeln;
writeln(bln)
end.
**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647**type** boolean;
: Представляет логическое значение.**const** false = False;
: Представляет логическое значение.
**procedure** Randomize;
: Инициализирует датчик псевдослучайных чисел.2)**procedure** Randomize(seed: integer);
: Инициализирует датчик псевдослучайных чисел, используя значение seed. При одном и том же seed генерируются одинаковые псевдослучайные последовательности.**function** Random(maxValue: integer): integer;
: Возвращает случайное целое в диапазоне от 0 до maxValue - 1.2)**function** Random(a,b: integer): integer;
: Возвращает случайное целое в диапазоне от a до b.3)**function** Random: real;
: Возвращает случайное вещественное в диапазоне [0..1).**const** false = False;
: Представляет логическое значение.**const** true = True;
: Представляет логическое значение. Series11. Даны целые числа K, N и набор из N целых чисел. Если в наборе имеются числа, меньшие K, то вывести True; в противном случае вывести False.
var
a, i, N, K: integer;
bln: boolean;{ bln = True, если неравенство a < K выполняется,
и bln = False в противном случае }
begin
write('N = ');
readln(N);
write('K = ');
readln(K);
bln := false;
writeln('Выводим ', N, ' случайных целых чисел:');
randomize;
for i := 1 to N do begin
a := -100 + random(200); //случайное число [-100, 99]
write(a, ' ');
if bln = false then bln := (a < K)
end;
writeln;
writeln(bln)
end.
**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647**type** boolean;
: Представляет логическое значение.**const** false = False;
: Представляет логическое значение.
**procedure** Randomize;
: Инициализирует датчик псевдослучайных чисел.2)**procedure** Randomize(seed: integer);
: Инициализирует датчик псевдослучайных чисел, используя значение seed. При одном и том же seed генерируются одинаковые псевдослучайные последовательности.**function** Random(maxValue: integer): integer;
: Возвращает случайное целое в диапазоне от 0 до maxValue - 1.2)**function** Random(a,b: integer): integer;
: Возвращает случайное целое в диапазоне от a до b.3)**function** Random: real;
: Возвращает случайное вещественное в диапазоне [0..1).**const** false = False;
: Представляет логическое значение.