
Приветствуем читателей нашего сайта! Сегодня мы продолжим решать задачи из блока Series, а именно задачи Series11-20.
Series11-20
Series11. Даны целые числа K, N и набор из N целых чисел. Если в наборе имеются числа, меньшие K, то вывести True; в противном случае вывести False.
Program series11;
var
i, k, n, a: integer;
prov: boolean;
begin
write('N = ');
readln(N);
write('K = ');
readln(K);
prov := false;
writeln('Введите ', N, ' целых чисел:');
for i := 1 to N do
begin
readln(a);
if a < k then prov := true;
end;
writeln(prov);
end.Series12. Дан набор ненулевых целых чисел; признак его завершения — число 0. Вывести количество чисел в наборе.
Program series12;
var
a, count: integer;
begin
repeat
write('Введите целое число: ');
readln(a);
inc(count)
until a = 0;
dec(count);
write('Количество чисел в наборе: ', count);
end.Series13. Дан набор ненулевых целых чисел; признак его завершения — число 0. Вывести сумму всех положительных четных чисел из данного набора. Если требуемые числа в наборе отсутствуют, то вывести 0.
Program series13;
var
a, summ: integer;
begin
repeat
write('Введите целое число: ');
readln(a);
if (a>0) and (not odd(a)) then inc(summ, a);
until a = 0;
write('Сумма всех положительных четных чисел: ', summ);
end.Series14. Дано целое число K и набор ненулевых целых чисел; признак его завершения — число 0. Вывести количество чисел в наборе, меньших K.
Program series14;
var
a, count, k: integer;
begin
write('K = ');
readln(K);
repeat
write('Введите целое число: ');
readln(a);
if (a<>0) and (a<k) then inc(count);
until a = 0;
write('Количество чисел, меньших K: ', count);
end.Series15°. Дано целое число K и набор ненулевых целых чисел; признак его завершения — число 0. Вывести номер первого числа в наборе, большего K. Если таких чисел нет, то вывести 0.
Program series15;
var
a, id, k, count: integer;
begin
write('K = ');
readln(K);
repeat
write('Введите целое число: ');
readln(a);
inc(count);
if (a>k) and (id=0) then begin {присваиваем id новое значение только в том случае, если предыдущее его значение равняется нулю}
id := count;
end;
until a = 0;
write('Номер первого числа, большего K: ', id);
end.Series16°. Дано целое число K и набор ненулевых целых чисел; признак его завершения — число 0. Вывести номер последнего числа в наборе, большего K. Если таких чисел нет, то вывести 0.
Program series16;
var
a, id, k, count: integer;
begin
write('K = ');
readln(K);
repeat
write('Введите целое число: ');
readln(a);
inc(count);
if a>k then begin
id := count;
end;
until a = 0;
write('Номер последнего числа, большего K: ', id);
end.Series17°. Дано вещественное число B, целое число N и набор из N вещественных чисел, упорядоченных по возрастанию. Вывести элементы набора вместе с числом B, сохраняя упорядоченность выводимых чисел.
Program series17;
var
n, i: integer;
a, b: real;
prov: boolean;
begin
prov := false;
write('N = ');
readln(N);
write('B = ');
readln(B);
write('Введите последовательность чисел: ');
for i := 1 to n do
begin
read(a);
if (a>b) and (prov = false) then
begin
write (b, ' ');
prov := true;
end;
write(a, ' ');
end;
if prov = false then write(b)
end.Series18. Дано целое число N и набор из N целых чисел, упорядоченный по возрастанию. Данный набор может содержать одинаковые элементы. Вывести в том же порядке все различные элементы данного набора.
Program series18;
var
n, i, a, b: integer;
begin
write('N = ');
readln(N);
write('Введите последовательность чисел: ');
for i := 1 to n do
begin
read(a);
if a<>b then write (a, ' ');
b := a;
end;
end.Series19°. Дано целое число N (> 1) и набор из N целых чисел. Вывести те элементы в наборе, которые меньше своего левого соседа, и количество K таких элементов.
Program series19;
var
n, i, a, b, k: integer;
begin
write('N = ');
readln(N);
write('Введите последовательность чисел: ');
for i := 1 to n do
begin
read(a);
if aSeries20. Дано целое число N (> 1) и набор из N целых чисел. Вывести те элементы в наборе, которые меньше своего правого соседа, и количество K таких элементов.
Помимо необходимого сравнения вводимого числа с предыдущим, добавляем условие i>1, т.к. при первой итерации цикла значение правого соседнего элемента еще попросту неизвестно.
Program series20;
var
n, i, a, b, k: integer;
begin
write('N = ');
readln(N);
write('Введите последовательность чисел: ');
for i := 1 to n do
begin
read(a);
if (a>b) and (i>1) then begin
write(b, ' ');
inc(k);
end;
b := a;
end;
writeln;
write('K = ', k);
end.На сегодня все! Если у вас возникли вопросы, не стесняйтесь, задавайте их в комментариях. И не забывайте кликать по кнопочкам.
Простите, если ошибаюсь, но, кажется, в 17 задаче не учтен вариант, когда В больше всех чисел набора. Наверное надо добавить после цикла печать В если prov=false.
Да, все верно. Исправила.
19 не полностью.