
- •Алгоритмизация и программирование.
- •Структура программы на языке Паскаль
- •Типы данных языка программирования Паскаль
- •Стандартные математические функции Турбо Паскаля
- •Пустой оператор
- •Программирование линейных алгоритмов
- •Программирование алгоритмов разветвляющейся структуры
- •Программирование алгоритмов циклической структуры
- •Подпрограммы яп Pascal (процедуры и функции)
- •Работа с массивами
- •Пермский филиал мгуту. 2006 г.
Работа с массивами
Как правило, данные для вычислений на компьютере задаются в упорядоченной форме – в виде последовательности ряда (вектора) чисел или в виде таблицы (матрицы) чисел. Такие совокупности данных называются массивами. Построение программ, оперирующих с элементами массивов – важнейшая часть техники программирования.
Например, вектор
А
длиной К
чисел и матрица В из N
строк и М столбцов (всего из
элементов)
выглядят следующим образом.
Цифры при имени
массива указывающие порядковый номер
элемента, называются индексами. Элементы
массивов
и
обозначаются как A[i]
и B[i,j].
Обработка массива обычно означает
последовательную обработку отдельных
его элементов.
Описание типов данных. Тип переменной определяет множество значений, которые она может принимать, и операции, которые могут быть над ней выполнены. С каждой встречающейся в программе переменной может быть связан только один тип данных, но в языке есть возможность для конструирования своих типов данных. Однако, любой сверхсложный тип данных, который создан в программе, сводится (или строится) к простым типам.
Описание типов данных имеет следующий вид:
Type <имя типа> = <тип данных>;
После этого в разделе описаний переменных есть возможность ссылаться на введенный тип данных, так как он имеет имя.
Var <имя переменной> : <имя типа>;
Рассмотрим следующий пример.
Program My;
Const n=30;
Type MyArray=Array[1..n] of Integer;
Var a: MyArray;
s , i: Integer;
begin
Writeln(‘введите ’, n , ‘чисел’);
For i:=1 To n Do readln (A[i]);
s:=0;
for i:=1 To n Do s:= s+A[i];
Writeln(‘их сумма равна ’, s);
Readln;
End.
В данном примере в разделе типов описан одномерный массив (вектор), его имя MyArray, то есть имя нового типа данных. В квадратных скобках указывается номер первого элемента, затем, после двух точек, номер последнего элемента массива – [1..n]. Данная программа считает сумму всего массива, состоящего из 30 элементов. Использование массива, в данном случае, позволяет избежать описания 30 переменных.
Двумерный массив на языке Турбо Паскаль определяется по разному. Примеры:
Const MaxN = …; MaxM=…; {Максимальное значения количества строк и столбцов двумерного массива}
Type OMyArray= Array[1.. MaxM ] of Integer; {одномерный массив из целых чисел}
TMyArray=Array[1..MaxN ] of OMyArray; {Одномерный массив, элементами которого являются одномерные массивы из целых чисел}
Или
Type TMyArray=Array[1.. MaxN , 1.. MaxM] of Integer; {двумерный массив из целых чисел}
Предпочтение отдается второму варианту.
Формирование значений элементов массива путем ввода их с клавиатуры – достаточно утомительное занятие. Для этих целей нужно использовать генератор случайных чисел –функция Random.
Функция Random.
Описание: Random[(range: Word)]. В квадратных скобках указывается необязательный параметр. Тип результата Real или Word в зависимости от наличия параметра. Еси параметр не задан, то результатом является число типа Real в диапазоне 0≤x<1. При наличии параметра возвращается число типа Word в диапазоне 0≤x<range. Верхняя граница диапазона не достигается – строгое неравенство. При многократном запуске программы последовательности чисел будут одинаковы. При подключении процедуры Randomize последовательности чисел будут меняться от запуска к запуску.
Составила: Башкирцева А.Л.
________________________________________________________________________