Получите сумму всех членов, следующих за первым равным членом последовательности - Turbo Pascal
Формулировка задачи:
Пусть даны натуральное число n,целые числа a,x1,x2...xn. Если в последовательностиx1,x2...xn есть хотя бы один член, равный а , то получите сумму всех членов,следующих за первым таким членом , иначе найдите минимальный среди нечетных чисел последовательности x1,x2...xn
Решение задачи: «Получите сумму всех членов, следующих за первым равным членом последовательности»
textual
Листинг программы
var a,ai,i,n:integer; sa,{сумма после a} m:integer;{минимальный среди нечетных} fsa,{true если a найден} fm:boolean;{true если наден нечетный} begin fsa:=false;fm:=false; write('n = ');readln(n); write('a = ');readln(a); i:=1; writeln('введите через пробел ',n,' чисел:'); repeat read(ai); if not fsa then begin if ai=a then begin fsa:=true;sa:=0 end end else inc(sa,ai); if not fm then begin if odd(ai) then begin fm:=true;m:=ai end else if ai<m then m:=ai end; inc(i) until i>n; if fsa then writeln('сумма за первым вхождением ',a,' : ',sa) else begin if fm then writeln('минимальный среди нечетных : ',m) else writeln('ни тех ни других нет') end; end.
Объяснение кода листинга программы
- В начале кода объявляются переменные: a, ai, i, n, sa, m, fsa, fm, и boolean переменная end.
- Затем происходит чтение значения переменной n и a из ввода пользователя.
- Переменная i инициализируется значением 1.
- Выводится сообщение с просьбой ввести через пробел n чисел.
- В цикле repeat происходит чтение значения переменной ai.
- Если не выполнено условие fsa, то проверяется равенство ai и a. Если они равны, то устанавливается значение fsa в true и значение sa в 0. Если ai не равно a, то увеличивается значение sa на ai.
- Если не выполнено условие fm, то проверяется, является ли ai нечетным числом. Если да, то устанавливается значение fm в true и значение m в ai. Если ai четное, то устанавливается значение m в наименьшее из нечетных чисел, меньших или равных ai.
- После завершения цикла i увеличивается на 1.
- В конце кода выводится сообщение в зависимости от значений переменных fsa и fm. Если fsa равно true, выводится сумма за первым вхождением a и значение sa. Если fsa равно false, выводится сообщение
ни тех ни других нет
. Если fm равно true, выводится минимальное значение среди нечетных чисел и значение m. Если fm равно false, выводится сообщениени тех ни других нет
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д