Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4_Метод_Часть_4_Массивы.doc
Скачиваний:
6
Добавлен:
01.05.2025
Размер:
620.54 Кб
Скачать

2.2. Задачи для дополнительного решения

  1. Дан массив. Найти сумму элементов массива, значение которых не превышает 20.

  2. Дан массив чисел. Найти сумму элементов массива, больших А.

  3. Дан массив целых чисел. Найти сумму нечетных элементов.

  4. Дан массив целых чисел. Найти сумму второго, четвертого, шестого и т.д. элементов массива.

Задача 5*. Определить частное от деления суммы положительных элементов массива на модуль суммы отрицательных элементов.

  1. Дан массив целых чисел. Найти номера элементов, оканчивающихся цифрой 0 (известно, что такие элементы есть в массиве).

  2. Дан массив чисел. Определить количество неотрицательных элементов.

  3. Дан массив целых чисел. Определить количество элементов, отличных от последнего элемента.

  4. Даны натуральное число N, действительные числа Х1,...,ХN. Получить (1+r)/(1+s), где r - сумма всех тех членов последовательности х1,...,хn, которые не превосходят 1, а s - сумма членов, больших 1.

Задача 10*. Даны целые числа С1,...,C11. Имеются ли в последовательности С1,...,C11 два идущих подряд члена кратных 3 .

  1. Определить количество элементов массива, принадлежащих промежутку от А до В (значения А и В вводятся с клавиатуры; В>А).

  1. Дан массив чисел. Подсчитать сумму четных элементов и количество элементов кратных 3.

  2. Дан массив чисел. Подсчитать произведение нечетных элементов и количество элементов кратных 5.

  3. Найти среднее арифметическое элементов массива, больших числа 10.

Задача 15*. Даны последовательности А и В. Если сумма элементов первой последовательности больше суммы элементов второй последовательности, то поменять местами А3 c В5. В противном случае поменять местами В4 и А6.

2.3. Определение максимального и минимального значения в массиве

Алгоритм решения

Допускается, что первый элемент массива является наибольшим (наименьшим). Циклически все последующие элементы сравниваются с допустимым. Если текущее значение больше допустимого максимума, то оно принимается за новое наибольшее значение. В противном случае наибольшее значение остается прежним. Этот процесс продолжается до тех пор, пока не будут сравнены все элементы массива.

Программная реализация

Для нахождения максимального значения

Для нахождения минимального значения

MAX = A(1)

K = 1

FOR I = 2 TO n

IF A(i) > MAX THEN

MAX = A(i): K = i

END IF

NEXT i

MIN = A(1)

L = 1

FOR I = 2 TO n

IF A(i) < MIN THEN

MIN = A(i): L = i

END IF

NEXT i

пример 5

Дан массив чисел. Поменять местами первый и максимальный элемент массива.

Тест

Данные

Результат

N=5

A=(3, 5, -2, 4, 0)

A=(5, 3, -2, 4, 0)

Исполнение алгоритма

i

Проверка условия

max

K

Массив

=А(1)=3

1

3, 5, -2, 4, 0

2

А(2)>max(истина)

5>3

=A(2)=5

2

3, 5, -2, 4, 0

3

А(3)>max(ложь)

-2<5

Значение осталось прежним

Значение осталось прежним

3, 5, -2, 4, 0

4

А(4)>max(ложь)

4<5

Значение осталось прежним

Значение осталось прежним

3, 5, -2, 4, 0

5

А(5)>max(ложь)

0<5

Значение осталось прежним

Значение осталось прежним

3, 5, -2, 4, 0

Обмен элементов

5, 3, -2, 4, 0

Блок-схема алгоритма

Начало

Ввод n

i=1,n

Ввод Ai

max=Ai ; K=1

i=2,n

+ Ai>max -

max=Ai ; K=i

Обмен значений

элементов А1 и АК

i=1,n

Вывод Ai

Конец

программа

CLS

INPUT "введи размер массива " ; n

DIM A(n)

PRINT "введи массив"

'Цикл по элементам массива

FOR i = 1 TO n

'Ввод элементов массива

INPUT A(i)

NEXT i

'Присваивание начального значения максимума

MAX = A(1)

K = 1

FOR I = 2 TO n

'Нахождение максимального значения и его номера

IF A(i) > MAX THEN MAX = A(i): K = i

NEXT i

'Обмен значений элементов А1 и АК

SWAP A(1),A(K)

FOR i = 1 TO n

'Вывод элементов массива

PRINT A(i);

NEXT i

END

пример 6

Дан массив чисел. Найти сумму положительных элементов до и после максимального значения. Сравнить полученные значения.

программа

CLS

INPUT "введи размер массива " ; n

DIM A(n)

PRINT "введи массив"

FOR i = 1 TO n

'Ввод элементов массива

INPUT A(i)

NEXT i

'Задание начального значения максимума.

MAX = A(1)

K = 1

FOR I = 2 TO n

'Сравнение элементов массива для поиска наибольшего значения

IF A(i) > MAX THEN MAX = A(i): K = i

NEXT i

'Задание начального значения суммы

S1 = 0

S2 = 0

'Поиск значения суммы положительных элементов до наибольшего значения

FOR i = 1 TO K – 1

IF A(i) > 0 THEN S1 = S1 + A(i)

NEXT i

'Поиск значения суммы положительных элементов после наибольшего значения

FOR i = K +1 TO n

IF A(i) > 0 THEN S2 = S2 + A(i)

NEXT i

'Сравнение найденных сумм

IF S1 > S2 THEN

PRINT "до максимального значения сумма больше и равна " ; S1

ELSE

PRINT "после максимального значения сумма больше и равна" ; S2

END IF

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