Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Информатика лабы, / Лаб.работы / 5 - Одномерные массивы

.pdf
Скачиваний:
36
Добавлен:
14.03.2016
Размер:
352.68 Кб
Скачать

Л. Р. №

Студент

Иванов И. И.

«Одномерные массивы»

Группа

ХХ-999

 

 

Дата

дд.мм.гг

 

 

 

 

 

Допуск

 

 

 

 

 

Выполнение

 

 

 

 

 

Отчет

 

 

 

 

Условие задачи №1

Ввести одномерный массив A , состоящий из 9 элементов. Определить среднее арифметическое чётных элементов.

Тестовые примеры к задаче №1

1)

Входные данные:

Исходный массив A:

3 4 25 8 2 2 1 3 10

Выходные данные:

В массиве всего 5 четных элементов, их сумма S = 4+8+2+2+10 = 26 Среднее арифметическое равно 26/5 = 5,2

2)

Входные данные:

Исходный массив A:

9 1 15 5 2 22 11 23 6

Выходные данные:

В массиве всего 3 четных элемента, их сумма S = 2+22+6 = 30 Среднее арифметическое равно 30/3 = 10

1

Л. Г. Акулов, ВолгГТУ 2009

Блок-схема к задаче №1

 

 

1

Начало

i := 1, 9

 

i := 1 , 9

A[ i ] mod 2 = 0

Ввод A[ i ]

k:=k+1

 

 

S:=S+A[ i ]

S := 0

 

k := 0

 

 

SrA := S/k

1

 

 

Вывод SrA

 

Конец

Листинг программы на Pascal к задаче №1

program ABC;

var A:array[1..9] of integer; i,k, S:integer; SrA:real;

begin

//ручной ввод массива

writeLn('Вводим элементы массива A:'); for i:=1 to 9 do

begin write('A[',i,']='); readLn(A[i]);

end;

// сумма и количество четных

S:=0; k:=0;

for i:=1 to 9 do

if A[i] mod 2 = 0 then begin

S:=S+A[i];

k:=k+1;

end;

// подсчет среднего арифметического

SrA:=S/k;

writeLn('среднее арифметическое четных = ',SrA:8:2);

end.

 

2

Л. Г. Акулов, ВолгГТУ 2009

Условие задачи №2

Ввести одномерный массив A , состоящий из N элементов. Каждый второй элемент увеличить в 10 раз. Массив вывести до изменения и после.

Тестовые примеры к задаче №2

1)

Входные данные:

N = 9

Исходный массив A:

3 1 25 0 2 4 1 12 10

Выходные данные:

Полученный массив:

3 10 25 0 2 40 1 120 10

2)

Входные данные:

N = 15

Исходный массив A:

9

1

15

5

2

22

11

23

6

2

3

7

21

31

17

Выходные данные:

Полученный массив:

9 10 15 50 2 220 11 230 6 20 3 70 21 310 17

3

Л. Г. Акулов, ВолгГТУ 2009

Блок-схема к задаче №2

Листинг программы на Pascal к задаче №2

program ABC; const Nmass=100;

var A:array[1..Nmass] of integer; i,N: byte;

begin

//ручной ввод массива

writeLn('Введите число элементов в массиве A'); readLn(N);

writeLn('Вводим элементы массива A:'); for i:=1 to N do

begin write('A[',i,']='); readLn(A[i]);

end;

//вывод массива до измененния writeLn('Исходный массив A:'); for i:=1 to N do

write(A[i]:5);

writeLn;

// модификация массива for i:=1 to N do

if i mod 2 = 0 then

4

Л. Г. Акулов, ВолгГТУ 2009

A[k ]

A[i]:=A[i]*10;

//вывод массива поле измененния writeLn;

writeLn('массив A после изменения:'); for i:=1 to N do

write(A[i]:5);

end.

Условие задачи №3

Ввести одномерный массив A , вывести его. Определить k – сколько раз в нём встречаются две тройки идущие подряд. Если таковых нет, то заменить нулями минимальный элемент среди тех, что стоят на нечётных позициях, а если есть, то поменять максимум среди элементов расположенных после

, с первым элементом массива.

Тестовые примеры к задаче №3

1)

Входные данные:

N= 20

Исходный массив A:

99 25 3 6 3 3 5 23 3 3 6 7 2 9 3 3 3 10 11 12

Выходные данные:

В массиве всего 3 серии из двух троек массив A после изменения:

23 25 3 6 3 3 5 99 3 3 6 7 2 9 3 3 3 10 11 12

2)

Входные данные:

N= 10

Исходный массив A:

3

2

99

3

6

1

3

4

0

12

Выходные данные:

В массиве нет серий из двух троек массив A после изменения:

3

0

99

3

6

1

3

4

0

12

5

Л. Г. Акулов, ВолгГТУ 2009

Блок-схема к задаче №3

6

Л. Г. Акулов, ВолгГТУ 2009

7

Л. Г. Акулов, ВолгГТУ 2009

Листинг программы на Pascal к задаче №3

program ABC; const Nmass=100;

var A:array[1..Nmass] of integer; N,i,k,Imax,Imin: byte; buf:integer;

begin cls;

//ручной ввод массива

writeLn('Введите число элементов в массиве A'); readLn(N);

writeLn('Вводим элементы массива A:'); for i:=1 to N do

begin write('A[',i,']='); readLn(A[i]);

end;

//вывод массива до измененния

writeLn('Исходный массив A:'); for i:=1 to N do

write(A[i]:5);

writeLn;

//определение серий троек k:=0;

for i:=1 to N-1 do

if (A[i]=3) and (A[i+1]=3) then k:=k+1;

//проверка условия наличия серий троек if k=0 then

begin

WriteLn('В массиве нет серий из двух троек'); //если троек нет, то k=0,

//потому обнуляем минимум //среди элементов стоящих на нечётных местах

Imin:=1;

for i:=1 to N do

if (A[i]<A[Imin]) and (i mod 2=0) then Imin:=i;

A[Imin]:=0;//собственно, обнуление end

else begin

WriteLn('В массиве всего ',k,' серий из двух троек'); //если k>0, то ищем максимум

//среди элементов после A[k] Imax:=k+1;

8

Л. Г. Акулов, ВолгГТУ 2009

for i:=k+1 to N do

if A[i]>A[Imax] then Imax:=i;

//замена в 3 действия buf:=A[1]; A[1]:=A[Imax]; A[Imax]:=buf;

end;

//вывод массива поле измененния writeLn;

writeLn('массив A после изменения:'); for i:=1 to N do

write(A[i]:5);

end.

9

Л. Г. Акулов, ВолгГТУ 2009

Список задач №1 для лабораторной работы «Одномерные массивы»

1.Ввести одномерный массив A из 10 элементов. Определить в нём количество элементов кратных трём.

2.Ввести одномерный массив A из 12 элементов. Определить в нём произведение чётных элементов.

3.Ввести одномерный массив A из 11 элементов. Определить в нём сумму элементов, значения которых лежат вне диапазона [1; 5] .

4.Ввести одномерный массив A из 9 элементов. Определить в нём среднее геометрическое элементов, значения которых лежат в диапазоне

[2;10].

5.Ввести одномерный массив A из 15 элементов. Определить в нём среднее геометрическое элементов, стоящих на нечётных позициях.

6.Ввести одномерный массив A из 14 элементов. Определить в нём среднее арифметическое элементов, стоящих на позициях не кратных трём.

7.Ввести одномерный массив A из 13 элементов. Определить в нём произведение элементов чье значение без остатка делится на 2 и не делится на 3.

8.Ввести одномерный массив A из 12 элементов. Определить в нём сумму элементов чье значение без остатка делится на 3 и не делится на 2.

9.Ввести одномерный массив A из 11 элементов. Определить в нём сумму элементов стоящих на позициях, чей номер больше записанного в них значения.

10.Ввести одномерный массив A из 10 элементов. Определить в нём количество элементов, квадрат которых больше 25.

11.Ввести одномерный массив A из 14 элементов. Определить в нём произведение элементов, квадрат которых меньше 16.

12.Ввести одномерный массив A из 13 элементов. Определить в нём сумму модулей отрицательных элементов.

10

Л. Г. Акулов, ВолгГТУ 2009