Паскаль. паскаль. Основы алгоритмизации и программирования на языке pascal
Скачать 2.09 Mb.
|
Массивы. Типы пользователяМассив — это фиксированное количество значений одного типа. Массив объявляется в разделе Var: A = 0 0 7 9 4 3 2 1 A[i] := значение; A[2] := 7; Структура одномерного массива: Доступ к массиву осуществляется через индекс: <Имя массива> [ <Индекс> ] 44 43 42 41 34 33 32 31 24 23 22 21 14 13 12 11 Индекс строки i Индекс столбца j Значение Индекс Переменная массива (имя массива) Структура двумерного массива: {Имя} : Array [ {нач_зн} .. {кон_зн} ] of {тип} ; Одномерныe массивыПримеры объявления массивов: Var A : Array [1..4] of String; B : Array [0..662] of Real; С : Array [1..10] of Integer; Примеры заполнения массивов значениями: A[1]:=‘Вася’; A[2]:=‘Петя’; A[3]:=‘Маша’; A[4]:=‘Олеся’; Write (A[3]); For f:=1 to 10 do C[f] := f*2; For f:=1 to 10 do WriteLn ( C[f] ); Многомерные массивы{Имя} : Array [ {нач_зн} .. {кон_зн} , {нач_зн} .. {кон_зн} , {и т.д.} ] of {тип} ; Пример объявления двухмерного массива (матрицы, таблицы) на 4 строки и 6 столбцов: Var A : Array [1..4,1..6] of Integer; Пример заполнения массива: For i:=1 to 4 do For j:=1 to 6 do A[i,j] := i+j; Список интервалов для каждой размерности массива. Организация ввода вывода данных в массивахВвод с клавиатуры For i:=1 To N Do Read(A[i]) Ввод случайным образом For i:=1 To n Do A[i]:=Random(m); Ввод и вывод в одномерных массивах: Ввод по формуле For i:=1 To n Do A[i]:=Sin(i); Вывод на экран: For i:=1 To N Do Write(A[i]:3); Ввод и вывод в многомерных массивах: Ввод с клавиатуры For i:=1 To n Do For j:=1 To n Do Read(A[i,j]); Вывод на экран For i:=1 To n Do Begin
Write (A[i,j]); WriteLn; End; Стандартные алгоритмы над элементами массиваНакопление_суммы__s:=0;__For_i:=1_To_n_Do___s:=s+a[i];____p:=1;__For_i:=1_To_n_Do___p:=p*a[i];'>Накопление суммы s:=0; For i:=1 To n Do s:=s+a[i]; p:=1; For i:=1 To n Do p:=p*a[i]; Нахождение min (max) элемента и его порядковый номер min:=a[i]; For i:=2 To n Do if min>a[i] Then Begin min:=a[i]; minn:=i; End; Перестановка элементов n:=a[i]; a[i]:=a[i+1]; a[i+1]:=n; Удаление элемента x-номер удаляемого элемента For i:=1 To n Do If (i<>x) Then Writeln(a[i]:3); или FOR I:=x To n-1 Do a[i]:=a[i+1]; Сортировка элементов For i:=1 To n-1 Do If a[i+1] Begin stek:=a[i]; a[i]:=a[i+1]; a[i+1]:=stek; i:=0; End; Учитывай ранг Сдвиги меняют ранг. Возврат на начало массива Накопление произведения |