- •Одномерные массивы Тема 7
- •Задания для практических занятий к теме:
- •"Одномерные массивы"
- •Задание 7.1. Обработка экспериментальных данных: вычисление
- •Среднего значения, дисперсии, среднеквадратичного отклонения
- •Задание 7.2. Поиск минимального и максимального элемента массива
- •Задание 7.3. Вычисление среднего значения с учётом корректировки
- •Задание 7.4. Вычисление нормы вектора
- •Задание 7.5. Числа Фибоначчи
- •Задание 7.6. Работа с генератором случайных чисел
- •Задание 7.7. Выбор данных из массива по условию и перенесение их в другой массив
- •Задание 7.8. Вычисление значений функции на заданном интервале
- •Задание 7.9. Вычисление ортогональных многочленов
- •Задание 7.10. Упорядочивание массивов
- •Задание 7.11. Вычисление скаляpного пpоизведения
- •Задание 12. Hоpмиpовка массива
- •Дополнительные задания к теме 7 Задание 1. Вычисление многочлена по схеме Горнера
Задания для практических занятий к теме:
"Одномерные массивы"
Задание 7.1. Обработка экспериментальных данных: вычисление
Среднего значения, дисперсии, среднеквадратичного отклонения
Будем предполагать, что в результате измерения некоторой физической величины А (температуры, теплоёмкости, силы тока, сопротивления и т.д.) получено n экспериментальных значений – А1, А2, ,...,Аn. Набор или серию экспериментальных данных можно охарактеризовать некоторыми параметрами, которые свидетельствуют о достоверности и надёжности проведённых измерений. Пусть данные измерений записываются в массив А.
1.Ввести массив из n элементов ( n<20 ).
2. Вывести массив на печать в столбец с нумерацией.
3. Рассчитать среднее арифметическое величины А:
4. Вычислить дисперсию величины А:
Замечание.
Всякую квадратичную зависимость физической величины А можно назвать дисперсией А.
5. Найти среднеквадратичное отклонение величины А:
.
Приведём примерный вид программы для ввода и вывода данных при работе с массивами.
program massiv;
uses CRT;
var i,n : integer;
a : array [1.. 100] of real;
begin
writeln(‘Введите длину массива – n’);
read(n);
for i:=1 to n do
begin
write (‘a[‘,i,’]=’);
readln(a[i]);
end;
ClrScr;
for i:=1 to n do
writeln (‘a[‘,i,’]=’,a[i]:8:4);
end.
Задание 7.2. Поиск минимального и максимального элемента массива
1. Ввести массив из n элементов.
2. Вывести элементы массива на печать в столбец с нумерацией.
3. Найти минимальное и максимальное значение элементов массива.
4. Определить номера минимального и максимального элементов массива.
5. Написать подпрограмму-процедуру для поиска min и max элементов массива. Входные параметры процедуры: длина массива и имя (идентификатор) массива; выходные параметры – min и max значения.
Для пояснения приведём примерный вид процедуры поиска максимального и минимального значения массива.
type mass100 = array [1..100] of real;
var i : integer;
a : mass100;
........................................................
procedure minmax(n:integer; a: mass100;var min,max:real);
var i: integer;
begin
min:=a[1];max:=a[1];
for i:=1 to n do begin
if a[i]<min then min:=a[i];
if a[i]>max then max:=a[i]:
end;
end;
begin
{ вводим массив }
……………
minmax(n,a,min,max);
{вывод результатов }
end.
В процедуре minmax(n:integer; a: mass100;var min,max:real) входной массив (имя его а задаётся через ссылку на базисный тип). Так следует делать в любой функции или процедуре, как уже отмечалось ранее.
Обращение к подпрограмме-процедуре minmax производится после ввода данных в массив, и оно имеет вид:
minmax(n,a,min,max);
Здесь n и а – входные параметры процедуры; min и max – выходные. Однако на место входных и выходных параметров процедуры можно подставлять любые имена переменных и массивов. Лишь бы они по типу совпадали с именами тех переменных, которые указаны в описании процедуры.
Например, можно написать:
minmax(k,f,p,q);
Здесь входные параметры k, f означают следующее: целое k – длина массива f, для которого ищутся минимальноем и максимальное значения, а p и q – вещественные переменные из основной программы, куда, как в выходные параметры, процедура передаёт результаты вычисления минимума и максимума.
6. Модифицировать алгоритм поиска минимума и максимума таким образом, чтобы кроме величины минимального и максимального элемента определялись и их номера (индексы), под которыми они числятся в массиве.