Основы языка программирования Паскаль

Download Report

Transcript Основы языка программирования Паскаль

Основы языка
программирования
Паскаль
Содержание:
Алфавит языка
Типы данных
Порядок вычисления
выражений
Константы
Структура программы
Переменные
Операторы вывода
Стандартные функции
Операторы ввода
Знаки операций
Логические операции
Выражения
Запись выражений
Алфавит языка
1. Латинские буквы: A, B, C, …, Z; a, b, c, …, z.
Прописные и строчные буквы не
различаются.
2. Арабские цифры: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
3. Специальные символы: | { } | [ ] | ( ) | ‘ | := | ;
| : | . | ^ | @ | # | $ |.
4. Знаки операций.
5. Служебные слова.
Типы данных
1. Целые типы.
Тип
Диапазон
Формат Размер
Integer
-32768…32767
Знаковый 2 байта
Longint
Знаковый 4 байта
Byte
- 2147483648 …
2147483647
0 … 255
Без знака
1 байт
Word
0 … 65535
Без знака
2 байта
Shortint
- 128 … 127
Знаковый 1 байт
2. Действительный (вещественный) тип
Real
Под хранение значений действительного типа отводятся
ячейки длиной в 6 байт. В программе может записываться в
двух формах:
а) естественная форма (в виде последовательности
цифр со знаком или без, в которой целая и дробная част
разделены точкой):
+13.167; -0.002; 1112.5;
б) форма с порядком (форма с плавающей точкой) имеет
вид mEp, где m – мантисса, р – порядок, Е – десятичное
основание степени:
3.123Е- (3,123  10-1), 1234Е12 (1234  1012).
3. Символьный тип Char
Для хранения данных символьного типа выделяются ячейки
длиной в 1 байт. В программе записывается как любой символ
клавиатуры, заключённый в апострофы: ‘ 1 ‘ ; ‘ d ‘ ; ‘ & ‘.
4. Логический тип Boolean
Для хранения данных логического типа выделяются ячейки
длиной в 1 байт. В программе записывается:
True – истина, False – ложь.
5. Строковый тип String
Для хранения данных строкового типа отводятся ячейки
длиной 256 байт. Первый байт содержит признак строки,
поэтому длина строки не должна превышать 255 символов. В
программе записывается как последовательность символов,
заключённых в апострофы: S:= ‘ информатика ’.
Константы
Константы – это величины, которые в ходе
выполнения программы не изменяют своё значение.
Константы могут задаваться:
• в явном виде (тогда вид определяет тип константы)
17 – Integer; 3.14 – Real; ‘h’ – Char; ‘Turbo Pascal’ –
String; True – Boolean;
• в виде поименованной константы (тогда имя константы должно быть описано и указано её значение)
C1 = 17; C2 = 3.14; C3 = ‘h’.
Переменные
Переменные используются для обозначения
величин, которые изменяются в ходе выполнения
программы.
Для обозначения переменных используются имена
(идентификаторы). В качестве имён можно
использовать последовательность латинских букв,
цифр, знак подчёркивания. Имена должны
начинаться с буквы.
Max; Summa_1; Y_34
Переменные бывают простые (одному имени соответствует только одно значение) и структурированные (одному имени соответствует совокупность
значений).
Стандартные функции
Имя
Действие
Тип
аргумента
Тип
результата
Арифметические функции
PI
Пи
ABS(X)
|X|
Integer, Real
Integer, Real
SQR(X)
X2
Integer, Real
Integer, Real
SIN(X)
Sin x
Integer, Real
Real
COS(X)
Cos x
Integer, Real
Real
EXP(X)
ex
Integer, Real
Real
LN(X)
Integer, Real
Real
SQRT(X)
Ln x
x
Integer, Real
Real
ARCTAN(X)
Arctg x
Integer, Real
Real
Real
Имя
Действие
Тип
Тип
аргумента
результата
Функции преобразования типов
ORD(X)
Преобразует
порядковый
тип в целый
Любой поряд- Integer
ковый тип
CHR(X)
Преобразует
ASCII-коды в
символ
Integer
Char
ROUND(X)
Округление
до ближайшего целого
Real
Longint
TRUNC(X)
Целая часть
числа
Real
Longint
Имя
Действие
Тип
Тип
аргумента
результата
Функции для величин порядкового типа
PRED(X)
Определение
предыдущего
значения
Любой поряд- Тот же тип, что
ковый тип
и у аргумента
SUCC(X)
Определение
следующего
значения
Любой поряд- Тот же тип, что
ковый тип
и у аргумента
ODD(X)
Проверяет
величину х на
нечётность
Integer
Boolean
RANDOM
[(X)]
Формирует
случайное
число
Word
Задан х – Word:
0 <= Rez < x.
Не задан х – Real:
0.0 <= Rez < 1.0
х – параметр,
указывающий
диапазон значений случайного
числа
Знаки операций
Знак
Операция Тип операндов Тип результата
Арифметические функции
+
Сложение
Целые
Хотя бы один Real
Целые
Real
-
Вычитание
Целые
Хотя бы один Real
Целые
Real
*
Умножение
Целые
Хотя бы один Real
Целые
Real
/
Деление
Целые или Real
Real
div
Деление
нацело
Целые
Целый
Остаток от
деления
целых чисел
Целые
Целый
mod
Знак
Операция Тип операндов Тип результата
Операции отношения
=
Равно
<>
Не равно
>
Больше
<
Меньше
>=
Больше или
равно
<=
Меньше или
равно
Любой
сравнимый тип
(оба операнда
должны быть
одного типа)
Логический
Логические операции
X
Y
X and Y
X or Y
(умножение)
(сложение)
False False
False
False
False
True
False True
False
True
True
True
True False
False
True
True
False
True
True
True
False
False
True
X xor Y
not X
(исключа- (отрицание)
ющее ИЛИ)
Порядок вычисления
выражений
1. Вычисления в круглых скобках.
2. Вычисление значения функции.
3. Унарные операции (отрицание, возведение в квадрат, извлечение корня).
4. Операции умножения и деления (*, /, div,
mod, and).
5. Операции сложения и вычитания (+, -, or,
xor).
6. Операции отношения (=, <>, <, >, <=, >=).
Задание 1.
а) Записать числа в форме с плавающей точкой:
234  105; 7698.76  10-7; -67  10-1.
б) Записать числа в естественной форме:
134Е-2; 67858Е-3; 56.876Е+2; 456.6Е03; -43.89Е+05.
Задание 2.
Вычислить:
а) 27 div 4; 27 mod 4; 3 div 5; 3 mod 5; -14 div 3; -14 mod 3.
б) trunc (8.999); round (8.999); trunc (-43.65); round (-43.65).
в) succ (5); succ (-5); pred (5); pred (-5); succ (-23).
г) 5 > 3; 11 <> 11; 90 <= 91; 12.3 – 12 >= 0.1 + 0.2; 34.8 < 34.
Выражение
Выражение состоит из операндов и операторов.
Операндами выражений могут быть константы и
переменные.
Операторы
находятся
между
операндами и обозначают действия, выполняемые
над операндами.
При записи выражений между операндом и
оператором, за исключением операторов div и mod,
пробел можно не ставить.
Операторы имеют разный приоритет. Приоритет
операторов влияет на порядок их выполнения. При
вычислении значения выражения сначала выполняются операторы с более высоким приоритетом.
Если приоритет операторов одинаковый, то сначала
выполняется тот оператор, который стоит левее.
Запись выражений
При записи выражений на языке программирования не допускаются: верхние и нижние
индексы, многоэтажная запись.
Для задания
нужного порядка выполнения операций можно
использовать скобки. При записи выражений,
содержащих скобки должна соблюдаться парность
скобок, т.е. число открывающихся скобок должно
быть равно числу закрывающихся скобок.
a b  c
Пример записи выражения
на языке
a  c:b
программирования:
(a * b – c) / (a + c / b).
Задание 3.
Записать выражения на языке Паскаль:
a  b  4ac
2b  3a
2
x y
2
x y
y1
x1  x2 
y2  x1
x1
x y x y
x1  x2 

x1  y2
x y x y
x y
x y

x y
x y
sin   cos   sin   cos 
b  4ac
2a  b
1 x
2
1 2  3  4  5
y
x 2
x  xy
x  y 
1
1 2
x 4
Структура программы
Заголовок программы
Соглашения
• Описание стандартных модулей
• Описание меток
• Описание констант
• Описание переменных
• Описание процедур и функций
Исполняемая часть
I. Заголовок программы
program < имя > (входной файл, выходной файл)
Входной файл – файл, содержащий данные (input);
выходной файл – файл, куда записываются
результаты работы программы (output).
Варианты записи написания программы:
1. Без заголовка.
2. В виде Program имя программы.
3. Выше указанный (полный вариант).
II. Соглашения
1. Описание стандартных модулей.
Этот раздел начинается со служебного слова
uses, за которым следует имя модуля. Например:
uses crt; uses graph. В том случае, если
необходимо подключить несколько модулей, их
имена перечисляются через запятую.
2. Описание меток.
Раздел начинается служебным словом label. В
данном разделе описываются метки, по которым
будет работать оператор безусловного перехода.
В качестве меток обычно выступают целые
числа. Например: label 1, 2, 3.
3. Описание констант.
В этом разделе описываются величины, значения
которых не будут изменяться при исполнении
программы. Например: const a = 10; b = 8.
4. Описание переменных.
Раздел начинается со служебного слова var, за
которым следуют имена переменных с указанием
их типа. В случае, если есть несколько переменных
одного типа, то они перечисляются через запятую.
Например: var a: integer; b, c, d: real.
5. Описание процедур и функций.
В данном разделе описываются подпрограммы.
III. Исполняемая часть
Исполняемая часть начинается со служебного слова
begin и завершается служебным словом end, после
которого ставится точка. Между этими словами
пишутся операторы, процедуры и другие элементы,
управляющие работой программы.
Оператор – указание, которое определяет характер
и последовательность выполнения действий по
обработке данных, записанное в установленной
форме. В одной строке можно записывать несколько
операторов, разделяя их точкой с запятой.
Процедура – стандартный алгоритм обработки
информации, состоящий из имени, описания и
операторов, реализующих процедуру. В исполняемой
части программы указывается только имя процедуры.
Оператор вывода
1. Оператор вывода Write (b1, b2,…, bn), где b1, b2,…,
bn – выражения типов: Integer, Char, Real, String,
Boolean. При выполнении этого оператора
значения выводятся в одну строку. Для удобства
восприятия вывода задаётся маска в виде:
Write (a : n : m), где а – выводимое значение, n –
число позиций, отводимых под значение а, m –
число позиций, отводимых под дробную часть. Для
более красивого вывода можно использовать
запись: Write (‘x1=‘, x1 : 8 : 3, ‘ ‘ : 10, ‘x2=‘, x2 : 8 : 3),
где 10 – количество пробелов между значениями.
2. Оператор вывода Writeln (b1, b2,…, bn) отличается
от первого тем, что после вывода последнего
значения курсор переводится в начало следующей
строки экрана.
Оператор ввода
1. Оператор ввода значений с клавиатуры имеет вид
Read (a1, a2,…, an), где a1, a2,…, an – имена
переменных. Вводимые значения не могут быть
логическими. Один оператор Read позволяет
получить значения нескольких переменных. При
этом числа должны быть набраны в одной строке и
разделены пробелами.
2. Оператор ввода Readln (a1, a2,…, an) отличается от
первого тем, что после ввода последнего значения
оставшаяся часть строки теряется и следующий
оператор Read или Readln будет требовать нового
ввода. Чтобы «подсказать» пользователю, какие
данные ожидает от него программа, перед каждым
оператором ввода следует располагать оператор
Write с подсказкой.
Задача 1
Составить программу «Диалог с компьютером»:
Program Lin1;
Var a: String;
Begin
Writeln(‘Я компьютер, а как зовут тебя?’);
Readln(a);
Writeln(‘Очень приятно,’,a);
End.
Задача 2
Даны числа А, В, С. Переприсвоить их значения
следующим образом: А  В  С.
Исходные данные: А=10, В=15, С=20.
Результат: А=20, В=10, С=15.
Program Lin2;
Var A,B,C,D: Integer;
Begin
Writeln(‘введите значения переменных А, В, С’);
Read(А,В,С);
D:=C;
C:=B;
B:=A;
A:=D;
Writeln(‘A=‘,A,’B=‘,B,’C=‘,C);
End.
Процедуры
В составе Turbo Pascal есть специальный модуль с
именем CRT, в котором располагаются процедуры и
функции для оформления вывода данных:
Clrscr (clear screen) – очистка окна вывода.
Gotoxy(m,n) – установка курсора в позицию m строки n.
Левый верхний угол (1, 1).
Textbackground(c) – установка цвета фона; с – число,
определяющее цвет (от 0 до 7).
Textcolor(c) – установка цвета
принимать значения от 0 до 15.
шрифта,
с
может
Delay(n) – приостановка выполнения программы на n
миллисекунд.
Основные цвета
Название
Цвет
Но
мер
Название
Цвет
Но
мер
Black
Чёрный
0
DarkGray
Серый
8
Blue
Синий
1
LightBlue
Голубой
9
Green
Зелёный
2
LightGreen Св-зелёный
10
Cyan
Бирюзовый
3
LightCyan
Св-бирюзов
11
Red
Красный
4
LightRed
Св-красный
12
Magenta
Сиреневый
5
LightMage
nta
Светлосиреневый
13
Brown
Коричневый
6
Yellow
Жёлтый
14
LightGray Белый (светло-серый)
7
White
Ярко-белый
15