Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Переменные комплексного типа



Данные комплексного типа ( complex ) в программе записываются в скобках в виде (x, y), где x и y – выражения (константы, переменные) вещественного типа, представляющие собой вещественную и мнимую части комплексного числа. Если переменная c имеет тип complex, то обратиться к ее вещественной и мнимой частям можно как к полям записи: c.re и c.im.

Например:

const c1 = (0, 1);
var c: complex;
...

c.re: = 2*c.im;

c: = c1*c+(c.im, c.re);

Для работы с переменными типа complex также используются стандартные функции: abs, sin, cos, exp, ln, sqrt. Кроме того применяется функция conj( C ), возвращающая значение, комплексно сопряженное к C, и функция carg( C ), возвращающая главное значение аргумента комплексного числа C, которое находится в числовом диапазоне (-Pi, Pi).

 

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

Ниже приводятся три простейшие программы линейной структуры, в которых используются оператор присваивания и процедуры ввода-вывода.

Пример 1 . Вычислить площадь прямоугольника по размерам сторон А и В. Обозначим площадь переменной S, тогда необходимо найти S = A*B.

Программа набирается в окне редактора и исполняется клавишей [F9]:

Program RECT; {заголовок программы с именем RECT}

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

A=2; B=3; {объявление констант А и В}

var {заголовок раздела описания переменных}

S: integer; {объявление переменной S целого типа}

begin {начало основного блока программы}

S: = A*B; {оператор присваивания}

write( ' Площадь прямоугольника = ', S); {процедура вывода данных}

end. {конец основного блока}

В результате выполнения программы (Ctrl+F9) на экран выводится сообщение: Площадь прямоугольника = 6.

Пример 2. Найти площадь равностороннего треугольника.

Если сто­роны треугольника имеют размер А,

то его площадь S = A2 sin(π /3)/2.

Схема алгоритма (СА) реализации этой задачи (рис. 4)

выполнена по ГОСТ 19.701-90 (прил. 1).

Текст программы:

Program TREUG;

var

A, S: real;

Begin

writeln( ' Введите A ' ); {процедура вывода текста}

read(A); {процедура ввода исходных данных}

S: = SQR(A) * sin (PI / 3) / 2;

writeln (' Результат: S= ', S: 6: 2, ' для A= ', A);

End.

После выполнения программы на экран выводится сообщение

Результат: S = 10.83 для А = 5.

Предварительно рассчитанный на калькуляторе результат для А = 5 составил S = 10.8253, что подтверждает правильность работы программы.

Пример 3. Вычислить функцию y сначала при х = 0, а затем при х = 2:

,

где A = 1.2, B = 0.5, C = -0.8.

Получаем следующий текст программы:

Program Fun;

Const

A = 2; B = 0. 5; C = -0. 8;

Var

X: integer; // переменная X целого типа

Y: real; // переменная Y вещественного типа

Begin

writeln( ' Введите Х ' ); {процедура вывода текста}

read( X ); // введите значение переменной X

Y: = A*EXP(-C*X) - C*cos(B*X) +1;

writeln( ' X= ', X: 3, ' Y= ', Y: 8: 3); // вывод значений X и Y

End.

Задания к самостоятельному выполнению (программа_1_1)

Вычислить значение некоторой функции, зависящей от констант a, b, c и переменной X, два значения x1 и x2 для которой заданы в таблице.

x1 x2 a b c Вычислить
1 2 3 4 5 6 7
1.5 -0.7
0.7 - 2.1
1.5 1.2
4.1 -2.3 -
-1 0.5 1.5
0.5 1.3 -
0.5 -
-1 2.7 1.7 -
π /2 0.7 0.5
0.5 2.9 1.5
1.5 -1.2 -
0.5 1.7
-1 0.5 1.2 -
0.5 3.1 -
0.5 3.2 -
-
1 2 3 4 5 6 7
-1 -
-1 π /6 0.5

В следующих заданиях необходимо самостоятельно разработать алгоритмы решения и отладить программы (программа_1_2).

1. Идет k секунда суток. Определить, сколько целых часов (h) и целых минут (m) и секунд (s) прошло к этому моменту.

2. Определить площадь трапеции с основаниями а, b, высотой h и объем усеченного конуса, если считать а, b – площадями оснований.

3. Определить координаты центра тяжести трех материальных точек с массами m1, m2, m3 и координатами (x1, y1), (x2, y2), (x3, y3).

4. Вычислить по заданному радиусу R объем шара и площадь круга, найти соотношение между ними.

5. Вычислить медианы треугольника по заданным сторонам a, b, c.

6. Вычислить площадь поверхности и объем конуса по заданным радиусам и высоте h.

7. По заданному радиусу R найти объем шара и площадь его поверхности.

8. Вычислить, какая идет секунда суток при положении стрелок в h часов, m минут и s секунд, а также угол (в градусах) между положением часовой стрелки в начале суток и ее положением в указанный момент.

9. Ввести двузначное целое число х< 15. Написать программу перевода его в восьмеричную систему счисления.

10. Ввести координаты двух точек (х1, y1), (x2, y2). Найти расстояние между ними.

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЕННЫХ АЛГОРИТМОВ

Логические выражения

Как известно, логическая константа может принимать только два значения: FALSE (ложь) и TRUE (истина). Переменные логического типа объявляются ключевым словом BOOLEAN в разделе описания переменных VAR и также могут принимать только два значения FALSE или TRUE (FALSE< TRUE).

Для данных логического типа значению FAL­SE соответствует в компьютере число 0, значению TRUE – число 1, которые записываются в ячейку памяти длиной 1 байт [6, 7].

Для значений TRUE и FALSE справедливы следующие функции:

ord (FALSE) = 0; ord (TRUE) = 1;

succ (FALSE) = TRUE;

pred (TRUE) = FALSE.

Простым логическим выражением называется выражение, содержащее только логические операнды (константы или переменные типа Boolean). В сложных логических выражениях кроме логических операндов используются бинарные и/или унарные логические операции, а также стандартные функции (табл. 2) и операции отношений: <, < =, >, > =, =, < > .

Операции отношения также относятся к операциям логического типа. Их можно использовать для проверки соотношений между переменными и константами типов real, integer, char, string. Например: a < b, x> =0, x=y и т.д.

К бинарным операциям относятся логические операции: AND (логическое " И" ), OR (логическое " ИЛИ" ), XOR (" исключающее ИЛИ" ), а к унарным - операция NOT (отрицание " НЕ" ).

В логических выражениях без скобок согласно приоритету логических операций (см. табл. 1) сначала выполняется операция NOT, затем AND, после неё OR и XOR, а в последнюю очередь - операции отношений.

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

Операция конъюнкции and (логическое умножение) в логическом выражении A and B дает результат true (истина), если A и B имеют значение true, иначе во всех остальных случаях – false (ложь).

Операция дизъюнкции or (логическое сложение) в логическом выражении A or B дает результат false, если A и B одновременно имеют значение false, во всех остальных случаях – true.

Операция инверсии not (логическое отрицание) в логическом выражении not A дает результат true, если A = false и, наоборот, при A = true выражение not A примет значение false.

Для переменных логического типа определена также операция присваивания.

Пример:

VAR С, D: REAL;

X, Y, A, B: BOOLEAN;

BEGIN

X: =A OR B;

Y: = (C> 0) AND (C< D); …

END.

Логический результат дает стандартная функция ODD(x) проверки на нечетность числа x, функции EOLN (f) проверки конца строки и EOF(f) определения конца файла f.

 

Условный оператор IF

Условный оператор позволяет проверить некоторое условие и в зави­симости от результата проверки этого условия выполнить то или иное действие, т.е. создать ветвление в программе.

Структура условного оператора в полной форме имеет следующий вид:

IF < условие> THEN < оператор1> ELSE < оператор2>;

(если) (то) (иначе)

где < условие> - это выражение логического типа, которое может принимать только два значения: TRUE (истина) или FALSE (ложь).

Правило выполнения условного оператора. Вначале вычисляется значение < условия>, стоящего за IF. Если результат условия исти­нен (TRUE), то выполняется только < оператор1>, а < оператор2> пропускается и выполняется следующий оператор. В против­ном случае выполняется < оператор2>, а < оператор1> пропускается и выполняется следующий оператор в программе.

Структура условного оператора в сокращенной форме следующая:

IF < условие> THEN < оператор1>;

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

В качестве < оператор1> или < оператор2> по синтаксису может выполняться толь­ко один оператор Паскаля. Для выполнения послеTHEN или после ELSE неcколь­ких операторов применяется составной оператор с операторными скобками ( BEGIN END ).

Несколько условных опеpатоpов могут быть вложены друг в друга. Ниже приведен пример вложения для трёх условных опеpатоpов:

IF < условие1> THEN

IF < условие2> THEN

IF < условие3> THEN < оператор3> ELSE < оператор4>

ELSE < оператор2>

ELSE < оператор1>;


Поделиться:



Последнее изменение этой страницы: 2017-03-16; Просмотров: 677; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.029 с.)
Главная | Случайная страница | Обратная связь