- •Лекция №1
- •Программа
- •Раздел uses состоит из нескольких подряд идущих секций uses, каждая из которых начинается
- •ОПИСАНИЕ ПЕРЕМЕННЫХ
- •Оператор описания переменной
- •Описание констант
- •Описание типов
- •Описание меток
- •Лекция №2
- •Типы данных
- •Типы данных определяет:
- •Целые типы
- •Вещественный тип
- •Символьный тип
- •Символьный тип
- •Перечислимый и диапазонный типы
- •Диапазонный тип представляет собой подмножество значений целого, символьного или перечислимого типа и описывается
- •Автоопределение типов
- •Полезные стандартные подпрограммы
- •Стандартные арифметические функции
- •Лекция №3
- •Основные операторы
- •Оператор ввода
- •Оператор вывода
- •Операции отношения
- •Логические операции
- •Условный оператор
- •Примеры использования
- •Примеры использования
- •Оператор case выбора варианта
- •Примеры использования
- •Примеры использования
- •В PascalABC.NET можно делать case по строкам.
- •Лекция №4
- •Цикл с параметром
- •Цикл с предусловием
- •Примеры использования
- •Примеры использования
- •Примеры использования
- •Пример использования
- •Пример использования
Лекция №3
Основные операторы
Основные операторы
Оператор присваивания := Синтаксис <переменная> := <выражение>
Пример использования оператора присваивания. a := (3 + 5) * 8;
b := a + 2;
Семантика
Вычисляется выражение в правой части, при этом, вместо имен переменных подставляются их значения.
Затем результат вычисления записывается в переменную в левой части.
Ограничение. Тип выражения должен быть совместим по присваиванию с переменной.
Например:
•одинаковые типы совместимы.
•выражение типа integer можно присвоить переменной типа real. Обратное неверно.
Операторы присваивания += и *=
Пример:
d += 1; //прибавить 1 к d d *= 2; //умножить d на 2
Примеры использования :=
Пример 1. Перемена местами двух значений. Дано: x, y; var x, y: integer;
begin read(x,y); var v := x; x := y;
y := v; writeln(x, ' ', y); end.
Это стандартное решение. В Pascal ABC.NET на основе этого алгоритма определена стандартная процедура Swap(x, y).
Оператор ввода
Синтаксис
read (<список переменных>) ; readln (<список переменных>) ;
Семантика
Происходит считывание данных с клавиатуры и запись их в переменные из <списка переменных>. Вводить данные нужно либо через пробел, либо по нажатию <Enter>, при этом программа не перейдет к выполнению следующего оператора, пока не будут считаны все данные.
Имеются также стандартные функции ReadInteger, ReadReal, ReadlnInteger, ReadlnReal:
var n := ReadInteger; var r := ReadlnReal;
Оператор вывода
Синтаксис
write(<список выражений>) writeln(<список выражений>)
Семантика
Выражения в списке вычисляются, и их значения выводятся на экран.
В случае writeln после вывода осуществляется переход на новую строку.
Форматы вывода
После каждого выражения в списке вывода можно использовать формат вывода в виде
:a, где a — выражение целого типа.
После вещественного типа — :a:b (a задает ширину поля вывода (выравнивание по правому краю), b — количество знаков в дробной части).
Операции отношения
Операция |
Знак операции |
|
|
больше |
> |
|
|
больше или равно |
>= |
|
|
меньше |
< |
|
|
меньше или равно |
<= |
|
|
равно |
= |
|
|
не равно |
<> |
|
|
26
Павловская Т.А. (СПбГУИТМО)
Логические операции
a |
b |
a and b a or b |
a xor b not a |
0 |
0 |
0 |
0 |
0 |
1 |
|
|
|
|
|
|
|
|
0 |
1 |
0 |
1 |
1 |
1 |
|
|
|
|
|
|
|
|
1 |
0 |
0 |
1 |
1 |
0 |
|
|
|
|
|
|
|
|
1 |
1 |
1 |
1 |
0 |
0 |
27
Павловская Т.А. (СПбГУИТМО)
Условный оператор
Синтаксис
if <условие> then <оператор1> [else <оператор2>]
Примеры использования
Пример 1. Нахождение минимума. Дано: x, y . Найти: min.
if x > y then min := y else min := x;
Пример 2. Вычисление функции по взаимоисключающим веткам
if x < 2 then y := x
else if x < 3 then y := x * x
else y := 1 - x;
|
y |
Пример использования |
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x 0 |
|
|
|
|
x |
2 |
y |
2 |
1 или |
|
y 0 |
|
-2 |
|
1 2 x |
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
-2 |
|
|
|
|
|
y x 2 |
||
|
|
|
|
|
|
|
|
|
|
program shot; var x, y: real; begin
writeln(‘Введите значения х и у:’); readln(x, y);
if (sqr(x) + sqr(y) <= 1) or (x <= 0) and (y <= 0) and (y >= - x - 2) then
writeln(‘ Точка попадает в область’) else
end.writeln(‘ Точка не попадает в область’);
Павловская Т.А. (СПбГУИТМО) |
30 |