Получите сумму всех членов, следующих за первым равным членом последовательности - 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.

Объяснение кода листинга программы

  1. В начале кода объявляются переменные: a, ai, i, n, sa, m, fsa, fm, и boolean переменная end.
  2. Затем происходит чтение значения переменной n и a из ввода пользователя.
  3. Переменная i инициализируется значением 1.
  4. Выводится сообщение с просьбой ввести через пробел n чисел.
  5. В цикле repeat происходит чтение значения переменной ai.
  6. Если не выполнено условие fsa, то проверяется равенство ai и a. Если они равны, то устанавливается значение fsa в true и значение sa в 0. Если ai не равно a, то увеличивается значение sa на ai.
  7. Если не выполнено условие fm, то проверяется, является ли ai нечетным числом. Если да, то устанавливается значение fm в true и значение m в ai. Если ai четное, то устанавливается значение m в наименьшее из нечетных чисел, меньших или равных ai.
  8. После завершения цикла i увеличивается на 1.
  9. В конце кода выводится сообщение в зависимости от значений переменных fsa и fm. Если fsa равно true, выводится сумма за первым вхождением a и значение sa. Если fsa равно false, выводится сообщение ни тех ни других нет. Если fm равно true, выводится минимальное значение среди нечетных чисел и значение m. Если fm равно false, выводится сообщение ни тех ни других нет.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы