Pasсal
Система программирования Турбо Паскаль представляет собой единство двух в известной степени самостоятельных начал: компилятора с языка программирования Паскаль (язык назван в честь выдающегося французского математика и философа Блеза Паскаля (1623-1662)) и некоторой инструментальной программной оболочки Турбо Паскаль.
Алгоритм
Алгоритм – это однозначно определенная последовательность действий, записанная на понятном исполнителю алгоритмическом языке и определяющая процесс перехода от исходных данных к результату.
Свойства алгоритма:
Дискретность – алгоритм состоит из отдельных инструкций (шагов);
Однозначность – каждый шаг понимается исполнителем единственным образом;
Массовость – алгоритм работает при меняющихся в некоторых пределах входных данных;
Результативность – за конечное число шагов достигается некоторый результат.
Формы записи алгоритма
Графическая (блок-схема) – отдельные шаги алгоритма изображаются геометрическими фигурами, последовательность выполнения шагов – связями между фигурами
Прямоугольник – любая последовательность действий; внутри прямоугольника записываются формулы или словесное описание выполняемых действий.
Ромб – блок проверки условия; так как любое условие может быть только истинно или ложно, у блока 1 вход и 2 выхода, соответствующие действиям, выполняемым в случаях, когда условие истинно и когда оно ложно. Выходы подписывают символами "+" и "-", или "да" и "нет", "1" и "0" и т.п.
Параллелограмм – блок ввода исходных данных. Внутри фигуры обычно пишется, какие именно данные должны быть введены.
Лист с разрывом – блок вывода данных. Внутри фигуры указывается, какие данные или сообщения программа выводит для представления пользователю.
Закругленный прямоугольник – блоки начала и конца программы, внутри блоков обычно указывается "нач" или "кон" соответственно.
Последняя фигура служит для изображения циклов, как правило, у нее 2 входа (первый и повторный вход в цикл) и 1 выход, соответствующий завершению циклического процесса.
Текстовая форма записи алгоритма (псевдокод) – шаги алгоритма и последовательность их выполнения задаются набором ключевых слов.
нач начало программы
кон конец программы
если-то-иначе проверка условия
ввод ввод данных
вывод вывод данных
для-от-до-нц-кц цикл со счетчиком (нц – начало цикла, кц – конец)
пока-нц-кц цикл с предусловием
нц-кц-пока цикл с постусловием
Алфавит языка
Алфавит - это совокупность допустимых в языке символов
Алфавит Турбо Паскаль включает следующий набор основных символов:
1. Строчные и прописные латинские буквы:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z
2. Пробел:
3. Подчеркивание: _
4. Арабские цифры:
0 1 2 3 4 5 6 7 8 9
5. Знаки операций:
+ - * / = <> < > <= >= := @
6. Ограничители:
, ‘ ( ) [ ] (. .) { } (* *) .. : ;
7. Спецификаторы:
# $
8. Служебные (зарезервированные) слова:
ABSOLUTE EXPORTS LIBRARY SET
ASSEMBLER EXTERNAL MOD SHL
AND FAR NAME SHR
ARRAY FILE NIL STRING
ASM FOR NEAR THEN
ASSEMBLER FORWARD NOT TO
BEGIN FUNCTION OBJECT TYPE
CASE GOTO OF UNIT
CONST IF OR UNTIL
CONSTRUCTOR IMPLEMENTATION PACKED USES
DESTRUCTOR IN PRIVATE VAR
DIV INDEX OCEDURE VIRTUAL
DO INHERITED PROGRAM WHILE
DOWNTO INLINE PUBLIC WITH
ELSE INTERFACE RECORD XOR
END INTERRUPT REPEAT
EXPORT LABEL RESIDENT
Типы Данных
В Турбо Паскале имеются следующие группы простых типов:
Целые типы
Тип | Диапазон | Формат | Размер |
Integer | -32768….32767 | Знаковый | 2 байта |
Longint | -2147483648…2147483647 | 4 байта | |
Byte | 0…255 | Беззнаковый | 1 байт |
Word | 0…65535 | 2 байта | |
Shortint | -128…127 | Знаковый | 1 байт |
Действительный тип Real
Под хранение значений отводятся ячейки длиной в 6 байт. В них под хранение порядка отводится столько бит, сколько позволяет записать порядок (до 99). Остальные биты отводятся под хранение мантиссы.
В программе может записываться в двух формах:
Естественная форма
В виде последовательности цифр со знаком или без, в которой целая и дробная части разделены точкой.
Примеры: +13.456; -0.32; 7.83
Форма с порядком mEp
m – мантисса, Е – десятичное основание степени, р – порядок, двузначное целое число (не более 99).
Примеры: 1234Е32 (т.е. 1234 × 1032), 3.54Е-12 (т.е. 3.54×10-12).
Символьный тип Char
Для хранения данных символьного типа выделяется ячейки длиной в 1 байт. В программе записывается как любой символ клавиатуры, заключенный в апострофы.
Примеры: ’1’; ’d’; ’?’.
Логический тип Boolean
Для хранения данных логического типа выделяются ячейки длиной 1 байт. В программе записывается: True – истина, False – ложь.
Строковый тип String
Для хранения данных типа String отводятся ячейки длиной 256 байт. 1-й байт содержит признак строки, поэтому длина строки не должна превышать 255 символов. В программе записывается, как последовательность символов, заключенных в апострофы.
Примеры: S:= ‘информатика’.
Задачи:
1. К какому типу в Паскале относятся следующие последовательности символов?
а) -129; б) 0.003; в) ’э’; г) ’1.245’;
д) ’Учебник по информатике’; е) True
2. Какой тип и сколько байт выделяется для хранения?
а) 12; б) -34.02; в) ’s’.
Далее
Выражения
Константы
Константы – это величины, которые в ходе выполнения программы не изменяют свое значение.
Они могут задаваться:
- в явном виде и тогда их вид определяет тип константы.
Примеры:
17 – Integer; 3.14 – Real; ’h’ – Char;
’Pascal’ – String; True – Boolean
- в виде именованной константы, тогда имя константы должно быть описано и указано её значение.
Примеры: С1=17; С2=3,14; С3=’h’.
Переменные
Переменные используются для обозначения величин, которые изменяются в ходе выполнения программы. Для обозначения переменных используется имена (идентификаторы).
В качестве имен можно использовать последовательность латинских букв, цифр, знак подчеркивания.
Имена должны начинаться с буквы.
Знаки операцийАрифметические операции
Знак | Операция | Тип операции | Тип результата |
+ | Сложение | Целые | Целый |
- | Вычитание | Целый | |
* | Умножение | Целые | |
/ | Деление | Целые или действительные | Действительные |
div | Деление целых чисел | Целые | Целый |
mod | Остаток от деления целых чисел |
Структура программы
Программа состоит из заголовка программы и блока программы.
Заголовок:
Program <имя программы>;
<имя программы> - любой идентификатор (переменная)
Блок программы:
1) раздел описания меток Label;
2) раздел определения констант Const;
3) раздел описания типов;
4) раздел описания переменных Var;
5) раздел описания процедур и функций;
6) раздел операторов
Раздел описания переменных
Var <записывается имена всех переменных, используемых в программе>
Переменные одного типа можно описать общим списком.
Пример 1: Описать переменные квадратного уравнения ах2+bx+c=0. Все переменные действительного типа
Var a,b,c,x1,x2: Real;
Пример 2: Если в программе используются переменные различных типов, то их разносят по спискам своего типа
Var a,b,c,x1,x2: Real;
i, s: Integer;
Раздел операторов
Раздел операторов является обязательным, он всегда последний. Этот раздел начинается со слова:
Begin
и заканчивается:
End.
Внутри записываются операторы. Они размещаются в строке произвольно, но для удобства принято соблюдать ступенчатую запись.
По назначению операторы можно разбить на следующие группы:
1 группа – из одного оператора присваивания. Служит для вычисления значений выражений и присваивания их переменным.
2 группа – операторы ввода-вывода. Служат для обмена информацией между человеком компьютером.
3 группа – операторы обращения к процедуре. Служат для структуризации программы.
4 группа – операторы управления ходом выполнения программы. Служат для изменения естественного порядка выполнения программы.
По составу операторы разделяются на следующие виды:
- простой оператор (присваивания, ввода-вывода, обращения к процедуре);
- сложный оператор или структурный – это оператор, который содержит в своем составе другие операторы (операторы цикла, условный оператор, оператор варианта и т.д.);
- составной оператор – это группа операторов, заключенная в операторные скобки:
Begin
операторы
end;
- пустой – не выполняет никакого действия и никак не отображается в программе.
Домашнее задание
1. Описать переменные, которые используются при нахождении площади треугольника по трем сторонам (формула Герона).
2. Описать переменные, которые используются при нахождении расстояния между двумя точками с координатами х1, у1, х2, у2.
2. Пусть значения переменных Х и Y равны, соответственно, 3 и 2, какие значения будут иметь эти переменные после выполнения операторов присваивания?
а) X:=X+2*Y; Y:=Y/2;
б) Y:= -Y; X:=X+Y; Y:=Y+1;
в) X:=1; X:=X+Y;
г) X:=Y; Y:=X.
Оператор вывода
Write(B1,B2,…,Bn);
где B1,B2,…,Bn – выражения типов: Integer, Char, Real, String, Boolean.
При выполнении оператора значения выражений вычисляются и выводятся в одну строку экрана. Курсор остается на той же строке.
Значение типа Integer – выводится в обычной форме в виде целого числа.
Для удобства восприятия вывода существует возможность задания маски. Она задается в следующем виде:
Write(A:N:M);
где N – выражение, обозначающее общее число позиций, отводимых под значение А;
М – выражение, обозначающая число позиций, отводимых под дробную часть.
Пример 2:
Write(123.456:10:4);
Write(123.456:6:2);
1 | 2 | 3 | . | 4 | 5 | 6 | 0 |
1 | 2 | 3 | . | 4 | 6 |
Значения типа Char и String выводятся в виде одного или последовательности символов.
Значение типа Boolean выводятся в виде True или False.
При выводе значений в одну строку возникает потребность отделить их друг от друга с помощью заданного числа пробелов. Для этого можно использовать элемент списка вывода вида – ’ ’:K,
где К –количество пробелов
Пример 3:
Write(’X1=’,X1:8:3,’ ’:10,’X2=’,X2:8:3);
Writeln(B1,B2,…,Bn);
Отличается от первого тем, что после вывода последнего значения курсор переводится в начало следующей строки экрана.
Writeln;
Перевод курсора на следующую строку.
Задача
Какие из следующих последовательностей символов являются операторами вывода?
а) Write(X,Y); д) Writeln(1+2,3+4,Y/X);
б) Writeln(X:Y:Z); е) Writeln(’1+2’,’3+4’,’Y/X’);
в) Writeln ж) Writeln(X:=Y,Z);
г) Write(’Xx’,Xx,’Yy’,Yy);
Оператор ввода
Оператор ввода значений с клавиатуры имеет вид:
Readln(A1,A2,…,An);
где А1,А2,…,Аn – имена переменных.
Следует иметь в виду, что вводимые значения не могут быть логическими.
Необходимо учитывать:
при вводе символьных значений, каждый введенный символ становится значением очередной переменной;
числовые значения должны разделяться пробелами или нажатием Enter;
при вводе строковых символов нет символа, разделяющего одно значение от другого.
Fl - обратиться за справкой к встроенной справочной службе (Help-помощь);
F2 - записать редактируемый текст в дисковый файл;
F3 - прочитать текст из дискового файла в окно редактора;
F4 - используется в отладочном режиме: начать или продолжить исполнение программы и остановиться перед исполнением той ее строки, на которой стоит курсор;
F5 - распахнуть активное окно на весь экран;
F6 - сделать активным следующее окно;
F7 - используется в отладочном режиме: выполнить следующую строку программы; если в строке есть обращение к процедуре (функции), войти в эту процедуру и остановиться перед исполнением первого ее оператора;
F8- используется в отладочном режиме: выполнить следующую строку программы; если в строке есть обращение к процедуре (функции), исполнить ее и не прослеживать ее работу;
F9 - компилировать программу, но не выполнять ее;
F10 - перейти к диалоговому выбору режима работы с пом-ью главного меню;
Ctrl-F9 - выполнить прогон: компилировать программу, загрузить ее в оперативную память и выполнить, после чего вернуться в TP;
Alt-F5 - сменить окно редактора на окно вывода результатов работы (прогона) программы.
Понадобятся команды Ctrl-F9 для проверки работы программы и Alt-X - для выхода из Турбо Паскаля.
Клавиши F2 и F3 помогут в работе с каталогом.
Командой Alt-F5 можно в любой момент просмотреть данные, выданные на экран в результате прогона программы.
© ООО «Знанио»
С вами с 2009 года.