- •Лабораторная работа №1. Работа в среде Norton Commander
- •Лабораторная работа n 2. Среда программирования turbo pascal 7.0
- •Лабораторная работа n 3. Программирование в среде turbo pascal 7.0
- •Лабораторная работа n°4.Ознакомление со средствами компиляции и отладки в среде Turbo Pascal 7.0.
- •Лабораторная работа n 5. Ввод/вывод на языке программирования Паскаль
- •Лабораторная работа n 6.Программирование алгоритмов линейной структуры
- •Лабораторная работа n 7. Программирование алгоритмов ветвящейся структуры
- •Лабораторная работа n 8. Программирование алгоритмов циклической структуры
- •Лабораторная работа n 9.Одномерные массивы
- •Лабораторная работа n 10. Многомерные массивы
Лабораторная работа n 6.Программирование алгоритмов линейной структуры
===============================================
Цель и задача работы : научиться использовать внутренние функции.
---------------------- Понятие арифметический оператор. В данной
работе требуется написать программу, вводя-
щую данные с клавиатуры, обрабатывающую их
с помощью внутренних функций и выводящую
результат на экран дисплея.
Теоретические положения.
------------------------
Арифметический оператор присваивания служит для вычисления
значений арифметического выражения и присваивания этого значения
переменной арифметического типа (типа REAL или INTEGER).
Формат арифметического оператора присваивания:
оператор-присваивания = (переменная!идентификатор-функции)
":=" выражение
выражение = простое-выражение [операция-отношения простое выражение]
простое-выражение = [знак] терм (*операция-типа-сложения терм*)
операция-тпа-сложения = "+" ! "-" ! "OR"
терм = множитель (*операция-типа-умножения множитель*)
Mножитель = идентификатор-переменной ! константа-без-знака !
идентификатор-функции ! "("выражение")" ! NOT множитель
операция-типа-умножения = "*" ! "/" ! "DIV" ! "MOD" ! "AND"
знак = "+" ! "-"
операция-отношения = "=" ! "<>" ! "<" ! ">" ! "<=" ! "=>" !
"IN".
Арифметическое выражение состоит из переменных, констант, ука-
зателей функций. Для изменения порядка выполнения операций исполь-
зуются круглые скобки.
Оператор присваивания заменяет текущее значение переменной
новым значением, определяемым выражением.
Обратим внимание, что между выражением и переменной должны су-
ществовать отношения: тождественности или совместимости, или совмес-
тимости по присваиванию.
Типы, указанные в двух и более различных местах программы,
называются тождественными, если в этих местах используется один и
тот же идентификатор типа или используются различные идентификато-
ры, определенные как эквивалентные друг другу с помощью определения
типа вида T1=T2.
Два типа называются совместимыми, если они тождественны или один
является интервалом другого, или оба они - интервалы одного и того
же типа, или они типы SET совместимых базовых типов.
Выражение типа T2 совместимо по присваиванию с выраженим типа
T1, если любое из следующих утверждений истинно:
- T1 и T2 тождественны, и не один из них не есть тип FILE или
структурированный тип с компонентами типа FILE;
- T1 - вещественный тип, T2 - целый;
- T1 и T2 - совместимые по присваиванию типы, и значение T2 лежит в
замкнутом интервале, задаваемом типом T1;
- T1 и T2 - совместимые типы SET, и все значения множества T2
лежат в замкнутом интервале, задаваемом типом T1;
в языке программирования Паскаль предусмотренно две категории
арифметических операций : мультипликативные (*,/,DIV,MOD) и аддитивные (+,-).
Операции над целыми числами:
- - вычитание
+ - сложение
* - умножение
DIV - деление с отсечением (отбрасыванием) дробной части
MOD - взятие остатка от деления
операции над вещественными числами:
- - вычитание
+ - сложение
* - умножение
/ - деление
старшинство операций :
1) унарный минус
2) мультипликативные
3) аддитивные
операции одинаковые по старшинству, выполняются слева направо
в порядке их появления.
Внутренние (встроенные) функции языка :
---------------------------------------
ABS(X) - абсолютная величина, если аргумент целого типа, то ре-
зультат целого типа, если аргумент вещественного типа,
то результат вещественного типа.
SQR(X) - Квадрат выражения X, аргумент и результат функции всегда
целого типа.
TRUNC(X) - Возвращается целая часть числа, аргумент вещественного
типа, результат целого типа.
ROUND(X) - Округление чисел, аргумент вещественного типа, результат
целого типа.
SUCC(X) - X Переменная перечисляемого типа, результат следующее за
X значение этого типа.
PRED(X) - X Переменная перечисляемого типа, результат предшествую-
щее X значение этого типа.
Функции, возвращающие вещественный результат при вещественном
или целом аргументе.
SQRT(X) - Квадратный корень из X
SIN(X) - синус, аргумент в радианах
COS(X) - косинус, аргумент в радианах
ARCTAN(X)- арктнгенс, результат в радианах
LN(X) - натуральный логарифм (по основанию E)
EXP(X) - экспонента (E в степени X)
Функции работающие с символьными переменными.
CHR(X) - Возвращает символ, соответствующий числу (коду) X
X : (0..255) (Если число не входит в указанный диа-
зон, то генерируется ошибка)
ORD(X) - возвращает целое число (код) символа X
Логические функции.
ODD(X) - X-Значение целого типа, возвращает TRUE, если X-нечетно,
иначе FALSE
EOF(F) - возвращает TRUE, если достигнут конец файла F, иначе
FALSE
EOLN(F) - возвращает TRUE, если достигнут конец строки в файле
F, иначе FALSE
Варианты заданий :
------------------
1) Вычислить значение производной функции LN(COS(X)) в точке A
(A<>п/2+пN)
2) Для заданоного X вычислить значение функции Y=CTG(X), X : (0,2п)
3) Вычислить дробную часть среднего арифметического двух заданных
положительных вещественых чисел
4) По заданным коэффициэнтам и правым частям уравнений системы
+-
I A1X+B1Y=C1,
I A2X+B2Y=C2;
+-
найти ее решение в предположении, что уравнения линейно-неза-
висимы
5) Вычислить длину окружности, площадь круга и об'ем шара одного
и того же заданного радиуса R
6) Вычислить периметр, площадь и гипотенузу прямоугольного треу-
гольника по заданнм длине одного из катетов и противолежащему
ему углу (в градусах)
7) По координатам трем вершин треугольника найти его площадь и
периметр, если такой треугольник может существовать
8) По длине двух сторон треугольника и углу между ними (в граду-
сах) найти длину третьей стороны и площадь этого треугольника
9) Найти произведение и сумму цифр заданного двухзначного целого
числа
10) Решить уравнение A*X*X+B*X+C=0 (A,B,C - заданные коэффициэнты)
в области действительных чисел (без использования теор. Виета)
11) Решить уравнение A*X*X+B*X+C=0 (A,B,C - заданные коэффициэнты)
в области действительных чисел (с использованием теор. Виета)
12) Для заданных вещественных чисел A и B определить максимальное
и минимальное число
13) Определить, равна ли сумма двух первых разрядов заданного че-
тирехзначного целого числа, сумме двух его последних разрядов
14) Определить, есть ли среди цифр заданного N-значного целого числа
одинаковые цифры
15) Даны три произвольных вещественных числа. Требуется определить,
можно ли построить треугольник с такими длинами сторон
16) Даны координаты (целого типа от 1 до 8) двух полей шахматной
доски. Определить, может ли конь за один ход перейти с одного
из этих полей на другое
17) Определить, есть ли среди первых N цифр заданного целого числа
цифра K
18) Вычислить периметр и площадь правильного N-угольника, вписан-
ного в окружность радиуса R (N - целого типа, R - вещественного
типа)
19) Представить комлексное число <A+IB> (A,B вещественные) в гео-
метрической форме
20) Задан вектор с координатами (X1,Y1) и (X2,Y2). Определить угол
наклона вектора к оси OX
21) Вычислить сумму цифр четных разрядов и сумму цифр нечетных раз-
рядов в заданном целом числе (разряды начинаются нумероваться с
нуля)
22) В заданном целом числе записать цифры в обратном порядке
23) Вычислить значение функции в заданной точке X
F(X)=TG(X)*LN(X), где X>0
24) Окружность вписана в квадрат (заданаплощадь этого квадрата)
найти площадь квадрата вписанного в эту окружность, во сколько
раз площадь уменьшилась
25) Вычислить расстояние между двумя точкми с заданными координа-
тами (X1,Y1) и (X2,Y2). Определить угол наклона прямой, прохо-
дящей через эти точки, к оси OY.
26) Заданы 2 вектора с координатами (X1,Y1,Z1) и (X2,Y2,Z2).
Определить угол между векторами.
27) Вычислить площадь и периметр правильного N-угольника, описанного
около окружности радиуса R (N - целого типа, R - вещественного
типа).
28) Вычислить произведение цифр 4-значного числа.
29) Определить, во сколько раз площадь круга радиуса R больше пло-
щади его сегмента, отсеченного хордой длины A.
30) Найти частное произведений четных и нечетных цифр 4-значного
числа.
31) Задан вектор с координатами (X,Y,Z). Найти углы наклона этого
вектора к координатным осям.
32) Найти площадь круга, вписанного в треугольник с заданными сторонами.