М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Манdarinka
Манdarinka
07.01.2021 22:08 •  Информатика

Дан одномерный массив вещественных чисел
произвольной размерности. Определить сумму тех
элементов, которые находятся на четных местах.
На паскале, желательно с динамическими массивами.

👇
Ответ:
SashaZanevskaya
SashaZanevskaya
07.01.2021

pascal. динамический массив

Объяснение:

var

 i, n: integer;

 s: real;

 a: array of real;

begin

 Write('Введите размер массива: ');

 ReadLn(n);

 SetLength(a, n);

 for i := 0 to n - 1 do

 begin

   Write('Введите a[', i, ']=');

   ReadLn(a[i]);

   if i mod 2 = 0 then s := s + a[i];

 end;

 WriteLn('Сумма четных элементов равна ', s);

end.

4,4(65 оценок)
Открыть все ответы
Ответ:
sasha1977al
sasha1977al
07.01.2021
1. Решение "по-взрослому"

// PascalABC.NET 3.2, сборка 1389 от 01.03.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var F:real->real:=x->2*x*x-6*x+8;
  var a,b:real;
  Write('a b= '); Read(a,b);
  Writeln('Min=',Range(a,b,9).Select(x->F(x)).Min)
end.

Пример
a b= -2 6
Min=3.50617283950617

2. Решение "по-школьному" ("дедушкин метод")

function F(x:real):real;
begin
  F:=2*x*x-6*x+8
end;

var
  a,b,y,h,min:real;
  i:integer;
begin
  Write('a b= '); Read(a,b);
  h:=(b-a)/9;
  min:=F(a);
  for i:= 1 to 9 do begin
    y:=F(a+i*h);
    if y<min then min:=y
    end;
  Writeln('Min=',min)
end.

Пример
a b= -2 6
Min=3.50617283950617
4,5(3 оценок)
Ответ:
Nizam123
Nizam123
07.01.2021

Цикл с параметром был уже рассмотрен нами в разделе "Алгоритм" в теме "Виды алгоритмов".

       Цикл с параметром используется,  когда заранее известно сколько раз должен выполниться цикл.  

Формат записи цикла:  

For  <пар.цикла> := <нач.знач> to <кон.знач.> do <оператор>

       Здесь for, to, do - зарезервированные слова (для, до, выполнить);  

<пар. цикла> - параметр цикла – переменная целочисленного типа (типа integer);  

<нач. знач.> - начальное значение - число или переменная целочисленного типа (типа integer);  

<кон. знач.> - конечное значение - число или переменная целочисленного типа (типа integer);  

<оператор> - произвольный оператор Паскаля.  

Пример:  For i:=1 to n do <оператор>

здесь i - параметр цикла

        1 - начальное значение

        n - конечное значение        

       Если в теле цикла используется несколько операторов, тогда, используются операторные скобки: begin ... end.  

       При выполнении оператора for вначале вычисляется выражение <нач .знач.> и осуществляется присваивание его значения переменной цикла <пар .цикла> := <нач. знач.>. Далее сравниваются <пар .цикла> и  <кон.знач.>. До тех пор, пока они не станут равными будет выполняться оператор (операторы). Значение переменной цикла <нач.знач> автоматически увеличивается на единицу в ходе выполнения цикла. Надо сразу заметить, что задать шаг цикла, отличный от 1 в этом операторе нельзя.

Объяснение:

4,5(86 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ