Понятие массива. Ввод и вывод элементов массива.
Массив представляет собой таблицу в памяти компьютера (имеющую название), состоящую из некоторого числа ячеек. К значениям, находящимся в ячейках массива, имеется удобный доступ, необходимо лишь указать имя массива (например а) и индекс ячейки (a[1],a[3], a[7]).
Например, массив а состоит из 10 ячеек (говорят, что размерность массива равна 10)
a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| а[1]
| а[2]
| а[3]
| а[4]
| а[5]
| а[6]
| а[7]
| а[8]
| а[9]
| а[10]
| 1.Имеется 10 чисел. Необходимо найти их сумму.
Program zadacha1;
|
| Uses Crt;
|
| Const
| {Раздел описания констант, то есть постоянных величин, определяемых в программе заранее и не изменяющихся по ходу выполнения программы}
| n=10;
| {Имена констант не используются для имен переменных величин (из раздела var)}
| Var
s,i:integer;
|
| a:array[1..n] of integer;
| {описание массива}
| Begin
|
| ClrScr;
|
| for i:=1 to n do
begin
writeln('Введите a[',i,']');
read (a[i]);
end;
| {Ввод элементов массива}
| writeln('Введённый массив');
for i:=1 to n do write (a[i],’ ’);
| {Вывод эл. массива}
| s:=0;
|
| for i:=1 to n do s:=s+a[i];
| {Нахождение суммы}
| writeln('Сумма элементов массива =', s );
|
| Readln;
|
| End.
|
| В данной задаче все элементы массива вводились с клавиатуры.
Способ 2: Задаем весь массив в разделе констант.
program zadacha1;
const n=10;
a:array[1..n] of integer=(1,0,-2,7,8,9,9,4,0,-4)
var
s,i:integer;
Begin
writeln('Введённый массив');
for i:=1 to n do {Вывод эл массива}
write (a[i],’ ’);
s:=0;
for i:=1 to n do {Нахождение суммы}
s:=s+a[i];
writeln('Сумма элементов массива =', s );
End.
Способ 3. Задаем элементы массива как случайные числа.
Program zadacha1;
|
| Uses Crt;
|
| Const
| {Раздел описания констант, то есть постоянных величин, определяемых в программе заранее и не изменяющихся по ходу выполнения программы}
| n=10;
| {Имена констант не используются для имен переменных величин (из раздела var)}
| Var
s,i:integer;
|
| a:array[1..n] of integer;
| {описание массива}
| Begin
|
| ClrScr;
|
| Randomize;
| {Инициализация датчика случайных чисел}
| for i:=1 to n do
begin
а[i]:=Random(100);
end;
| {Ввод элементов массива. В очередной элемент массива A[i] записываем случайное число от 0 до 99}
| writeln('Введённый массив');
for i:=1 to n do write (a[i],’ ’);
| {Вывод эл. массива}
| s:=0;
|
| for i:=1 to n do s:=s+a[i];
| {Нахождение суммы}
| writeln('Сумма элементов массива =', s );
|
| Readln;
|
| Задания для самостоятельной работы:
2. Имеется целочисленный массив, состоящий из 15 элементов:
a) Найти сумму a[1] и a[7] элементов;
b) Найти разность a[9] и a[3] элементов;
c) Найти среднее арифметическое всех элементов массива;
d) Найти произведение всех элементов массива.
3. Имеется целочисленный массив, состоящий из N элементов (N - чётное):
a) Найти сумму первых N/2 элементов;
b) Найти сумму элементов стоящих на чётных позициях;
c) Найти произведение элементов стоящих на нечётных позициях;
d) Найти сумму чётных элементов стоящих на чётных позициях.
§2 Поиск в массиве элементов с заданными свойствами. Поиск максимального (минимального) элемента.
Последовательный поиск — элементы массива просматриваются последовательно один за другим, при этом производится проверка соответствия элемента заданному свойству.
4.Имеется 30 натуральных чисел. Необходимо найти число (элемент), значение которого равно К. Если такой элемент в последовательности есть, то указать его порядковый номер.
Program zadacha4;
Uses Crt;
Const
n=30;
Var
s,i,k:integer;
a:array[1..n] of byte; {описание массива}
Begin
ClrScr;
Randomize;
write('k='); readln(k);
for i:=1 to n do
begin
a[i]:=Random(100); {Ввод элементов массива
end;
writeln('Macciv:');
for i:=1 to n do writeln (a[i],' '); {Вывод эл. массива}
for i:=1 to n do
If k=A[i] then writeln('i=',i); {Нахождение и вывод эл. равного k}
Readln;
End.
5. Найти максимальный элемента массива, а также его порядковый номер.
Program zadacha5;
uses crt;
var i,n,r,max,min,imax,imin:integer;
a:array[1..10000] of integer;
begin
clrscr;
randomize;
write('число элементов n= ');
readln(n);
for i:=1 to n do
begin
a[i]:=random(45)-22; {Получаем случайные числа и выводим их на экран.}
write(a[i],' ');
end;
min:=a[1]; max:=a[1]; {За начальный максимум (минимум) берем первый элемент массива.}
for i:=1 to n do
begin
{Если найдется элемент, меньший MIN, то MIN будет равен этому элементу. Одновременно запоминаем индекс промежуточного минимума.}
if a[i]<=min then
begin
min:=a[i]; imin:=i;
end;
{Если найдется элемент, больший МАХ, то МАХ будет равен этому элементу. Одновременно запоминаем индекс промежуточного максимума.}
if a[i]>= max then
begin
max:=a[i]; imax:=i;
end;
end;
writeln(min,' номер' , imin); {Печатаем минимальный элемент и его индекс.}
writeln(max, ' номер' ,imax); {Печатаем максимальный элемент и его индекс.}
readln;
end.
Задания для самостоятельной работы:
6. Дан массив целых чисел из n элементов. Найти и вывести номера элементов, заканчивающихся цифрой 0.
7. Рост N учеников класса представлен в виде массива. Найти количество учеников, рост которых не превышает значения R.
8. В массиве записаны результаты N игр футбольной команды (если игра закончилась выигрышем данной команды, то записано число 3, проигрышем - число 2, вничью - 1). Определить количество выигрышей, проигрышей, ничьих.
9. В массиве хранится информация о росте N человек. Определить, на сколько рост самого высокого человека превышает рост самого низкого.
10. В массиве хранится информация о стоимости 1 кг N видов конфет. Определить порядковый номер самого дешевого вида конфет. Если таких несколько, то должен быть найден индекс:
А) первого из них;
Б) всех.
11. В массиве хранится информация о стоимости каждой из M книг. Определить количество самых дешевых книг (с одинаковой минимальной ценой).
12. Напечатать элементы массива в прямом и обратном порядке.
13. Переставить элементы, стоящие на нечетных местах, с соответствующими элементами на четных местах
14. Подсчитать количество четных элементов массива, заданного датчиком случайных чисел
15. Произвести удаление элемента из одномерного массива, заданного датчиком случайных чисел
16. Произвести вставку элемента в одномерный массив, заданный датчиком случайных чисел
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|