Московский Гуманитарный Техникум Экономики и Права
Курсовая работа по курсу:
Информатика, вычислительная
техника и программирование на ПЭВМ
Решение математических задач с помощью алгоритмического языка Turbo Pascal, Microsoft Excel, пакета MathCAD и разработка программ в среде Delphi"
Москва 2008
Содержание
Задание1 (а) Решение циклических программ
Задание 1 (б) Решение программы вычисления функции с условием
Решение уравнения в табличном редакторе Microsoft Excel
Задание 1 (в) вычисление массива
Решение уравнения в Turbo Pascal
Задание 1 (г) вычисление суммы в Microsoft Excel
Задание 2. Интегрирование функции
Вычислить определённый интеграл
1. Метод прямоугольников
2. Метод трапеции
3. Метод симпсона
4. С автоматическим выбором шага
Задание 3. Решение системы линейных уравнений
Решение уравнения с помощью MathCAD
Задание 4. Решение нелинейного уравнения
Задание 5. Организация нахождения минимума и максимума элемента в массиве случайных чисел в среде пакета MathCAD
Задание 6
Задание 1. Решение уравнения в табличном редакторе Microsoft Excel
Табличный редактор Microsoft Excel представляет собой электронную таблицу разбитую на ячейки.
В ячейки одного из столбцов вводятся значения переменной В ячейки другого столбца, строка которого соответствует номеру первой ячейки столбца переменных, ставят "=" и вводят формулу. Затем нажимают Enter и табличный редактор выполняет поставленную задачу.
Решение уравнения с помощью MathCAD.
Данная задача в MathCAD будет выполнятся с использованием ранжированной переменной. В среде пакета MathCAD для выполнения итеративных вычислений предусмотрен аппарат ранжированных переменных.
Ранжированная переменная-это переменная, которой приписан диапазон изменения значений.
Пример ранжированной переменной:
x: =a,b. c,
где x - переменная, a,b,c - значения, которые принимает переменная, т.е. a-первое значение, b-второе значение, т.е. (b-a) - шаг изменения переменной, и c-последнее значение.
Функция представлена в виде ранжированного выражения, т.е. выражения в котором присутствуют p-переменные.
Решение уравнения в Turbo Pascal
Арифметические выражения строятся из констант, переменных, функций и операций над ними.
Правила использования выражений:
1. Выражение записывается в одну строку.
2. Используются только круглые скобки, число открывающихся скобок должно соответствовать числу закрывающихся скобок.
3. Нельзя записывать подряд два знака арифметических операций.
Структура программы в Turbo Paskal
Program <имя программы> ; ] 1
uses <описание модулей>;
lable <метки>;
const <объявление констант>;
type <объявление типов данных>; 2
var < объявление переменных>;
< описание процедур и функций>;
begin
операторы 3
end.
Заголовок программы: служебное слово program и имя;
Раздел описаний: описываются все идентификаторы объектов, используемые в данной программе. Описать идентификатор - значит указать его имя и тип.
Раздел операторов: указывается последовательность действий, которые необходимо.
Повторение (циклический алгоритм) - это алгоритм, в котором предусмотрено неоднократное выполнение одной и той же последовательности действий.
Последовательность действий, выполняемая в цикле, называется телом цикла.
Переменная, которая хранит число повторений цикла, называется параметром (счетчиком) цикла.
Цикл позволяет многократно выполнять отдельный оператор или последовательность операторов.
Различают следующие циклы: с параметром, с предусловием, с пост условием.
Цикл с предусловием и пост условием, как правило, используется для организации приближенных вычислений, задач поиска и обработки данных, вводимых с клавиатуры или файла.
С предусловием | С постусловием |
WHILE условие DO BEGIN Оператор1 Оператор2 END: | REPEAT Оператор1 Оператор2 UNTIE условие |
Может не выполниться ни разу | Выполнится хотя бы один раз |
Параметр цикла проверяется до тела | Параметр цикла проверяется после тела |
Записывается условие выполнения цикла | Записывается условие выхода из цикла |
Цикл с параметром используется, если известно число повторений и реализуется с помощью оператора FOR общий вид которого следующий:
FOR параметр цикла: = начальное значение TO (DOWNTO) конечное значение
DO BEGIN Оператор1
Оператор2
END:
Параметр должен быть переменной целого типа.
Если используется слово TO, счетчик увеличивается на единицу, если используется слово BOWNTO, то счетчик уменьшается на единицу.
Задание1 (а) Решение циклических программ
Xn=2; Xk=10; h=1.
В Microsoft Excel:
Во втором столбце формула имеет выд: = (SIN (A2) +5) ^2/СТЕПЕНЬ (A2+3^ (A2); 1/2);
Значение x: | y (x): | | ||||||
2 | 10,53 | |||||||
3 | 4,826 | |||||||
4 | 1,953 | |||||||
5 | 1,037 | |||||||
6 | 0,822 | |||||||
7 | 0,683 | |||||||
8 | 0,443 | |||||||
9 | 0, 209 | |||||||
10 | 0,082 | |||||||
В Mathcad:
В Turbo Paskal:
program z1;
uses crt;
var Xn,Xk,X,Y,H,Z: REAL;
begin
clrscr;
write ('Vvedite Xn,Xk,H=');
readln (Xn,Xk,H);
X: =Xn;
repeat
z: =x+exp (x*ln (3));
if z<=0 then writeln ('NO') else
Y: =sqr (sin (x) +5) /Sqrt (z);
writeln ('X=',X: 6: 1,' Y=',Y: 8: 3);
X: =X+H;
until X>=Xk+H/2;
readkey;
end.
Блок-схема к заданию:
Результаты вычислений:
Для реализации задачи необходимо использовать логическую функцию ЕСЛИ, которая возвращает одно значение, если заданное условие при вычислении дает значение ИСТИНА Реализация задачи вычисления функции с условиями, и другое значение, если ЛОЖЬ. Общий вид функции такой:
ЕСЛИ (лог_выражение; значение_если_ложь)
Лог выражения-это любое значение или выражение, которое при вычислении дает значение ИСТИНА или ЛОЖЬ.
Значение_если_истина-это значение, которое возвращается, если лог_выражение имеет значение ИСТИНА. Если лог_значение имеет значение ИСТИНА и значение_если_истина опущено, то возвращается значение ИСТИНА. Значение_если_истина может быть другой формулой.
Значение_если_ложь-это значение, которое возвращается, если лог_выражение имеет значение ЛОЖЬ. Если лог_выражение имеет значение ЛОЖЬ и значение_если_ложь опущено, то возвращается значение ЛОЖЬ. Значение_если_ложь может быть другой формулой.
В Microsoft Excel:
Во втором столбце формула имеет вид: =ЕСЛИ (A2=0; "NO"; ЕСЛИ (A2<0; SIN (A2) / (1-2^SIN (A2)); ЕСЛИ (И (A2>0; A2<1); 2*A2/ (1-A2); ЕСЛИ (A2>1; A2^2-LN (A2); "нет решения"))))
Рисунок.
x | y (x) | |||||||
-2 | -1,9447896 | |||||||
-1,6 | -1,9997383 | |||||||
-1,2 | -1,9585469 | |||||||
-0,8 | -1,8309758 | |||||||
-0,4 | -1,646153 | |||||||
0 | NO | |||||||
0,4 | 1,33333333 | |||||||
0,8 | 8 | |||||||
1,2 | 1,25767844 | |||||||
1,6 | 2,08999637 | |||||||
2 | 3,30685282 | |||||||
В Mathcad:
В Turbo Pascal:
program z2;
uses crt;
label 20;
var x,y,Xn,Xk,h: real;
begin clrscr;
writeln ('Please ENTER Xn,Xk,h=');
readln (Xn,Xk,h);
x: =Xn;
while x<=Xk+h/2 do
begin
if x<0 then
begin
y: =1-exp (sin (x) *ln (2));
if y=0 then
writeln ('NET KORNEY') else
y: =sin (x) /y;
end
else
if (x>0) and (x<1) then y: = (2*x) / (1-x) else
if x>1 then y: =x*x-ln (x)
else
begin
writeln ('NO answer');
goto 20;
end;
writeln ('x=',x: 3: 1,' y=',y: 6: 3);
20: x: =x+h;
end;
readkey;
end.
Результаты вычислений:
Блок-схе
ма к заданию:
Массив (матрица, таблица, вектор) - это структура данных, представляющая собой совокупность элементов одного типа.
Массив называется одномерным, если для получения доступа к его элементам достаточно одной индексной переменной.
1) Массив можно определить как одномерную (последовательную) совокупность элементов некоторого типа, которые адресуется с помощью индекса.
2) Массив должен быть объявлен в разделе описания переменных:
VAR ИмяМассива: ARRAY (НачИндекс. КонечныйИндекс) OF ТипДанных.
3) Доступ к элементу массива осуществляется путем указания индекса (номера), в качестве которого нужно использовать переменную целого типа. Massiv (2): =5;
А: =massiv (4);
4) Для ввода, вывода и обработки массивов удобно использовать операторы циклов. Задание элементов массива случайным образом.
Необходимо массив yi из случайных чисел, входящих в определенный интервал. Для этого нужно использовать функцию Random (x), которая возвращает случайное число от 0 до X, если функция используется без параметра, то будут генерировать числа от 0 до 1.
Перед использованием данной функции необходимо применить оператор Randomize, который обеспечивает несовпадение последовательности случайных чисел, генерируемых функцией.
В Microsoft Excel:
Во втором столбце формула имеет вид: =СТЕПЕНЬ (EXP (1) ^ (3*A2) - TAN (A2) ^3; 1/5) /КОРЕНЬ ( (A2) ^2+SIN (A2) ^2)
Рисунок.
x | y | | |||||||
0,4 | 2,267 | ||||||||
0,7 | 1,576 | ||||||||
0,8 | 1,473 | ||||||||
1,3 | 0,752 | ||||||||
В Mathcad:
В Turbo Pascal:
program zadanie3;
uses crt;
const n=4;
var x,y: array [1. n] of real;
i: integer;
z,j,d: real;
begin
clrscr;
for i: =1 to n do
begin
write ('Enter x [i] =');
readln (x [i]);
end;
for i: =1 to n do
begin
j: =exp (3*x [i]) - exp (3*ln (sin (x [i]) /cos (x [i])));
z: =exp (1/5*ln (abs (j))) * (abs (j) /j);
d: =sqrt (sqr (x [i]) +sqr (sin (x [i])));
y [i]: =z/d;
writeln ('x [i] =',x [i]: 5: 1,' y [i] =',y [i]: 5: 3);
end;
readkey;
end.
Блок-схема алгоритма решения задания №1.3
Нахождение функции заданном массиве:
Результаты вычислений:
В третьем столбце формула имеет вид: = (A2^ (-A2*SIN (A2)) - LN (2*A2+5)) / (КОРЕНЬ (2+SIN (2*A2)) +A2^2)
В четвертом столбце формула имеет вид: =СУММ (C2*B2+C3*B3+C4*B4+C5*B5)
x | a | y | S |
1,1 | 0,42 | -0,368 | -1,3 |
1,3 | 0,7 | -0,399 | |
1,5 | 0,9 | -0,413 | |
1,7 | 1,2 | -0,408 |
В Mathcad:
В Turbo Pascal:
Program Summa;
uses crt;
const n=4;
Var x,z,d,Xn,h,F,S: Real;
i: Integer;
a: array [1. n] of Real;
BEGIN
clrscr;
randomize;
Write ('enter please Xn,h=');
ReadLN (Xn,h);
for i: =1 to n Do
begin
Write ('enter please a [i] =');
ReadLN (a [i]);
end;
x: =Xn;
S: =0;
for i: =1 to n Do
begin
z: =exp ( (-x*sin (x)) *ln (x)) - ln (2*x+5);
d: =sqrt (2+sin (2*x)) +sqr (x);
F: =z/d;
S: =S+F*a [i] ;
x: =x+h;
end;
WriteLN ('S=',S: 10: 3);
readkey
END.
Результаты вычислений:
Блок-схема алгоритма решения задания №1.4
Нахождение функции, если дан x, h, n, задан массив:
Так как определённый интеграл является площадью фигуры, ограниченной некоторой функцией y=f (x), то целью задачи является нахождение площади этой фигуры. Для этого необходимо данную фигуру разбить на более простые, площадь которых находится по простым формулам, а затем сложить полученные площади в одну для нахождения необходимой, т.е. для вычисления данного определённого интеграла.
Существуют различные методы нахождения определённого интеграла.
Рассмотрим некоторые из них:
метод средних прямоугольников;
метод трапеций;
метод Симпсона (парабол);
с автоматическим выбором шага;
1. Метод прямоугольников
Для вычисления приближённого значения определённого интеграла отрезок [a, b] делят на n равных частей точками
a=x0<x1<x2<…<xn=b
так, что xi+1-xi= (b-a) /n (I=0,1,2,…,n-1). Тогда длина каждого частичного отрезка определяется как h= (b-a) /n, а точки разбиения x0=a, x1=x0+h, x2=x1+h,…, xn=xn-1+h. Эти точки называются узлами, а h-шагом интегрирования. В узлах вычисляются ординаты y0, y1,…, yn, т.е. yi=f (xi). На частичных отрезках [xi; xi+1] строятся прямоугольники, высота которых равна значению f (x) в какой-либо точке каждого частичного отрезка. Произведение f (xi) *h определяет площадь частичного прямоугольника, а сумма таких произведений - площадь ступенчатой фигуры, представляющей собой приближённое значение интеграла.
Если f (xi) вычисляется в левых концах отрезков [xi; xi+1], то получается формула левых прямоугольников:
»Iл= (y0+y1+…+yn-1) = .
Если f (xi) вычисляется в правых концах отрезков [xi; xi+1], то получится формула правых прямоугольников:
»Iп= (y1+y2+…+yn) = .
Если функция f вычисляется в точках xi+h/2Î [xi;; xi+1], то получается формула средних прямоугольников:
2. Метод трапеции
Метод трапеций аналогичен методу прямоугольников, с той лишь разницей, что на каждом частичном отрезке строится трапеция.
Приближенное значение интеграла равно сумме всех площадей частичных трапеций:
»I=
3. Метод симпсона
Если на частичном отрезке длиной 2h функции заменяется дугой параболы, то можно получить формулу парабол или обобщенную формулу Симпсона:
= (h/3) * (y0+y2n+,
где
... (САПР) и пр.; - ПС, используемые в обучении – электронные учебники, тренажеры, тесты и пр.; - игровые программы; - программы, созданные пользователем с помощью сред программирования. Еще один класс программного обеспечения – специальное ПО. Основное его отличие от системного ПО в том, что пользователь сам решает, будет ли он использовать эти ПС или нет, а отличие ...
0 комментариев