Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа 3.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
702 Кб
Скачать
☆

Interface {интерфейс модуля}

uses {подключение других модулей}

const type var

procedure

function

Implementation {реализация }

uses

const

type

var

procedure

function

begin {инициализация }

<операторы> {исполняются один раз перед выполнением }

{операторов программы, включающей модуль }

end.

Пример использования модуля:

Рассмотрим программу, которая включает модуль Math, содержащий функцию power(a,b) возведения числа a в произвольную степень b и функ­цию log(c) вычисления десятичного логарифма числа С.

Исходный текст модуля сохраняем в файле Math.pas: unit Math; interface

function power( base, exponent: real): real; function log ( argument : real): real; implementation

function power( base, exponent: real): real; begin

power:= exp( exponent * ln(base)); end;

function log ( argument : real): real; const base=10; begin

log:= ln(argument) / ln(base); end; end.

После его успешной компиляции создается файл Math.tpu (расширение tpu - Turbo Pascal Unit). Разместим этот файл в том же каталоге, что и текст про­граммы ex_Math.

program ex_Math;

uses Math; {подключение модуля Math} var a, b, c: real; begin readln(a, b, c);

writeln('A в степени B = ', power(a, b)); writeln('Логарифм C по основанию 10 = ', log(C)); end.

3.3. Массивы

Массив - это структура данных, состоящая из фиксированного числа эле­ментов, имеющих один и тот же тип и расположенных в памяти последова­тельно.

Операция выбора элемента массива называется индексацией; синтаксиче­ски она записывается как имя массива, за которым в квадратных скобках следует значение индекса (номера) выбираемого элемента.

Массив - это структура данных с произвольным доступом, то есть время доступа к значению элемента массива не зависит от номера элемента.

Формат описания массива:

array[<размерность>] of <тип элементов>;

Пример1:

type

ArrayType1 = (one, two, three);

ArrayType2 = 1..5;

var

mas_int : array[- 5..5] of integer; mas_real : array[1..7, 1..4] of real; mas_byte1 : array[ArrayType1] of byte; mas_byte2 : array[ArrayType2] of byte;

begin

mas_int[- 4] := 10; mas_real[2, 5] := 10.5; mas_byte1[one]:= 75; mas_byte2[2]:= mas_byte1[one];

end;

Действия над массивами

Над массивами, как едиными целыми, допустимы только операции срав­нения =, <> и операция присваивания. Массивы, участвующие в этих опера­циях, должны иметь одинаковые размерности и типы компонент.

Пример2:

const N=2; M=3;

type massiv= array[1..N, 1..M] of real; {2-мерный массив, N строк и M столбцов}

var

  1. b : massiv;

с :array[1..10] of integer;

  1. j : byte; begin

{ввод значений массива } for i:=1 to 10 do readln(c[i]);

{ элементы вещественного типа

{ описание 2-мерных массивов a и b }

{ описание одномерного массива с из }

{ 10 элементов целого типа}

{индексы элементов массивов}

{инициализация массива a значением переменной i}

for i:=1 to N do

for j:=1 to M do

a[i, j]:=i;

{присвоение элементам b соответствующих значений элементов a }

b:=a; { возможно только для массивов одинакового типа! }

{вывод значений массива b по строкам}

for i:=1 to N do

begin

for j:=1 to M do

begin { вывод i-й строки массива b }

write(b[i, j]); end;

writeln; { переход на новую строку }

end; end.