Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по Паскалю.doc
Скачиваний:
61
Добавлен:
04.06.2015
Размер:
7.62 Mб
Скачать

Var I, k, i_otr, i_pol : Integer;

Vector : Array [1..N] Of Integer;

Begin

ClrScr;

Randomize;

For i:=1 To n Do

Vector[i]:=Random(vect_max – vect_min + 1) + vect_min;

WriteLn(‘Исходный вектор:’);

For i:=1 To n Do

Write(Vector[i]:5);

WriteLn;

i_otr:= 0;

i_pol:= 0;

For i:=1 To n Do

If (Vector[i] < 0) Then если очередной элемент вектора

Begin меньше нуля,

i_otr:= i; то запоминаем его индекс

Break; и выходим из цикла

End;

For i:=1 To n Do

If (Vector[i] > 0) если очередной элемент вектора

Then i_pol:= i; больше нуля, то запоминаем его индекс

If (i_otr = 0)

Then WriteLn(‘В векторе только положительные элементы’);

If (i_pol = 0)

Then WriteLn(‘В векторе только отрицательные элементы’);

If (i_otr > 0) And (i_pol > 0) Then

Begin

WriteLn;

WriteLn(‘Первый отрицательный элемент=’, Vector[i_otr]);

WriteLn(‘Его индекс=’, i_otr);

WriteLn(‘Последний положительный элемент=’, Vector[i_pol]);

WriteLn(‘Его индекс=’, i_pol);

k:= Vector[i_otr]; меняем их местами через

Vector[i_otr]:= Vector[i_pol]; третью переменную

Vector[i_pol]:= k;

WriteLn;

WriteLn(‘Полученный вектор:’);

For i:=1 To n Do

Write(Vector[i]:5);

WriteLn;

End;

ReadLn;

End.

10.Задать элементы целочисленного вектораvectornслучайными числами, лежащими в диапазоне отvect_minдоvect_max. Вывести полученный вектор на экран. Сдвинуть элементы вектора вправо на один шаг, причем последний элемент должен встать на первое место.

Для решения этой задачи запомним последний элемент вектора на переменной posl, сдвинем все элементы на шаг вправо, начиная с предпоследнего, а затем значение переменнойposl поместим в первый элемент массива:

Program Primer_10;

Uses WinCrt;

Const n = 10; задание исходных данных

vect_min = -50;

vect_max = 50;

Var I, k, posl : Integer;

Vector : Array [1..N] Of Integer;

Begin

ClrScr;

Randomize;

For i:=1 To n Do

Vector[i]:=Random(vect_max – vect_min + 1) + vect_min;

WriteLn(‘Исходный вектор:’);

For i:=1 To n Do

Write(Vector[i]:5);

WriteLn;

posl:= Vector[n]; запоминаем последний элемент вектора

For i:= n DownTo 2 Do

Begin

k:= Vector[i]; сдвигаем элементы вектора

Vector[i]:= Vector[i-1]; на один шаг вправо

Vector[i-1]:= k;

End;

Vector[1]:= posl; вставляем последний элемент

на первое место

WriteLn;

WriteLn(‘Полученный вектор:’);

For i:=1 To n Do

Write(Vector[i]:5);

WriteLn;

ReadLn;

End.

11.Задать элементы целочисленного вектораvectorkслучайными числами, лежащими в диапазоне отvect_minдоvect_max. Вывести полученный вектор на экран. Разместить элементы вектора в массивеmassivnmпострочно (n*m = k):

Program Primer_11;

Uses WinCrt;

Const k = 12; задание исходных данных в виде именованных констант

vect_min = -50;

vect_max = 50;

n = 3;

m = 4;