Использование языка программирования Pascal ABC и табличного процессора MS Excel в решении вычислительных задач в математике

Конструкции алгоритмического языка высокого уровня. Описание методов решения и использования приемов решения средствами табличного процессора. Использование табличных функций пакета MS Excel для матричной алгебры. Матричный способ решения задач.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 07.01.2017
Размер файла 526,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Содержание

1. Использование языка программирования PASCAL ABC в решении вычислительных задач математики

1.1 Описание основных конструкций языка PASCAL

1.2 Задача 1

1.2.1 Постановка задачи

1.2.2 Решение задачи

1.3 Задача 2

1.3.1 Постановка задачи

1.3.2 Решение задачи

2. Система линейных алгебраических уравнений

2.1 Краткое описание методов решения и использования приемов решения средствами табличного процессора

2.2 Метод Крамера

2.3 Матричный способ решения

2.4 Использование табличных функций пакета MS EXEL для матричной алгебры

Литература

1. Использование языка программирования PASCAL ABC в решении вычислительных задач математики

алгоритмический язык процессор матричный

1.1 Описание основных конструкций языка PASCAL

Алгоритмический язык Паскаль был разработан в 1971г. швейцарским математиком Н. Виртом. Язык получил название в честь французского математика и философа Блеза Паскаля (1623-1662). С момента создания и до сегодняшних дней язык играет особую роль в изучении теории написания программ и в практическом программировании. Автор реализовал в языке принцип структурного программирования.

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

В 80-е годы на основе Паскаля был разработан Turbo Pascal. Turbo - это торговая марка разработчика фирмы Borland.

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

Алфавит

1) латинский шрифт;

2) русский шрифт;

3) цифры (0 ? 9);

4) символы:

а) знаки арифметических операций (+ - * /), нет возведения в степень;

б) знаки логических отношений (<, >, <= вместо ?, >= вместо ?, <> вместо ?);

в) разделители (,. ;:)

г) прочие символы.

Данные и типы данных

Данные могут быть разделены на:

1) Константы - const.

2) Переменные - var.

Константам и переменным даётся имя, которое называется идентификатором. С другой стороны в зависимости от вида данных (число, текст, символ и т.д.) в Паскале имеет значение тип данных.

Понятие типа - одно из фундаментальных понятий Turbo Pascal.

Паскаль - это типизированный язык, который характеризуется разветвленной структурой типов данных, построен на основе строгого соблюдения типов. Язык Turbo Pascal предоставляет большие возможности создания сложных типов, однако все они строятся на основе элементарных (стандартных) типов.

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

1. INTEGER - целочисленные данные, во внутреннем представлении занимают два байта; диапазон возможных значений от -32768 до +32767.

2. REAL - вещественные данные, занимают 6 байт; диапазон возможных значений модуля от 2.9Е-39 до 1.7Е+38; точность представления данных - 11…15 значащих цифр.

Вещественные данные в паскале могут записываться в двух форматах:

а) Формат с фиксированной точкой.

Пример: Число 34,5 в паскале записывается 34.5.

б) Формат с плавающей запятой.

Пример: Число 34,5 в паскале можно записать 0.345Е2 или 3.45Е1.

Где символ Е называется десятичной экспонентой, означает число 10, а после записывается степень этого числа.

3. CHAR - символьные данные, занимает 1 байт.

4. BOOLEAN - логический тип, занимает 1 байт и имеет два значения: FALSE (ложь) и TRUE (истина).

Стандартные функции

Стандартные функции подразделяются на числовые, символьные, строковые и т.д. Числовые стандартные функции представлены в таблице 14.

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

константой: например cos(1.3);

переменной: например cos(x);

арифметическим выражением: например cos(x+y);

стандартной функцией: например cos(ln(x)).

Таблица 14

Запись на

Паскале

Запись в математике

Тип

результата

Примечание

1

sin(x)

sin x

вещественный

х-угол в радианах

2

cos(x)

cos x

вещественный

х-угол в радианах

3

arctan (x)

arctg x

вещественный

х- в радианах

4

exp(x)

ex

вещественный

е=2,7182…-основание натурального логарифма

5

ln (x)

ln x

вещественный

6

sqr (x)

x2

зависит от типа х

Квадрат числа х

7

sqrt (x)

вещественный

Корень квадратный

8

abs (x)

| x |

вещественный

Модуль числа x

9

trunc (x)

целый

Целая часть (х)

10

int(x)

вещественный

Целая часть (х)

11

frac (x)

вещественный

Дробная часть (х)

12

round (x)

целый

Округление (х)

13

odd(x)

целый

Если x-нечётное, то функция true

14

pi

вещественный

? =3,1415…

Аргумент тригонометрической функции должен быть задан в радианах. Если он задан в градусах, то его следует перевести в радианы по формуле:

Логарифмические функции:

Обратные тригонометрические функции:

; ; ;

Гиперболические функции:

; ; ; ;

Возведение в степень:

;

Тригонометрические функции:

tg x = sin x/cos x;

ctg x = cos x/ sin x.

Арифметические, логические, символьные выражения

а) Арифметические выражения

Пример арифметического выражения.

.

В Турбо Паскале есть все 4 арифметические операции над числовыми переменными:

+ сложение;

- вычитание;

умножение;

/ деление вещественное;

Для данных типа INTEGER в Турбо Паскале есть еще операции деления:

MOD получение остатка от целочисленного деления,

DIV частное от целочисленного деления.

Пример. Найти частное A/Z. На Паскале частное A/Z имеет вид: A div Z.

Пример. Найти остаток от деления A/Z. На Паскале остаток от деления A/Z имеет вид:

A mod Z.

F:=17 DIV 5; деление нацело, ответ: F:=3;

R:=17 MOD 5; остаток от деления нацело, ответ: R:= 2.

б) Логические выражения

Пример логических выражений:

(A>0) and (B>0) означает (А и В больше нуля).

(A>0) or (B>0) означает (А или В больше нуля).

В Турбо Паскале определены следующие логические операции из алгебры логики:

not - логическое НЕ (логическое отрицание);

and - логическое И (конъюнкция или логическое умножение);

or - логическое ИЛИ (дизъюнкция или логическое сложение);

xor - исключающее ИЛИ;

eqv - эквивалентность;

IMP - импликация (если…, то…).

1.2 Задача 1

1.2.1 Постановка задачи

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

1.2.2 Решение задачи

Рис. 1 Листинг программы

Рис. 2 Протокол работы программы

1.3 Задача 2

1.3.1 Постановка задачи

Дана действительная матрица размера nЧm.

Определите числа b1, …, bn, равные соответственно наименьшим значениям элементов строк.

Использовать следующие процедуры и функции:

· процедуры: формирования матрицы, процедуры вывода матрицы).

· функции: суммы, произведения, минимума в каждой строке.

В каждую подпрограмму в качестве параметра передавать исходную матрицу.

1.3.2 Решение задачи

Рис. 3 Листинг программы

2. Система линейных алгебраических уравнений

2.1 Краткое описание методов решения и использования приемов решения средствами табличного процессора)

Систему n линейных алгебраических уравнений вида

можно записать в матричной форме

A X = B,

где A - матрица коэффициентов при неизвестных (матрица системы):

X - вектор-столбец неизвестных:

B - вектор-столбец свободных членов:

Целое число n называется размерностью системы.

Система (2) может быть записана в развернутом виде

Система уравнений (6) называется совместной, если она имеет хотя бы одно решение, и несовместной - в противном случае.

Рассмотрим задачу решения СИСТЕМЫ на следующем примере

Т.е. будем решать систему из четырех алгебраических уравнений относительно трех неизвестных. Размерность системы (7) n=4, матрица системы A (3) размерности 33 имеет вид

а вектор-столбец свободных членов (5) B=( -31, 14, -7, -32)T.

Попытаемся решить систему (7) в среде MS Excel двумя различными способами. Для чего создадим рабочую книгу из двух листов и назовем ее Решение СИСТЕМА.xls. Поскольку исходные данные для двух различных способов решения одни и те же (матрица системы A (8) и вектор-столбец свободных членов B), то неплохо было бы их одновременно ввести в эти рабочие листы. Excel предоставляет такую возможность.

Этот инструмент называется группировкой рабочих листов [4]. Для того, чтобы применить средство Группа, необходимо выделить группируемые рабочие листы, щелкнув первый рабочий лист (Лист1), на котором будут вводиться данные, а затем, удерживая клавишу Ctrl, щелкнуть ярлычки листов (Лист2), куда одновременно должны вводиться те же самые данные.

Признаком группировки нескольких листов является появившееся в строке заголовка слово [Группа] ([Group]), заключенное в квадратные скобки (Рис. 1). После ввода группировку необходимо отменить. Для отмены необходимо выбрать любой из листов, не входящих в группу, либо щелкнуть правой кнопкой мыши на любом ярлычке листа из группы и выполнить команду Разгруппировать листы.

Рис. 4

Для решения рассматриваемой системы (7) сгруппируем листы (Лист1:Лист2), разместим в ячейках текущего листа (Лист1) A1, B2, F2, A8:A12 соответствующие поясняющие тексты (заголовки), в интервале A3:D6 - элементы матрицы A (8), а в интервале F3:F6 - элементы вектора B. Интервал B9:B12 зарезервируем под искомое решение - вектор X (4). После этих манипуляций оба рабочих листа примут одинаковый вид (Рис. 1). Перед дальнейшей работой разгруппируем рабочие листы.

2.2 Метод Крамера

Решение системы (6) находится по формулам Крамера

где det A = A- определитель матрицы (3) системы,

det Ai = Ai (i = 1, 2, …, n) - определители матриц Ai (вспомогательные определители), которые получаются из A заменой i-го столбца на столбец свободных членов B (5).

Линейная алгебраическая система несовместна (не имеет решений), если det A=0. Для рассматриваемой системы (7) вспомогательные матрицы имеют следующий вид (10)

Рис. 5

Рис. 6

Разместим их на рабочем листе (Рис. 2). Причем сделаем это вводом формул с использованием абсолютных ссылок (Рис. 3) на элементы матрицы A из интервала A3:D6 и элементы вектора B из интервала F3:F6 (Рис. 1).

Во-первых, это ускорит процесс ввода матриц Ai (i = 1, 2, 3, 4) (формулы введем только в интервал A15:D18 матрицы A1 и в интервал F15:F18 первого столбца матрицы A2, далее же будем их блоками только копировать.

Во-вторых, это сделает проектируемую таблицу универсальной в том смысле, что можно будет изменять только исходные данные (матрицу системы A в интервале A3:D6 и вектор-столбец свободных членов B в F3:F6), а все остальное (в том числе и решение СИСТЕМЫ) будет автоматически вычисляться.

Далее, воспользовавшись функцией МОПРЕД(матрица), вычислим определители всех матриц (Рис. 4).

Рис. 7

Рис. 8

Рис. 9

Осталось по формулам Крамера (9) найти решение системы (7). Соответствующие формулы Excel запишем в интервал решения B9:B12 (Рис. 5), в котором и увидим результат (Рис. 6). При вычислении xi (i = 1, 2, 3, 4) анализируется значение определителя матрицы системы A, вычисленное в ячейке С7, и, если оно равно нулю (система несовместна), то в B9 помещается текст «Решения нет», а в ячейки B10, В11 и B12 - пустые строки.

2.3 Матричный способ решения

Матричный способ решения СИСТЕМЫ (6) достаточно прост. Решение системы (2) запишется в следующем виде:

X = A-1 B.

Т.е. для решения системы (2) (вычисления вектора-столбца X (4)) необходимо найти для матрицы A (3) обратную A-1 и умножить ее справа на вектор-столбец B (5) свободных членов.

Для этого, воспользовавшись функциями Excel МУМНОЖ(матрица1;матрица2) и МОБР(матрица), введем в интервал B9:B12 следующего рабочего листа (Лист2) табличную, т.е. используя для ввода комбинацию Ctrl+Shift+Enter, мегаформулу =МУМНОЖ(МОБР(A3:D6);F3:F6).

Рис. 10

После этого в строке формул (Рис. 7) увидим {=МУМНОЖ(МОБР(A3:D6);F3:F6)}, а в интервале B9:B12 - решение, точно такое же, как и в предыдущем случае (Рис. 6).

2.4 Использование табличных функций пакета MS EXEL для матричной алгебры

Любому специалисту в ходе практической деятельности приходится совершать операции над количественными данными, которые осуществляются в соответствии с математическими законами. Потому для специалиста-нематематика наиболее важным является практический аспект математики. Для него эта прикладная наука, близкая к технологии. Здесь наиболее важным является умение провести необходимые вычисления.

Математическая теория изменяется сравнительно медленно. Использование компьютера при проведении расчётов сдвигает акценты в математической подготовке специалиста. Если раньше основное внимание было сосредоточено на математических методах, которые предусматривали проведение расчётов вручную, то теперь, с появлением специализированных математических программ, необходимо научиться проводить требуемые вычисления на компьютере.

Средства MS Excel очень полезны в линейной алгебре, прежде всего для осуществления операций с матрицами и решения систем линейных уравнений.

Значительная часть математических моделей различных объектов и процессов записывается в достаточно простой и компактной матричной форме.

Как и над числами, над матрицами можно проводить ряд операций, причём в случае с матрицами некоторые из операций являются специфическими. Способов вычислений существует также несколько. Например, вычисления с помощью MS Excel.

Одной из операций является операция транспонирования. Для осуществления транспонирования в Excel используется функция ТРАНСП, которая позволяет поменять ориентацию массива на рабочем листе с вертикальной на горизонтальную и наоборот. Данная функция будет иметь вид ТРАНСП (массив).

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

Одной из важных характеристик квадратных матриц является их определитель. Определитель матрицы - это число, вычисляемое на основе значений элементов массива. В MS Excel для вычисления определителя квадратной матрицы используется функция МОПРЕД. Функция имеет вид МОПРЕД (массив).

В этом случае массив - это числовой массив, в котором хранится матрица с равным количеством строк и столбцов. При этом массив может быть задан как интервал ячеек, например А1:С3; или как массив констант, например, (1;2;3;4;5;6;7;8;9). Для массива А1:С3, состоящего из трёх строк и трёх столбцов (матрица размером 3*3), определитель вычисляется следующим образом:

Для нахождения обратной матрицы в MS Excel используется функция МОБР, которая вычисляет обратную матрицу для матрицы, хранящей в таблице в виде массива. Функция имеет вид МОБР (массив). Здесь массив - это числовой массив с равным количеством строк и столбцов. Массив может быть задан как диапазон ячеек, например А1:С3; как массив констант, например (1;2;3;4;5;6;7;8;9) или как имя диапазона или массива.

В MS Excel для выполнения операции умножения матрицы на число могут быть использованы формулы, вводимые в соответствующие ячейки. Например, пусть, как и в предыдущем параграфе матрица А введена в диапазоны А1:С2. Необходимо получить матрицу С=3*А/

Решение.

1. Табличный курсор поставьте в левый верхний угол результирующей матрицы, например в Е1.

2. Введите формулу для вычисления первого элемента результирующей матрицы = 3*А1.

3. Скопируйте введённую формулу в остальные ячейки результирующей матрицы: поставьте табличный курсор в ячейку Е1; наведите указатель мыши на точку в правом нижнем углу ячейки, так чтобы указатель мыши принял вид тонкого крестика; при нажатой левой кнопке мыши протяните указатель до ячейки G1; таким же образом протяните указатель мыши до ячейки G2.

В результате в ячейках E1:G2 появится матрица, равная исходной матрице, умноженную на постоянную «3»:

Для нахождения произведения двух матриц в Excel используется функция МУМНОЖ, которая вычисляет произведения матриц (матрицы хранятся в массивах). Функция имеет вид МУМНОЖ (массив1;массив2). Здесь массив1 и массив2 - это перемножаемые массивы.

При этом количество столбцов аргумента массив1 должно быть таким же, как количество строк аргумента массив2, и оба массива должны содержать только числа. Результатом является массив с таким же числом строк, как массив1 и с таким же числом столбцов, как массив2.

Массив С, который является произведением двух массивов А и В, определяется следующим образом: С = (), где i - номер строки,
а j - номер столбца. Рассмотрим пример умножения матриц.

Пусть матрица А введена в диапазон A1:D3, а матрица В - в диапазон А4:В7. Необходимо найти произведение этих матриц С.

Решение.

1. Выделите блок ячеек под результирующую матрицу. Для этого требуется найти размер матрицы-произведения. Её размерность будет m*p, в данном примере 3*2. Например, выделите блок ячеек F1:G3.

2. Нажмите на панели инструментов Стандартная кнопку Вставка функции.

3. В появившемся диалоговом окне Мастер функций в поле Категория выберите Математические, а в поле Функция - имя функции МУМНОЖ. После этого щёлкните на кнопке ОК.

4. Появившееся диалоговое окно МУМНОЖ мышью отодвиньте в сторону от исходных матриц и введите диапазон исходной матрицы А - А1:D3 в рабочее поле Массив1 (указателем мыши при нажатой левой кнопке), а диапазон матрицы В - А4:В7 введите в рабочее поле Массив2. После этого нажмите сочетание клавиш CTRL+SHIFT+ENTER.

5. Если произведение матриц А*В не появилось в диапазоне F1:G3, то следует щёлкнуть указателем мыши в строке формул и ещё раз нажать комбинацию клавиш CTRL+SHIFT+ENTER.

Использование Excel для матричных вычислений очень удобно и необходимо, а соответственно такому методу расчёта матриц необходимо обучать студента, с целью расширения общего представления о подходах к реализации вычислительных операций над матрицами.

Литература

1. Соболь Б.В. Информатика. Учебник. «Феникс», 2009г.

2. Практикум по информатике под ред. проф. Соболя Б.В. «Феникс», 2009г.

3. Лавренов С.М. Excel: Сборник примеров и задач. М.: Финансы и статистика, 2002. 336 с.

4. Гельман В.Я. Решение математических задач средствами Excel: Практикум. СПб.: Питер, 2003. 237 с.

5. Экономическая информатика / Ред. П.В. Конюховский, Д.Н. Колесов, СПб: Питер, 2000.

6. Гельман В.Е. Практикум по математике на компьютере СПб.: СПИГ, 2001.

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.