Приветствуем читателей нашего сайта! Сегодня мы продолжим решать задачи из блока 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 a
Series20. Дано целое число 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 не полностью.