Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Информатика. Практикум

.pdf
Скачиваний:
1
Добавлен:
24.11.2025
Размер:
5.18 Mб
Скачать

8.Ставровский, А.Б. Турбо Паскаль 7.0: учебник / А.Б. Ставров-

ский. – М.: Нолидж, 2000. – 399 с.

9.Вальвачев, А.Н. Программирование на языке Паскаль для персональных ЭВМ ЕС: справочное пособие / А.Н. Вальвачев, В.С. Крисевич. – М.: Высшая школа, 1989. – 223 с.

10.Мудров, А.Э. Численные методы для ПЭВМ на языках Бейсик, Фортран и Паскаль / А.Э. Мудров. – Томск: МП «Раско»,

1991. – 272 с.

11.Калиткин, Н.Н. Численные методы / Н.Н. Калиткин. – М.:

Наука, 1978. – 512 с.

12.Волков, Е.А. Численные методы / Е.А. Волков. – М.: Наука,

1987. – 248 с.

13.Чичко, О.И. Алгоритмы и технология решения задач матричного исчисления в MS EXCEL: учебное пособие / О.И. Чичко, В.И. Махнач, А.Н. Чичко. – Минск: БНТУ, 2005. – 105 с.

14.Чичко, А.Н. Информатика / А.Н. Чичко, Е.А. Дроздов. –

Минск: БНТУ, 2000. – 151 с.

15.Чичко, О.И. Алгоритмы и технология решения численных задач

вMS EXCEL / О.И. Чичко, В.И. Махнач, А.Н. Чичко. – Минск:

БНТУ, 2005. – 101 с.

16.Чичко, А.Н. Информатика: учебно-методическое пособие / А.Н. Чичко, А.С. Бороздин. – Минск: БНТУ, 2003. – 187 с.

291

ПРИЛОЖЕНИЯ

ПРИЛОЖЕНИЕ 1 КРАТКИЕ СВЕДЕНИЯ О ЯЗЫКЕ PASCAL

П 1.1. Алфавит языка Pascal

Язык Pascal включает следующий набор основных символов: 1) 26 латинских строчных и прописных букв:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z;

2)символ подчеркивание «_»;

3)10 цифр (0 1 2 3 4 5 6 7 8 9);

4)

знаки операций ( +

-

*

/

=

<>

<

>

<=

>=

:= @);

5)

ограничители: (. ,

'

(

)

[

] (.

.)

{}

(*

*) ..

: );

6)спецификаторы: ( ^ # $);

7)служебные (зарезервированные) слова:

ABSOLUTE

FILE

MOD

SHR

AND

FOR

NIL

STRING

ARRAY

FORWARD

NOT

THEN

BEGIN

FUNCTION

OF

TO

CASE

GOTO

OR

TYPE

CONST

IF

PACKED

UNIT

DIV

IMPLEMENTATION

PROCEDURE

UNTIL

DO

IN

PROGRAM

USES

DOWNTO

INLINE

RECORD

VAR

ELSE

INTERFACE

REPEAT

WHILE

END

INTERRUPT

SET

WITH

EXTERNAL

LABEL

SHL

XOR

Кроме того, в набор основных символов входит пробел « ».

П 1.2. Элементарные конструкции

Элементарные конструкции языка Pascal включают в себя имена, числа и строки.

292

Имена (идентификаторы) – это элементы языка: константы, метки, переменные, процедуры, функции и т. д. Имя – это последовательность букв и цифр, начинающаяся с буквы. В именах может использоваться символ «подчеркивание». В качестве имен не разрешается использовать служебные слова и стандартные имена, которыми названы стандартные константы, типы, процедуры, функции и фай-

лы.

 

 

 

Примеры правильных имен языка Pascal:

 

M, bFlag,

iMax,

OutFile,

F_1

Примеры неправильных имен языка Pascal:

 

1qwick,

Begin, function

 

 

Числа в языке Pascal обычно записываются в десятичной системе счисления. Они могут быть целыми и действительными. Действительные числа записываются в форме с десятичной точкой или в форме с использованием десятичного порядка, который изображается буквой Е:

32.1, -0.06, 3Е7, 2.3Е-12.

Строки в языке Pascal – это последовательность символов, записанных между апострофами:

‘Строка 1’, ‘Введите а’, ‘Значение функции = ’.

Выражение состоит из констант, переменных, указателей функций, знаков операций и скобок. Выражение задает правило вычисления некоторого значения. Порядок вычисления определяется старшинством (приоритетом) содержащихся в нем операций.

Основные операции языка Pascal представлены в табл. П 1.1. Для изменения приоритета операций необходимо использовать скобки.

 

 

 

Таблица П 1.1

 

 

 

 

Операция

Описание

Пример

Приоритет

=

Равно

A = B

4

+

Сложить

A + B

3

Вычесть

A – B

3

/

Делить

A / B

2

*

Умножить

A * B

2

<>

Не равно

A <> B

4

<

Меньше

A < B

4

>

Больше

A > B

4

not

Отрицание

not A

1

and

Логическое «и»

A and B

2

293

or

Логическое «или»

A or B

3

В табл. П 1.2 приведены некоторые математические функции языка Pascal, использованные в заданиях и примерах учебного пособия. Наиболее высокий приоритет имеет операция отрицания, затем следующий уровень приоритета имеют операции «умножить», «делить», логическое «и». Самый малый уровень приоритета имеет операция «равно».

Таблица П 1.2

Функция

Назначение

exp(x)

Вычисление экспоненты x

ln(x)

Вычисление натурального логарифма x

abs(x)

Вычисление абсолютной величины x

sqr(x)

Вычисление квадрата величины x

sqrt(x)

Извлечение корня x

trunc(x)

Получение целой части значения x ( результат Integer)

round(x)

Округление в сторону ближайшего целого x

odd(x)

True – если x – нечетное и False – если x – четное

frac(x)

Вычисление дробной части x

int(x)

Вычисление целой части x (результат Real)

pi

Возвращает число (пи)

sin(x)

Вычисление синуса x

cos(x)

Вычисление косинуса x

arctan(x)

Вычисление арктангенса x

В языке Pascal имеются минимальные возможности для вычисления функций, поэтому сложные функции строятся на основе элементарных. При использовании сложных тригонометрических и логарифмических функций рекомендуется использовать следующие формулы:

arcsin(x) = arctg x(1 x2 ) 1/ 2 , если x(1 x2 )

;

arccos(x) = pi/2 – arcsin(x);

 

arctctg(x) = pi/2 – arctg(x);

 

sec(x) = 1/cos(x), если cos(x) 0;

 

tg(x) = sin(x)/cos(x), если cos(x) 0;

 

log a (x) = ln(x)/ln(a);

 

x A eln x A

exp(A*ln(x)) , если x > 0.

 

294

Пример. Записать фрагмент выражения y (cos(x) 1)7 в языке

Pascal.

Y := cos(x) + 1; или Y := exp(7*ln((cos(x)+1)) Y :=exp(7*ln(Y));

Пример. Записать выражение y ln73 (cos3 (x)) в языке Pascal с учетом области определения функции.

If (cos(x) > 0) and (Ln(cos(x)* cos(x)* cos(x)) > 0) then

Y := exp(7/3*ln(ln(cos(x)*cos(x)*cos(x))));

П 1.3. Структура программы на языке Pascal

Структура программы на языке Pascal имеет вид

Program <имя программы>;

Uses <подключаемые модули>;

Label {раздел описания меток, используемых в программе } Const {раздел описания констант, используемых в программе} Type {раздел описания типов, используемых в программе} Var {раздел описания переменных, используемых в программе} {раздел описания процедур и функций}

Procedure <имя процедуры>; <тело процедуры>;

Function <имя функции>; <тело функции>;

{раздел операторов основной программы}

Begin

<операторы>;

End.

После зарезервированного слова Program идет название программы. Любой раздел, кроме раздела операторов, может отсутствовать. Все используемые объекты программы должны быть описаны в соответствующих разделах.

Рассмотрим примеры использования различных элементов программы:

295

Uses Crt, Dos;{подключение библиотечных модулей crt и dos} Const {раздел описания констант}

Point_beg =3.80, Point_End = 130, M = 3.1415, M1 = 100;

Type {раздел описания типов}

{описание типа Mas, как двухмерного массива}

Mas = Array [1..20,1..40] of Real;

{описание типа MM как одномерного массива размером 40}

MM = Array[ 1..40] of Integer;

Var {раздел описания переменных}

A,B,C : Real;

{описание переменных вещественного типа}

i

: Integer;

{описание

переменной

i - целого типа}

k

: Byte;

{описание

переменной

k - байтового типа}

П 1.4. Типы данных

Каждая константа, переменная, выражение или функция в языке Pascal имеет свой тип. Тип определяет множество допустимых значений, а также операции и функции, которые могут быть применимы к переменным, константам и другим величинам, принадлежащим данному типу. Типы в языке Pascal могут быть простыми и структурированными. Простые типы подразделяются на стандартные и пользовательские. Стандартными типами являются целые, вещественные, логический тип (Boolean), символьный (Char). К пользовательским типам относятся перечисляемый и интервальный типы. Представителями структурированных типов в языке Pascal являются массивы, файлы, записи и множества.

Описание переменной производится перед ее использованием в разделе описания переменных и имеет следующую форму записи:

Var

<имя переменной> : <тип>;.

Целые типы

Характеристики целых типов данных представлены в табл. П 1.3.

 

 

Таблица П 1.3

 

 

 

Тип

Требуемая память (байт)

Диапазон значений

Shortint

1

–128–127

Integer

2

–32 768–32 767

Longint

4

–2 147 483 648–2 147 483 647

Byte

1

0–255

Word

2

0–65 535

296

Пример описания переменных

Var

 

 

 

 

I, J

: Byte;

{целые переменные типа Byte}

Temp, T : Integer; {целые

переменные типа

Integer}

MaxA

: Word;

{целая

переменная типа

Word}

Вещественные типы

Числа действительного типа могут быть представлены в двух видах: числом с фиксированной и с плавающей точкой (экспоненциальная форма). Число с фиксированной точкой изображается десятичным числом с дробной частью (дробная часть может быть нулевой), напри-

мер 127.3, 25.0, -16.003, 200.59, 0.54. Число с плавающей точкой имеет вид <мантисса>E<порядок>, где <мантисса> – вещественное число в форме с фиксированной точкой, <порядок> – целое число. Буква Е может быть строчной или заглавной. Как мантисса, так и порядок могут содержать знаки «+» и «–». Эту запись следует понимать как произведение мантиссы на 10 в степени, равной порядку. Примеры записи действительных чисел приведены в табл. П 1.4.

 

Таблица П 1.4

 

 

Математическая запись

Запись с плавающей точкой

0,000009

9Е–6

0,62 104

0.62Е+4

–10,8 1012

–10.8Е12

20 10-3

20Е-3

В табл. П 1.5 представлены характеристики вещественных типов данных.

 

 

 

 

 

 

 

Таблица П 1.5

 

 

 

 

 

 

 

 

 

 

 

Память

Число

 

 

 

 

 

 

 

Тип

значащих

Область допустимых значений

(байт)

 

цифр

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

38

Real

6

11–12

 

-2.9. 10-39

 

2.9. 10-39 1.7.

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-1.7.

1038

 

 

 

 

 

 

 

 

 

[ 1,7 1038; 2,9 10 39 ]

 

 

 

 

 

 

[2,9 10 39 ;1,7 1038 ]

 

 

297

 

 

 

 

 

 

Окончание табл. П 1.5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Память

Число

 

 

 

 

 

 

 

 

 

 

 

 

 

Тип

значащих

Область допустимых значений

(байт)

 

цифр

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

5.10-324

1.7. 10308

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-5.10 -324

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Double

8

15–16

-1.7.

10308

 

 

 

 

 

 

 

 

 

 

 

 

[

1,7 10308;

 

 

 

 

5 10 324 ]

 

 

 

 

 

[5 10 324;1,7 10308 ]

 

 

 

 

 

 

 

0

 

3.4. 1038

 

 

 

 

 

 

 

 

 

 

1.5.10 -45

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-1.5. 10-45

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Single

4

7–8

-3.4.

1038

 

 

 

 

 

 

 

 

 

 

 

 

[

3,4 1038;

 

 

 

1,5 10 45 ]

 

 

 

 

 

[1,5 10 45; 3,4 1038 ]

 

 

 

 

 

 

 

0

 

 

 

 

4932

 

 

 

 

 

 

 

 

 

1.9. 10-49511.1. 10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-1.9.10 -4951

 

 

 

 

 

 

 

 

Extended

10

19–20

-1.1.

104932

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[ 1,1 104932 ; 1,9 10 4951]

 

 

 

 

[1,9 10 4951;1,1 101932 ]

 

 

 

 

 

 

 

0

 

 

9.2. 1018

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Comp

8

 

-9.2. 1018

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-263 + 1 .. 263 – 1

 

 

 

 

 

 

 

 

 

[ 9,2 1018 ; 9,2 1018 ]

 

 

Примечание:

1)во всех указанных дипазонах нуль входит в область значений типа;

2)тип Comp содержит только целочисленные значения в диапазоне от –263+1 до 263–1, что приблизительно равно –9,2·1018 и 9,2·1018.

Например, числа типа Real могут принимать как положительные, нулевые, так и отрицательные значения и изменяться в

298

диапазоне от –1,7 1038 до 1,7 1038, минимальным ненулевым аб-

солютным значением для них

является 2,9 10

39 2,9

. Они

 

39

 

 

 

 

 

10

 

имеют точность 11–12 знаков,

т. е. числа, отличающиеся в

13 знаков, будут представлены одинаково.

 

 

 

Пример описания переменных

 

 

 

 

Var

A, b : Real; {вещественные переменные типа Real} P_1 : Double; {вещественная переменная типа Double}

e : Extended; {вещественная переменная типа Extended}

Логический тип (Boolean)

Логические типы переменных имеют два значения: истина (True) и ложь (False), занимают один байт памяти.

Пример описания переменных

Var b1, D : Boolean;

Символьный тип (Char)

Символьные типы переменных Char могут принимать значения из множества символов ASCII, занимают один байт памяти.

Пример описания переменных

Var С1, c2 : Char;

Строковый тип (String)

Для описания строки символов используется тип String:

<имя переменной> : String [<длина строки>];

где параметр <длина строки> указывает значение максимально допустимой длины строки. Параметр <длина строки> может быть опущен, тогда максимальная длина строки равна 255 символам.

Пример описания переменных

Var

S1 : String [100]; {строка, состоящая из 100 символов} Str2 : String [12]; {строка, состоящая из 12 символов}

299

Массивы

Массивы – это формальное объединение нескольких однотипных объектов, рассматриваемых как единое целое.

Описание одномерного массива:

Var

<имя массива> : Array [Нач_индекс..Кон_индекс] of <тип элементов>;

где параметры Нач_индекс, Кон_индекс указывают начальное и конечное значение индексов массива.

Доступ к элементу одномерного массива осуществляется через индекс (обычно целое число, являющееся порядковым номером элемента массива).

Пример описания одномерных массивов

Var

A : Array [1..10] of Integer;

B : Array [0..5] of String[7];

В данном примере описаны следующие переменные:

а) А – одномерный целый массив, состоящий из 10 элементов, первому элементу массива соответствует A[1], второму элементу – A[2], …, десятому элементу – A[10];

б) B – одномерный строковый массив, состоящий из шести элементов, первому элементу массива соответствует B[0], второму – B[1], …, шестому элементу массива – B[6].

Описание двумерного массива (матрицы)

Var

<имя массива> : Array [Нач_инд1..Кон_инд1,Нач_инд2..Кон_инд2] of

<тип>;

где параметры Нач_инд1, Кон_ инд1 указывают начальное и конечное значение номеров строк массива, параметры Нач_инд2, Кон_ инд2 указывают начальное и конечное значение номеров столбцов массива.

Пример описания двумерных массивов

Var

C : Array [1..3, 1..5] of Real;

D : Array [0..4, 1..2] of Byte;

300