
- •Программирование линейных вычислительных процессов
- •Типы данных
- •Варианты задания.
- •Цель работы
- •Управление выбором действий
- •Контрольные вопросы
- •Варианты задания
- •Программирование циклических процессов с использованием оператора repeat - until
- •Контрольные вопросы
- •Варианты задания
- •Программирование циклических процессов с известным числом повторений цикла
- •Контрольные вопросы
- •Варианты задания
- •Уточнение корня уравнения
- •Контрольные вопросы
- •Варианты задания
- •Программирование вложенных циклических вычислительных процессов
- •Контрольные вопросы
- •Варианты задания
- •Библиографический список
- •Содержание
Варианты задания.
Выяснить характер поведения функции, вычисляя ее для различных значений аргумента t, взятых из заданного диапазона. Количество точек - 7.
Таблица 4.
Вариант |
Формула |
k |
d |
Вариант |
Формула |
k |
d |
1 |
1 |
0.5 |
3.0 |
14 |
2 |
0.45 |
|
2 |
2 |
0.4 |
|
15 |
3 |
0.5 |
2.0 |
3 |
3 |
0.65 |
2.0 |
16 |
4 |
0.6 |
1.5 |
4 |
4 |
0.5 |
1.5 |
17 |
5 |
0.55 |
|
Окончание таблицы 4 | |||||||
5 |
5 |
0.45 |
|
18 |
6 |
0.25 |
|
6 |
6 |
0.5 |
|
19 |
1 |
0.45 |
3.0 |
7 |
1 |
0.4 |
3.1 |
20 |
2 |
0.65 |
|
8 |
2 |
0.5 |
|
21 |
3 |
0.55 |
2.0 |
9 |
3 |
0.6 |
2 |
22 |
4 |
0.55 |
1.4 |
10 |
4 |
0.4 |
1.3 |
23 |
5 |
0.4 |
|
11 |
5 |
0.65 |
|
24 |
6 |
0.35 |
|
12 |
6 |
0.45 |
|
25 |
1 |
0.65 |
3.5 |
13 |
1 |
0.6 |
3.2 |
26 |
2 |
0.6 |
|
Используемые в таблице 4 формулы:
1),
где
;
2)
;
3),
где
;
4),
где
;
5)
,t
= [0, 2];
6)
,
где
.
Лабораторная работа 2
ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ ПРОЦЕССОВ
Цель работы
Изучение управляющих конструкций языка, позволяющих производить принятие как альтернативных, так и вариативных решений.
Методические указания
Реализация действий в программе в соответствии с некоторым условием предполагает использование объектов еще одного стандартного типа данных - логического типа. Логический или булевский тип (по имени создателя формальной логики ирландского математика 19 века Д. Буля) описывается служебным словом boolean и характеризуется двумя значениями - false (ложь) и true (истина). Указанные значения получаются в результате применения операций отношения (сравнения). В языке имеются также стандартные логические операции, которые позволяют вместе с операциями отношения строить сложные логические выражения. Логические операции представлены ниже в таблице в порядке убывания их приоритета: отрицание (НЕ - not), конъюнкция (И - and), дизъюнкция (ИЛИ - or) и исключающее (ИЛИ – xor). При составлении сложных логических выражений с участием логических операций следует использовать круглые скобки: (x>=0) and (y<=0). Turbo Pascal 7.0 для совместимости с другими языками и с Windows использует также логические типы Bytebool, Wordbool, Longbool, под значения которых отводятся соответственно 1, 2 и 4 байта памяти.
Таблица истинности операций Not, And, Or и Xor
X |
Y |
not X |
X and Y |
X or Y |
X xor Y |
false |
false |
true |
false |
false |
false |
false |
true |
true |
false |
true |
true |
true |
false |
false |
false |
true |
true |
true |
true |
false |
true |
true |
false |
Указанные в таблице операции можно применять также к объектам целого типа. В этом случае операции носят поразрядный характер. Например, применение логических операций «И» и «ИЛИ» к одному и тому же числу 33 дает следующие результаты: 33 and 1 = 1, 33 or 1 = 33.
К поразрядным
операциям с целыми числами относятся
также сдвиговые операции Shl
и Shr:
<Число> Shl
k
и <Число> Shr
k
. Операции производят арифметический
сдвиг двоичных разрядов числа
соответственно на k
разрядов влево и вправо, что равносильно
умножению и делению числа на
.
Например, 72 shr
3 = 72 div
=9, 7 shl
3 = 7
=56.
С помощью стандартной функции Odd(n) можно установить четность числа n. Если n - нечетное число, то функция возвращает значение true, иначе -false.
Значения булевского типа нельзя вводить с клавиатуры, используя для этого операторы стандартных процедур ввода read и readln, но они могут быть выведены на экран процедурами write или writeln.
В состав логических выражений могут входить объекты еще одного стандартного типа данных - символьного. Этот тип описывается служебным словом Char. Ниже приведен пример описания переменных символьного и булевского типов.
var c1,cs : char; q, p : boolean; .
Простой тип char включает в себя полный набор символов американского стандартного кода для обмена информацией - American Standard Code for Information Interchange (ASCII). В таблице под определенными номерами расположены 256 символов. Каждый из них представлен в двоичном коде в памяти компьютера и занимает 1 байт. Первые 128 из общего набора символов - это собственно ASCII. Остальные символы расширяют таблицу кодировки символами национальных алфавитов, символами псевдографики (блоковая графика) и некоторыми другими знаками представления информации. Символы с кодом от 0 до 31 - это управляющие символы, не имеющие привычного начертания при письме. Такие символы, впрочем как и все остальные, могут быть представлены в программе по их коду, который записывают в десятичной или шестнадцатеричной формах после символа #, например: #1, #100 или #$64 и т.п.. Остальные символы записывают в апострофах: f, 4, _, ,, - сам апостроф ().
Функция Chr(номер символа) преобразует код в соответствующий символ. Обратное преобразование осуществляет функция Ord(символ). Эта функция преобразует также значение порядкового типа в значение целого типа LongInt, например Ord(false) = 0. Для переменных порядкового типа применимы также функции Pred(k) и Succ(k), возвращающие соответственно предыдущее и последующее значения переменной, например: pred(true) false, succ(-4) -3, pred(chr(#$65)) d. Для символьного типа применима функция Upcase(символ), которая возвращает прописную латинскую букву, если символом была строчная латинская буква, а иначе - аргумент.
Особо следует сказать о вводе значений переменных символьного типа с клавиатуры. При этом каждый символ становится значимым, в том числе и пробел. Даже нажатие клавиши ENTER соответствует вводу двух символов: #13 - возврат каретки и #10 - перевод строки. Поэтому, во избежание ошибок ввода, следует использовать посимвольный ввод данных с помощью процедуры readln(c).