Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Shpora_infa.doc
Скачиваний:
7
Добавлен:
27.09.2019
Размер:
133.63 Кб
Скачать

31) Табулирование функции

Задача табулирования функции предполагает получение таблицы значений функции при изменении аргумента с фиксированным шагом. В качестве исходной информации должны быть заданы: Х0, Хn – начало и конец промежутка табулирования, при этом (Х0< Хn); n – число шагов разбиения промежутка [Х0, Xn]; F(X) – описание табулируемой функции.

При составлении алгоритма предполагается, что X – текущее значение аргумента; h – шаг изменения аргумента (иногда его называют шагом табуляции функции); i – текущий номер точки, в которой вычисляются функция (i = 0 .. n). Количество интервалов n, шаг табуляции h и величины Х0, Хn связаны между собой фор-мулой:

Интерпретация переменных (т. е. их обозначение в математической постановке задачи, смысл и тип, обозначения в блок-схеме и программе) приведена в таблице имен.

35) Простейшие приемы обработки одномерных массивов: нахождение среднего арифметического и произведения чисел

Const

n=10;

Var

a:array [1..n] of integer;

i,max:integer;

begin

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

  For i:=1 to n do

   Read(a[i]);

  Readln;

  max:=a[1];

  For i:=1 to n do

    If a[i]>max

     Then

      max:=a[i];

  Writeln('Максимальный элемент - ',max);

  Readln;

end.

36) Нахождение экстремальных элементов массива

procedure TForm1.Button1Click(Sender: TObject);

const

  N = 10;

var

  Arr : array[1..N] of Integer;

  i, j, N1, Sum, SumMin : Integer;

  S : String;

begin

  Memo1.Clear;

  Randomize;

  S := '';

  for i := 1 to N do begin

    Arr[i] := Random(10);

    if i > 1 then S := S + ', ';

    S := S + IntToStr(Arr[i]);

  end;

  Memo1.Lines.Add(S);

  j := N;

  SumMin := Arr[1] + Arr[N];

  if N mod 2 = 0 then

    N1 := N div 2

  else

    N1 := N div 2 + 1;

  for i := 1 to N1 do begin

    Sum := Arr[i] + Arr[j];

    if Sum < SumMin then SumMin := Sum;

    j := j - 1;

  end;

  Memo1.Lines.Add('Наименьшая сумма = ' + IntToStr(SumMin));

end;

 

В алгоритме, можно подправить точнее под условие: Сумма: Sum := Arr[i] + Arr[j]; Разность: Sum := Arr[i] - Arr[j]; Разность модулей: Abs(Arr[i]) - Abs(Arr[j]);

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]