Текст программы на языке Паскаль
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Program Example_12;

Var  K, n, i : integer;  A : array [1..30] of integer;

Begin

writeln;

write(‘Введите количество элементов массива  N = ‘);

read(n);

write(‘Введите ‘, n, ‘целых чисел - элементов массива  А:‘);

For i := 1 to n do 

read(A[i]);

K := 0;

For i := 1 to n do 

If odd(i) and (not odd(abs(A[i]))) then begin

K := K + 1;

writeln(‘A[‘, i, ’]= ‘, A[i])

end;

writeln(‘K = ’, K);

readln

end.

Рисунок 6.1 – Блок-схема алгоритма для примера 6.1

Данные для тестирования

1) Для n = 10, A = {5, 7, 8, 10, -12, 3, 1, 4, 6, 2}

ð A[3] = 8

A[5] = -12

A[9] = 6

Пример 6.2 . Дан целочисленный массив {x} размера N и целое число  a. Если в массиве {x} есть хотя бы один элемент, равный a, то получить сумму всех элементов, следующих за первым таким элементом. В противном случае вывести сообщение об отсутствии такого элемента.

Решение задачи

Выберем схему решения поставленной задачи. В этой задаче требуется:

1) определить имеется ли вообще в заданном массиве элемент, равный числу а;

2) если, такой элемент имеется, то запомнить его номер;

3) вычислить сумму элементов массива, предшествующих найденному элементу или вывести сообщение об отсутствии такового.

Чтобы запомнить номер искомого элемента, введём переменную K. Первоначально зададим K = 0.

После того как будут введены все элементы массива {x} и число а, с помощью оператора цикла с параметром (for) и условного оператора организуем поиск элемента, равного а. Как только будет найден первый такой элемент, присвоим его номер переменной K и, с помощью процедуры break, прервём дальнейшее выполнение цикла for, т.е. просмотр оставшейся части массива. Если мы проверим весь массив и элемента равного а не обнаружится, то значение переменной K останется равным нулю.

После завершения просмотра массива с помощью условного оператора проверим значение переменной K – если оно осталось равным нулю, то выведем сообщение об отсутствии элемента равного а, в противном случае с помощью оператора цикла for вычислим искомую сумму и выведем её значение.

Блок-схема алгоритма – представлена на рисунке 6.2.

Текст программы на языке Паскаль

Program Example_13;

Var  K, n, i, S, a : integer; x : array [1..30] of integer;

Begin

writeln;

write(‘Введите количество элементов массива  N = ‘);

read(n);

write(‘Введите ‘, n, ‘целых чисел - элементов массива  X:‘);

For i := 1 to n do 

read(x[i]);

K := 0;

For i := 1 to n do 

If x[i] = a then begin K := i;   break end;

If K = 0 then writeln(‘В данном массиве нет элементов равных ’, а)

else begin S := 0;

for i := 1 to K-1 do S := S + x[i];

writeln(‘S = ’, S) end;

end.

Рисунок 6.2 – Блок-схема алгоритма для примера 6.2

Данные для тестирования

1) Для n = 10, x = {5, 7, 8, 10, -12, 3, 8, 1, 8, 2}, a = 8

ð S = 10-12+3+8+1+8+2 = 24

2) Для n = 10, x = {5, 7, 8, 10, -12, 3, 8, 1, 8, 2}, a = 4

ð В данном массиве нет элементов равных 4

Пример 6.3 . Дан целочисленный массив  {ai} , i= 1,2, ..., n. Получить новый  массив {bi}, выбросив из исходного массива все элементы со значением  max({а i}). Определить число элементов нового массива.

Решение задачи

Выберем схему решения поставленной задачи.

После того как будут введены все элементы массива {a}, с помощью оператора цикла с параметром (for) и условного оператора организуем поиск максимального элемента. В методическом пособии [1] приведено решение задачи на нахождение минимального элемента массива. Поиск максимального элемента выполняется аналогично.

Введём переменную j – номер очередного элемента в новом массиве. Начальное значение j = 0. С помощью цикла с параметром и условного оператора «перепишем» в массив {bi} все элементы из массива {ai}, не равные максимальному.

Номер последнего элемента в массиве {bi} будет равен количеству элементов в новом массиве.

Блок-схема алгоритма – представлена на рисунке 6.3.

Дата: 2019-03-05, просмотров: 194.