- •Оглавление
- •Предисловие
- •Введение
- •1. Разветвляющиеся вычислительные процессы
- •If логическое_выражение then оператор1 еlse оператор2;
- •If логическое_выражение then оператор1;
- •Пример 1. Вычислить значение функции y(X)
- •Программа
- •Программа
- •2. Циклические вычислительные процессы
- •2.1. Циклы с заданным числом повторений
- •2.1.1. Вычисление массива значений функции
- •2.1.2. Обработка одномерных массивов
- •2.1.2.1. Поиск наименьшего (наибольшего) элемента массива
- •2.1.2.2. Вычисление суммы и количества элементов массива
- •2.1.2.3. Вычисление произведения элементов массива
- •2.1.2.4. Поиск элементов массива по заданному критерию
- •2.2. Циклы с неизвестным числом повторений
- •2.2.1. Табулирование функции
- •2.2.2 Итерационные вычислительные процессы
- •2.2.3. Вычисление суммы членов бесконечного ряда
- •2.3. Сложные циклы
- •2.3.1. Пример алгоритма, содержащего вложенный цикл
- •Программа
- •2.3.2. Обработка двумерных массивов (матриц)
- •2.3.2.1. Вычисление суммы и количества элементов массива
- •2.3.2.2. Поиск элементов массива по заданному критерию
- •3. Работа с текстовыми файлами
- •Программа
- •4. Функции в языке Pascal
- •5. Процедуры в языке Pascal
- •Программа
- •Программа
- •Исходные данные
- •Результаты
- •6. Модули в языке Pascal
- •Unit имя-модуля;
- •Uses имя-модуля1, имя-модуля2, …, имя-модуляN;
- •Пример модуля (библиотеки) с именем Unitmatr
- •Пример рабочей программы (программы пользователя)
- •Литература Методические пособия кафедры
Программа
Program prim23;
const m=2;
n=2;
type matr=array[1..m,1..n] of real;
var i,j:integer;
a,b,c:matr;
procedure readmatr(var x:matr); {процедура ввода матрицы}
begin
for i:=1 to m do
for j:=1 to n do
read(x[i,j]);
end;
begin
writeln('Ввести матрицу a');
readmatr(a); {обращение к процедуре ввода матрицы a(m,n)}
writeln('Ввести матрицу b');
readmatr(b); {обращение к процедуре ввода матрицы b(m,n)}
writeln('Матрица с');
for i:=1 to m do
begin
for j:=1 to n do
begin
c[i,j]:=a[i,j]+b[i,j];
write(c[i,j]:5:2,' ');
end;
writeln;
end;
end.
Исходные данные Результаты
Матрица a Матрица b Матрица c
-5.6 7.5 8.2 1.0 2.60 8.50
3.2 4.0 -8.1 9.9 -4.90 13.90
Пример 24. Переписать все отрицательные элементы матриц A и B в одномерный массив Z.
Программа
Program prim24;
type
mas1=array[1..50] of real;
mas2=array[1..5,1..5] of real;
var
a,b : mas2;
z : mas1;
m1,n1,m2,n2,i,j,k : integer;
procedure vvod(var x:mas2;m,n:integer); {процедура ввода матрицы}
begin
for i:=1 to m do
for j:=1 to n do
read(x[i,j]);
end;
procedure negmassiv(x:mas2;m,n:integer;var p:integer;var s:mas1); {процедура,
переписывающая отрицательные элементы
матрицы в одномерный массив}
begin
for i:=1 to m do
for j:=1 to n do
if x[i,j]<0 then
begin
p:=p+1;
s[p]:=x[i,j];
end;
end;
begin
writeln('Ввести размерность матрицы a');
readln(m1,n1);
writeln('Ввести матрицу a(', m1, ',', n1, ')');
vvod(a,m1,n1); {обращение к процедуре ввода матрицы a(m1,n1)}
writeln('Ввести размерность матрицы b');
readln(m2,n2);
writeln('Ввести матрицу b(', m2, ',', n2, ')');
vvod(b,m2,n2); {обращение к процедуре ввода матрицы b(m2,n2)}
k:=0;
negmassiv(a,m1,n1,k,z); {обращение к процедуре записи отрицательных
элементов матрицы a(m1,n1) в массив z}
negmassiv(b,m2,n2,k,z); {обращение к процедуре записи отрицательных
элементов матрицы b(m2,n2) в массив z}
writeln(' Массив z');
for i:=1 to k do
writeln('z[',i,']=',z[i]:5:1);
end.