Рефераты. Основы программирования на языке Паскаль

Пример:

TYPE klass = ( K1, K2, K3, K4);

znak = array [1. . . 255] of char;

Var m1: znak; {описан массив с именем M1 типа znak для хранения данных}

{типа char в количестве 255 шт. M1[1], M1[2], ... , M1[255]}

M2: array [1...60] of integer {прямое описание, описан массив с именем}

{M2 для хранения целых величин. всего }

{ячеек 60.M2[1], ... , M2[60] }

M3: array [1 ... 8] of klass; {описан массив М3, выделено 8 ячеек памяти М3[1], ... , M3[8],}

{в каждой из которых могут храниться только величины из}

{klass, т. е. туда могут быть занесены только K1, K2, K3, K4}

Пример:

Program Prim25;

Var i:integer; s:real;

a:array[1..10] of real;

BEGIN

for i:=1 to 10 do

Begin writeln('введите значение величины a[',i,']');

readln(a[i]); end; { ввод элементов массива }

s:=0;

for i:=1 to 10 do

s:=s+a[i]; { нахождение суммы элементов а [i] }

writeln('s=',s); readln;

END.

Здесь мы проиллюстрировали работу с одномерным массивом. Конечно, данную программу легче представить в следующем виде:

Program Prim25a;

Var i:integer; s,a:real;

BEGIN

s:=0;

for i:=1 to 10 do

begin writeln('введите значение величины a[',i,']');

readln(a); { ввод по одному а (без массива)}

{ имитация ввода элементов массива }

s:=s+a;

writeln('s=',s); end;

readln; END.

Никаких массивов здесь не применять. На примере prim25 мы четко проследим два момента: занесение данных в массив (первый цикл) и обработка данных в массиве (второй цикл).

Пример: дана квадратная матрица. Вывести на экран элементы ее главной диагонали (элементы главной диагонали перечеркнуты)

a11 a12 a13 a14

a21 a22 a23 a24

a31 a32 a33 a34

a41 a42 a43 a44

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

Program Prim26;

Var i,j,k:integer;

a:array[1..4,1..4] of integer;

b:array[1..4] of integer;

BEGIN

for i:=1 to 4 do

for j:=1 to 4 do

Begin writeln('введите a[',i,',',j,']');

readln(a[i,j]) end; {ввод элементов массива а закончен }

k:=1; { устанавливаем индекс для занесения b[1] }

for i:=1 to 4 do

for j:=1 to 4 do

if i=j then Begin b[k]:=a[i,j]; k:=k+1; end;

{отыскиваем и заносим в b[1] a[1,1]}

{меняем k и заносим в b[2] a[2,2] и т.д.}

writeln('на главной диагонали лежат злементы:');

writeln('a[1,1]=',b[1],' a[2,2]=',b[2],' a[3,3]=',b[3],' a[4,4]=',b[4]);

readln;

END.

В этой программе машина запросит ввод 16 элементов матрицы А, найдет элементы главной диагонали, занесет их в массив B и напечатает результат в следующем виде:

на главной диагонали лежат элементы:

A[1,1] = число A[2,2] = число A[3,3] = число A[4,4] = число

Program Prim26a; Var i,j,k:integer; a:array[1..4,1..4] of integer; b:array[1..4] of integer; BEGIN for i:=1 to 4 do

for j:=1 to 4 do

Begin writeln('ввести a[',i,',',j,']');

readln(a[i,j]); end; { ввести массив а }

{ вывести элементы массива а }

for i:=1 to 4 do Begin writeln; { перевести курсор на новую строку }

for j:=1 to 4 do

write(a[i,j],' '); { вывести элементы в одну строку }

end;

k:=1;

for i:=1 to 4 do

for j:=1 to 4 do

if i=j then Begin b[k]:=a[i,j]; k:=k+1; end;

{отыскиваем и заносим в b[1] a[1,1]}

{меняем k и заносим в b[2] a[2,2] и т.д.}

writeln(' на главной диагонали лежат элементы:');

writeln('a[1,1]=',b[1],' a[2,2]=',b[2],' a[3,3]=',b[3],' a[4,4]=',b[4]);

readln;

END.

Эта программа отличается от предыдущей тем, что она вначале вводит массив А, затем его распечатывает в виде

a11 a12 a13 a14

a21 a22 a23 a24

a31 a32 a33 a34

a41 a42 a43 a44

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

Program Prim26b;

Var i,j,k,n:integer;

a:array[1..40,1..40] of integer;

b:array[1..40] of integer;

BEGIN writeln('введите размерность массива');

readln(n);

for i:=1 to n do

for j:=1 to n do

Begin writeln('введите a[',i,',',j,']');

readln(a[i,j]); end;

{ вывести элементы массива а }

for i:=1 to n do

Begin writeln; {перевести курсор на новую строку}

for j:=1 to n do

write(a [i , j],' '); {вывести элементы в одну строку}

end;

k:=1;

for i:=1 to n do

for j:=1 to n do

if i=j then Begin b[k]:=a[i , j]; k:=k+1; end;

{отыскиваем и заносим в b[1] a[1,1]}

{меняем k и заносим в b[2] a[2,2] и т.д.}

writeln(' на главной диагонали лежат элементы:');

for k:=1 to n do

write(' a[',k,',',k,']=',b[k]);

readln;

END.

Эта программа работает так же, как и предыдущая, но с массивами и с переменными измерениями.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.