- •Конспект лекций по информатике
- •Организация данных в эвм и основы программирования
- •1. Основные понятия языка программирования паскаль
- •1.1. Структурное программирование
- •1.2. Основные символы языка
- •1.3. Элементы языка
- •1.4. Интегрированная среда turbo pascal
- •1.5. Структура программы в turbo pascal
- •1.6. Определение типов
- •1.7. Операторы в программе
- •1.7.1. Операторные скобки
- •1.7.2. Операторы ввода
- •1.7.3. Оператор присваивания
- •1.7.4. Условный оператор
- •1.7.5. Пример простой программы
- •1.7.6. Оперетор безусловного перехода
- •1.8. Организация циклов
- •1.8.1. Использование операторов условного и безусловного перехода
- •1.8.2. Цикл с параметром
- •1.8.3. Цикл с предусловием - цикл while
- •1.8.4. Цикл с постусловием - цикл repeat
- •1.9. Оператор выбора варианта
- •1.10. Расположение операторов в программе
- •1.11. Концепция типов данных
- •2. Стандартные простые типы
- •2.1 Целый тип
- •2.1.1. Операции над данными целого типа:
- •2.2. Действительный тип
- •2.2.1. Операции над данными действительного типа:
- •2.3. Логический тип
- •Var p, q, r : Boolean;
- •2.3.1. Алгебра логики в Паскале
- •2.3.2. Законы алгебры логики в Паскале
- •2.4. Символьный тип
- •2.4.1. Символьные строковые константы
- •3. Нестандартные простые типы (определяемые пользователем)
- •3.1. Перечисляемый тип
- •3.2. Ограниченный тип (диапазон, интервал)
- •4. Процедуры и функции
- •4.1. Описание процедур
- •4.2. Стандартные процедуры
- •4.3. Описание функций
- •4.4. Стандартные функции
- •4.5. Итерация и рекурсия
- •4.6. Побочный эффект рекурсии
- •4.7. Предварительное описание (ссылки вперед)
- •5. Регулярные типы
- •5.1. Одномерный массив, или переменные с индексами
- •Алгоритмы сортировки массивов
- •1. Метод пузырька (метод обменной сортировки с выбором)
- •2. Сортировка выбором
- •3. Метод Шелла
- •4. Метод Хoopа
- •5.2. Многомерные массивы
- •5.3. Упакованные массивы
- •5.4. Строки
- •6. Множественные типы
- •6.1. Свойства множеств
- •6.2. Операции над множествами
- •7. Комбинированные типы
- •7.1. Описание записей и действия с ними
- •7.2. Оператор присоединения.
- •7.3. Записи с вариантами
- •8. Типизированная константа
- •8.1. Простая типизированная константа
- •8.2. Структурированная (сложная) типизированная константа
- •8.2.1. Типизированная константа массива
- •8.2.2. Типизированная константа записи
- •8.2.3. Типизированная константа множества.
- •9. Преобразование типов
- •9.1. Неявные преобразования типов
- •9.2. Использование стандартных функций для преобразования
- •9.3. Явные преобразования типов
- •9.5. Совместимость типов
- •10. Файловые типы
- •10.1. Определение файлового типа
- •10.2. Структура файла
- •10.3. Имя файла
- •10.4. Описание файлового типа
- •10.5. Файловая переменная
- •10.6. Операции над файлами
- •10.7. Типизированные файлы
- •10.8. Текстовые файлы
- •10.9. Нетипизированные файлы
- •10.10. Стандартные файлы inpuTиOutput
2.2. Действительный тип
Данные действительного(вещественного) типа используются значительно чаще, чем целого типа.
2 вида представления вещественных констант с фиксированной и с плавающей точкой: 127.3 25.0 -16.003
4Е-5 0.62Е+4 -10.8Е12 -20Е-3
0.52Е+3 = 5.2Е+2 = 52Е+1 = 520Е = 5200Е-1
В разделе описания констант:
Const L = -1/602E-19;
NA=6.022E23;
PI=3.14;
Summa=-5.6;
Описание переменной имеет тип Real:
Var U, I, R: Real;
Z1:Real;
В разделе операторов: Z1:=-0.03E14;
Scorost:=12.6;
I:=5;
Здесь целое число 5 автоматическипреобразуется к действительному типу 5.0 для присвоения переменнойI.
2.2.1. Операции над данными действительного типа:
+ — * /
Результат - тоже действительное число.
Если в операции, кроме данных вещественного типа, участвуют и данные целого типа, результат все равно будет вещественный. Степень представляется так: Aхexp(x*LN(A)) приA>0
Формат: Write(x:m:n), где:m- общее поле,n- поле дробной части.
В арифметических выражениях принят следующий приоритет операций:
1)Вычисление функции.
* , / , Div,Mod.
+ , — .
Пример.
25 Mod3*4=4
25 Div3*4=32
5*5 Div3*4=32
5+5 Mod3-4=3
Вещественные типы
REAL - действительный (вещественный) тип. Абсолютная величина для этого типа изменяется в диапазоне 2.9Е - 39..1.7Е+38, имеет мантиссу с 11 десятичными цифрами. Занимает в памяти 6 байтов.
SINGL- простой точности, 4 байта.
DOUBLE- двойной точности, 8 байт.
EXTENDED- расширенной точности, 10 байт.
При переполнении вещественного типа происходит программное прерывание.
С аргументами вещественного типа могут не пользоваться следующие стандартные функции:
Sin(x), Cos(x) ,Ln(x), Sqrt(x), Arctan(x), Exp(x), Sqr(x), Abs(x). Все они вырабатывают результат вещественного типа.
Определены также стандарты функции преобразования значения вещественного типа в значение целого типа:
TRUNC (X)- вырабатывает результат путем отбрасывания дробной части аргумента;
ROUND (X)- вырабатывает целый результат путем округления до ближайшего целого.
Пример.
x=21.53 trunc (x)=21 round (x)=22
x=-27— trunc (x)=-2 round (x)=-3
2.3. Логический тип
Boolean- логический тип имеет 2 значения:false и true,занимают 1 байт памяти.
Над булевскими переменными определены 3 логические операции:
AND- конъюнкция (логическое умножение),
OR- дизъюнкция (логическое сложение),
NOT- отрицание.
FALSE<TRUE, поэтому применимы операции отношения.
Значения FALSE и TRUEможно рассматривать как упорядоченное множество, состоящее из двух элементов.
Ord (false)=0 {номер)
Succ (false)=true {следующий)
Ord (true)=1 {номер)
Pred (true)=false {предыдущий)
Логический тип (тип boolean) определяет диапазон логических значений, который содержит 2 элемента:TRUE(истина) иFALSE(ложь).
Type Boolean = (False, True);
Логические переменные описываются в разделе описания переменных так:
Var p, q, r : Boolean;
Логические переменные могут принимать только 2 значения:True и False.
2.3.1. Алгебра логики в Паскале
Над аргументами логического типа определены следующие операции:
NOT(Не) - отрицание
AND(и) - конъюнкция (логическое умножение)
OR(или) - дизъюнкция (логическое сложение)
XOR(икс ор) - исключающее или
P |
Q |
Not P |
P And Q |
P Or Q |
P Xor Q |
False |
False |
True |
False |
False |
False |
True |
False |
False |
False |
True |
True |
False |
True |
True |
False |
True |
True |
True |
True |
False |
True |
True |
False |
Все операции сравнения дают результат типа Boolean.
= , < >, < , < = , > , > =.
Например, в результате выполнения оператора
P: =X<= 5;
логическая переменная Р получит значение True, если текущее значение переменной Х меньше или равно 5. При Х>5P=False.
В языке Паскаль принято следующее старшинство операций:
Not
And
Or, Xor + -
Операции сравнения , что это значит?
Not P = Q (Not P) = Q
P < = Q And R P < = (Q And R)
P Or Q And R P Or (Q And Q)
Для задания явного порядка - круглые скобки:
(A-B)AND(C< =D)