Одномерные массивы. Формирование массива и вывод его элементов

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

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

Ход урока:

1. Объяснение нового материала:

Для решения задач накопления и обработки данных в ЭВМ важную роль играют массивы и последовательности данных, размещаемые в оперативной памяти или на магнитных носителях информации.

Массив- это область памяти, в которой могут размещаться совокупности данных определенного типа.

Для обозначения отдельных элементов в массивах необходимо указывать индексы.

Описание массивов:

  • Тип (повторение типов переменных, аналогия с массивами: вещественный, целочисленный %, символьный $, логический)
  • Размеры массивов (одномерный- линейный, двумерный- прямоугольный и т. д.)

Поскольку в массивах хранятся совокупности данных, то их обработка производится с помощью циклов.

алг «Таблица умножения»
нач
от K=1 до 9 цикл
от L=1 до 9 цикл
T=K*L
кцикл
кцикл
кон

T- двумерный массив (цикл в цикле)
L-формирует строки- внутренний цикл
К-изменяет индекс строк

алг «вывод таблицы умножения»
нач
от K=1 до 9 цикл
от L=1 до 9 цикл
Вывод T
Кцикл
Вывод (новая строка)
кцикл
кон

внутренний цикл организует вывод строк
внешний- формирует таблицу (столбцы)

Способы заполнения массивов

  1. с клавиатуры
  2. переписывание информации, хранящейся на МГД
  3. формулой
  4. датчиком случайных чисел
  5. data, read

Табличные величины

Одномерный массив соответствует списку, двумерный- таблице. Прежде, чем их использовать в программе необходимо указать машине, чтобы она заранее отвела место

Dim (dimension-размер)

Dim(8) Dim(8, 15)

Отсчет размерности идет с нуля.

Dim ставится в начале программы.

Способы заполнения массивов

1. с клавиатуры

dim A(3,4)
for I=1 to 3
for j=1 to 4
input A(I,J)
next J,I

2. формулой

dim A(3)
for I=1 to 3
A(I)=cos(I)
next I

3. датчиком случайных чисел

dim B(7)
for I=0 to 7
A(I)=int(rnd(1)*100+1)
next I

4. data, read

dim A$(4)
for I=1 to 4
read A$(I)
? A$(I)
next I
data Лена, Оля, Катя, Коля

д/з: конспекты

Разделы: Информатика

Тема : Двумерные массивы. Заполнение двумерного массива по заданному правилу.

Цели: отработать навыки работы с элементами двумерного массива, научиться заполнять двумерные массивы по заданному правилу, научиться выводить зависимость между номером строки и номером столбца; развитие логического мышления учащихся.

ХОД ЗАНЯТИЯ

1. Актуализация знаний

Массивы, положение элементов в которых описывается двумя индексами, называются двумерными. Структура такого массива может быть представлена прямоугольной матрицей. Каждый элемент матрицы однозначно определяется указанием номера строки и столбца, номер строки – i, номер столбца – j.
Рассмотрим матрицу А размером n*m:

а 11 а 12 а 13 а 14
а 21 а 22 а 23 а 24
а 31 а 32 а 33 а 34

Матрица из 3 строк и 4 столбцов, количество строк n=3, количество столбцов m=4. Каждый элемент имеет свой номер, который состоит из двух чисел – номера строки, в которой находится элемент, и номера столбца. Например, а23 – это элемент, стоящий во второй строке и в третьем столбце.
Двумерный массив на языке Турбо Паскаль можно описать по-разному. Чтобы описать двумерный массив, надо определить какого типа его элементы, и каким образом они пронумерованы (какого типа его индекс). Существует несколько способов описания двумерного массива.

Const maxN=…; {Максимальные значения количества строк}
maxM=…; {Максимальные значения количества столбцов}

1 способ

Type Mas = array of <тип элементов>; {Одномерный массив}
Type TMas = array of Mas; {Одномерный массив, элементами которого являются одномерные массивы}

2 способ

Type TMas = array of array of <тип элементов>;
{Одномерный массив, элементами которого являются одномерные массивы}

3 способ

Type <имя типа>= array of <тип элементов>; {Двумерный массив}

Предпочтение отдается третьему способу описания двумерного массива.

Например:

Const N=3; M=4;
Type TMas= array of integer; {Двумерный массив из целых чисел}

Формирование двумерного массива можно осуществлять четырьмя способами: ввод с клавиатуры, через генератор случайных чисел, по заданному правилу или с помощью файла.

1) Формирование двумерного массива при помощи ввода с клавиатуры и алгоритм построчного вывода элементов матрицы.

Const N=10;M=10;
Type Tmas= array of integer;
Var A:Tmas; i,j:integer;
Begin
{Ввод элементов матрицы}
For i:=1 to N do
For j:=1 to M do
Read(A);
{Вывод элементов матрицы}
For i:=1 to N do begin
For j:=1 to M do
Write(A:4); {Печатается первая строка}
Writeln {Переход на новую строку}
end;
End.

2) Фрагмент программы формирования двумерного массива через генератор случайных чисел.

Begin
Randomize; {Инициализация генератора случайных чисел}
{Ввод элементов матрицы}
For i:=1 to N do
For j:=1 to M do
A:=random(45)-22;

2. Изучение нового материала. Заполнение массива по правилу

Рассмотрим несколько фрагментов программ заполнения двумерного массива по некоторому закону. Для этого необходимо вывести правило заполнения.

1. Заполнить массив А размером n*m следующим образом, например

1 2 3 4 5 6 7 8
16 15 14 13 12 11 10 9
17 18 19 20 21 22 23 24
32 31 30 29 28 27 26 25
33 34 35 36 37 38 39 40
48 47 46 45 44 43 42 41

Массив заполняется по принципу «змейки». Правило заполнения: если номер строки – нечетное число, то A=(i-1)*m+j, иначе A=i*m-j+1.

program M1А;

n,m,i,j: integer;
begin
readln(n,m);
for i:=1 to n do begin
for j:=1 to m do
begin
if i mod 2 = 1 then
A=(i-1)*m+j
else
A=i*m-j+1;
write(A:3);
end;
writeln;
end;
readln;
end.

Приведем пример программы другого способа заполнения по заданному правилу:

program M1В;
var A:array of integer;
n,m,i,j: integer;
c: integer;
begin
readln(n,m);
c:=1;
for i:=1 to n do
begin
for j:=1 to m do
begin
A:=c;
if (i mod 2 = 0) and (j<>m) then
dec(c)
else
inc(c);
write(A:3);
end;
c:=c+m-1;
writeln;
end;
readln;
end.

2. Заполнить массив A по следующему принципу:

1 0 2 0 3 0 4
0 5 0 6 0 7 0
8 0 9 0 10 0 11
0 12 0 13 0 14 0

program M2;
var A:array of integer;
n,m,i,j: integer;
c: integer;
begin
readln(n,m);
c:=0;
for i:=1 to n do
begin
for j:=1 to m do
begin
if (i-1+j) mod 2 = 0 then
A:=0
else
begin
inc(c);
A:=c;
end;
write(A:5);
end;
writeln;
end;
readln;
end.

3. Заполнить массив A по следующему принципу:

1 12 13 24 25 36
2 11 14 23 26 35
3 10 15 22 27 34
4 9 16 21 28 33
5 8 17 20 29 32
6 7 18 19 30 31

var A:array of integer;
n,m,i,j: integer;
c: integer;
begin
readln(n,m);
c:=1;
for j:=1 to m do
begin
for i:=1 to n do
begin
A:=c;
if (j mod 2 = 0) and (i<>n) then
dec(c)
else
inc(c);
end;
c:=c+n-1;
end;
for i:=1 to n do
begin
for j:=1 to m do
write(A:5);
writeln;
end;
readln;
end.

4. Заполнить массив A по следующему принципу:

1 2 3 4 5
2 3 4 5 1
3 4 5 1 2
4 5 1 2 3
5 1 2 3 4

var i,j,m,c,d: integer;

begin
c:=1;
readln(m);
for j:=1 to m do
begin
i:=c;
d:=1;
repeat
A:=d;
inc(i);
if i>m then
i:=1;
inc(d);
until i=c;
dec(c);
if c <= 0 then
c:=m-c;
end;
for i:=1 to m do
begin
for j:=1 to m do
write(A:2);
writeln;
end;
end.

5. Заполнить массив A по следующему принципу:

1 0 0 0 1
0 1 0 1 0
0 0 1 0 0
0 1 0 1 0
1 0 0 0 1

var m,i,j: integer;
A:array of integer;
begin
readln(m);
for i:=1 to m do
begin
for j:=1 to m do
begin
if (i=j) or (m-i+1=j) then
A:=1
else
A:=0;
write(A:2);
end;
writeln;
end;
end.

3. Задачи для самостоятельного решения

6 5 4 3 2 1
7 8 9 10 11 12
18 17 16 15 14 13
19 20 21 22 23 24
30 29 28 27 26 25
31 32 33 34 35 36

36 25 24 13 12 1
35 26 23 14 11 2
34 27 22 15 10 3
33 28 21 16 9 4
32 29 20 17 8 5
31 30 19 18 7 6

0 1 1 1 0
1 0 1 0 1
1 1 0 1 1
1 0 1 0 1
0 1 1 1 0

4) Заполнить массив по следующему принципу:

31 32 33 34 35 36
25 26 27 28 29 30
19 20 21 22 23 24
13 14 15 16 17 18
7 8 9 10 11 12
1 2 3 4 5 6

5) Заполнить массив по следующему принципу:

31 25 19 13 7 1
32 26 20 14 8 2
33 27 21 15 9 3
34 28 22 16 10 4
35 29 23 17 11 5
36 30 24 18 12 6

Домашние задание:

1) Заполнить массив по следующему принципу:

6 7 18 19 30 31
5 8 17 20 29 32
4 9 16 21 28 33
3 10 15 22 27 34
2 11 14 23 26 35
1 12 13 24 25 36

2) Заполнить массив по следующему принципу:

31 32 33 34 35 36
30 29 28 27 26 25
19 20 21 22 23 24
18 17 16 15 14 13
7 8 9 10 11 12
6 5 4 3 2 1

3) Заполнить массив по следующему принципу:

0 1 1 1 0
1 0 1 0 1
1 1 0 1 1
1 0 1 0 1
0 1 1 1 0

Заполнить элементы одномерного массива значениями мы можем: вводя значения с клавиатуры; случайным образом; по формуле. Способы задания одномерных массивов Для ввода и вывода числовых значений массива используются циклы. Процедура принимает параметр по ссылке массив Mssiv заданного типа и целую переменную n отвечающую за количество заполняемых ячеек массива. Формирование одномерного массива случайным образом.


Поделитесь работой в социальных сетях

Если эта работа Вам не подошла внизу страницы есть список похожих работ. Так же Вы можете воспользоваться кнопкой поиск


Заполнение.

Заполнить элементы одномерного массива значениями мы можем:

Вводя значения с клавиатуры;

Случайным образом;

По формуле.

Способы задания одномерных массивов

Для ввода и вывода числовых значений массива используются циклы.

Рассмотрим процедуры, которые бы формировали одномерный массив двумя способами

1) случайным образом,

2) вводом элементов с клавиатуры

Предположим, что мы будем работать с массивом целых чисел. Пусть нам достаточно иметь максимальное количество элементов равное 50. Процедура принимает параметр по ссылке массив Massiv заданного типа и целую переменную n , отвечающую за количество заполняемых ячеек массива. Также нам нужна будет локальная переменная i , которая будет выполнять функции параметра цикла и использоваться для указания номера, определяющего местоположение элемента в массиве.

1. Формирование одномерного массива случайным образом. Зададим значение каждого элемента результатом случайной функции Random(10). Заполнение массива зададим циклическим оператором for, в теле которого выполняется вычисление случайного числа функцией Random(10), после чего это значение присваивается очередному i -му элементу массива.

Procedure InsertMas1(Var massiv:mas; n:integer);

I: integer;

Begin

Randomize;

For i:=1 to n do

Massiv[i] := Random(10);

End ;

2. Формирование одномерного массива вводом элементов с клавиатуры.

Procedure InsertMas2(Var massiv:mas; n:integer);

I: integer;

Begin

For i:=1 to n do

Begin

write ("Введите ", i ,"-ый элемент массива ");

readln(massiv[i]);

End;

End;

Вывод массива на экран осуществляется следующим образом:

Procedure PrintMas(massiv:mas; n:integer);

I: integer;

Begin

For i:=1 to n

Write(Massiv[i]:5);

End .

Надо помнить, что во всех трех случаях нам не обойтись без организации цикла.

Поиск максимального (минимального) элемента массива.

Пусть мы имеем одномерный массив:

20,-2, 4, 10,7, 21,-12, 0, 4, 17.

Подумаем, какие операции нужно выполнить, если требуется найти максимальный элемент. Естественно, операцию сравнения Мы не задумываемся над тем, что сравниваем всегда пару, "пробегая" глазами все элементы массива. Алгоритм поиска максимального (минимального) элемента мы построим таким образом чтобы сравнивать пару чисел, повторяя действие сравнения нужное количество раз.

Итак, нам необходимо ответить на два вопроса:

1) какие числа входят в пару, составляющую операцию отношения;

2) сколько раз необходимо повторить операцию сравнения. Введем дополнительную переменную с именем mах. Она и будет одним из чисел, второе число — это очередной элемент массива. Для того, чтобы провести первую операцию сравнения необходимо переменной mах присвоить некоторое начальное значение. Здесь могут быть два варианта:

1) присвоить переменной mах первый элемент массива;

2) присвоить число заведомо меньшее всех элементов массива.

Массив содержит сведения о количестве студентов каждой группы I курса. Определить группу с максимальным количеством студентов, считая, что номер группы соответствует порядковому номеру числа в массиве (считаем, что такая группа единственная).

Другими словами, мы должны найти максимальный элемент и его номер.

program max_num;

type mas=array[ 1.. 10] of byte;

var a: mas;

num, i: byte;

max: byte;

begin

{ блок заполнения }

for i:=l to 7 do

readln(a[i]);

{поиск максимального и его номера}

max:==0;

{вводим самое маленькое число для данного массива}

for i:=l to n do

if a[i]>max then begin

num:=i;

max:=a[i]

end;

writeln("максимальное число студентов=",mах);

writeln("номер группы=",num);

end.

3) Найти минимальный элемент среди четных элементов массива.

Пояснение: мы не можем переменной min присвоить первый элемент массива, т.к. он может быть нечетным. Следовательно мы должны выбрать какое-то очень большое число для данного типа данных.

Если мы объявим элементы массива integer, то таким числом будет +32767.

program min_even;

a:array of integer;

i: integer;

min:integer;

begin

for i:=l to 10 do beein

writeln("введите очередной элемент массива ");

readln(a[i]) ;

end;

min:=32767;

for i:=l to 10 do

if (a[i]

if min=32767 then writeln ("в массиве нет четных элементов") else writein ("минимальный элемент среди четных элементов массива=",min)

end.

Обратите внимание: необходимо проверить, изменилось ли значение переменной min, т.к. четных элементов могло и не быть.

Другие похожие работы, которые могут вас заинтересовать.вшм>

8729. ОПРЕДЕЛЕНИЕ И СПОСОБЫ ЗАДАНИЯ КОНЕЧНОГО АВТОМАТА. ЗАДАЧА СИНТЕЗА. ЭЛЕМЕНТАРНЫЕ АВТОМАТЫ 189.1 KB
Определение и способы задания конечного автомата. ОПРЕДЕЛЕНИЕ И СПОСОБЫ ЗАДАНИЯ КОНЕЧНОГО АВТОМАТА. Определение конечного автомата. Способы задания конечного автомата.
3552. Индивидуальные домашние задания по химии. Химия домашние задания 475.47 KB
Методические указания включают индивидуальные домашние задания по следующим темам: классы неорганических соединений, химический эквивалент, строение атома, химическая связь, химическая термодинамика, химическая кинетика, концентрация растворов, ионные реакции и гидролиз солей, окислительно-восстановительные реакции, электрохимические процессы, свойства металлов.
12127. Стратегические полезные ископаемые (МПГ, Ni, Co, Cr, Cu) палеопротерозойских расслоенных базитовых массивов северо-востока Фенноскандинавского щита 17.77 KB
Краткое описание разработки. Преимущества разработки в сравнении с аналогами. Важным аспектом разработки является возможность минимизировать негативное техногенное воздействие на окружающую среду за счёт резкого сокращения экстенсивного применения тяжёлой горной и буровой техники на рекогносцировочнопоисковых стадиях. Области коммерческого использования разработки.
9554. МАТЕМАТИКА. МЕТОДИЧЕСКОЕ ПОСОБИЕ И ЗАДАНИЯ 268.34 KB
Учебная дисциплина «Математика» предназначена для реализации государственных требований к минимуму содержания и уровню подготовки выпускников среднего профессионального образования.
18129. Творческие задания как средство развития воображения 91.06 KB
Названные исследования отражают многообразие научных идей и практических подходов к организации творческой деятельности учащихся в образовательном процессе однако аспект целенаправленного обеспечения творческими заданиями младших школьников в процессе обучения как средства развития воображения изучен еще не достаточно. На основании выделенных противоречий анализа философской психолого-педагогической литературы а также в результате изучения опыта работы начальной школы была сформулирована проблема исследования заключающаяся в теоретическом...
19517. Разработка технического задания для автоматизации магазина «Буква» 155.63 KB
Грамотная продажа товара исходя из требований клиента то есть консультация специалистов. Поэтому необходимо чтобы магазин получал информацию о состоянии рынка и сам предоставлял на рынок информацию об имеющихся товарах и услугах. Взаимодействие со средствами массовой информации заключается в предоставлении магазином данных о себе своих товарах и услугах – в последствии из этих данных будет сформирована реклама ноутбук-салона которая воспринимается рынком товаров и услуг. Расширение видов товара Преимущества магазина: Большой опыт...
3548. Домашние задания по химии и методические указания по их выполнению 229.61 KB
Настоящие домашние задания предназначены для систематической работы студентов всех специальностей над курсом химии в соответствии с учебной программой. Выполнение заданий способствует выработке у студентов навыков самостоятельной работы.
19091. АНАЛИЗ ТЕХНИЧЕСКОГО ЗАДАНИЯ И ОСНОВНЫЕ ТЕХНИЧЕСКИЕ ТРЕБОВАНИЯ К РАЗРАБАТЫВАЕМОЙ КОНСТРУКЦИИ 911.42 KB
Серверная комната (серверное помещение или просто серверная) - выделенное технологическое помещение со специально созданными и поддерживаемыми условиями для размещения и функционирования серверного и телекоммуникационного оборудования. Допустимая температура в серверном помещении должна быть
1763. Реализация задания в виде класса, используя для хранения информации контейнер стандартной библиотеки шаблонов (STL) языка С++ 190.6 KB
Синтаксис C++ унаследован от языка C. Одним из принципов разработки было сохранение совместимости с C. Тем не менее, C++ не является в строгом смысле надмножеством C; множество программ, которые могут одинаково успешно транслироваться как компиляторами C...
10124. Разработка технического задания на оказание рекламных услуг, услуг по уборке, охране, обеспечения персоналом 31.88 KB
Разработка технического задания на рекламные услуги: правовое регулирование рекламных услуг. Разработка технического задания на услуги по уборке: основные понятия и виды услуг. Разработка технического задания на услуги по охране: правовое регулирование. Разработка технического задания на услуги по обеспечению персоналом: основные понятия.

Одномерные массивы. Формирование массива и вывод его элементов

Определение понятия

Массив представляет собой совокупность данных одного типа с общим для всех элементов именем.

Элементы массива пронумерованы, и обращаться к каждому из них можно по номеру. Номера элементов массива иначе называются индексами, а сами элементы массива - индексированными переменными.

a[ n ]

- 0. 5

-5.2

0.6

Вектор (линейный или одномерный массив ) - это пример массива, в котором элементы нумеруются одним индексом.

  • В качестве номера (индекса) элемента массива, в общем случае, используется выражение порядкового типа (чаще всего - это целая константа или переменная целого типа: integer , word , byte или shortint )
  • При обращении к элементу массива индекс указывается в квадратных скобках. Например, a, mass.
  • Обработка элементов массива производится при изменении индексов элементов. Например, в случае использования выражения следующие переменные удобно применять для просмотра в цикле элементов массива:
    • a[i] - всех элементов;
    • a - элементов, стоящих на четных местах;
    • a - элементов, стоящих на нечетных местах

Описание массива

  • Определение переменной как массив без предварительного описания типа массива
var a,b,c: array of integer ; var s: array of integer ; k: array of integer ;

Примечание

    • Описание массива требуется компилятору для выделения памяти под его элементы.
    • Переменная определяется как массив посредством служебного слова array (массив). В квадратных скобках указывается диапазон, т. е. нижняя и верхняя граница значения индекса массива. Значение верхней границы не может быть меньше нижней.
    • Здесь переменные s и k считаются разных типов. Для обеспечения совместимости необходимо применять описание переменных через предварительное описание типа.
    • Если типы массивов идентичны, то в программе один массив может быть присвоен другому. В этом случае значения всех переменных одного массива будет присвоены соответствующим элементам второго массива.
    • Над массивами не определены операции отношения. Сравнивать два массива можно только поэлементно.
  • Предварительное описание типа массива
const n = 5; type mas = array of integer ; var a: mas;

Примечание

    • Доступ к элементам массива будет осуществляться так: a, a, a, a, a (т. е. массив содержит пять элементов).
    • Употребление констант (в данном примере n) при описании массива предпочтительно, т. к. в случае изменения размеров массива не нужно будет вносить исправления по всему тексту программы.
  • Задание массива типизированной константой
const x: array of integer = (1, 2, 3, 4, 5, 6);

Примечание

    • В данном примере не только выделяется память под массив, но и происходит заполнение ячеек данными.
    • Элементы массива можно изменять в ходе программы (как и все типизированные константы).

Заполнение массива данными

§ Для заполнения массива данными (и его вывода) чаще всего используется цикл с параметром for

§ Для заполнения массива случайными числами используется функция random и процедура randomize (инициализации генератора случайных чисел). Формат записи такой: random(B - A) + A , где A и B берутся из интервала :4);

Пример программы на ввод и вывод массива

Постановка задачи. Получить сумму элементов массива, состоящего из 10 целочисленных элементов. Элементы массива вводятся с клавиатуры.

program array2; var sum:integer ; i:byte ; a:array of word ; begin sum:= 0; for i:= 0 to 9 do begin write ("a[ ", i, "] = "); readln (a[i]); sum:= sum + a[i] end ; writeln ("sum = ", sum) end.

Пример программы работы с элементами массива

Постановка задачи. Получить среднее арифметическое элементов массива. Элементы массива заполняются случайными числами.

program array3; const n = 100; var sar:real ; sum:integer ; i:byte ; a:array of integer ; begin sum:= 0; randomize ; for i:= 0 to n do begin a[i] := random (100); sum:= sum + a[i] end ; sar:= sum/n; writeln ("sar = ", sar) end.

Одномерный массив – это именованная последовательность, состоящая из пронумерованных элементов одного типа. Элементы могут быть любого имеющегося в Pascal (за исключение файлового) типа данных. Номер, также называемый индексом, имеет каждый элемент массива. Индекс должен быть порядкового типа. Одномерный массив можно объявить как в качестве переменной:

var <имя переменной>: array of <тип элементов>;

так и типа:

type <имя типа> = array of <тип элементов>;

Здесь m – номер первого элемента, а n – последнего. Например, если диапазон задан так: , то это означает, что определен одномерный массив размерностью в 10 элементов, с индексами от 1 до 10.

Для обращения к элементу массива нужно указать его имя и номер: mas[i], тут mas – имя, i – номер. В программе ниже мы объявим массив и произведем простые операции над его элементами.

1
2
3
4
5
6
7
8
9
10
11
12

program array_primer;
uses crt;
var mas, A: array [ 1 ..10 ] of real ;
begin
clrscr;
mas[ 1 ] := 32 ;
mas[ 5 ] := 13 ;
mas[ 9 ] := 43 ;
A[ 1 ] := (mas[ 9 ] — mas[ 1 ] ) * mas[ 5 ] ;
write (A[ 1 ] : 5 : 2 ) ;
readkey;
end .

В каком-то смысле с массивами можно работать, как и с обычными переменными, но представьте, например ситуацию, когда необходимо заполнить массив, состоящий из десятков или тысяч элементов. Это будет удобней сделать посредством цикла. Следующая конструкция заполняет массив числами и выводит их на экран.

for i:=1 to n do
begin
mas[i]:=i;
write(mas[i]:3);
end;

Если необходимо, чтобы массив состоял из значений, введенных с клавиатуры, то просто замените присвоение на оператор read. Также бывают ситуации, когда требуется заполнить массив случайными числами. Программа ниже поочередно присваивает каждому элементу случайную величину.

1
2
3
4
5
6
7
8
9
10
11
12
13
14

program array_random;
uses crt;
var i: integer ;
mas: array [ 1 ..100 ] of integer ;
begin
clrscr;
randomize;
for i:= 1 to 100 do
begin
mas[ i] := random(10 ) ;
write (mas[ i] : 2 ) ;
end ;
readkey;
end .

Широко распространены задачи связанные с разного рода алгоритмами применимыми к массивам. Среди них особенно популярны методы поиска и сортировки элементов. Но каждый из таких алгоритмов требует индивидуального изучения, поэтому ознакомиться с ними вы можете в других статьях:

Алгоритмы сортировки:

Алгоритмы поиска:

К числу менее сложных и в тоже время востребованных относятся методы определения количества положительных и отрицательных, минимального и максимального элементов. Рассмотрим их.

Поиск максимального элемента в массиве :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

program array_max;
uses crt;
type massiv= array [ 1 ..10 ] of word ;
var i, max: integer ;
A: massiv;
begin
clrscr;
for i:= 1 to 10 do
begin
write (‘Элемент №’ , i: 2 , ‘=’ ) ;
read (A[ i] ) ; {ввод с клавиатуры}
end ;
max:= A[ 1 ] ; {пусть первый элемент будет максимальным}
for i:= 1 to 10 do
if maxwriteln ;
write (‘Максимальный элемент = ‘ , max) ;
readkey;
end .

Для того чтобы сделать программу для поиска минимального элемента нужно всего лишь поменять знак < в 15 строке на >.

Определение количества положительных элементов :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

Понравилась статья? Поделиться с друзьями: