Есть ответ 👍

Решить в pascal 1. поменять местами максимальный и минимальный элемент массива. 2. вывести четные числа среди положительных элементов 3. напечатать сумму и номера положительных элементов после первого нулевого элемента

136
245
Посмотреть ответы 2

Ответы на вопрос:


1) // здесь нужно объявить количество элементов или ввести с readln var  a: array [1..n] of integer; i: integer; min: integer; max: integer; minnum: integer; maxnum: integer; begin // здесь должен быть ввод значений массива в цикле // for i: =1 to n do a[i]=random(100); или через readln; min : = a[1]; minnum : = 1; max : = a[1]; maxnum : = 1; for var i: =2 to n do begin   if a[i]< min then       begin           min : = a[i];           minnum : = i;       end;   if a[i]> max then       begin           max : = a[i];           maxnum : = i;       end; end; a[maxnum]=min; a[minnum]=max; //здесь вывод нового массива end. 2) for i: =1 to n do if a[i]> 0 then   if a[i] mod 2 = 0 then      write(a[i], ' '); 3) var sum: integer; start: integer; for i: =1 to n doif a[i]=0 then    start=i+1;   ////нашли первый нулевой, начинаем дальше со следующегоfor i: =start to n dobeginif a[i]> 0 then    begin      sum=sum+a[i];       write(i, ' '); ///номер положительного элемента    end; writeln; write('сумма =',sum); end;

В программе есть 3 переменные n=20, a=0 и t (участвует в цикле от 1 до 20).

Запускается цикл (for ..) и в нем будет выполнятся это действие:

if (F(n) >= G(t)) then

a:=a+1;

В функцию F передается постоянно только одна переменная (n = 20)

Можно сразу посчитать чему будет равно значение в этой функции:

F:= 2*(x-7)*(x-7)+7*x+7 = F:= 2*(20-7)*(20-7)+7*20+7 = 485

F(n) = 485 постоянно

Дальше запускаем цикл for (t = от 1 до 20) и каждое значение t передается в функцию G и там производятся вычисления.

Итак

Цикл 1

t = 1

G(t) = G(1) = 3*x*x - 107 = 3*1*1 - 107 = -104

Проверка (if):

(F(n) = 485) >= (G(t) = -104)

так как 485 > -104, то к a прибавляется единица, так как a = 0, то a = 1 (a = a + 1 = 0 + 1 = 1)

a = 1

Цикл 2

t = 2

G(t) = G(1) = 3*x*x - 107 = 3*2*2 - 107 = -95

Проверка (if):

(F(n) = 485) >= (G(t) = --95)

так как 485 > -95, то к a прибавляется единица, так как a = 0, то a = 1 (a = a + 1 = 0 + 1 = 1)

a = 2

И так проделывать пока t не станет равной 20 (в каждом следующем цикле к t прибавлять 1 и в функции G высчитывать по формуле и сравнивать с функцией F)

В итоге a = 14

ответ: a = 14

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS