|
3 способ: восстановим в середине отрезка AB перпендикуляр до пересечения с графиком функции f(x). Проведем через найденную точку отрезок, параллельный AB.
|
Для нахождения приближенного значения определенного интеграла разобъем отрезок AB на две равные части (величину 2 обозначим через n). В середине каждого отрезка восстановим перпендикуляры и построим соответствующие прямоугольники. Вычислим площадь S1.
|
Т.к. выполнив вычисления один раз не возможно оценить их точность, то продолжим разбиение отрезка AB (n=4).
Лекция 7-10. Структурированные типы данных
Традиционно к структурированным типам данных в языке Pascal относят массивы, множества и записи. Иногда структурированным считают строковый тип. На самом деле строки занимают промежуточное положение между простыми и структурированными типами, но т.к. большинство их свойств реализуются как свойства сложных данных, то строки рассматриваются как структурированный тип.
Массивы.
Объявление переменной массива происходит в разделе var. При этом используется зарезервированное слово array, указывается тип массива и его размерность перечислением индексов, а также объявляется тип данных в массиве.
Пример 1:
| program vvod; var A: array [1..10] of integer; i:integer; begin for i:=1 to 10 do read (A[i]); end. |
б) двумерного:
| program vvod; const n=5; m=7; var A: array [1..n,1..m] of real; i,j: integer; begin for i:=1 to n do for j:=1 to m do read (A[i,j]); end. |
Задача 2: найти минимальный элемент в массиве:
| program min; const n=10; var i: byte; a: array [1..n] of real; min: real; begin for i:=1 to n do read (A[i]); min:=A[1]; for i:=1 to n do if min>A[i] then min:=A[i]; write (min); end. |
Сортировка массивов.
Сортировкой называется процесс расположения элементов массива в порядке убывания (возрастания) из значений.
Пример :
1 шаг: 1 | 42795 2 шаг: 12 | 4795 3 шаг: 124 | 795 4 шаг: 1245 | 97 5 шаг: 124579 | |
1 шаг: 24 | 1795 2 шаг: 21 | 4795 124 | 795 3 шаг: 1247 | 95 4 шаг: 12479 | 5 124759 124579 | |
1 шаг: 214795 true 2 шаг: 124579 true 3 шаг: 124579 false | |
Строковый тип данных.
Переменная типа строка предназначена для обработки цепочек символов. Каждый символ является элементом типа char. Строки могут вводиться с помощью стандартных операторов read/readln и выводиться стандартными операторами write/writeln.
Объявляются переменные типа строка в разделе var. При объявлении указываются идентификатор переменной, зарезервированное слово string и, в квадратных скобках, целое число - максимально возможная длина строки. Наибольшая длина строки составляет 256 символов. Если переменная имеет значение с максимальной длиной строки, то при объявлении переменной ограничиваются зарезервированным словом.
Пример:
var
identificator_1: string;
identificator_2: string[20];
identificator_3: string[255];
Значение строкового типа также как и значение типа char при записи внутри программы заключаются в апострофы.
Пример:
identificator_1:='это - компьютер';
identificator_1[1]:='э';
Простейшая операция которую Pascal позволяет выполнить со строками - это операция конкатенации, или сцепления, или объединения строк в операторе присваивания. Операция записывается с помощью знака "+".
Пример:
identificator_1:='это' + '-' + 'компьютер';
Для обработки строковых данных используется ряд встроенных функций:
1) Length (L) - определяет длину строки, являющуюся значением переменной L. Значение, возвращаемое этой функцией является целочисленным и отображает реальную длину строки, т.е. может не совпадать со значением длины строки, объявленным при декларации.
Пример 1:
var
L: string[15];
A: byte;
Begin
L:='Урок';
A:=length(L);
Write(A);
End.
Пример 2:
Begin
write(length('Урок'));
End.
2) Upcase (C) - преобразует любой символ в прописной. Переменная C может иметь значение типа char, либо являться одним элементом из строки. Русские символы обрабатываться этой функцией не могут.
3) Copy (L, A, B) - позволяет копировать фрагмент строки являющейся значением переменной L, начиная с позиции A в количестве B, где A и B - целые числа, причем значение A не превышает длины строки L, а значение B не превышает (длина строки L - A). Если эти правила нарушены, то ошибки компиляции не произойдет, но возможно совершение логической ошибки в программе.
4) Pos (L, M) - возвращает результат целочисленного типа, являющийся номером позиции, с которой строка L входит в строку M. Если строки L нет в строке M, то результат - 0.
5) Insert (L, M, A) - вставляет строку L в строку M, начиная с позиции с номером A. Фактически, вставка производится перед указанной позицией.
6) Delete (L, A, B) - удаляет из строки L B символов, начиная с позиции A.
Если номера позиций в функциях Insert и Delete не соответствуют длине рассматриваемых строк, то произойдет ошибка компиляции.
Пример 1: переставить буквы введенного слова в противоположном порядке. Например, ввели "урок", получили - "кору":