что такое одномерный массив в информатике

Pascal. Одномерные массивы

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

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

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

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

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

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

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

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

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

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

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

Источник

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

Описание массива в Паскале

Что такое массив? Это ячейки памяти с однотипными данными, расположенные последовательно.

что такое одномерный массив в информатике. Смотреть фото что такое одномерный массив в информатике. Смотреть картинку что такое одномерный массив в информатике. Картинка про что такое одномерный массив в информатике. Фото что такое одномерный массив в информатике

Каждая ячейка имеет номер, т. е. индекс, но все они находятся под общим названием переменной. Индекс ячейки указывает на ее компоненты, которые там находятся.

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

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

Ячейка становится его динамичной частью. Она нумеруется, и при заполнении порядковый номер каждого элемента становится ее индексом.

А[1..10] – массив с именем А и размером 10;

ST[1..R], R = 7 – массив с именем ST, состоящий из 7 элементов.

Прежде чем использовать массив, его нужно описать.

что такое одномерный массив в информатике. Смотреть фото что такое одномерный массив в информатике. Смотреть картинку что такое одномерный массив в информатике. Картинка про что такое одномерный массив в информатике. Фото что такое одномерный массив в информатике

Вот примерная схема:

var : array [ макс_знач_индекса>] of ;

Самый низкий адрес имеет первый компонент, а самый высокий адрес – последний.

Количество компонентов может быть разным.

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

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

Он может иметь как минимальный диапазон элементов, так и максимальный.

В Pascal индекс массива может иметь любой скалярный тип, например, целое число, логическое значение, перечисление, кроме действительного. Индексы также могут иметь отрицательные значения.

Пример ввода одномерного массива в Паскале:

что такое одномерный массив в информатике. Смотреть фото что такое одномерный массив в информатике. Смотреть картинку что такое одномерный массив в информатике. Картинка про что такое одномерный массив в информатике. Фото что такое одномерный массив в информатике

Двумерные и многомерные массивы

Размерность массивом может быть разной.

Двумерные хранилища и многомерные – это наборы, в которых хранятся переменные во втором или n-м измерении, имеющие n * m мест хранения.

Размерные матрицы Mutli, включая 2-мерный набор, объявляются с использованием нескольких квадратных скобок, расположенных рядом друг с другом, или с использованием запятых с квадратными скобками в качестве альтернативы.

Двумерный массив можно рассматривать как прямоугольную сетку с двумя индексами, один из которых задает строку, а другой – столбец.

что такое одномерный массив в информатике. Смотреть фото что такое одномерный массив в информатике. Смотреть картинку что такое одномерный массив в информатике. Картинка про что такое одномерный массив в информатике. Фото что такое одномерный массив в информатике

Например, календарь, подобный тому, что представлен на рисунке, можно рассматривать как двумерную таблицу, имеющую строки, известные как недели, и столбцы, известные как дни. Тем не менее, календарь так же можно рассматривать как набор массивов: месяц – это массив недель, а неделя – дней.

В Паскале эта декларация записывается как единый блок:

TYPE DayType = INTEGER;

DayNames = (Sun, Mon, Tue, Wed, Thu, Fri, Sat);

WeekType = ARRAY [DayNames] OF DayType;

MonthType = ARRAY [1..6] OF WeekType;

Тип MonthType также может быть записан как:

TYPE MonthType = ARRAY [1..6] OF

ARRAY [DayNames] OF DayType;

Можно записать с использованием ярлыка, как:

Тип MonthType = ARRAY [1..6, DayNames] OF DayType;

WeekType = ARRAY [DayNames] OF DayType;

MonthType = ARRAY [1..6] OF WeekType;

что такое одномерный массив в информатике. Смотреть фото что такое одномерный массив в информатике. Смотреть картинку что такое одномерный массив в информатике. Картинка про что такое одномерный массив в информатике. Фото что такое одномерный массив в информатике

Как задать массив в Паскале

Массивы применяются в качестве обычных матриц для сбора и хранения типизированных компонентов.

Ввести его можно с клавиатуры, вручную, набирая каждый элемент, или использовать циклы: For i:=1 to 20 do read (a[ i ]);

В приведенном ниже примере показано, как вводить набор «a», который состоит из 10 случайных чисел в диапазоне от 0 до 99. Он называется рандомным.

Реализуется он с помощью функции Random:

For i:=1 to 10 do a[ i ]:=random(100);

что такое одномерный массив в информатике. Смотреть фото что такое одномерный массив в информатике. Смотреть картинку что такое одномерный массив в информатике. Картинка про что такое одномерный массив в информатике. Фото что такое одномерный массив в информатике

Вывод

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

Пример: For i:=1 to 10 do write (a[ i ], ‘ ‘);

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

Заключение

Итак, задача матрицы – ускорение действий. Конечно, если дело касается только 5 переменных, можно обойтись и без нее. А как быть, если речь идет о 100 или 1000 переменных. Нужно вбивать вручную каждый элемент для ввода и еще столько же для вывода?

Решение очевидно: лучше не забрасывать информатику 9-го класса и научиться работать в Паскале. Это полезно, если вы хотите хранить большие объемы данных для последующего использования в программе.

Источник

Информатика. 11 класс

Конспект урока

Информатика, 11 класс. Урок № 5.

Тема — Массивы. Типовые задачи обработки массивов

Перечень вопросов, рассматриваемых в теме: массивы, описание массивов, заполнение массивов, типовые задачи обработки массивов.

Глоссарий по теме: массив, элемент массива, размерность массива, индекс элемента массива, сортировка.

Основная литература по теме урока:

Л. Л. Босова, А. Ю. Босова. Информатика. Базовый уровень: учебник для 11 класса. — М.: БИНОМ. Лаборатория знаний, 2017

Дополнительная литература по теме урока:

— И. Г. Семакин, Т. Ю. Шеина, Л. В. Шестакова. Информатика и ИКТ. Профильный уровень: учебник для 11 класса. — М.: БИНОМ. Лаборатория знаний, 2012

— К. Ю. Поляков, Е. А. Еремин. Информатика. Углубленный уровень: учебник для 10 класса. В 2 ч. Ч. 2 — М.: БИНОМ. Лаборатория знаний, 2013

— Андреева Е. В. Программирование — это так просто, программирование — это так сложно. Современный учебник программирования. — М.: МЦНМО, 2015

— Молчанова С. И. Основы программирования. Турбо-Паскаль 7.0 для школьников и абитуриентов. — М.: «Аквариум»; ООО «Фирма «Издательство АСТ», 1999

Теоретический материал для самостоятельного изучения

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

Для решения этой достаточно простой задачи мы будем вынуждены ввести 20 имен переменных, что, естественно, очень неудобно. Но ведь чисел может быть гораздо больше, чем 20!

Основное предназначение современных компьютеров — обработка большого количества данных. Очень сложно каждой переменной при этом давать собственное имя и не запутаться. Выходом их этой ситуации является использование более сложных по своей конструкции типов данных — составных (или структурированных). Одним из таких типов являются массивы.

Массив — это поименованная совокупность однотипных элементов, упорядоченных по индексам, определяющим положение элемента в массиве.

Элемент массива — отдельная переменная, входящая в массив.

Индекс элемента массива — номер элемента в этом массиве.

Размерность массива — количество элементов, которое содержит массив.

Массивы бывают одномерными и многомерными. Мы будем рассматривать только одномерные массивы. Их условно можно представлять в виде таблицы, которая состоит из множества ячеек, расположенных в одну строку или в один столбец.

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

— array и of — служебные слова, которые буквально можно перевести как «массив» и «из»;

— — описание индексации (нумерации) элементов массива. В качестве типа индекса можно использовать любые порядковые типы;

— — тип величин, непосредственно составляющих массив.

Приведем несколько примеров описаний:

Для того, чтобы обратиться к элементу массива, нужно записать имя массива и в квадратных скобках индекс нужного элемента, например, day[100].

Рассмотрим основные приемы работы с массивами.

Заполнение одномерного массива значениями

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

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

— случайным образом из некоторого диапазона;

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

Для начала договоримся, что мы имеем дело с массивом из 10 натуральных чисел (хотя тип элементов в данном случае значения не имеет).

что такое одномерный массив в информатике. Смотреть фото что такое одномерный массив в информатике. Смотреть картинку что такое одномерный массив в информатике. Картинка про что такое одномерный массив в информатике. Фото что такое одномерный массив в информатике

Вывод элементов массива на экран

Вывод элементов также нужно организовывать с помощью цикла. При этом можно объединять процессы формирования массива и вывода его элементов на экран в один цикл, и выводить элементы массива либо в столбик, либо в строчку.

Воспользуемся вторым и третьим способами, рассмотренными выше:

что такое одномерный массив в информатике. Смотреть фото что такое одномерный массив в информатике. Смотреть картинку что такое одномерный массив в информатике. Картинка про что такое одномерный массив в информатике. Фото что такое одномерный массив в информатике

Теперь перейдем к задачам обработки массивов.

Вычисление суммы элементов массива

Алгоритм решения практически полностью совпадает с алгоритмом нахождения суммы некоторого количества чисел, который мы уже рассматривали на третьем уроке в этой теме.

что такое одномерный массив в информатике. Смотреть фото что такое одномерный массив в информатике. Смотреть картинку что такое одномерный массив в информатике. Картинка про что такое одномерный массив в информатике. Фото что такое одномерный массив в информатике

Следующая группа задач очень часто встречается нам в реальной жизни. Это задача поиска в массиве. Например, поиск нужного слова в словаре, поиск времени отправления нужного поезда в расписании и т. д.

В программировании поиск — одна из наиболее часто встречающихся задач вычислительного характера.

В алгоритмах поиска существуют два возможных варианта окончания их работы: поиск может оказаться удачным — заданный элемент найден в массиве и определено его месторасположение, либо поиск может оказаться неудачным – необходимого элемента в данном объеме информации нет. Кроме того, искомый элемент может встретиться в массиве неоднократно.

Рассмотрим несколько типовых задач, которые уже знакомы вам из курса основной школы.

Поиск в массиве элемента, удовлетворяющего некоторому условию

Например, требуется найти в массиве элемент, значение которого равно значению переменной p, или сообщить, что такого элемента в массиве нет.

Мы построим алгоритм, идея которого следующая:

что такое одномерный массив в информатике. Смотреть фото что такое одномерный массив в информатике. Смотреть картинку что такое одномерный массив в информатике. Картинка про что такое одномерный массив в информатике. Фото что такое одномерный массив в информатике

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

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

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

Введем дополнительную переменную max, которой присвоим значение, равное значению элемента массива a[1]. Теперь будем сравнивать все элементы, начиная со 2-го, с max, и если найдем больший элемент, то присвоим его значение переменной max. Конечное значение этой переменной и будет значением наибольшего элемента массива.

что такое одномерный массив в информатике. Смотреть фото что такое одномерный массив в информатике. Смотреть картинку что такое одномерный массив в информатике. Картинка про что такое одномерный массив в информатике. Фото что такое одномерный массив в информатике

Поиск максимального (минимального) среди всех элементов массива, удовлетворяющих некоторому условию

Фактически, эта задача является объединением двух предыдущих, но с одним «подвохом».

Допустим, нужно найти наибольшее среди всех четных чисел, входящих в массив произвольных натуральных чисел.

Мы знаем, что условие «четности» на языке Паскаль можно записать так: x mod 2=0. Значит, найти все четные элементы массива мы сможем. Но как среди них найти наибольший?

что такое одномерный массив в информатике. Смотреть фото что такое одномерный массив в информатике. Смотреть картинку что такое одномерный массив в информатике. Картинка про что такое одномерный массив в информатике. Фото что такое одномерный массив в информатике

Сдвиг элементов массива

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

Таким образом при удалении элемента из массива мы можем получить, например, такую ситуацию. Допустим, имеется массив:

что такое одномерный массив в информатике. Смотреть фото что такое одномерный массив в информатике. Смотреть картинку что такое одномерный массив в информатике. Картинка про что такое одномерный массив в информатике. Фото что такое одномерный массив в информатике

Удалим из него элемент с индексом i=4, т. е. a[1]=a[1], a[2]=a[2], a[3]=a[3], a[4]=a[5], a[5]=a[6], a[6]=a[7]. А вот для последнего элемента a[7] новое значение взять неоткуда. Он сохранит свое значение. Получим:

что такое одномерный массив в информатике. Смотреть фото что такое одномерный массив в информатике. Смотреть картинку что такое одномерный массив в информатике. Картинка про что такое одномерный массив в информатике. Фото что такое одномерный массив в информатике

Чтобы избежать такого дублирования последнего элемента обычно на его место ставят число 0.

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

что такое одномерный массив в информатике. Смотреть фото что такое одномерный массив в информатике. Смотреть картинку что такое одномерный массив в информатике. Картинка про что такое одномерный массив в информатике. Фото что такое одномерный массив в информатике

Сложнее обстоит дело со вставкой элемента внутрь массива. Как мы сказали, при вставке все элементы, расположенные справа от места вставки, сдвигаются вправо. Последнему же элементу сдвигаться некуда, и он пропадет. Чтобы этого не произошло, нужно увеличить размерность массива на 1. Но учесть это надо при описании массива. Второй важный момент заключается в том, что сдвиг значений мы будем производить справа налево до заявленной позиции вставки:

что такое одномерный массив в информатике. Смотреть фото что такое одномерный массив в информатике. Смотреть картинку что такое одномерный массив в информатике. Картинка про что такое одномерный массив в информатике. Фото что такое одномерный массив в информатике

Реверс массива — это перестановка его элементов в обратном порядке: первый элемент становится последним, а последний — первым.

что такое одномерный массив в информатике. Смотреть фото что такое одномерный массив в информатике. Смотреть картинку что такое одномерный массив в информатике. Картинка про что такое одномерный массив в информатике. Фото что такое одномерный массив в информатике

Из примера видно, что местами меняются 1-й элемент с N-м, второй — с (N–1)-м и т. д. Замечаем, что сумма индексов элементов, участвующих в обмене, равна N+1, поэтому элемент с номером i должен меняться местами с (N+1–i)-м элементом.

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

что такое одномерный массив в информатике. Смотреть фото что такое одномерный массив в информатике. Смотреть картинку что такое одномерный массив в информатике. Картинка про что такое одномерный массив в информатике. Фото что такое одномерный массив в информатике

Все вернулось в исходное состояние, потому что реверс выполнился дважды. Чтобы этого не произошло, нужно остановить процесс обмена на середине массива, т.е. на элементе с индексом (N div 2).

что такое одномерный массив в информатике. Смотреть фото что такое одномерный массив в информатике. Смотреть картинку что такое одномерный массив в информатике. Картинка про что такое одномерный массив в информатике. Фото что такое одномерный массив в информатике

Сортировка — один из наиболее распространенных процессов обработки данных.

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

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

Цель сортировки — ускорить последующий поиск элементов, т. к. нужный элемент легче искать в упорядоченном массиве.

С примером более эффективного алгоритма сортировки — «быстрой сортировкой» — вы сможете познакомиться в дополнительном материале.

Источник

Pascal: Занятие № 5. Одномерные массивы в Паскале

Одномерные массивы в Паскале

Объявление массива

Массивы в Паскале используются двух типов: одномерные и двумерные.
Определение одномерного массива в Паскале звучит так: одномерный массив — это определенное количество элементов, относящихся к одному и тому же типу данных, которые имеют одно имя, и каждый элемент имеет свой индекс — порядковый номер.
Описание массива в Паскале (объявление) и обращение к его элементам происходит следующим образом:

что такое одномерный массив в информатике. Смотреть фото что такое одномерный массив в информатике. Смотреть картинку что такое одномерный массив в информатике. Картинка про что такое одномерный массив в информатике. Фото что такое одномерный массив в информатике

Объявить размер можно через константу:

что такое одномерный массив в информатике. Смотреть фото что такое одномерный массив в информатике. Смотреть картинку что такое одномерный массив в информатике. Картинка про что такое одномерный массив в информатике. Фото что такое одномерный массив в информатике

Инициализация массива

Кроме того, массив может быть сам константным, т.е. все его элементы в программе заранее определены. Описание такого массива выглядит следующим образом:

const a:array[1..4] of integer = (1, 3, 2, 5);

Заполнение последовательными числами:
что такое одномерный массив в информатике. Смотреть фото что такое одномерный массив в информатике. Смотреть картинку что такое одномерный массив в информатике. Картинка про что такое одномерный массив в информатике. Фото что такое одномерный массив в информатике

var a: array of integer; var n:=readInteger; a:=new integer[n];

var a: array of integer; var n:=readInteger; SetLength(a,n); // устанавливаем размер

begin var a: array of integer; a := new integer[3]; a[0] := 5; a[1] := 2; a[2] := 3; end.

begin var a: array of integer; a := new integer[3](5,2,3); print(a) end.

Ввод с клавиатуры:

var a:=ReadArrInteger(5); // целые var a:=ReadArrReal(5); // вещественные

Вывод элементов массива

var a: array[1..5] of integer; <массив из пяти элементов>i: integer; begin a[1]:=2; a[2]:=4; a[3]:=8; a[4]:=6; a[5]:=3; writeln(‘Массив A:’); for i := 1 to 5 do write(a[i]:2); <вывод элементов массива>end.

Для работы с массивами чаще всего используется в Паскале цикл for с параметром, так как обычно известно, сколько элементов в массиве, и можно использовать счетчик цикла в качестве индексов элементов.

[Название файла: taskArray0.pas ]

В данном примере работы с одномерным массивом есть явное неудобство: присваивание значений элементам.

for var i:=0 to a.Length-1 do a[i] += 1;

Проход по элементам (только для чтения):
Пример:

foreach var x in a do Print(x)

Функция Random в Pascal

Диапазон в Паскале тех самых случайных чисел от a до b задается формулой:

var f: array[1..10] of integer; i:integer; begin randomize; for i:=1 to 10 do begin f[i]:=random(10); < интервал [0,9] >write(f[i],’ ‘); end; end.

Для вещественных чисел в интервале [0,1]:

или с дополнительными параметрами (диапазон [5;15]):

[Название файла: taskArray1.pas ]

Числа Фибоначчи в Паскале

Наиболее распространенным примером работы с массивом является вывод ряда чисел Фибоначчи в Паскаль. Рассмотрим его.

Получили формулу элементов ряда.

var i:integer; f:array[0..19]of integer; begin f[0]:=1; f[1]:=1; for i:=2 to 19 do begin f[i]:=f[i-1]+f[i-2]; writeln(f[i]) end; end.

[Название файла: taskArray2.pas ]

Максимальный (минимальный) элемент массива

Поиск максимального элемента по его индексу:
что такое одномерный массив в информатике. Смотреть фото что такое одномерный массив в информатике. Смотреть картинку что такое одномерный массив в информатике. Картинка про что такое одномерный массив в информатике. Фото что такое одномерный массив в информатике

// … var (min, minind) := (a[0], 0); for var i:=1 to a.Length-1 do if a[i]

[Название файла: taskArray_min.pas ]

[Название файла: taskArray4.pas ]

[Название файла: taskArray5.pas ]

[Название файла: taskArray6.pas ]

Пример:

[Название файла: taskArray7.pas ]

Поиск в массиве

Рассмотрим сложный пример работы с одномерными массивами:

Для решения поставленной задачи понадобится оператор break — выход из цикла.
Решение Вариант 1. Цикл for:

var f: array[1..10] of integer; flag:boolean; i,c:integer; begin randomize; for i:=1 to 10 do begin f[i]:=random(10); write(f[i],’ ‘); end; flag:=false; writeln(‘введите образец’); readln(c); for i:=1 to 10 do if f[i]=c then begin writeln(‘найден’); flag:=true; break; end; if flag=false then writeln(‘не найден’); end.

begin var a := new integer[10]; a := arrRandomInteger(5,0,5); //[1,3,5,4,5] print(a.IndexOf(3)) // 1 end.

или метод a.Contains(x) наравне с x in a :

begin var a := new integer[10]; a := arrRandomInteger(5,0,5); //[1,3,5,4,5] print(a.Contains(3)); // True print(3 in a)// True end.

Рассмотрим эффективное решение:

Алгоритм:

решение на Паскале Вариант 2. Цикл While:

что такое одномерный массив в информатике. Смотреть фото что такое одномерный массив в информатике. Смотреть картинку что такое одномерный массив в информатике. Картинка про что такое одномерный массив в информатике. Фото что такое одномерный массив в информатике

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

Предлагаем посмотреть подробный видео разбор поиска элемента в массиве (эффективный алгоритм):

Пример:

[Название файла: taskArray8.pas ]

Циклический сдвиг

Решение:

Программа:
что такое одномерный массив в информатике. Смотреть фото что такое одномерный массив в информатике. Смотреть картинку что такое одномерный массив в информатике. Картинка про что такое одномерный массив в информатике. Фото что такое одномерный массив в информатике

// … var v := a[0]; for var i:=0 to a.Length-2 do a[i] := a[i+1]; a[a.Length-1] := v;

// … var v := a[a.Length-1]; for var i:=a.Length-1 downto 1 do a[i] := a[i-1]; a[0] := v;

[Название файла: taskArray9.pas ]

Перестановка элементов в массиве

Рассмотрим, как происходит перестановка или реверс массива.

Решение:

Псевдокод:
что такое одномерный массив в информатике. Смотреть фото что такое одномерный массив в информатике. Смотреть картинку что такое одномерный массив в информатике. Картинка про что такое одномерный массив в информатике. Фото что такое одномерный массив в информатике

Программа:
что такое одномерный массив в информатике. Смотреть фото что такое одномерный массив в информатике. Смотреть картинку что такое одномерный массив в информатике. Картинка про что такое одномерный массив в информатике. Фото что такое одномерный массив в информатике

Решение 2 (стандартная процедура Reverse() ):

begin var a:=new integer[10]; a:=arrRandomInteger(10); print(a);// [41,81,84,63,12,26,88,25,36,72] Reverse(a); print(a) //[72,36,25,88,26,12,63,84,81,41] end.

[Название файла: taskArray10.pas ]

Выбор элементов и сохранение в другой массив

Решение:

что такое одномерный массив в информатике. Смотреть фото что такое одномерный массив в информатике. Смотреть картинку что такое одномерный массив в информатике. Картинка про что такое одномерный массив в информатике. Фото что такое одномерный массив в информатике
Вывод массива B:

writeln(‘Выбранные элементы’); for i:=1 to count-1 do write(B[i], ‘ ‘)

[Название файла: taskArray11.pas ]

Сортировка элементов массива

что такое одномерный массив в информатике. Смотреть фото что такое одномерный массив в информатике. Смотреть картинку что такое одномерный массив в информатике. Картинка про что такое одномерный массив в информатике. Фото что такое одномерный массив в информатике

for i:=1 to N-1 do begin for j:=N-1 downto i do if A[j] > A[j+1] then begin с := A[j]; A[j] := A[j+1]; A[j+1] := с; end; end;

[Название файла: taskArray12.pas ]

что такое одномерный массив в информатике. Смотреть фото что такое одномерный массив в информатике. Смотреть картинку что такое одномерный массив в информатике. Картинка про что такое одномерный массив в информатике. Фото что такое одномерный массив в информатике

PascalPascalABC.NET

for i := 1 to N-1 do begin min:= i ; for j:= i+1 to N do if A[j] i then begin c:=A[i]; A[i]:=A[min]; A[min]:=c; end; end;

for var i := 0 to a.High-1 do begin var (min,imin) := (a[i],i); for var j := i + 1 to a.High do if a[j] [Название файла: taskArray13.pas ]

что такое одномерный массив в информатике. Смотреть фото что такое одномерный массив в информатике. Смотреть картинку что такое одномерный массив в информатике. Картинка про что такое одномерный массив в информатике. Фото что такое одномерный массив в информатике

Рубрики:

См. пузырьковая сортировка.
При второй итерации цикла (согласно вашим рисункам и коду ) нет надобности сравнивать первый элемент со вторым. Снова вы всех путаете =)

admin

Именно поэтому в коде : for j:=N-1 downto i do

downto i — то есть мы доходим сначала до первого элемента, потом до второго и т.д.

Bronislav

Смотрите. Ваш код работает. Но работает не так, как вы пишете перед этим. Он просеивает минимальный элемент с конца через весь массив до первой позиции (первого индекса если хотите). А не так как вы пишете: «При второй итерации цикла нет надобности сравнивать последний элемент с предпоследним. Последний элемент уже стоит на своем месте, он самый большой.» Соответственно вашему коду и вашим рисункам на второй итерации не сравнивается первый элемент (минимальный) со вторым, а не последний (который вообще не факт что максимальный) с предпоследним. Вот об чем речь. Или код меняйте или описание алгоритма перед кодом.

Владимир

В сохранении в другой массив ошибка. Надо поменять местами счётчик и команду сохранения. В массиве В нет элемента 0.

Aurangzeb

А как заполнить случайными числами (из файла!) такой массив: Type mass=array[1..n] of smallint; var A:array[1..n] of mass… В файле они введены, допустим, квадратно! Потом её нужно перевернуть и записать в выходной файл! Подумайте!

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

PascalPascalABC.NET