- •21) Логическое выражение:
- •22) Алгоритмизация разветвляющихся Алгоритмов
- •23) Составной и пустой операторы
- •25) Оператор выбора
- •24) Условный оператор
- •26) Визуальный компонент класса tCheckBox
- •27) Форматный вывод
- •28) Алгоритмизация циклических действий
- •29) Оператор цикла While
- •30) Оператор цикла Repeat
- •32) Визуальный компонент StringGrid
- •31) Табулирование функции
- •35) Простейшие приемы обработки одномерных массивов: нахождение среднего арифметического и произведения чисел
- •38) Двумерный массив. Элементы матрицы
- •33) Одномерный массив
- •A: array [1..10] of integer; Основные задачи при работе с массивами
- •Действия с одномерными массивами
- •3. Применение умений и навыков на практике
- •37) Формирования нового массива на базе элементов исходного массива
- •39) Организация поиска информации во всей матрице
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]);