Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практика.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
2.23 Mб
Скачать
  1. Составить программу упорядочивания последовательности 3 данных чисел X,y,z по убыванию с использованием подпрограммы-процедуры упорядочивания.

program prac4;

var x,y,z:integer;

procedure sort;

var arr:array[1..3] of integer;

i,t:integer;

begin

arr[1]:=x;

arr[2]:=y;

arr[3]:=z;

t:=1;

for i:=2 to 3 do if arr[t]<arr[i] then t:=i;

i:=arr[1];

arr[1]:=arr[t];

arr[t]:=i;

if arr[3]>arr[2] then

begin

t:=arr[3];

arr[3]:=arr[2];

arr[2]:=t;

end;

x:=arr[1];

y:=arr[2];

z:=arr[3];

end;

begin

readln(x,y,z);

sort;

writeln(x,y,z);

readln;

end.

Вопросы к лабораторной работе №8

  1. Что такое подпрограмма? Для чего используются подпрограммы?

  2. В чём отличие между подпрограммами-процедурами и подпрограммами-функциями?

  3. Что лежит в основе метода программирования сверху вниз?

  4. Каким образом осуществляется обмен данными между основной программой и подпрограммой?

  5. Какие параметры подпрограммы называются формальными, а какие – фактическими?

  6. Какие два способа передачи параметров вы знаете? В чём их отличие?

  7. Что такое область видимости переменной? Какие переменные называются локальными, а какие - глобальными?

Занятие №10: Описание и использование одномерных массивов. Решение задач на обработку одномерных массивов.

1 . В одномерном массиве х, состоящем из n целых элементов, вычислить: a) количество элементов, удовлетворяющих условию ; b) сумму элементов, кратных 3.

program prac1;

const N=10;

var X:array[1..N] of byte;

i,c,s:integer;

begin

randomize;

for i:=1 to N do

begin

X[i]:=random(10);

write(X[i],' ');

end;

writeln;

for i:=1 to N do

begin

if X[i]<=6 then c:=c+1;

if X[i] mod 3 = 0 then s:=s+X[i];

end;

writeln(c,' ',s);

r eadln;

end.

2. Д ана прямокутна матриця розміру m×n. Скласти програму, яка знаходить стовпці з найбільшою і найменшою сумою елементів. Вивести знайдені стовпці і суми їх елементів.

program prac2;

const N=10;const M=N;

var matrix:array[1..N,1..M] of byte;

smax,i,j,smin,cmin,cmax,s:integer;

begin

cmin:=1;cmax:=1;

smax:=0;smin:=0;

randomize;

for j:=1 to N do

begin

for i:=1 to M do

begin

matrix[i,j]:=random(10);

write(matrix[i,j],' ');

end;

writeln;

end;

for i:= 1 to M do

smax:=smax+matrix[i,1];

smin:=smax;

for j:=2 to N do

begin

s:=0;

for i:=1 to M do

s:=s+matrix[j,i];

if s>smax then

begin

smax:=s;cmax:=j;

end

else if s<smin then

begin

smin:=s;cmin:=j;

end;

end;

for i:=1 to M do

write(matrix[cmax ,i]);

writeln;

for i:=1 to M do

write(matrix[cmin ,i]);

writeln;

writeln(smax);

writeln(smin);

readln;

end.

3. Заданы два одномерных массива а и в размерности n. Составить программу, проверяющую, можно ли, меняя местами элементы одномерного массива а, получить одномерный массив в.

program prac3;

const N=10;

var A,B:array[1..N] of integer;

var temp,i,j:integer;

label z;

begin

for i:=1 to N do

begin

writeln('A',i);

readln(A[i]);

writeln('B',i);

readln(b[i]);

end;

for i:=1 to N do

begin

j:=i;

while j<N do

begin

inc(j);

if A[j]=B[i] then

begin

temp:=A[i];

A[i]:=A[j];

A[j]:=temp;

break;

end;

end;

if B[i] <> A[i] then

begin

writeln('mnojestva elementov massivov ne identichni');

GoTo z;

end;

end;

writeln('mnojestva elementov massivov identichni');

z:

readln;

end.

Контрольные вопросы:

  1. Дайте определение массива.

Массив – ряд нумерованных переменных одного типа.

  1. В каком разделе (разделах) программы допустимо описание данных типа массив?

В разделе описания.

  1. Какие типы данных недопустимы для компонентов массива? Какие допустимы?

В качестве элементов массива можно использовать любой тип данных, поэтому вполне правомерно существование массивов записей, массивов указателей, массивов строк, массивов и т.д.

  1. Дайте определение индекса. Какие типы данных можно использовать при описании индекса?

Индекс – идентификатор переменной в массиве.При его описании можно использовать перечисляемые типы(целочисленные и char).

  1. Какой массив называется одномерным? Двумерным? N-мерным?

Одномерный – линейный массив.

Двумерным называется массив, элемент которого зависит от его местоположения в строке и в столбце.

N-мерным называется массив, в котором каждая группа элементов, кроме первой в иерархии, состоит из дочерних групп, и в свою очередь является дочерней группой группы, которая выше в иерархии.А всего в иерархии N уровней.

  1. Как располагаются в памяти элементы одномерного массива? Двумерного массива?

Элементы одномерного массива располагаются в памяти линейно.Элементы двумерного – сгруппированно.Первый индекс – индекс группы, второй – индекс элемента.

  1. Какие алгоритмы поиска в массиве Вам известны? Опишите один из них.

Поиск перебором, двоичный поиск.