Существование, единственность, устойчивость, сходимость, корректность численного решения.
Порядковые типы в языке программирования Паскаль.
В языке программирования Паскаль достаточно много типов данных. Кроме того, сам пользователь может определять свои типы данных.
Тип переменной определяется тем, с какими данными она связана.
Переменные типа 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 Все материалы защищены законодательством РФ.
|