Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Чернов Шафеева.doc
Скачиваний:
47
Добавлен:
21.05.2015
Размер:
1.39 Mб
Скачать

Лабораторная работа 6 Программирование алгоритмов обработки одномерных массивов

Цель работы: научиться разрабатывать и отлаживать программы с использованием регулярных типов (векторов).

Массив - упорядоченная структура однотипных данных, хранящихся последовательно.

Массив обязательно имеет размеры, определяющие, сколько в нем хранится элементов. Описывается в разделе TYPE (или VAR). Структура описания одномерного массива:

<имя>=ARRAY[диапазон_индексов] OF <базовый_тип>;

Диапазон указывает значения индексов первого и последнего элементов в массиве.

Пример. Найти значение и номер наименьшего элемента в одномерном массиве. При задании элементов исходного массива типизированной константой СА решения задачи имеет вид (рис.8, а) и используется следующая программа:

Program lr6_1;

const a: array[1..10] of integer=(5,2,7,1,8,3,4,5,6,6);

var i, min, n: integer;

begin

min:=a[1]; n:=1;

for i:=2 to 10 do

if a[i]<min then begin

min:=a[i];

n:=i;

end;

writeln('минимальный элемент равен ',min, ' n=',n);

end.

Если элементы массива вводятся с клавиатуры, то СА имеет вид (рис.8,б) и текст программы изменится:

program lr6_2;

var a: array[1..10] of integer;

i, min, n: integer;

begin

read(a[1]);

min:=a[1]; n:=1;

for i:=2 to 10 do begin

read(a[i]);

if a[i]<min then begin

min:=a[i]; n:=i;

end;

end;

writeln('минимальный элемент равен ', min, ' n=',n);

end.

Задание 1

Начертить структурную схему алгоритма, написать и отладить прог­рамму для одной из следующих задач. В программе 6_1 исходные массивы задать типизированными константами. В программе 6_2 элементы исходных массивов ввести через оператор ввода.

1. Дан массив из N чисел (N>8). Вычислить их среднее геомет­рическое значение.

2. Дан массив из N чисел (N>10). Найти максимальное значение.

3. Дано 20 чисел. Найти их среднее арифметические значение.

4. Дано 12 вещественных чисел. Найти порядковый номер того из них, которое наиболее близко к какому-нибудь заданному целому числу Х.

5. Дана последовательность из 15 целых чисел. Определить коли­чество отрицательных чисел в ней и максимальное число подряд следую­щих отрицательных чисел.

6. Дано 15 целых чисел. Найти наибольшее из них. Определить, сколько из чисел принимает наибольшее значение.

7. Дано целое n>1 и вещественные числа x1,x2,..,xn. Вычислить математическое ожидание и дисперсию по формулам

M=, D=.

8. Дан массив из N чисел (N>10). Вычислить сумму элементов с нечетными индексами и их среднее арифметические значение.

9. Даны два одномерных массива А и В. Вычислить элементы массива С по правилу: если аi и bi различны, то сi присвоить их сумму, при одинаковых аi, bi в сi переписать соответствующий элемент массива А.

10. Дано 10 вещественных чисел. Вычислить разность между максимальным и минимальным из них.

11. Дано 10 вещественных чисел. Определить, образуют ли они воз­растающую последовательность.

12. Дан массив X из n чисел (n>10). Вычислить:

y = x1 - x2 + x3 - ...- xn-1 +xn .

13. Дано 18 чисел. Определить количество элементов, отличное от последнего числа.

14. Дано 12 чисел. Напечатать сначала все отрицательные из них, а затем все остальные.

15. Сформировать одномерный массив из 15 простых чисел.

16. Дано восемь натуральных чисел. Найти их наибольший общий де­литель.

17. Дана последовательность натуральных чисел. Вычислить сумму тех из них, порядковые номера (индексы) которых – простые числа.

18. Дан массив из 20 натуральных чисел. Вычислить сумму тех из них, порядковые номера которых - числа Фибоначчи, определяемые форму­лами

f0 = f1=1; fn =fn-1 + fn-2 при n=1,2,3,... .

19. Дан массив X из n чисел. Вычислить:

y = xn(xn+xn-1)(xn + xn-1 + xn-2)...(xn + ... + x1) .

20. Дано 24 целых числа. Распечатать их в обратном порядке по шесть чисел в строке.

Задание 2 (программа 6_3)

Модифицировать программу 3_2 для функций F1(x) и F2 (x) таким образом, чтобы результаты были сформированы в виде трех одномерных массивов. Выполнить ее и сравнить результаты с полученными в лабора­торных работах 3 и 4.