Информатика лабы, / Лаб.работы / 5 - Одномерные массивы
.pdfЛ. Р. № |
Студент |
Иванов И. И. |
|
«Одномерные массивы» |
Группа |
ХХ-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[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 |