ОПРЕДЕЛЕНИЕ ЧИСЛА ЭЛЕМЕНТОВ МАССИВА ПО УСЛОВИЮ



 

ПОСТАНОВКА ЗАДАЧИ:

Заполнить массив и вывести его на экран.

Ввести с клавиатуры условие.

Подсчитать количество элементов удовлетворяющих условию.

 

Program KolUsl; uses crt;

const m=1;   { min индекс }

n=10;  { max индекс }

var i, k, usl: integer;

         a: array[m..n] of integer;

... { процедуры Input и Print см. занятие 32 }

procedure Kol_po_Usl;

Begin

write('Введите ограничение :'); readln(usl);

k:=0;

for i:=m to n do if a[i]>usl then k:=k+1

write('Кoличество элементов больших ',usl, ' равно ', k);

end;

Begin

ClrScr;

Input;

ClrScr;

Print;

writeln; writeln;

Kol_po_Usl;

Readkey;

End.

 

З А Д А Н И Я:

 

 

5.1. Изменить условие подсчета элементов.

 

5.2. Подсчитать сумму элементов по условию.

 

ПРАКТИЧЕСКОЕ ЗАДАНИЕ № 6

 

#4. ОБРАБОТКА ОДНОМЕРНЫХ ЧИСЛОВЫХ МАССИВОВ

СУММА ДВУХ ОДИНАКОВЫХ ПО РАЗМЕРУ МАССИВОВ

 

В языке Pascal программист может описывать свои собственные типы и объекты, относящиеся к этому типу. Тип массив относится к структурированным типам.

Описание типа помещают в раздел определения типов после раздела описания констант и до раздела описания переменных (var).

 

Например: TYPE massiv=array[1..100] of integer;

var a, b, c: massiv;

Описание типа позволяет применить формальный параметр типа massiv.

 

ПОСТАНОВКА ЗАДАЧИ:

Заполнить и вывести на экран два одинаковых по размеру массива: А и B.

Найти массив C ,каждый элемент которого равен сумме

соответствующих элементов массивов А и В:       C[i]=A[i]+B[i].

Program Summa_Mass; uses crt;

Type mas= array[1..100] of integer;

var a, b, c: mas;

     I, n: integer;

procedure Input(var x: mas);

Begin

for i:=1 to n do begin write('Элемент [',i,']='); readln(x[i]); end

end;

procedure Print(x: mas); begin for i:=1 to n do write(' ',x[i]); end;

  procedure SumMass; begin for i:=1 to n do c[i]:=a[i]+b[i]; end;

Begin

ClrScr; n:=20;

writeln('Ввoд массива А:); Input(a);

writeln('Ввод массива В:); Input(b);

ClrScr;

write(' A: '); Print(a);

write(' B: '); Print(b);

SumMass;

write(' C: '); Print(c);

readkey;

End.

З А Д А Н И Я:

 

6.1. Набрать и исполнить программу.

 

6.2. Найти сумму элементов, стоящих на четных местах в массиве С.

 

6.3. Найти сумму четных элементов в массиве С.

 

 

ПРАКТИЧЕСКОЕ ЗАДАНИЕ № 7

 

#5. ОБРАБОТКА ОДНОМЕРНЫХ МАССИВОВ

ОБЪЕДИНЕНИЕ ДВУХ МАССИВОВ С ЧЕРЕДОВАНИЕМ ЭЛЕМЕНТОВ

 

ПОСТАНОВКА ЗАДАЧИ:

 Объединить два массива A и B ,содержащих по N элементов в один массив c, который будет содержать 2*N элементов, т.е. получить массив C=(а1,b1,a2,b2,..,an,bn).

 

Program Ob_Mass; uses crt;

type massiv=array[1..20] of integer;

var a,b,c: massiv;

     I, n: integer;

procedure Input(var x: massiv; n: integer);

Begin

for i:=1 to n do

Begin

   write('Элемент [',i,']='); readln(x[i]);

End

  end;

procedure Print(x: massiv; n: integer);

...

procedure Ob(n: integer);

Begin

for i:=1 to n do

Begin

   c[2*i-1]:=a[i];

   c[2*i]:=b[i]

End

end;

 

Begin

ClrScr; n:=10;

Input(a,n); writeln;

Input(b,n);

ClrScr;

write('Массив А: '); Print(a, n); writeln;

write('Массив B: '); Print(b, n); writeln;

Ob(n);

write('Массив C: '); Print(c, 2*n);

readkey;

End.

З А Д А Н И Я:

 

7.1. Набрать и исполнить программу.

 

7.2. Изменить количество элементов в массивов.

 

7.3. Объединить массивы так, чтобы элементы одного массива следовали

за элементами другого: c=(а1,а2,а3,..,аn,b1,b2,b3,..,bn).

 

 

ПРАКТИЧЕСКОЕ ЗАДАНИЕ № 8

 

#6. ОБРАБОТКА ОДНОМЕРНЫХ МАССИВОВ

И Н В Е Р Т И Р О В А Н И Е МАССИВА

ПОСТАНОВКА ЗАДАЧИ:

 Требуется изменить порядок следования элементов массива C, состоящего из n элементов, на обратный, используя вспомогательную переменную p.

Исходный массив C: 1 2 3 4 5

Конечный массив C: 5 4 3 2 1

Перестановка производится по одному элементу через промежуточную переменную:

1) 1-ый элемент передается в ячейку p;

2) последний элемент ставится на место 1-го;

3) элемент из ячейки p ставится на последнее место.

Количество таких перестановок равно trunc(n/2) или (n div 2) – деление нацело.

 

Program Inwert; uses crt;

{ описание переменных и массива }

{ описание процедуры ввода массива }

{ описание процедуры вывода массива }

procedure Inw;

var m: integer; p: real;

Begin

m:=trunc(n/2);             { определение числа циклов }

for i:=1 to m do

Begin

   p:=c[i];                      { перестановка i элемента в p }

   c[i]:=c[n-i+1];           { перестановка на i место элемента n-i+1 }

   c[n-i+1]:=p;              { перестановка элемента из p нa n-i+1 место }

End

end;

Begin

ClrScr; n:=20;

Input;

ClrScr;

Print; writeln;

Inw;

Print; writeln;

Inw;

Print; writeln;

Readkey;

End.

З А Д А Н И Я:

 

8.1. Набрать и исполнить программу.

 

8.2. Увеличить число элементов.

 

8.3. Произвести инвертирование с сохранением исходного массива.

Подсказка: используйте новый массив.

 

ПРАКТИЧЕСКОЕ ЗАДАНИЕ № 9

 

#7. ОБРАБОТКА ОДНОМЕРНЫХ МАССИВОВ


Дата добавления: 2018-04-15; просмотров: 616; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!