
- •Содержание
- •Предисловие научного редактора
- •Введение
- •1. Понятие алгоритма. Способы представления алгоритмов
- •В виде компьютерной программы:
- •2. Свойства алгоритмов
- •Язык графического представления алгоритмов
- •4. Общие принципы построения программ
- •5. Структура программы на языке паскаль
- •6. Классификация типов данных, используемых в языке паскаль
- •6.1. Символьный тип
- •6.2. Числовые типы
- •6.2.1. Целые типы
- •6.2.2. Вещественные типы
- •6.3. Логический тип
- •6.4. Типы данных, определяемые программистом
- •7. Основные операторы языка паскаль.
- •7.1. Операторы (процедуры) ввода – вывода
- •7.2. Оператор присваивания
- •7.3. Условный оператор
- •Первый вариант условного оператора:
- •If условие then оператор1 else оператор2;
- •Второй вариант условного оператора (сокращенная форма):
- •If условие then оператор1;
- •If условие1 then
- •If условие2 then оператор21 else
- •If условие3 then оператор31 else
- •7.4. Оператор выбора case
- •7.5. Операторы цикла
- •7.5.1. Оператор цикла с параметром
- •Параметр цикла I меняет свои значения только автоматически, при переходе к следующему шагу цикла. Изменения параметра цикла I в теле цикла запрещены.
- •7.5.2 Оператор цикла с предусловием оператор цикла с предусловием имеет структуру:
- •7.5.3. Оператор цикла с постусловием
- •8. Структурированные типы данных
- •8.1. Массивы
- •8.2. Записи
- •8.3. Файлы
- •2.Связать файловую переменную с именем файла на диске с помощью процедуры Assign(фп, ‘имя_файла_на диске’).
- •3. Открыть файл:
- •4. Выполнить работу с файлом.
- •Закрыть файл при окончании работы: Сlose(фп);
- •9. Процедуры и функции
- •9.1. Процедуры
- •Var I:integer; {I – локальная переменная}
- •9.2. Функции
- •2)Имя функции входит составной частью (как переменная) в некоторое выражение.
- •Задание к лабораторной работе №2.
- •Часть 1. Тема: вычисление по формулам и представление результатов с учетом форматного вывода.
- •Часть 2. Тема: Циклические вычисления с учетом диапазона типа данных и выдача результатов вычислений по шагам.
- •Задание к лабораторной работе №3.
- •Часть 1 .
- •Часть 2.
- •Задание к лабораторной работе №4.
- •Лабораторная работа №5.
6.3. Логический тип
ЛОГИЧЕСКИЙ ( или БУЛЕВЫЙ) ТИП определяется в разделе объявлений словом Boolean (в честь английского математика Джорджа Буля, автора алгебры логики). К логическому типу относятся такие переменные (аргументы, функции, выражения), которые могут принимать одно из двух значения – False (Ложь) или True (Истина). Для хранения логической переменной в памяти ЭВМ отводится один байт.
Операции, разрешенные для логических переменных:
Операции отношения ( <, >, <=, >=, =, <>), при выполнении которых предполагается, что False < True.
Логические операции: логическое отрицание Not (НЕ), логическое сложение Or (ИЛИ), логическое умножение And (И), логическая операция Xor (“исключающее ИЛИ”).
Примечания.
1. Результатом выполнения любой операции отношения, независимо от типа переменных или выражений в правой и левой части от знака отношения, является значение Истина или Ложь, то есть любая операция отношения имеет булевский тип. Поэтому, очевидно, что переменная У в формуле У := 2 > 3; должна быть описана как переменная типа Boolean и принимает значение Ложь.
2. Перечисленные выше логические операции применимы не только к логическим переменным, но и к любым целым (имеющим, например, тип byte, integer и т.д.). При этом логические операции выполняются поразрядно над двоичными кодами целых чисел. Очевидно, что при этом тип целых чисел, участвующих в логических операциях, должен быть один и тот же. Например, операторы
У1:=37 And 25; У2:=37 Or 25;
выполняются следующим образом: числа из десятичной системы счисления переводятся в двоичную
37(10)=100101(2), 25(10)=11001(2)
и над соответствующими разрядами двоичных кодов выполняются операция логического умножения
100101 & 011001 = 000001(2) =1(10)
и операция логического сложения
100101 v 011001 = 111101(2) = 61(10) ,
то есть будут получены следующие значения: У1=1, У2=61.
6.4. Типы данных, определяемые программистом
В языке Паскаль предусмотрена возможность задавать типы данных, определяемые пользователем (программистом): перечислимый тип и ограниченный тип (или тип-диапазон).
ПЕРЕЧИСЛИМЫЙ ТИП позволяют задавать некоторую произвольную, упорядоченную по усмотрению программиста, последовательность, элементы которой являются значениями переменных. Например, в программе необходимо установить соответствие между числами и названиями дней недели или задать упорядоченную последовательность родственных связей по мужской линии. Для этого удобно объявить перечислимые типы:
Type
Name_day = (понедельник, вторник, среда, четверг, пятница, суббота, воскресенье);
Rod_m = (прадед, дед, отец, сын, внук, правнук);
Тогда объявленные переменные
Var
Day: Name_day;
Rodstv1, Rodstv2: Rod_m;
могут принимать значения, перечисленные при объявлении типов, и в операторном разделе программы можно записать:
day:=среда; rodstv1:=отец; rodstv2:=прадед;
Между значениями перечислимого типа и порядковыми номерами этих значений устанавливается следующее соответствие: первому значению присваивается номер 0, второму значению – 1 и т.д. Максимальное количество значений перечислимого типа равно 255. Поэтому к переменным перечислимого типа применимы функции определения предшествующего и последующего элемента. Например, при выполнении операторов rodstv1:=pred(сын); rodstv2:=succ(сын); переменные получают значения rodstv1=отец; rodstv2=внук.
Примечание. Выражения Pred(понедельник), Succ(воскресенье), pred(прадед), succ(правнук) не корректны, так как в списке значений перечислимого типа для первых элементов не определены предшественники, а для последних элементов не определены последователи, и применение этих выражений в операторах вызовет при выполнении программы сообщение об ошибке.
ТИП-ДИАПАЗОН задает подмножество своего базового типа, в качестве которого может выступать любой порядковый тип, кроме типа-диапазона. Например:
Type
T1=0..9;
Т2=’0’..’9’;
Т3=’a’..’z’;
Здесь тип Т1 определяет ограниченный диапазон целых чисел – от 0 до 9, разделителем границ диапазона являются две точки. Типы Т2 и Т3 определяют ограниченные наборы символов, поэтому здесь и цифры воспринимаются программой как символы и они также как и буквы должны заключаться в апострофы.