Массивы в языках Pascal и Basic — страница 4

  • Просмотров 3176
  • Скачиваний 205
  • Размер файла 13
    Кб

называется матрица, в которой количество строк равно количеству столбцов.   Описание матрицы на языке Паскаль Матрицу можно задать двумя способами:   I. <имя матрицы>: array <количество строк> of array <количество столбцов> of <тип переменной>;   II. <имя матрицы>: array <количество строк >,<количество столб- цов> оf <тип переменной>].   Соотношение индексов в квадратной матрице I=J элементы матрицы расположены на

главной диагонали I<J элементы матрицы расположены над главной диагональю I>J элементы матрицы расположены под главной диагональю I+J=N+I элементы матрицы расположены на побочной диагонали (N - количество строк или столбцов в квадратной матрице) I+J<N+I элементы матрицы расположены над побочной диагональю I+J>N+I элементы матрицы расположены под побочной диагональю.   Ниже приведены примеры задач с массивами на языке Turbo Pascal.

  Пример 1. Ввод значений элементов массива с помощью генератора случайных чисел и вывод их в строчку.   Примечание: Для использования случайных чисел в TP используются операторы random:real - генерирует случайные числа в диапазоне 0...0.99. random(i:word):word - генерирует случайные числа в диапазоне 0...1. randomize - изменение базы генератора случайных чисел.   program mas1; var a: array [1..10] of integer; i: integer; begin randomize; for i:=1 to 10 do begin a[i]:=random(20); write('a(', i, ')=', a[i], ' ') end;

readln end.   Пример 2. Составить программу заполнения одномерного массива, так чтобы его i-ый элемент был равен a[i]=(i*i+1)/sin(i).   program mas2; var a: array [1..10] of real; i: integer; begin for i:=1 to 10 do begin a[i]:=(i*i+1)/sin(i); writeln('a(', i, ')=', a[i], ' '); end; readln end.   Пример 3. Составить программу определения количества элементов одномерного массива, значение элементов которых меньше заданного действительного числа t.   program mas3; var a: array [1..10] of real; i,k: integer; t:real; begin write('Введите число

t='); read(t); k:=0; for i:=1 to 10 do begin write('Введите значение элемента a(', i, ') = '); readln(a[i]); if a[i]<t then k:=k+1 end; writeln('Ответ: Количество элементов, меньших заданного числа t,'); writeln('равно k=',k); readln end.   Пример 4. Нахождение среди значений элементов, находящихся на главной диагонали матрицы, наибольшего и наименьшего.   program mas4; var a: array[1..10,1..10] of integer; i,j,max,min: integer; begin for i:=1 to 10 do for j:=1 to 10 do begin write('Введите значение элемента матрицы = '); readln(a[i,j]) end; max:=a[1,1]; min:=a[1,1]; for

i:=1 to 10 do begin if a[i,i]>max then max:=a[i,i]; if a[i,i]<min then min:=a[i,i] end; writeln('Наибольшее значение = ', max); writeln('Наименьшее значение = ', min); readln end.   Пример 5. Сортировка массива по возрастанию.   program SortingMax; var i,j:integer; r,q:real; x:array [1..20] of real; begin writeln('Ведите массив, cостоящий из 20 чисел:'); for i:=1 to 20 do read(x[i]); for i:=1 to 19 do for j:=i+1 to 20 do if x[i]>=x[j] then begin r:=x[i]; x[i]:=x[j]; x[j]:=r end; writeln('Сортировка массива по возрастанию произведена:'); for i:=1 to 20 do writeln(x[i]); writeln('Для выхода введите любое