- •Конспект лекций по информатике
- •Организация данных в эвм и основы программирования
- •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
1.11. Концепция типов данных
Язык должен способствовать повышению надежности программ. Поэтому надежности программ отдается предпочтение даже по сравнению с легкостью их написания. Требование описывать все переменные- это явная избыточность в программе, которая, однако, повышает надежность программы.
Язык Паскаль построен таким образом, что снабжает компилятор избыточной информацией, которая используется при проверке согласованности программы без ее выполнения.
Каждая переменная в Паскаль-программе должна быть объявлена до своего первого применения. Тип переменной определяет множество допустимых для нее значений, а также набор и правила выполнения операций над ней.
Программа, написанная на языке Паскаль, оперирует некоторыми объектами, называемыми данными. Каждый элемент данных в программе является либо константой, либо переменной. Для каждой переменной задается некоторый тип, определяющий как возможные значения переменной, так и операции, которые могут над ней выполняться. Тип переменной задается в разделе переменных. Константа отличается от переменной тем, что ее значение не может изменяться во время выполнения программы и она описывается в разделе констант. Тип константы однозначно определяется ее значением и в явном виде не указывается
Исключение - типизированные константы, у которых указывается начальное значение и тип. Они могут изменяться в процессе решения задачи.
2. Стандартные простые типы
2.1 Целый тип
Целый тип |
Диапазон значений |
Размер памяти |
Shortint(короткое целое) |
-128..127 |
1 байт |
Integer (целое) |
-32 768..32 767 |
2 байта |
Longint(длинное целое) |
-2147483648..2147483 647 |
4 байта |
Byte(байт) |
0..255 (беззнаковый тип) |
1 байт |
Word(слово) |
0..65536 (беззнаковый тип) |
2 байта |
Данные целого типа используются в тех случаях, когда какую-то величину нужно представить абсолютно точно, например, число живых существ или количество предметов. К данным целого типа относятся константы и переменные.
Константа целого типа – это десятичное число , записанное без точки. Если константа отрицательная, то перед ней должен стоять знак «-» а если положительная ,то знак «+» можно не указывать.
Constk=15;
null=0;
p1=-46;
Описание переменной имеет тип integer.
A: integer;
Summa: integer;
B1, B2, B3: integer;
В разделе операторов указанные переменные должны принимать значения целых десятичных типов:
A: = 25;
Summa: = 0;
2.1.1. Операции над данными целого типа:
+ сложение (результат – целое число)
— вычитание(——«——«——-«—-—)
* умножение (——«——«——«——)
Div– деление с отбрасыванием дробной части (получение целого частного при делении целого данного на целое).
Mod– получение целого остатка при делении целого данного на целое.
Пример. Program delen;
Var A,B,Y,Z: Integer;
Begin
Writeln(‘вв A,B’);
Readln(A,B);
Y: = A Div B;
Z: = A Mod B;
Writeln( Y:3, Z:3);
End.
Переполнениепри выполнении арифметических операцийне обнаруживается!!!
Формат: Write(A:4)
Пример. A = 25;
B = 5;
C = -3;
A+5 = 30;
B Mod A = 5;
13-A = -20;
A Mod C = 1;
C*15 = -45;
A Mod C = -8;
A Div 7 = 3;
25 Div-3 = 8;
AMod7 = 4;
-25 Mod–3 = -1
С аргументами целого типа могут использоваться следующие стандартные функции:
Имя функции |
Математическое обозначение |
Тип результата |
Sin(x) |
Sin x |
Real |
Cos(x) |
Cos x |
Real |
Ln(x) |
Ln x |
Real |
Sqrt(x) |
Real | |
Arctan(x) |
Arctg x |
Real |
Exp(x) |
ex |
Real |
Sqr(x) |
x2 |
Integer |
Abs(x) |
|x| |
Integer |
Odd(x) |
False, x=2n True, x=2n+1 |
Boolean |
Succ(x) |
x + 1 |
Integer |
Pread(x) |
x - 1 |
Integer |
Inc(x) |
x + 1 |
Integer |
Inc(x,n) |
x + n |
Integer |
Dec(x) |
x - 1 |
Integer |
Dec(x,n) |
x - n |
Integer |