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

Var I, s, count : 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;

For i:=1 To n Do

Write(Vector[i]:5);

WriteLn;

count:= 0;

s:= 0; начальная сумма равна нулю!

For i:=1 To n Do

If (Vector[i] >= min) And (Vector[i] <= max) проверка условия

Then

Begin

s:= s + Vector[i];

count:= count + 1;

End;

WriteLn(‘s=’, s);

WriteLn(‘count=’, count);

ReadLn;

End.

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

Перед началом поиска максимального и минимального элементов за таковые принимается первыйэлемент вектора. Для обмена местами этих элементов необходимо определить их номера (индексы)i_minи i_max:

Program Primer_8;

Uses WinCrt;

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

vect_min = -50;

vect_max = 50;

Var I, k, min, max, i_min, i_max : 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;

min:= Vector[1]; начальные значения минимального

max:= Vector[1]; и максимального элементов массива

i_min:= 1; индексы этих элементов

i_max:= 1;

For i:=2 To n Do начинаем просмотр со второго элемента

Begin

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

Begin меньше минимального,

min:= Vector[i]; то за минимальный принимаем

i_min:= i; этот очередной элемент

End; и запоминаем его индекс

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

Begin больше максимального,

max:= Vector[i]; то за максимальный принимаем

i_max:= i; этот очередной элемент

End; и запоминаем его индекс

End;

WriteLn;

WriteLn(‘Минимальный элемент=’, Vector[i_min]);

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

WriteLn(‘Максимальный элемент=’, Vector[i_max]);

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

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

Vector[i_min]:= Vector[i_max]; третью переменную

Vector[i_max]:= k;

WriteLn;

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

For i:=1 To n Do

Write(Vector[i]:5);

WriteLn;

ReadLn;

End.

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

Обозначим их индексы как i_otrи i_pol. Перед началом поиска сбросим их на ноль. Если после поиска какой-нибудь из них останется равным нулю, то в векторе – элементы одного знака:

Program Primer_9;

Uses WinCrt;

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

vect_min = -50;

vect_max = 50;