Инструменты пользователя

Инструменты сайта


subjects:programming:pascal:start

Это старая версия документа!


Pascal

Паскаль – это императивный, структурированный компилируемый язык программирования.

Часто используется в учебных заведениях в качестве «первого» языка. Является базой для ряда других языков. Особенностями языка являются строгая типизация и наличие средств структурного (процедурного) программирования.

Паскаль, в первоначальном виде, представляет собою чисто процедурный язык и включает множество структур и конструкций с зарезервированными словами наподобие if, then, else, while, for, и т. д. Тем не менее, Паскаль также содержит большое количество возможностей для структурирования информации и абстракций. В современных диалектах (Free Pascal) доступны такие операции, как перегрузка операторов и функций.

Стандартные функции

ФункцияОписаниеПример
Простые типы данных
DEC(N)Уменьшение N
DEC(6);//=5
INC(N)Увеличение N
INC(5);//=6
ORD(N)Порядковый номер N
ORD(5);//=5
ORD('b');//=98
ODD(N)Проверка N на (не)чётность
ODD(5);//=True
ODD(4);//=False
PRED(N)Предшествующее значение N
PRED('b');//='a'
SUCC(N)Последующее значение N
SUCC('B');//='C'
Целые типы данных
A DIV BЦелая часть от деления
14 DIV 3;//=4
A MOD BОстаток от деления
14 MOD 3;//=2
TRUNC(X)Получение целой части вещественного числа X
TRUNC(3.52);\\=3
ROUND(X)Округление до целого вещественного числа X
ROUND(3.52);\\=4
Целые и вещественные типы данных
ABS(NX)Абсолютная величина NX
ABS(-3);//=3
SQR(NX)Квадрат числа NX
SQR(3);//=9
Вещественные типы данных
ARCTAN(X)Арктангенс X
 
COS(X)Косинус X
COS(PI/3);//=0.5
EXP(X)ex
 
FRAC(X)Дробная часть X
FRAC(3.52);//=0.52
INT(X)Целая часть X
INT(3.52);//=3
LN(X)Натуральный логорифм (по основанию e)
 
PIЗначение $\pi=3.1415926535897932385$
 
SIN(X)Синус X
 
SQRT(X)Квадратный корень из X
SQRT(9);//=3
Логические операнды
NOTОтрицание
 
ORОбъединение, или логическое сложение
 
ANDПересечение, или логическое умножение
 
XORИсключающее ИЛИ, или сложение по модулю два
 
Другое
RandomizeИнициализация генератора случайных чисел (обычно, в начале программы, сразу после begin)
Randomize;
RandomГенерация случайного числа
a:=random(1000);//a от 0 до 999

Типы данных

Можно выделить следующие типы данных:

  • Простые типы
    • Целые типы – SHORTINT, INTEGER, LOGINT, BYTE, WORD;
    • Логический тип – BOOLEAN
    • Перечисляемые типы (определяются программистом через TYPE)
    • Тип-диапазон
      TYPE NUM = -10..10;
    • Символьный тип – CHAR
    • Вещественные типы – REAL, SINGLE, DOUBLE, EXTENDED, COMP;
    • Текстовая строка – STRING;
  • Структурированные типы
    • Массив
      M1 : ARRAY[1..10, 2..20] OF INTEGER;
      • ASCII-строка– PCHAR;
    • Запись (структура в Си)
      TYPE 
      HUMAN = RECORD
        NAME : STRING;
        DATA : INTEGER;
      END;

      Доступ к полям через имя_переменной.имя_поля.

    • Множество (из порядковых элементов и общее число меньше 255)
      M = SET OF ['a', 'b', '5', '!'];
    • Файл
      • Текстовый файл – TEXT;
      • Типизированные (FILE OF тип)
      • файлы без типа (FILE)
  • Указатели
    • Тип-указатель– POINTER
  • Процедурные типы (процедуры и функции допустимо использовать в качестве переменных)
  • Объекты

Объявление переменных:

FIXME

Ввод, Вывод сообщений в консоли:

INPUT, OUTPUT - работа с файлами

Чтение:

READ (A, B, C);
//123 2345 -56 <Enter>|
 
READLN(A, B, C);
//123 2345 -56 <Enter>
|

Запись:

WRITE();
WRITE(J:8, I:12); // Указание позиций вывода
WRITELN(); // WRITE + перевод строки

Структурированные операторы

BEGIN … END

Составной оператор BEGIN … END представляет собой совокупность последовательно выполняемых операторов, заключённых в операторные скобки BEGIN и END.

Выбор (условия)

IF … THEN

IF True THEN <1>;
IF True THEN <1>
ELSE <2>;
IF True THEN
  BEGIN
    <1.1>
    <1.…>
  END
ELSE
  BEGIN
    <2.1>
    <2.…>
  END;

CASE … OF

CASE PARAMETR OF
  P1: <1>;
  P2: <…>;
  ELSE: <N>
END;

Циклы

Во всех циклах можно использовать процедуры: BREAK , CONTINUE .

FOR … DO

Общий вид:

FOR I:=N1 TO N2 DO <1>;

Пример:

FOR var i:=1 TO 5 DO
write(i);
//12345

:!:Пример для уменьшения значения:

FOR var i:=5 DOWNTO 1 DO
write(i);
//54321

REPEAT … UNTIL

Цикл с постусловием, т.е. цикл будет гарантированно пройден минимум один раз, т.к. проверка осуществляется после каждого выполнения тела цикла.

REPEAT
  <1>
UNTIL <Условие>;

Цикл выполняется до тех пор, пока условие не станет истинным.

WHILE … DO

Цикл с пред условием, т.к. проверка проводится до начала очередной итерации.

WHILE <Условие> DO
<1>;

Массив:

FIXME

Функции

FIXME

Работа с файлами

Файлы бывают 3-х видов:

  • текстовые файлы
  • типизированные файлы
  • нетипизированные файлы.

Открытие текстового файла для чтения

Program readtextfile;
Uses crt;
var
  fl:text;  // Для связи программы с текстовым файлом. Файловые переменные, предназначенные для работы с текстовыми файлами, должны иметь тип данных Text.
  str:string;  // Будем использовать для чтения строк из файла.
begin
  clrscr;
  assign (fl, 'programs\text.txt');  // Теперь посредством файловой переменной «fl» мы можем управлять файлом «text.txt».
  reset (fl);  // Инициация файла – это открытие файла для чтения, записи либо для чтения и записи одновременно. Процедура Reset говорит нам о том, что файл открывается только для чтения.
    read (fl,str);  // Для того чтобы получить доступ к записям, хранящимся в файле, используются процедуры Read, Readln, Write, Writeln. В результате действия процедуры Read из файловой переменной «fl» будет прочитана информация и эта информация будет записана в строковую переменную «str». 
    write(str);  // Вывод на экран.
  close(fl);  //  Стандартная процедура закрытия файла.
  readln;
end.

FIXME

ООП

FIXME

Пример простой программы

FIXME

subjects/programming/pascal/start.1527790990.txt.gz · Последние изменения: 2018/05/31 21:23 —

На главную страницу Обучение Wikipedia Тестирование Контакты Нашли ошибку? Справка

Записаться на занятия

Ошибка Записаться на занятия к репетитору

Телефоны:

  • +7 (910) 874 73 73
  • +7 (905) 194 91 19
  • +7 (831) 247 47 55

Skype: eduVdom.com

закрыть[X]
Наши контакты