Обработка одномерных массивов.
Цель работы: Изучить типы массивов данных и приобрести навыки по обработке одномерных массивов с использованием языка программирования Pascal.
Краткие теоретические сведения:
Одномерный массив:
Правила определения переменных типа массив.
вариант 1:
var {раздел описания переменных}
<имя переменной> : array [ 1.. <размер массива>] of <тип элементов>
вариант 2:
type (раздел описания типов)
<имя типа> = array [ 1.. <размер массива>] of <тип элементов>; var {раздел описания переменных}
<имя переменной> : <имя типа> ;
обращение по индексу : <имя массива>[<номер>] ( пример - a[i] )
Оператор цикла с известным числом повторений : Общий вид простого оператора for:
For <пер.цикла:=нач. значен.> to <кон. значен.> do <действие 1> Общий вид составного оператора for:
For <пер.цикла:=нач. значен.> to <кон. значен.> do begin
<действие 1>
…
<действие n>
end;
при уменьшении значения переменной цикла вместо “ to ” используется “downto”
Задание :
Составить программу обработки одномерного массива в соответствии с заданием. При составлении программы использовать два способа определения типа соответственно.
Варианты заданий :
1. Определить максимальный отрицательный елемент R(10);
2. Вычислить сумму и количество элементов массива A(10), для ai>0;
3. Определить минимальный положительный элемент массива X(10);
4. Переписать в массив Y(10) все отрицательные элементы массива X(10);
5. Вычислить сумму и количество элементов массива X(15), для 0<xi <1;
6. Расположить в массиве R(10) сначала положительные, а затем отрицательные элементы массива Z(10);
7. Найти максимальный и минимальный элементы массива D(15) и поменять их местами;
8. Определить сумму элементов целочисленного массива N(10), кратных 3, т.е. для ni/3*3=ni;
9. Переписать элементы массива X(15) в массив Y(15) и подсчитать их количество, для
–1<xi<1;
10.10.
Переписать в массив Y(10) подряд положительные элементы массива X(10);
11. Вычислить минимальный элемент массива C(10) и его номер;
12. Найти элементы массива X(10), для которых справедливо Xi-1 <Xi <Xi+1; 13.
Определить максимальный элемент массива B(10) и его порядковый номер;
14. Заменить отрицательные элементы массива R(10) значением 0; 15.
Оределить количество элементов массива X(10) удовлетворяющих условию 1<Xi<2;
16. Определить максимальный положительный елемент R(10); 17.
Вычислить произведение и количество элементов массива A(10), для ai>0;
18. Определить минимальный положительный элемент массива X(10);
19. Переписать в массив Y(10) все положительные элементы массива X(10);
20. Вычислить сумму и количество элементов массива X(15), для 0<xi <1;
21. Расположить в массиве R(10) сначала отрицательные, а затем положительные элементы массива Z(10);
22. Найти максимальный и минимальный элементы массива D(15) и поменять их местами;
23. Определить сумму элементов целочисленного массива N(10), кратных 5, т.е. для ni/5*5=ni;
24. Переписать элементы массива X(15) в массив Y(15) и подсчитать их количество, для
–1<xi<1;
25.25.
Переписать в массив Y(10) подряд положительные элементы массива X(10);
26. Вычислить максимальный элемент массива C(10) и его номер;
27. Найти элементы массива X(10), для которых справедливо Xi-1 >Xi >Xi+1; 28.
Определить максимальный элемент массива B(10) и его порядковый номер;
29. Заменить отрицательные элементы массива R(10) значением 0; 30.
Оределить количество элементов массива X(10) удовлетворяющих условию 1<Xi<2;
Контрольные вопросы:
1. Описание одномерного массива?
2. Применение раздела type для описания одномерных массивов?
3. Операция обращения по индексу для одномерного массива?
4. Статический и динамический способ организации массивов?
5. Какой оператор цикла наиболее предпочтительно использовать при обработке одномерных массивов?
Пример выполнения задания :
Программирование одномерных массивов.
Цель работы: Изучить типы массивов данных и приобрести навыки по обработке одномерных массивов с использованием языка программирования Pascal.
Задание: Заменить отрицательные элементы массива R(10) значением 5; Блок-схема :

Программа:
{описание массива с определением типа - массив} Program pr5;
type var
begin
mass=array [1..10] of real; R:mass;
i:integer;
for i:=1 to 10 do begin {ввод данных} write(‘R[’,i,’]=’);
read(R[i]);
end;
for i:=1 to 10 do begin {обработка массива} if R[i] <0 then R[i]:=5;
end.
end; writeln(‘Результат:’);
for i:=1 to 10 do {вывод результата} write(‘R[’,i,’]=’,R[i]:6:3);
writeln(‘конец’);
{простое описание массива } Program pr5b;
var
begin
R: array [1..10] of real; i:integer;
for i:=1 to 10 do begin {ввод данных} write(‘R[’,i,’]=’);
read(R[i]);
end;
for i:=1 to 10 do begin {обработка массива} if R[i] <0 then R[i]:=5;
end.
end; writeln(‘Результат:’);
for i:=1 to 10 do {вывод результата} write(‘R[’,i,’]=’,R[i]:6:3);
writeln(‘конец’);
Результат: … Тест: ….
Скачано с www.znanio.ru
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.