Root /ArchiveAbout
()

Series 8 - 11

Series 8 - 11

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;: Представляет логическое значение.

  1. **procedure** Randomize;: Инициализирует датчик псевдослучайных чисел.2) **procedure** Randomize(seed: integer);: Инициализирует датчик псевдослучайных чисел, используя значение seed. При одном и том же seed генерируются одинаковые псевдослучайные последовательности.
  2. **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;: Представляет логическое значение.

  1. **procedure** Randomize;: Инициализирует датчик псевдослучайных чисел.2) **procedure** Randomize(seed: integer);: Инициализирует датчик псевдослучайных чисел, используя значение seed. При одном и том же seed генерируются одинаковые псевдослучайные последовательности.
  2. **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;: Представляет логическое значение.