Строковые константы в Pascal.

В качестве значения строковой константы может выступать любая последовательность символов. Эта последовательность заключается в апострофы. Строковая константа отличается от символьной константы тем, что здесь в качестве значения константы можно ...

Применение логических операций с оператором IF.

В данном уроке мы рассмотрим применение логической операции And с условным оператором If.

Тип данных String в Pascal.

Со строковыми переменными можно производить различные операции. Операция сцепления строк позволяет соеденить 2 строки между собой.

Циклы и массивы

Примеры линейных программ.

В данной статье приводится несколько примеров линейных программ на языке программирования Паскаль.

Спецификация процедуры.

Процедура представляет собой программу в миниатюре, являясь в свою очередь частью основной программы или другой процедуры. Синтаксис процедуры полностью повторяет синтаксис программы.

Анализ задачи:

Следует разработать программу, выполняющую стандартные математические операции транспонирования и умножения матриц. Для хранения матриц используются двумерные массивы (исходная матрица А и результирующая матрица А*), размерность матриц задается с клавиатуры.

Метод решения задачи:

Транспонирование массива заключается в том, что первая строка массива становится первым столбцом нового массива, вторая строка массива становится вторым столбцом нового массива и так далее. Вы можете скачать вайбер на андроид телефон при помощи которого Вы сможете общаться с друзьями а также передавать фото и видео файлы.

Произведение двух матриц размерностью КхМ вычисляется согласно следующему правилу: a [i,j] = sum k=1 to n b [i,j]*c[k,j] , где i — номер строки, а j — номер столбца.

Алгоритм решения задачи:

1.Ввод аргументов k, m - размеров матрицы ; 2.Заполнение массива целыми числами. 3.Транспонирование матрицы. 4.Нахождение произведения транспонированной матрицы и исходной. 5.Вывод результатов.

Описание структур данных, использованных в алгоритме:

Mаs, trans, pr – массивы целых чисел; содержащие исходную, транспонированную матрицы, произведение матриц.

i, j, k – счетчики цикла; изменяются под управлением оператора цикла. ar_sizex, ar_sizey – аргументы, в которые заносятся данные о размерах исходного массива (параметры К и М).

Программа и методика испытания:

Данный алгоритм представлен несколькими циклическими структурами с внутрицикловыми ветвлениями. Поэтому во время проведения испытаний разработанной программы следует проверить правильность задания граничных значений для параметра цикла, правильность (соответствие поставленной задаче) тела цикла, правильность начальных условий для операторов тела цикла.

 uses crt;
const range=100;
var i,j,k,ar_sizex,ar_sizey:integer; mas,trans,pr: array [1..10,1..10] of longint;
begin
randomize;
clrscr;
writeln('Дана матрица А, размером КхМ. Получить транспонированную матрицу А*');
writeln('и матрицу АхА*');
writeln;
repeat write('Введите K:'); readln(ar_sizex);
write('Введите М:');
readln(ar_sizey);
if (ar_sizex<=0) or (ar_sizey<=0) then writeln('Неправильный ввод данных');
until (ar_sizex>0) and (ar_sizey>0);
for j:= 1 to ar_sizey do for i:= 1 to ar_sizex do mas[i,j]:=round(Random(range)/random);
writeln; writeln('Элементы исходной матрицы:' );
for j:= 1 to ar_sizey do begin for i:= 1 to ar_sizex do write(mas[i,j]:5,' ');
writeln;
end;
writeln; writeln('Элементы транспонированной матрицы:' );
for j:= 1 to ar_sizex do begin for i:= 1 to ar_sizey do begin trans[i,j]:=mas[j,i];
write(trans[i,j]:5,' ') end; writeln; end; writeln; writeln('Произведение матриц:');
for j:= 1 to ar_sizex
do begin for i:= 1 to ar_sizex do begin for k:=1 to ar_sizex do pr[i,j]:=mas[k,i]*trans[j,k]+pr[i,j]; write(pr[i,j]:7,' ');
end;
writeln;
end;
writeln('Нажмите любую клавишу для выхода.');
readkey;
end. 

Для корректной работы алгоритма программы следует провести контроль введенных оператором начальных значений используемых параметров. При этом используется цикл типа «REPEAT..UNTIL», выполняемый до тех пор, пока не будут заданы правильные начальные условия выполнения основного алгоритма программы (K > 0, N>0). При вводе неправильного значения производится возврат к началу цикла для повторного ввода информации с выдачей соответствующего информационного сообщения.

Предыдущая статья : Дано натуральное число N. Необходимо вычислить произведение первых N сомножителей: 1/2*3/4*5/6

Оглавление : Уроки Паскаль. Массивы.

Добавить комментарий

   ГлавнаяПаскальПримеры программ.Для матрицы A (4 строк, 5 столбцов) вычислить выражение y=(1-P[5])^2+(2-P[4])^2+...+(5-P[1])^2 , где P[k] - произведение отрицательных элементов в k-том столбце матрицы А.