Сделай Сам Свою Работу на 5

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





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

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

Тип переменной определяется тем, с какими данными она связана.

Переменные типа integerмогут быть связаны только с целыми значениями обычно в диапазоне от -32768 до 32767. В Pascal есть другие целочисленные типы.

Переменные типа realхранят вещественные (дробные) числа.

Переменная булевского (логического) типа может принимать только два значения - true (1, правда) или false (0, ложь).

Символьный тип (char) может принимать значения из определенной упорядоченной последовательности символов.

Интервальный тип определяется пользователем и формируется только из порядковых типов. Представляет собой подмножество значений в конкретном диапазоне.

Можно создать собственный тип данных простым перечислением значений, которые может принимать переменная данного типа. Это так называемый перечисляемый тип данных.

Все вышеописанное – это простые типы данных. Но бывают и более сложные, структурированные, которые базируются на простых типах.



Массив – это структура, занимающая в памяти единую область и состоящая из фиксированного числа компонентов одного типа.

Строки представляет собой последовательность символов. Причем количество этих символов не может быть больше 255 включительно. Такое ограничение характерная черта Pascal.

Запись – это структура, состоящая из фиксированного числа компонент, называемых полями. В разных полях данные могут иметь разный тип.

Множествапредставляют собой совокупность любого числа элементов, но одного и того же перечисляемого типа.

Файлы для Pascal представляют собой последовательности однотипных данных, которые хранятся на устройствах внешней памяти (кстати, жесткий диск – это тоже внешняя память).

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

 

Массивы в языке программирования Паскаль.

Массив – упорядоченный набор значений одного типа, объединённых единым именем. Любое отдельное значение из этого набора называется элементом массива и может быть выделено с помощью соответствующей индексации.



Размерность массива, т.е. число индексов в квадратных скобках в ТР не ограничена. В качестве индексов используют выражения порядкового типа, кроме Longint. При описании в программе необходимо указать общее число элементов в массиве и тип этих элементов.

Type

T= array [T1] of T2;

Где Т – имя (идентификатор типа); Т1 – список одного или нескольких индексных типов, разделённых запятыми. В качестве индексных типов в ТР допускается использовать любые порядковые типы, кроме Longint. Обычно используют ограниченный тип, в котором задаются границы изменения индексов; Т2 – тип элементов массива (базовый тип), любой тип ТР.

Type matr = array [-1..6] of integer;

Rex = array [1..3, 1..4] of real;

T = array [‘A’..’g’, 1..5] of integer;

Var a, c: matr;

D: t;

B: rex;

Массивы могут описываться сразу в разделе описания переменных без использования раздела описания типов.

Var a,c: array [-1..6] of integer;

D: array [‘A’..’g’, 1..5] of integer;

B: array [1..3, 1..4] of real;

Последняя строка может быть записана в следующем эквивалентном виде:

B: array [1..3] of array [1..4] of real;

Т.е. b представляет собой одномерный массив, состоящий из трёх элементов, каждый из которых является в свою очередь одномерным массивом из четырёх элементов вещественного типа. Поэтому эквивалентны следующие записи: b[2][3]~b[2,3].

В ТР можно одним оператором присваивания передать все элементы одного массива другому массиву того же типа.

Var a,c: array [1..6] of integer;

………………………………………………………

Begin

………………………………………………………



a:=c;

После этого все 6 элементов массива а получают значения соответствующих элементов массива с. В ТР над массивами не определены операции отношения. Нельзя записать if a=c then……..

Ввод-вывод массивов.

1) Одномерный массив

Program ex7;

Var A: array [1..50] of real;

I,n: integer; …….

Begin

Writeln (‘введите число элементов массива А’);

Readln (n);

Writeln (‘введите элементы массива А’);

For i:= 1 to n do readln (A[i]);

Writeln (‘Исходный массив А’);

For i:= 1 to n do writeln (A[i]:7:2);

…………………………..

2) Двумерный массив

Program ex8;

Var A: array [1..50, 1..50] of real;

I,j,m,n: integer; ………….

Begin

Writeln (‘введите число строк m и столбцов n’);

Readln (m,n);

Writeln (‘введите элементы массива А’);

For i:= 1 to m do

For j:= 1 to n do readln (A[I,j]);

Writeln (‘Исходный массив А’);

For i:= 1 to m do

Begin

For j:= 1 to n do write(A[I,j]:7:2);

Writeln

End;

………………………….

 

Подпрограмма-функция.

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

Общая структура записи функции:

Function f(a1:t1; a2:t2; …):t;

<описание и определение локальных переменных и подпрограмм>

Begin

S1;

S2;

F:=

End;

Где f – имя функции; аᵢ – имена формальных параметров; tᵢ – типы параметров; t –тип имени функции; Sᵢ– операторы тела функции.

Обращение к функции осуществляется в правой части оператора присваивания по имени функции с указанием фактических параметров: X:= y+f(b1, b2, …); где bᵢ– фактические параметры.

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

Пример 1:

Function tan(x: real): real;

Begin

Tan:= sin(x)/cos(x);

End;

Пример 2:

Программа, читающая 2 числа и сравнивающая их, и выводящая на экран сообщение равны или не равны эти числа.

Program test_function;

Var a,b: integer;

Function rav(a, b: integer): Boolean;

Begin

Rav:=a=b;

End;

Begin

Writeln (‘’);

Read(a,b);

If rav then writeln (‘’)

Else writel(‘’);

End.

 

Подпрограмма-процедура.

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

Procedure p(var a1:t1; a2:t2; …);

<описание и определение локальных переменных и подпрограмм>

Begin

S1;

S2;

End;

Где p – имя процедуры; aᵢ– формальные параметры; tᵢ– типы формальных параметров; S i-тое – операторы процедуры.

Формальные параметры – это наименования переменных, которые служат для описания алгоритма подпрограммы и через которые передаётся информация из основной программы в процедуру или из процедуры в программу. Таким образом здесь есть входные и выходные формальные параметры. Входные описываются без ключевого слова var, выходные – после ключевого слова var. Действие var заканчивается точкой с запятой.

P (a,b: integer; var t:real; var n: integer);

Сама подпрограмма размещается в описательной части основной программы. Исполняемая часть – обычная.

P(b1, b2, …); , где bᵢ– фактические параметры, которые соответствуют формальным по количеству, типу и месту расположения.

Пример 1:

Procedure sq (a, b, c: real; var x1, x2: real);

Var d: real;

Begin

D:= b*b-4*a*c;

X1:= (-b+sqrt(d))/(2*a);

X2:= (-b-sqrt(d))/(2*a);

End;

Пример 2:

Program pr4;

Var a, b, z, t1, t2, t3: real;

Procedure th (x: real; var r: real);

Var c: real;

Begin

C:= exp (2*x);

R:= (c-1)/(e+1);

End;

Begin

Writeln (‘введите a, b’);

Readln (a, b);

Th (a, t1); th (a-b, t2); th (sqr(a)-sqr(b), t3);

Z:= (t1 + sqr(t2))/sqrt (t3);

Writeln (‘z=’, z:10:5);

End.

 

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

Существование решения. Решение может не существовать если в математической формулировке задач что-либо упущено или неверно истолковано; модель не отобразила каких-либо существенных черт явления; либо отсутствуют те или иные условия и ограничения.

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

Устойчивость решения. Означает, что малые изменения входных параметров приводят к малым изменениям результата. Если малому ∆х соответствует малое ∆у, то говорят, что численный метод обладает устойчивостью по входной переменной х. Если же малому ∆х соответствует большое ∆у, то говорят, что численный метод чувствителен относительно переменной х.

Сходимость решений. Означает близость получаемого решения к истинному. В результате традиционных методов получают последовательность значений х1, х2, х3, … , хᵢ, … . Эта последовательность сходится к точному решению х=а если существует предел этой последовательности. Lim xᵢ = a (i→∞ ).

Корректность метода. Численный метод называют корректным, если для любых значений исходных данных существующее решение единственно и устойчиво по этим исходным данным.

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.