- •Министерство образования Российской Федерации
- •К.Ю. Круценюк Информатика
- •Часть I Норильск 2002
- •Введение
- •Задание к работе
- •Пример выполнения работы Задание 1
- •Задание 2
- •Контрольные вопросы
- •Задание к работе
- •Пример выполнения работы Задание 1
- •Задание 2
- •Контрольные вопросы
- •Задание к работе
- •Пример выполнения работы Задание 1
- •Задание 2
- •Контрольные вопросы
- •Задание к работе
- •Пример выполнения работы
- •Лабораторная работа №5 «Обработка одномерных массивов»
- •Задание к работе
- •Пример выполнения работы
- •Контрольные вопросы
- •Задание к работе
- •Пример выполнения работы Задание 1
- •Задание 2
- •Контрольные вопросы
- •Лабораторная работа №7 «Обработка матриц»
- •Задание к работе
- •Пример выполнения работы
- •Контрольные вопросы
- •Лабораторная работа №8 «Программирование с использованием подпрограмм пользователя»
- •Задание к работе
- •Пример выполнения работы Задание 1
- •Задание 2
- •Контрольные вопросы
- •Список использованных источников
- •Содержание
Пример выполнения работы Задание 1
Условие: Используя подпрограмму-процедуру, расположить в порядке возрастания элементы массивов А(10) и В(12).
Программа:
{Лабораторная работа №8. Задание №1}
{Программирование с использованием подпрограмм} {пользователя}
{Выполнена Ф.И.О.}
{Группа }
program massiv;
uses crt;
type mas=array[1..20] of integer;
var a,b:mas;
i,n:integer;
procedure vvod(n:integer;var c:mas);
begin
writeln('Сформированный массив');
for i:=1 to n do
begin
c[i]:=random(11);
write(c[i]:2,'':2);
end;
writeln;
end;
procedure vozrast(n:integer;var c:mas);
var v,k:integer;
begin
for i:=1 to n-1 do
for k:=i+1 to n do
if c[i]>c[k] then
begin
v:=c[i];
c[i]:=c[k];
c[k]:=v;
end;
writeln('Изменнёный массив');
for i:=1 to n do
write(c[i]:2,'':2);
writeln;
end;
{-----------------основная программа----------------}
begin
clrscr;
writeln('Введите число элементов массива A');
read(n);
vvod(n,a);
vozrast(n,a);
writeln;
writeln('Введите число элементов массива B');
read(n);
vvod(n,b);
vozrast(n,b);
end.
Результат выполнения программы:
Введите число элементов массива A
10
Сформированный массив
0 10 10 10 0 6 7 10 8 0
Изменнёный массив
0 0 0 6 7 8 10 10 10 10
Введите число элементов массива B
20
Сформированный массив
6 8 4 7 9 4 0 10 3 7 6 4 6 10 9 0 5 5 2 4
Изменнёный массив
0 0 2 3 4 4 4 4 5 5 6 6 6 7 7 8 9 9 10 10
Условие: Используя подпрограмму-процедуру, вычислить сумму элементов, расположенных под главной диагональю двух матриц А и В.
Программа:
{Лабораторная работа №8. Задание №1}
{Программирование с использованием подпрограмм} {пользователя}
{Выполнена Ф.И.О.}
{Группа }
program matriza;
uses crt;
type matr=array[1..10,1..10] of integer;
var a,b:matr;
n:integer;
procedure wwod(n:integer; var c:matr);
var i,j:integer;
begin
for i:=1 to n do
for j:=1 to n do
c[i,j]:=random(21);
end;
procedure wuwod(n:integer; var c:matr);
var i,j:integer;
begin
writeln(' Матрица');
writeln;
for i:=1 to n do
begin
for j:=1 to n do
write(' ',c[i,j]:3);
writeln;
end;
writeln;
end;
procedure summa(n:integer; var c:matr);
var s:integer;
i,j:integer;
begin
s:=0;
for i:=1 to n do
for j:=1 to n do
if j<i then s:=s+c[i,j];
writeln('Сумма элементов, расположенных под главной диагональю = ',s:3);
writeln;
end;
{--------------основная программа----------------------}
begin
clrscr;
randomize;
writeln(' Введите размерность матрицы A');
readln(n);
wwod(n,a);
wuwod(n,a);
summa(n,a);
writeln(' Введите размерность матрицы B');
readln(n);
wwod(n,b);
wuwod(n,b);
summa(n,b);
end.
Результат выполнения программы:
Введите размерность матрицы A
3
Матрица
0 19 2
4 15 1
11 19 14
Сумма элементов, расположенных под главной диагональю = 34
Введите размерность матрицы B
4
Матрица
8 19 15 4
2 8 6 13
3 11 7 5
9 13 20 10
Сумма элементов, расположенных под главной диагональю = 58
