Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практические работы для ИС-271.doc
Скачиваний:
0
Добавлен:
31.01.2020
Размер:
3.07 Mб
Скачать

Лабораторная работа № 4. Вычисление алгебраических выражений с использованием стандартных процедур и функций языка Pascal.

Цель работы:

  • овладение практическими навыками организации работы в среде TURBO PASCAL

  • научиться разрабатывать и программировать вычислительный процесс линейной структуры

  • приобрести практические навыки по организации отладки и тестирования программ

Оборудование:

  • программная часть - интегрированная среда Turbo Pascal 7.0

  • аппаратная часть - ПЭВМ IBM PC/XT

  • задание на выполнение работы в электронном варианте

Теоретическая часть

Элементы словаря Паскаль принято подразделять на идентификаторы, специальные знаки и зарезервированные слова. Идентификатор – имя элемента программы (константы, переменной, процедуры и т.д.), в них используются прописные и строчные латинские буквы, цифры и символ подчеркивания. Может состоять из произвольного числа символов, но воспринимаются только 63. Первый символ обязательно буква. Идентификатор не должен совпадать с зарезервированными словами. Специальные знаки – операций (=,* и т.д.). зарезервированные слова (begin, end и т.д.) используются только по назначению. Также в программе могут присутствовать константы: целые (+11, 15, -5) и вещественные (34.11, 34Е-2, 5е2) десятичные числа; целое шестнадцатеричное число ($1F, -$AF); логическая (false – ложь, true – истина); строковая (‘Паскаль 7’).

Из элементов составляются предложения, которые заканчиваются символом «;».

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

Разделы могут быть в любой последовательности, но должны быть объявлены раньше, чем используются. Заголовок начинается со слова Program и имени программы, в круглых скобках список параметров через запятые. Тело программы начинается со слова begin, заканчивается end с точкой.

Типы данных

Каждая переменная или константа имеет значение определенного типа. Тип – множество допустимых значений и операций над ними. Выделяются следующие типы: простые; структурированные; указатели; процедурные; объекты. Среди типов есть стандартные (предопределенные) и определяемые. Стандартные достаточно описать в разделе объявления переменных, а определяемые должны быть объявлены в разделе объявления типов или как типизированные константы. К стандартным относятся целые, вещественные, логические типы, символьные char, string, char, текстовый файл - text, тип – указатель - pointer.

Простые типы.

Целые

Тип

Диапазон

Знак

Размер

shorting

от - 128 до 127

знаковый

1 байт

integer

от 32768 до 32767

знаковый

2 байта

longint

от 2 147 4843 648 до 2 147 483 647

знаковый

4 байта

byte

от 0 до 255

беззнаковый

1 байт

word

от 0 до 65535

беззнаковый

2 байта

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

Тип

Диапазон

Число значащих цифр

Размер

real

от 2.9*10-39 до 1.7*1038

11 (для отрицат.)

12 (для положительн.)

6 байтов

single

от 1.5*10-45 до 3.4 *1038

7-8

4 байта

double

от 5.0*10-324 до 1.7*10308

15-16

8 байтов

extended

от 3.4*10-4951 до 1.1*104932

19-20

10 байтов

comp

от – 9.2*1018 до 9.2 *1018

19-20

8 байтов

Логический - boolean ( 1 байт). Значению True (истина) соответствует 1, False (ложь) -0.

Символьный - char (1 байт), определяет набор символов кода ASCII.

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

type typemonth = (jan, feb, mar, ...,dec);

Указанные значения являются идентификаторами, и данному тиру нельзя задать новое значение.

Один т тот же идентификатор может использоваться в определении только одного перечисляемого типа. Максимально 65535. Может рассматриваться как компактное объявление констант.

Тип-диапазон определяет подмножество значений (минимальное и максимальное значение).

Type dig = 48..57; значение все числа от 48 до 57.

Var alf:’a’...’z’; строчные буквы латинского алфавита.

Среди простых принято выделять порядковые. Они имеют конечное число допустимых значений (все кроме вещественных)

Раздел объявления переменных (несколько переменных одного типа можно записать через запятую):

Var имя1,имя2,...,имя N: тип переменной; var p1,i: integer;

Раздел констант: Const имя:тип = значение; const a=12; x: real=1.2;

Раздел объявления типов (после определяются вводимые типы):

Type имя типа = значение типа;

Выражения

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

Операции:

арифметические (+, -, *, /, целочисленное деление div (частное), mod (остаток);

логические (not, and, or, xor – истинно если разные);

отношения (>, <, <>,>=,<=,=).-

Стандартные функции: abs(x), arctan, cos, sin, exp, ln (гатуральный), sqr (квадрат) , sqrt (квадратный корень), pi, frac (дробная часть числа), int (целая).

Приоритеты операций: вычисление значения функции; унарные – not,+,-; умножения- *,/, div, mod, and; сложения- +,-, or, xor; отношения- <,>,=, <=,>=,<>, in.

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

К переменным целого и вещественного типа применимы следующие стандартные функции Паскаль:

Стандартная функция

Выполняемое действие

Тип

аргумента

результата

|x|

abs (x)

real

real

integer

integer

sqr (x)

x2

real

real

integer

integer

sqrt (x)

x1/2

real

real

integer

real

exp (x)

ex

real

real

integer

real

ln (x)

ln (x)

real

real

integer

real

sin (x)

sin (x)

real

real

integer

real

cos (x)

cos (x)

real

real

integer

real

arctan (x)

arctg (x)

real

real

integer

real

Pi

число 3.1415926535897932385

integer

TRUNC(X)

целая часть числа Х

integer

INT(X)

целая часть числа Х

real

FRAC(X)

дробная часть числа Х

real

ROUND(X)

округление до ближайшего целого

integer

Odd(X)

проверка четности целого числа "X"

TRUE (истина), если число нечетное, FALSE (ложь) - если число четное.

Некоторые полезные формулы:

Перевод угла (а) из радианной меры в градусную – а*180/pi

Перевод угла (а) из градусной меры в радианную – pi *а/180

В Паскале отсутствует функция возведения числа в степень, а также нет тригонометрических функций tg(), ctg(), arcsin() и arccos(), но они могут быть реализованы сочетанием стандартных функций:

Для вычисления логарифма по основанию а используем:

Для вычисления степени числа а используем:

Функции, реализуемые через стандартные функции языка.

Длина окружности С и её дуги L.

(а - градусная мера други, - радианная мера, R - радиус).

Площади.

Треугольник: (а – основание, h – высота);

(p- полупериметр, a, b, и с - стороны);

(C- угол противоположный стороне c).

Для равностороннего треугольника (a - сторона треугольника).

Параллелограмм: S=bh (b - основание, h - высота).

Ромб: (d1 и d2 - диагонали).

Трапеция: (а и b - основания, h - высота)

Правильный многоугольник: (P - периметр, а - апофема).

Круг: .

Круговой сектор: (a - градусная мера дуги сектора, - радианная мера, L - длина дуги сектора).

Практическая часть

Пример:

Вычислить выражение ) при x=1,5 y=5,72

Program Lab4;

Const

x = 1.5; y=5.72;

Var

z,d:real;

Begin

Writeln(‘z=?’);

Readln(z);

d := sqrt(x+y*x/z)*(sin(exp(3*ln(x*z-10)+ln(sqr(x));

writeln(‘d=’,d:6:3);

end.

Задания для самостоятельного выполнения

  1. Изучить теоретические сведения по темам «Линейные алгоритмы», «Стандартные функции языка Паскаль», «Типы данных»

  2. Составить блок-схему решения задачи по своему варианту

  3. Разработать программу в среде Turbo Pascal 7.0. Значения исходных данных задать как константы.

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

  5. Ответить на контрольные вопросы.

  6. Результаты выполнения лабораторной работы оформить в виде отчета.

Индивидуальные задания:

Вариант

задания

Расчетные формулы

Значения исходных данных

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Контрольные вопросы

  1. Какие типы величин используются в языке программирования?

  2. Укажите диапазон значений величин целого и действительного типов.

  3. Какие имена переменных допустимы в программе? Как задать тип переменной в программе?

  4. Укажите имена стандартных функций для вычисления квадратного корня из суммы квадратов двух величин.

  5. Можно ли в качестве операнда в арифметическом выражении использовать: б) имя стандартной функции, в)имя переменной логического типа?

  6. Назвать последовательность действий при выполнении арифметического оператора присваивания. Допустимо ли использование величин разных типов в арифметическом выражении?

  7. Напишите арифметический оператор присваивания для вычисления значения

  1. Укажите средства, имеющиеся в языке программирования для управления размещением данных на строке. Как организовать вывод значений, сопровождая выводимое числовое значение наименованием переменной? Как организовать пропуск одной, двух строк при выводе?

  2. Как выбрать значения исходных данных для тестового варианта счета?