- •Одномерные массивы Тема 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.8. Вычисление значений функции на заданном интервале
Скопировать подпрограмму вычисления функции из ряда из предыдущей темы (sinх, cosх, функция Бесселя и т.д.).
2. Ввести границы области [ a, b ] и число точек n, в которых вычисляются значения функции.
3. Вычислить постоянный шаг приращения аргумента функции на [a, b].
4. Рассчитать массивы аргументов – х и значений функции – у на [a, b], используя цикл с параметром:
for i:= 0 to n do
begin
x[i]:=a+i*h;
y[i]:=f(x[i]);
end;
Замечание. Используя цикл с параметром от нуля до n, мы получаем ( n+1) значение аргументов и функции для того, чтобы граничные точки a и b были включены в расчёт. В связи с этим, задавая базисный тип, мы должны установить его границы, начиная с нулевой компоненты:
type mas101 = array [0..100] of real;
5. Напечатать элементы массивов х и у в столбец с нумерацией.
6. Написать другой вариант программы вычисления функции с шагом на заданном интервале, используя либо цикл с предусловием – while, либо с постусловием – repeat … until.
Задание 7.9. Вычисление ортогональных многочленов
7.9.1. Вычисление многочлена Чебышева 1-го рода.
Вычислить многочлен Чебышева 1-го рода
, (9.1.1)
где n — целое, n>0;
x — вещественное, -1 х 1;
N=[n/2] — целая часть от n/2.
Коэффициенты ak рассчитываются по формуле
(9.1.2)
3. Ввести границы интервала [ a, b ] и число точек nt и вычислить значения полинома Чебышева 1-го рода с постоянным шагом на заданном интервале.
7.9.2. Вычисление многочлена Чебышева 2-го рода.
Вычислить многочлен Чебышева 2-го рода
, (9.2.1)
где n — целое, n>0;
x — вещественное, -1 х 1;
N=[n/2] — целая часть от n/2.
2.Коэффициенты ak рассчитываются по формуле
(9.2.2)
3. Ввести границы интервала [a, b] и число точек nt и вычислить значения полинома Чебышева 2-го рода с постоянным шагом на заданном интервале.
Задание 7.10. Упорядочивание массивов
Задание 7.10.1. Упорядочение массива методом обмена (метод пузырька).
Введите границы отрезка на числовой оси [a,b] и число точек n.
Вычислите значения элементов целого массива с помощью генератора случайных чисел.
Выведите полученный массив на печать в столбец с нумерацией.
4. Организуйте цикл, в котором сравниваются значения соседних элементов массива : а[i] и a[i+1] и переставляются между собой в случае необходимости. Перестановки осуществляются через промежуточное запоминание
a[i]
d
a[i+1],
как мы рассматривали на примере простых чисел.
При этом подсчитывается число перестановок.
5. Напечатайте число перестановок элементов массива и выведите массив вновь на печать для контроля за ходом перестановок.
6. Организуйте внешний цикл, который работает до тех пор, пока есть перестановки элементов массива.
7. Напечатайте упорядоченный массив с подписью.
Задание 7.10.2. Упорядочение массива методом последовательных минимумов (максимумов).
1. Введите границы отрезка [a, b] на числовой оси и число точек n.
2. Насчитайте значения элементов вещественного массива с помощью генератора случайных чисел.
3. Выведите полученный массив на печать в столбец с нумерацией.
4. Организуйте цикл, в котором определяется минимальное (максимальное) значение элемента массива и его номер. При упорядочивании по возрастанию минимальный элемент переносится на место первого, а первый — на место минимального (максимальный элемент, соответственно, обменивается с последним элементом массива). Пусть номер минимального элемента будет k.
Тогда при упорядочивании по возрастанию его следует переставить на первое место по схеме:
m[1]
m[2]
d ...
...
...
m[k],
...
...
...
m[n]
5. Проверьте правильность перестановки, выведя массив вновь на печать.
6. Организуйте внешний цикл, параметр которого управляет работой внутреннего цикла: длина внутреннего цикла уменьшается с каждым шагом на единицу.
7. Напечатайте упорядоченный массив с надписью.
Задание 7.10.3. Упорядочение массива методом вставок.
Введите каким-либо образом массив.
Выведите его на экран.
Считая первые k элементов упорядоченными, перенесём (k+1)-ый элемент на своё место в упорядоченном массиве, сдвигая вправо те элементы, которые следуют за ним.
Начиная процесс упорядочения, полагаем, что начальное значение k=1.
4. Напечатайте упорядоченный массив с надписью.