Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка_ГОС_2.doc
Скачиваний:
1
Добавлен:
26.08.2019
Размер:
1.88 Mб
Скачать

2. Сформировать двухмерный массив, состоящий из n X n элементов.

После чего: найти сумму элементов столбца, в котором расположен минимальный элемент матрицы.

Ответ

program prim2;

uses crt;

const n=13;

var a:array[1..n,1..n] of integer; {объявляем двухмерный массив}

s,min:integer;

i,k,j:byte;

begin

clrscr;

writeln('Элементы матрицы ->');

randomize; {инициализация процедуры генерации случайных чисел}

for i:=1 to n do

begin

for j:=1 to n do

begin

a[i,j]:=random(100) {заполняем массив случайными

числами в диапазоне от 0 до 100};

write(a[i,j],'':5);

end;

writeln;

end;

min:=a[1,1];

for i:=1 to n do

for j:=1 to n do

if min>a[i,j] then

begin

min:=a[i,j];

k:=j;

end;

for i:=1 to n do

s:=s+a[i,k];

writeln('Сумма элементов столбца ',k,' в котором расположен Min=',min,' равна->',s);

readkey

end.

3. Задан двумерный массив A (NxN). Найти, сколько отрицательных эллементов массива А=a[i,j] удовлетворяют условию: -110<=a[i,j]<=-1. Из этих элементов сформировать новый массив В.

Ответ

program prim3;

uses crt;

const n=5;m=10;

var a:array[1..n,1..n] of integer; {объявляем двухмерный массив}

b:array[1..m] of integer; {объявляем одномерный массив} r,i,j:integer;

begin

clrscr;

writeln('Элементы матрицы ->');

randomize; {инициализация процедуры генерации случайных чисел}

for i:=1 to n do

begin

for j:=1 to n do

begin

a[i,j]:=random(200+200)-200; {заполняем массив случайными

числами в диапазоне от -200 до 200}

write(a[i,j]:5,' ');

end;

writeln;

end;

r:=0;

for i:=1 to n do

begin

for j:=1 to n do

begin

if a[I,j]<0 then

if (a[I,j]>=-110)and(a[I,j]<=-1)then {проверяем условие}

begin

r:=r+1; b[i]:=a[i,j]; write(b[i]:3,',');

end;

end;

end;

writeln;

writeln('условию удовлетворяют ',r,' элемента массива' );

readln

end.

4. Известно, что в текст т входит восклицательный знак. Подсчитать в последовательности символов, предшествующих восклицательному знаку количество пробелов.

Ответ

Program prim4;

var t: string;

I: byte; {счетчик цикла}

c: byte; {количество пробелов}

Begin

write('введите текст:');

readln(t);

I:=1; c:=0;

while t[i]<>'!' do

Begin

if t[i]=' ' then

inc(c); inc(i); {увеличение на 1}

end;

writeln('количество пробелов равно',с)

end.

5. Задан текст s. Сколько раз в тексте встречается заданное слово (слова разделены пробелами).

Ответ

Program prim5;

var

t: string ; {текст}

s: string ; {слово}

c: string ; {вспомогательный текст}

I: byte;

d: byte; {число раз слово в тексте}

Begin

d:=0;

write('введите текст:');

readln(t);

t:=' '+t+' ';

write('введите заданное слово');

readln(s);

s:=' '+s+' ';

for I:=1 to length(t)-length(s)+1 do

begin

c:=copy(t,I,length(s));

if c=s then inc(d);

end;

writeln(d)

end.

6. Сколько раз в тексте встречается заданное слово . Слова разделены пробелами или знаками препинания и т.П.

Ответ

Program prim6;

var t: string; {текст}

s: string; {слово}

c: string; {вспомогательный текст}

I: byte; {для цикла}

d: byte; {число раз}

Begin

d:=0; write('введите текст:');

readln(t);

t:=' '+t+' ';

write('введите слово');

readln(s);

for i:=1 to length(t)-length(s)+1 do

begin

c:=copy(t,I,length(s));

if c=s then

if t[I-1]<chr(65) then {проверка, знаки препинания, пробел или другой символ}

if t[I+ length(s)]<chr(65) then inc(d);

end;

writeln(d)

end.