- •Основные этапы решения задач на компьютере
- •Контрольные вопросы и задания
- •Язык программирования Паскаль
- •Запуск и настройка среды
- •Набор и редактирование исходного текста программы
- •Компиляция и запуск программы
- •Структура программы на Паскале
- •Арифметические операции
- •Основные стандартные функции, определенные в Паскале:
- •Логические операции
- •Типы данных
- •Операторы ввода и вывода
- •Read (список переменных) – этим оператором вводятся последовательно значения переменных из списка;
- •Readln (список переменных) – тоже что и read, но с переводом курсора на новую строку после ввода последней переменной;
- •2. Оператор вывода
- •Линейный алгоритм
- •Раздел var?
- •Разветвляющиеся вычислительные процессы
- •2.Оператор выбора case
- •Циклические вычислительные процессы
- •Операторы цикла могут быть вложены один в другой:
- •Отличие цикла for от while и repeat.
- •Массивы
- •Типовые алгоритмы обработки массивов.
- •Процедуры и функции
- •Функции
- •Строковые переменные
- •Стандартные процедуры и функции для работы со строковыми переменными
- •Множества
- •Формирование множеств
- •Отношения и операции над множествами
- •Список использованной литературы:
Структура программы на Паскале
Блочная структура обеспечивает структуризацию программ на уровне исходных текстов. В идеальном случае программа на языке Паскаль состоит из процедур и функций, которые вызываются для выполнения из раздела операторов основной программы. Исходя из этого можно записать структуру программы следующим образом:
Program имя;
USES– раздел вызова модулей
CRT– модуль работы с экраном и клавиатурой;
GRAPH– для работы с графикой;
TYPE– раздел описания типов, определенных пользователем;
CONST– раздел описания констант;
VAR– раздел описания переменных
LABEL– раздел описания меток
– в виде меток можно использовать только буквенные символы и целые числа
PROCEDURE
FUNCTION
BEGIN
Операторная часть программы
END.
Арифметические операции
-
операция
*
умножение
/
деление
div
Целочисленное деление (15 div2=7)
mod
Остаток от деления (15 mod2=1)
-
вычитание
+
сложение
Основные стандартные функции, определенные в Паскале:
Математика |
PASCAL |
X2 |
SQR(X) |
SQRT(X) | |
ABS(X) | |
SIN X |
SIN(X) |
COSX |
COS(X) |
ex |
EXP(X) |
LN X |
LN(X) |
XY |
EXP(Y*LN(X)) |
Логические операции
операция |
значение |
not |
Отрицание |
and |
Логическое умножение (коньюнкция) И |
or |
Логическое сложение (дизьюнкция) ИЛИ |
xor |
Исключающее ИЛИ |
= |
равно |
<> |
не равно |
< |
меньше |
<= |
не больше |
> |
больше |
>= |
не меньше |
ПОРЯДОК ВЫПОЛНЕНИЯ ОПЕРАЦИЙ
Операция |
Приоритет |
Вид операции |
@, NOT |
Первый (высший) |
Унарная операция |
*, /, DIV,MOD,AND |
Второй |
Операция типа умножение |
+, -, OR,XOR |
Третий |
Операция типа сложения |
=, <>, <, >, <=, >=, IN |
Четвертый (низший) |
Операция отношения |
Для определения старшинства операций имеется четыре основных правила:
Операнд, находящийся между двумя операциями с различными приоритетами, связывается с операцией, имеющей более высокий приоритет.
Операция, находящаяся между двумя операциями с равными приоритетами, связывается с той операцией, которая находится слева.
Выражение, заключенное в скобки, перед выполнением вычисляется как отдельный операнд.
Операции с равным приоритетом производятся слева направо с возможным регулированием порядка выполнения скобками.
Типы данных
Паскаль имеет развитую систему типов данных. Их принято делить на группы:
1. Простые типы:
▪ скалярные:
целые;
вещественные;
символьные;
булевский (логический) тип;
перечислимые;
▪ ограниченные;
2. Составные типы:
▪ регулярные (массивы);
▪ комбинированные (записи);
▪ файловые;
▪ множественные;
▪ строковые;
▪ объекты;
3. Ссылочные типы;
4. Процедурные типы.
Базовыми в системе типов являются простые типы. Составные типы по определенным правилам строятся из простых. Ссылочные типы образуются из любых других типов. Составные и ссылочные типы можно считать некоторыми правилами для построения более сложных типов из простых. Первичными в иерархии типов являются скалярные типы, представляющие традиционные в языках программирования множества значений (целые, вещественные, символьные, булевские.
Таблица Скалярные типы
Название |
Идентификатор |
Множество допустимых значений |
Размер памяти |
Целые типы | |||
Короткий целый |
Shortint |
-128..127 |
1 байт |
Байтовый |
Byte |
0..255 |
1 байт |
Слово |
Word |
0..65 535 |
2 байта |
Целый |
Integer |
-32 768..32 767 |
2 байта |
Длинный целый |
Longint |
-2147483648 .. 2147483647 |
4 байта |
Вещественные типы | |||
Вещественный |
Real |
-1,7х1038.. -2,9х10-39, |
6 байт |
|
|
2,9x10-39.. 1,7х1038 |
|
С одинарной точностью |
Single |
-3,4x1038 .. -1,5x10-45, |
4 байт |
|
|
1,5х1045.. 3,4х1038 |
|
Символьный | |||
Символьный |
Char |
Символы из расширенного набора символов кода ASCII |
1 байт |
Булевский | |||
Булевский |
Boolean |
False, True |
1 байт |
Вопросы для повторения:
Какого типа будет результат деления 15/4 (16/4, 16.4/2) ?
Какие из приведенных ниже записей вещественных чисел являются неправильными и почему?
а) 7.
Д) -ОЕ-2 и) -71
б) -6.1
е) 0.1Е-5
к) 0.31
в) 0.0
ж) -5.3Е4
л) .456
г) 9
з)+2.3Е+3 ы) 2,1
а) I*I+J*J+2*K/2; б) X<Y
в) SIN(X)+2*COS(Y)+Z; г) I+SQRT(J), если известно, что I, J, K:INTEGER; X, Y, Z:REAL.
Вычислить значения выражений, если А =2,5; В=7,8; С= -17,3; М=5; Х=8,7; E=TRUE:
а) (А+В)/С*М
б) 2+Х*Х/(Х+(А+В)/5)
в) (А<В) AND (X+A<B) OR (C<M) OR Е
Какого типа будет значение выражения: 10/2 + 5?
Можно ли утверждать, что в Паскале значение выражения (1/3)*3–1 равно нулю?
Укажите порядок выполнения операций в выражении: –a mod b + a div b*c.
Есть ли разница (с точки зрения языка Паскаль) между числами 100 и 100.0, между 20 и 2Е1?