var ss,st2: string; {тип данных - строка, см лекцию 4} begin ss:= 'Это пример строки'; st2:= copy('Однако '+ss,4-3,7+4)+ ss[5]+'рограммы !'; writeln(st2);readln; end.Здесь использованы операции + - в параметрах, чтобы подчеркнуть, что это выражения, ибо забывают, что константы, переменные и функции - тоже частный случай выражения. Программа печатает: Однако Это программы !
Модули можно понимать как склад полуфабикатов или библиотеку. В модуле могут хранится подпрограммы (процедуры и функции), описания переменных, констант, типов и т п.
Модули могут хранится в откомпилированном виде. Тогда Вы не тратите время на повторение компиляции.
Модули можно использовать в разных программах.
Модули скрывают от проклятых конкурентов первичный код.
Модули бывают стандартные (разработаны поставщиком Паскаля-Делфи Borland), могут быть пользовательские - самодельные или найденные где-то.
Основные стандартные модули Турбо Паскаля:
Crt - Подпрограммы модуля Crt обеспечивают контроль над текстовыми режимами экрана, расширенными кодами клавиатуры, цветами, окнами и звуком. Graph - В модуле Graph (GRAPH.TPU) находится библиотека, состоящая из более чем 50 графических подпрограмм от побитовых до подпрограмм высокого уровня. System - Модуль System - основная библиотека поддержки Turbo Pascal. ¦ SYSTEM.TPW Для Windows ¦ SYSTEM.TPP Для защищенного режима DOS ¦ SYSTEM.TPU Для реального режима DOS В библиотеке находятся низкоуровневые подпрограммы поддержки всех встроенных возможностей TurboPascal, например, файловый ввод/вывод, обработка строк, чисел с плавающей точкой и динамическое распределение памяти. Все модули и программы автоматически используют модуль System, так что вы не должны указывать его в разделе Uses вашей программы. Подробнее см. встроенный справочник среды TPas7 и Делфи.Чтобы использовать подпрограммы, константы и т д из модуля, сразу после заголовка программы запишите
Например program Cvet; uses crt; {"подключаю" модуль crt} begin textbackground(blue); {устанавливаю цвет фона - синий} textcolor(white); {устанавливаю цвет символов - белый} clrscr; {очищаю экран (заливаю цветом фона)} writeln('Hi!'); {Вывожу на экран Hi! белым цветом} textcolor(yellow); writeln('Hi!'); {Вывожу на экран Hi! желтым цветом} readln; {Здесь программа ждет нажатия на клавишу Enter} end. Примечание:На современных машинах CRT.tpu лучше заменить, например, на tpCRT.tpu
Выражение служит для вычисления значений. Имеет тип ( соответствующий типу результата вычисления: арифметический, логический, строковый (текст) и т д ).. Оно состоит из ОПЕРАНДОВ (Константы, Переменные, Вызовы функций,Конструкторы множеств), знаков операций (операторов. Например: + - * /) и скобок. Операнды выражения также представляют собой частный случай выражения. Для понимания документации по языку Паскаль нужно понимать. что такое выражение, потому что в описаниях многих конструкций языка используется это понятие.
х + Sin(2)*(3/2+sqrt(4.2)) – арифметическое выражение, результат является вещественным числом. ( равен 4.2274 если х = 1 )
(х < 3) AND (‘a’ < ’d’) – логическое выражение ( результат логический - истина )
copy(‘stadia’,3,2)+’min’ – строковое ( текстовое) выражение – результат равен admin
Если выражение содержит много скобок, будьте внимательны, расставляйте их правильно и проверяйте, чтобы число левых скобок равнялось числу правых скобок.
Таблица знаков операций (иногда называемых операторами):
Операторы Приоритет Категория @ Not Высший Унарные операторы * / Div Mod Shl Shr Второй Операторы умножения + - Or Xor Третий Операторы сложения = <> < > <= >= In Низший Операторы сравнения
Массивы представляют собой ограниченную упорядоченную совокупность однотипных величин. Каждая отдельная величина называется компонентой (или элементом) массива. Тип компонент может быть любым, принятым в языке ПАСКАЛЬ, кроме файлового типа. Тип компонент называется базовым типом.
Синтаксис: Array [тип_индексов] Of тип_элементов; Замечания: Позволяются несколько индексов, если они разделены запятыми. Элементы массива могут иметь любой тип, а тип индексов должен быть порядковым. Примеры: Type IntList = Array[1..100] Of Integer; CharData = Array['A'..'Z'] Of Byte; Matrix = Array[0..9, 0..9] Of Real; var mass2: array[byte] of char;
Вся совокупность компонент определяется одним именем. Для обозначения отдельных компонент используется конструкция, называемая переменной с индексом
A[5] S[k+1] B[3,5].
В качестве индекса используют выражение (в частности - константу или переменную). Тип индексов должен быть одним из порядковых типов.
В операторной части программы один массив может быть присвоен другому, если их типы идентичны, например:
R1:=Z;
Для ввода или вывода массива в список ввода или вывода помещается переменная с индексом, а операторы ввода или вывода выполняются в цикле.
Двумерные массивы (два индекса) хранятся в памяти ЭВМ по строкам. Принято, что первый индекс определяет номер строки, второй - номер столбца.
Инициализация массивов (присвоение начальных значений всем компонентам массивов) осуществляется двумя способами.
Первый способ - с использованием типизированных констант, например:
type Dim10= Array[1..10] of Real; const raM10: Dim10 = ( 0, 2.1, 4, 5.65, 6.1, 6.7, 7.2, 8, 8.7, 9.3 );
2-й способ: присваивание значений каждому элементу массива:
var XX: array [1..10] of real; ii: integer; begin for ii:=1 to 10 do XX[ii]:= II*ii + 20; end.
Здесь применён оператор цикла. Переменная ii поочередно принимает значения: 1,2,...10 и для каждого ii выполняется оператор:
XX[ii]:= II*ii + 20;
то есть: XX[1] := 1*1+20; XX[2]:= 2*2+20; ... XX[10]:= 10*10+20;
В Турбо-Паскале и Делфи существуют динамические ("безразмерные") массивы. В ТПас7 они могут использоваться только как параметры подпрограмм.