Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.
Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.
Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.
Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.
Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.
Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.
Глава 7. СТРУКТУРИРОВАННЫЕ ТИПЫ ДАННЫХ
7.1. Масссивы
Под структурой данных типа массив понимают совокупность индексированных упорядоченных однотипных элементов, имеющих общее имя. Массивы используются для хранения однородной по составу информации: элементов таблиц, коэффициентов уравнений, матриц. Элементами массива могут быть данные различных типов, включая структурированные. каждый элемент массива однозначно определяется именем массива и индексом(номером этого элемента в массиве) или индексами, если массив многомерный.
Количество индексных позиций определяет размерность массива (одномерный, двумерный и т.д.). Индексы элементов массива должны принадлежать порядковому типу.
К типовым операциям с массивами относятся:
q ввод массива
q вывод массива
qпреобразование массива
q сортировка массива
qпоиск в массиве
7.1.1. Одномерный массив
Имя: аггау [нижний индекс .. верхний индекс] of Тип;
где Имя - имя переменной-массива;
аггау - ключевое слово, обозначающее, что переменная является
масcивом.
нижний_индекс и верхний_индекс - целые числа, определяющие диапазон изменения индексов (номеров) элементов массива и, неявно, количество
элементов (размер) массива;
Тип - тип элементов массива.
Объявление массива осуществляется одним из следующих способов:
a) в разделе описания переменных
var
a : array [1..5] of byte;
b : array [1..3] of integer;
z : array [‘d’..’g’] of char;
name : array[1..30] of string[25];
б) с помощью типизированной переменной
type
mar =array[1..5] of byte;
var
a:mar;
При описании массивов в программе удобно использовать именованные константы как значения верхних границ индексов массива.
Именованная константа объявляется в разделе описания констант, который располагают перед разделом объявления переменных. Начинается раздел объявления констант словом const.
const
n=5; {Число книг}
S=25;{Длина наименования книги}
var
b : array [1..n ] of integer;
temp: array[1..s] of string[25];
Каждая отдельная величина массива называется элементом. Тип элементов может быть любым, принятым в языке Pascal, кроме файлового типа.
Тип элементов называется базовым типом. Вся совокупность элементов определяется одним именем. Для обозначения отдельных элементов массива используется конструкция, называемая переменной с индексом или с индексами: a[5] s[k+1] b[3,5]
Чтобы использовать элемент массива, нужно указать имя массива и индекс элемента. Первый индекс обычно соответствует номеру строки таблицы второй - номеру колонки.
В качестве индекса может быть использовано выражение. Тип индексов может быть только целым, интервальным или перечисляемым b. Индексы интервального типа, для которого базовым является целый тип, могут принимать отрицательные, нулевое и положительные значения.
Ввод массива. Под вводом массива понимается ввод значений элементов массива. Для ввода или вывода массива в список ввода или вывода помещается переменная с индексом, а операторы ввода или вывода выполняются в цикле.
Чтобы пользователь программы знал, ввода какого элемента массива ожидает программа, следует организовать вывод подсказок перед вводом очередного элемента массива. В подсказке обычно указывают индекс элемента массива. 1
1) Ввод элементов одномерного массива с помощью клавиатуры:
for i:=1 to n do
read(a[i]);
2) Ввод элементов одномерного массива с помощью типизированных констант.
Ввод элементов массива с помощью констант называется еще инициализацией массива.
а) сonst
A1 : array [1..6] of integer = (-5,8,5,0,7,-8);
A2 : array [ 1..3] of char = (‘a’,’b’,’c’);
б) type
Dim10= array[1..10] of Real;
const
raM10: Dim10 = ( 0, 2.1, 4, 5.65, 6.1, 6.7, 7.2, 8, 8.7, 9.3 );
3) Ввод элементов одномерного массива с помощью датчика случайных чисел
randomize;
for i:=1 to 10 do
begin
a[i]:=random (20);
end;
В этом случае значениями элементов массива a[i] будут произвольные значения от 0 до 19 .Для того чтобы получились дробные числа нужно в функции random опустить параметр.
write (‘Вывод элементов одномерного массива ’);
for i:=1 to 10 do
begin
writeln (i,’ ’,a[i]);
end;
Пример 7.1. Вычисление суммы 10 – и элементов массива.
Program Prog7_1;
var
a:array[1..10] of real;
i:integer;
c:real;
begin
c:=0;
writeln('Вычислить сумму элементов массива');
writeln('Введите 10 элементов массива');
for i:=1 to 10 do
begin
write(i, элемент=);
readln(a[i]);
c:=c+a[i];
end;
writeln('Сумма элементов массива',c);
writeln('Для окончания работы нажмите Eenter);
readln;
end.
Пример 7.2. Вывод на экран номера и названия предметов учебного плана, хранящихся в массиве Pred
Program prog7_2;
uses winCrt;
var
Pred:аггау[1..5] of string[20];
i: integer;
begin
Pred[1] = 'Информатика';
Pred[2] = 'Управление качеством';
Pred[3] = 'Менеджмент';
Pred[4] = 'Экология';
Pred[5] = 'Английский язык';
for i:=1 to 5 do
Writeln( i:2, pred[i]);
end.
Пример 7.3. Присваивание значений элементов одного массива другому.
Одномерные массивы могут присваивать свое значение целиком, если их типы эквивалентны:
program prog7_3;
uses WinCrt;
var
a,b:array[1..7] of real;
i:byte;
begin
write (“ввод массива”)
for i:=1 to 7 do
begin
read(a[i]);
b:=a;
end;
for i:=1 to 7 do
write(b[i]);
end.
{Пример 7.4. Программа ввода символов с использованием функции EOLN.
Встроенная функция EOLN (End Of LiNe) проверяет есть ли введенные символы, и если есть, то возвращает true, если последний необработанный
Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.
Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.
Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.
Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.
Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.
Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.