Слайд 1Простейшие конструкции языка Pascal
Лекция №2
Слайд 2
К простейшим конструкциям языка относятся способы представления
скалярных данных,
конструкций выражений,
оператор присваивания
и операторы ввода-вывода,
без которых не обходится ни одна программа.
Слайд 3Синтаксис и семантика языка программирования
Языки программирования – искусственные языки.
От естественных
они отличаются ограниченным набором слов, значение которых понятно транслятору, и очень строгими правилами записи команд (операторов).
Языки программирования относятся к группе формальных языков, для которых в отличие от естественных языков однозначно определены синтаксис и семантика.
Синтаксис языка – совокупность правил, определяющих допустимые конструкции (слова, предложения) языка, его форму.
Семантика языка – совокупность правил, определяющих смысл синтаксически корректных конструкций языка, его содержание.
Слайд 4Алфавит языка Pascal:
Строчные и прописные буквы латинского алфавита a..z, A..Z и
знак подчеркивания _;
Цифры 0..9;
Специальные знаки . , + - * / : ; < > { } [ ] ( ) ^ @ # <= >= := (* *);
Служебные слова end, begin, сase, write, …, которые нельзя использовать в программе в каком-либо другом качестве.
Слайд 5Разделители
Разделителями являются следующие символы:
Пробел, ( ), [ ], +, - ,
* , / , < , > , = , : , ;
Пример
Write(A[i]+A[i+1]);
If d>15 then d:=d-1;
Слайд 6Структура программы на языке Pascal
Слайд 7Структура программы на языке Pascal
PROGRAM ;
USES ;
TYPE
типов данных>;
LABEL <Список меток >;
CONST <Описание констант программы>;
VAR <Описание переменных>;
<Описание процедур и функций>;
BEGIN
<Последовательность операторов алгоритма>
END.
Слайд 8Примеры программ
Program Pr_1;
Begin
write('hello')
end.
Program Pr_2;
Var name:string;
Begin
write(‘Ваше имя?');
Readln(name);
write('hello,
‘,name)
end.
Слайд 9Данные. Типы данных
Данные - это формализованное представление информации.
Под данными принято
понимать факты и (или) идеи, представленные в формализованном виде, пригодном для передачи, интерпретации и обработки людьми или компьютером.
Слайд 10Примеры данных
Показания счетчика горячей воды (в течении года.
Результаты сессии
Слайд 11Операции обмена данными
Операции ввода данных с клавиатуры (в машину) осуществляются с
помощью операторов ввода:
Read (<список ввода>); {список ввода содержит
ReadLn (<список ввода>); только переменные}
Вывод данных на экран осуществляется с помощью операторов вывода:
Write (<список вывода>); {список вывода м.содерж.
WriteLn (<список вывода>); перемен., строковые
конст., арифм. и логич. выражения}
Слайд 12Пример
Readln(a,b);
For i:=1 to n do
readln(a[i]);
Writeln(‘Сумма элементов равна ’,sum);
Слайд 13
В программах данные представлены в виде констант и переменных.
Они определяются
идентификаторами (именами), по которым к ним можно обращаться для получения текущих значений данных.
Слайд 14
Идентификаторы (имена) переменных
В именах МОЖНО использовать
латинские буквы (A-Z)
цифры
знак подчеркивания _
заглавные и
строчные буквы не различаются
В именах НЕЛЬЗЯ использовать
русские буквы
пробелы
скобки, знаки +, =, !, ? и др.
имя не может начинаться с цифры
Какие имена правильные??
AXby R&B 4Wheel Вася “PesBarbos” TU154 [QuQu] _ABBA A+B
Слайд 15
идентификатор должен быть смысловой, т.е. отражать физическую суть объекта,
запись идентификатора
должна быть краткой.
FIO,
price,
plan
Summ_Inp,
Summ_Out
Слайд 16
Const
=;
Var
: ;
[,] : ;
Попытка присвоить переменной
значение другого типа квалифицируется как ошибка.
Слайд 17
Константы и переменные характеризуются типом данных, который указывается при описании объектов
в соответствующих разделах (Const и Var), что обусловлено тем, что при компиляции программы под ресурсы программы выделяется область оперативной памяти.
Слайд 18
Каждый тип данных имеет свой идентификатор, который указывается при описании объектов.
Var Summ: Real; a:integer;
c:char; fl:boolean;
Слайд 19
Переменные
Типы переменных:
integer { целая }
real { вещественная }
и другие…
Объявление переменных:
var a, b, c:
integer;
Выделение места в памяти
variable – переменная
тип – целые
список имен переменных
Слайд 20Типы данных
простые (скалярные)
Переменные простых типов принимают только одно значение, которое
допускает диапазон типа.
Var a:byte;
S:char;
Begin
a:=25;
S:=’A’;
a:=2*a;
…
Структурные
Данные структурных типов представляют собой совокупность данных какого-либо типа, простого или структурного.
Массив А:
(1, 1, 2, 3, 5, 8, 13, 21, 34, 55).
Запись Rec:
(Иванов Е.П., 1967г., №8704 123456, слесарь).
Слайд 22
Простые типы в свою очередь делятся на порядковые и вещественные.
Порядковые
типы содержат конечное упорядоченное число значений. Элементы порядкового типа упорядочены, то есть каждый элемент типа имеет свой порядковый номер. Поэтому к элементам порядковых типов применимы следующие операции:
Ord(x) – определяет порядковый номер значения x в упорядоченной последовательности значений типа, к которому принадлежит x.
Pred(x) – возвращает значение типа, предшествующее значению x.
Succ(x) – возвращает значение, следующее за значением x.
Слайд 23
Вещественные типы не могут относиться к группе порядковых типов, так как
в определенном диапазоне чисел, даже в самом маленьком, бесконечно много вещественных чисел и их нельзя пронумеровать.
Между 2.5 и 2.6 располагается бесконечно много чисел: 2.55, 2.50001 2.552, …. 2.59, 2.591 и т.д.
Слайд 24Для чего среди простых типов выделен отдельный класс порядковых типов?
Дело в
том, что некоторые конструкции языка программирования допускают использование только упорядоченных конечных множеств значений.
К таким конструкциям относятся:
оператор выбора Case,
оператор цикла For.
Индексы элементов массива.
Элементы множества.
Слайд 26
Для объявления в программе целочисленной переменной в разделе описания переменных VAR
через двоеточие указывается идентификатор типа. Для целочисленной константы тип указывать не надо.
Program Factorial;
Uses CRT;
Const N=10; {целочисленная константа}
Var a,i:byte; F:Longint; {целочисленные переменные}
Begin
Clrscr;
Repeat
write('Введите число<10:');
readln(a);
Until a<=N;
Слайд 27Операции над целочисленными типами
сложение (+),
вычитание (-),
умножение (*)
деление
(/)
Div
(возвращает неполное частное)
Mod (возвращает остаток от деления).
15 Div 8=2
15 Mod 8=7
5 div 8=0
14 mod 2=0
Слайд 28Вещественные типы
Для кодирования целочисленных данных используется формат с фиксированной запятой, так
как целые числа имеют только одну часть – целую. Вещественные числа же помимо целой части содержат дробную часть и запятую (в программировании - точку).
Тогда для хранения вещественного числа необходимо выделить
поле целой части числа,
поле запятой
и поле дробной части.
Для хранения вещественных чисел используется формат с плавающей запятой, который опирается на нормализованную форму записи чисел.
Слайд 29Нормализованная форма записи числа
где ma - мантисса
числа А, удовл. условию
q - основание системы счисления,
Рa - порядок.
Пример
27,03=0,2703*102
0,0003=0,3*10-3
0,0000107=0,107*10-4;
1000000=0,1*107
Слайд 30
Во внутреннем представлении мантисса и порядок вещественных чисел хранятся раздельно, причем
количество разрядов под мантиссу и порядок регламентируется типом числа.
Слайд 32Формат вывода вещественных данных