- •Кафедра математики и информатики
- •Практикум
- •Введение
- •1. Арифметические основы построения эвм
- •2. Интегрированная среда Turbo Pascal 7.1
- •2.1. Основные элементы ide Turbo Pascal 7.1
- •2.2. Ввод программы в среде Turbo Pascal
- •2.3.Сохранение программы в файле
- •2.4. Работа с существующей программой
- •2.5. Компиляция программы в среде Turbo Pascal
- •(Успешная компиляция: Нажмите любую клавишу...)
- •2.6. Выполнение программы в среде Turbo Pascal
- •2.7. Выход из среды Turbo Pascal
- •3. Элементы языка Turbo Pascal
- •3.1. Алфавит
- •3.2. Идентификаторы
- •3.3. Разделители
- •3.4. Основные типы данных и операции с ними
- •3.5. Константы и переменные
- •3.6. Выражения
- •3.7. Стандартные математические функции языка Турбо - Паскаль
- •3.8. Структура программы на языке Pascal
- •X,y,z: Real; {переменные типа Real}
- •I,j,k: Integer; {переменные типа Integer}
- •3.9. Контрольные вопросы
- •4. Лабораторная работа №1: Программирование линейных вычислительных процессов
- •4.1. Оператор присваивания
- •4.2. Ввод исходных данных. Операторы Read и ReadLn
- •4.3. Вывод данных. Операторы Write и WriteLn
- •4.4. Примеры составления программы
- •4.5. Контрольные вопросы
- •Раздел Var;
- •4.6. Варианты заданий
- •5. Лабораторная работа №2: Программирование разветвляющихся процессов
- •5.1. Методические указания
- •5.2. Условный оператор If и составной оператор Begin … End
- •5.3. Логические операции
- •5.4. Оператор безусловного перехода Goto
- •5.5. Примеры составления программы
- •5.6. Контрольные вопросы
- •5.7. Варианты заданий
- •6. Лабораторная работа №3: Циклический процесс
- •6.1. Общие сведения
- •6.2. Цикл с параметром
- •6.3. Цикл с предусловием
- •6.4. Цикл с постусловием
- •6.5. Итерационные циклы
- •6.6. Контрольные вопросы
- •6.7. Варианты заданий
- •6.7.2. Циклы со счетчиками Составить программы используя разные циклы (с предусловием, с постусловием, с параметром)
- •6.7.2. Итерационные циклы
- •7. Лабораторная работа №4: Вложенные циклы
- •7.1. Общие сведения
- •7.2. Примеры выполнения задания
- •7.3. Контрольные вопросы
- •7.4. Варианты заданий
- •8. Лабораторная работа №5: Массивы
- •8.1. Одномерные и многомерные массивы
- •В квадратных скобках - индексы массива
- •8.2.Символьные массивы
- •8.3. Инициализация элементов массива
- •8.4. Примеры выполнения задания
- •8.5. Контрольные вопросы
- •8.6. Варианты заданий
- •9. Лабораторная работа №6: Сортировки
- •Приложение 1
- •Приложение 2 Структурограммы
- •Структурное программирование
- •Приложение 3
- •(Основная и дополнительная)
- •Приложение 4 Сообщения об ошибках компиляции
- •(Ошибка 15 : Файл не найден)
- •113. Error in statement (ошибка в операторе)
- •Приложение 5
- •21 Столетие Библиографический список
- •Содержание
3.3. Разделители
Разделители используются для отделения друг от друга идентификаторов, чисел, зарезервированных слов. В качестве разделителей можно использовать:
пробел;
любой управляющий символ (коды от 0 до 31), включая символ возврата каретки (код 13);
комментарий.
В любом месте программы, где можно поместить один разделитель, их можно поместить любое количество и в любом сочетании. Это позволяет более наглядно представить структуру программы. Комментарии заключаются либо в скобки { }, либо в скобки вида (* *) и могут занимать любое число строк, а находятся могут любом месте программы. Во время компиляций программы все комментарии, за исключением директив компилятора, игнорируются.
Пример: {Пример комментарий}
(*Это также пример комментарий*)
3.4. Основные типы данных и операции с ними
Целый тип. Обозначает множество целых чисел в различных диапазонах. Имеется пять целых типов, различающихся допустимым диапазоном значений и размером занимаемого объема памяти. Целые типы задаются служебными словами Integer, Byte, ShortInt, Word, LongInt. Характеристики этих типов приведены ниже в табл. 3.1.
Таблица 3.1
Целый тип |
Диапазон значений |
Формат |
Размер памяти |
ShortInt |
-128...127 |
Знаковый |
1 байт |
Integer |
-32768...32767 |
Знаковый |
2 байта |
LongInt |
-2147483648...2147483647 |
Знаковый |
4 байта |
Byte |
0...255 |
Без знаковый |
1 байт |
Word |
0...65535 |
Без знаковый |
2 байта |
Над целыми значениями допустимы следующие операции:
четыре арифметических действия:
+ сложение,
- вычитание,
* умножение,
/ деление;
две дополнительные операции "типа деления", обозначаемые служебными словами:
div целочисленное деление (с отбрасыванием дробной части);
mod взятие остатка от целочисленного деления.
Пример: A mod B {если А=10 и B=3, то результат равен 1}
D mod F {если D=9 и F=2, то результат равен 1}
A div C {если А=10 и C=3, то результат равен 3}
F div B {если F=9 и B=2, то результат равен 4}
Вещественный тип. Обозначает множество вещественных значений в различных диапазонах. Турбо Паскаль поддерживает четыре различных вещественных типа. Они задаются служебными словами Real, Single, Double, Extended,Comp и имеют следующие характеристики, приведенные в табл. 3.2.
Таблица 3.2
Вещественный тип |
Диапазон значений |
Число цифр мантиссы |
Размер памяти |
Real |
2.910-39...1.71038 |
11-12 |
6 байт |
Single |
1.510-45...3.41038 |
7-8 |
4 байта |
Double |
5.010-324...1.710308 |
15-16 |
8 байт |
Extended |
3.410-4932...1.1104932 |
19-20 |
10 байт |
Comp |
-21063+1...+21063-1 |
19-20 |
8 байт |
Примечание: хотя тип Comp считается вещественным, он содержит только целые числа, которые представляются в вычислениях как вещественные (с нулевой мантиссой).
Вещественные значения могут отображаться в форме чисел с фиксированной и с плавающей точкой.
Представление с фиксированной точкой |
Представление с плавающей точкой |
17.384 0.5 |
7E-2 12.25E6 |
Примечание: 7E-2 означает 710-2, 12.25E6 = 12.25106.
Примеры неправильной формы записи чисел:
.3 (правильно 0.3)
10. (правильно 10.0)
Над значениями вещественных типов допустимы 4 арифметических операции ( +,-,*, / ). Все они дают вещественный результат, если хотя бы один операнд вещественный.
Символьный тип Сhar. Значениями символьного типа являются символы из так называемого множества ASCII (American Standard Code For Information Interchange (Приложение 3) - стандартный американский код для обмена информацией). Это множество состоит из 256 различных символов, упорядоченных определенным образом, и содержит символы заглавных и строчных букв, цифр и различных других символов.
Над значениями символьного типа возможны операции сравнения >, >=, <, <=, <>, =.
Для символьного типа Сhar определены следующие функции, преобразования, связывающие значение символа с его порядковым номером в упорядоченном наборе символов языка:
Ord(C) - выдает кодовый номер символа C в кодовой таблице символов ASCII ( C - произвольный символ из таблицы символов ASCII ).
Например: Ord ('?')=63, Ord ('1')=49, Ord ('Y')=89, Ord ('z')=122;
Chr(I) по коду символа I определяет сам символ ; функции Ord и Chr – обратные друг к другу, т. е. Chr (63)='?', а Chr (89)='Y'.
Pred (C) и Succ (C) определят предыдущий и последующий символы от заданного . Например Pred('c')='b', Succ('y')='z'. В данном случае имеется в виду последовательность букв латинского алфавита, порядковые номера которых (коды) следуют один за другим.
При реализации функций Pred и Succ необходимо помнить, что если предшествующего или последующего символа в наборе нет, то значение функции не определено и вызовет ошибку при выполнении программы.
Булевский (логический) тип. Имеется два значения булевского типа Boolean, представляющие логические значения (истина/ложь):
TRUE (истина),
FALSE (ложь).
Логические операции применяются к величинам логического типа, результат операции – тоже логического типа. Над значениями булевского типа допустимы следующие операции:
сравнения (=, <>, <, <=, >, >=);
And логическое умножение
Or логическое сложение
Xor сложение по модулю 2 ( исключающее "или")
Not логическое отрицание ( унарная операция )
Результаты операции определяются таблицами истинности 3.3 и 3.4.
Таблица 3.3
Таблица истинности операции Not
X |
Not X |
False |
True |
True |
False |
Таблица 3.4
Таблица истинности операций And, Or, Xor
X |
Y |
X And Y |
X Or Y |
X Xor Y |
False |
False |
False |
False |
False |
False |
True |
False |
True |
True |
True |
False |
False |
True |
True |
True |
True |
True |
True |
False |
Значения булевского типа занимают один байт памяти.