3.5 Схема алгоритма.

 

 

 

 


Программа ищет сумму элементов матрицы,

 находящихся над и под ее диагоналями.

 

 

 

 

 

 

 

 


да

 

 


нет

 

 

Блок-схема: решение: (K>1) and (K<=50)
 

 

 


нет

да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


нет

 


да

 

 

 

 

 

 

 

 

 


Блок-схема: решение: j>(k/2) нет

 


да

 

 

 

 

 

 

 

 

 

 

 

 

 


3.6 Текст программы.

Program kkr1_3;

var

Matrix:array [1..50,1..50] of integer;

i,j,K:byte;

sum:integer;

key:char;

begin

Writeln('Программа ищет сумму элементов матрицы, находящихся над и под ее диагоналями.');

Writeln;

{------------------------------------------------------------------------}

{Определение размерности матрицы}

repeat

 Writeln('Введите размерность матрицы (K<=50): ');

 readln(K);

 if ((K<=1) or (K>50)) then

 begin

 writeln('Такая размерность невозможна по условию.');

 writeln('Повторите ввод.');

 end;

until ( (K>1) and (K<=50) );

{------------------------------------------------------------------------}

{Ввод матрицы}

writeln(‘Введите матрицу’);

 for i:=1 to K do

 for j:=1 to K do

 begin

 write('Matrix[',i,',',j,']=');

 Readln(Matrix[i,j]);

 end;

{------------------------------------------------------------------------}

{Вывод матрицы}

Writeln('Вы ввели: ');

for i:=1 to K do

 begin

 for j:=1 to K do write(Matrix[i,j],' ');

 writeln;

 end;

{------------------------------------------------------------------------}

{Вычисление суммы элементов. Первый проход}

Writeln;

for j:=1 to k do

 begin

 if j<=(k/2) then

 begin

 for i:=(j-1) downto 1 do sum:=sum+Matrix[i,j]

 end

 else

 for i:=(j+1) to k do sum:=sum+Matrix[i,j];

 end;

{------------------------------------------------------------------------}

{Вычисление суммы элементов. Второй проход}

for j:=k downto 1 do

 begin

 if j>(k/2) then

 begin

 for i:=(k-j) downto 1 do sum:=sum+Matrix[i,j];

 end

 else for i:=(k-j+2) to k do sum:=sum+Matrix[i,j];

 end;

{------------------------------------------------------------------------}

{Вывод результата}

writeln('Cумма элементов над и под диагоналями равна ',sum);

end.

3.7 Инструкция пользователю.

Программа предназначена для вычислений суммы элементов матрицы расположенных над и под ее диагоналями. Ввод матрицы осуществляется пользователем в удобной для человека математической форме. Например:

1 2 3

4 5 6

7 8 9

Для запуска программы требуется набрать ее имя (kkr1_3.exe) в командной строке и нажать Enter. Программа выведет краткую информацию о собственном предназначении и попросить ввести размерность матрицы, которую пользователь будет вводить.

Размерность матрицы должна быть меньше или равна 50. Здесь есть особый момент. Естественно, размерность не может быть равной нулю или отрицательному числу. Поэтому при указании этих значений программа сообщит об их некорректности и попросит повторить ввод. Можно отказаться от ввода, нажав любую клавишу, или ввести новое значение, нажав Y. Кроме того, если размерность матрицы 1 или 2, то элементов, расположенных над и под диагоналями не существует. Программа логично выдаст результат, что их сумма равна нулю, при этом не сообщая об отсутствии таких элементов.

После указания размерности следует ввести саму матрицу. Матрицу наиболее удобно вводить следующим образом: элементы одной строки разделять пробелами, строки же – клавишей Enter. Если будет введено элементов больше, чем указанно размерностью матрицей, то такие элементы обрабатываться не будет. Чтобы не было недопонимания, пользователю выводится матрица, с которой осуществляются вычисления.

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

3.8. Тестовый пример.

 

Программа ищет сумму элементов матрицы, находящихся над и под ее диагоналями.

 

Введите размерность матрицы (K<=50):

3

Введите матрицу

Matrix[1,1]=12

Matrix[1,2]=45

Matrix[1,3]=89

Matrix[2,1]=74

Matrix[2,2]=23

Matrix[2,3]=5

Matrix[3,1]=4

Matrix[3,2]=15

Matrix[3,3]=65

Вы ввели:

12 45 89

74 23 5

4 15 65

Cумма элементов над и под диагоналями равна 60


Вывод.

Компьютер предоставляет удобную возможность использования вычислительных мощностей для решения трудоемких и объемных математических задач. Многие задачи, которые раньше (до изобретения компьютера) либо не имели решения, либо оно было очень долгим, теперь возможно решать в считанные секунды. Задачи, которые нельзя решить аналитически, можно решить с использованием различных численных методов. И здесь язык Паскаль выступает как достаточно удобное и простое средство для перевода алгоритма в компьютерную программу, которую сможет использовать большое количество людей.
Информация о работе «Средства языка программирования Паскаль для решения математических задач»
Раздел: Информатика, программирование
Количество знаков с пробелами: 29508
Количество таблиц: 17
Количество изображений: 11

Похожие работы

Скачать
68032
2
4

... условий взаимной уравновешенности системы сил является одной из основных задач статики. На основе изложенной в первой главе курсовой работы алгоритм конструкции языка программирования Паскаль составим и решим ряд задач по прикладной механике. Сформулируем задачу по статике первому разделу прикладной механики. Задача. Найти центр тяжести тонкого круглого однородного стержня изогнутого по дуге ...

Скачать
33871
5
0

... в профессиональном программировании. Широкой популярностью Паскаля среди программистов способствовали следующие причины: - Благодаря своей компактности, удачному первоначальному описанию Паскаль оказался достаточно лёгким для обучения. - Язык программирования Паскаль . Отображает фундаментальные и наиболее важные концепции (идеи) алгоритмов в очевидной и легко воспринимаемой форме, что ...

Скачать
55378
4
0

... 3. Для функционирования программы необходима операционная система MS DOS 3.30 и выше или полностью совместимой с ней. Исходный текст программы написан на языке программирования высокого уровня Турбо Паскаль версии 7.0 фирмы Borland для DOS и WINDOWS с применением библиотеки Turbo Vision и содержится в файле notebook.pas в форме пригодной к использованию его как текстового документа в среде ДОС, и ...

Скачать
48658
0
0

... времени на возню с файлами на дисках или ожидание ввода, не смогут продемонстрировать какое-то впечатляющее увеличение скорости. 2. КЛАССИФИКАЦИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ 2.1. Машинно – ориентированные языки  Машинно – ориентированные языки – это языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ (внутреннего языка, структуры памяти и ...

0 комментариев


Наверх