Пример №41. Демонстрация процедур.



1. Program number41;

2. uses crt;

3. var a, b: integer;

4. procedure poisk;

5. begin

6. if a>b then

7. writeln ('Первое число больше второго')

8. else

9. if a<b then

10. writeln ('Первое число меньше второго')

11. else

12. writeln ('Оба числа равны');

13. end;

14. begin

15. clrscr;

16. write(' Введите a, b ');

17. readln(a, b);

18. poisk;

19. readln

20. end.

В строке №4 записываем зарезервированное слово Procedure. После этого слова через пробел пишем заголовок. Заголовок придумывает сам программист. Я назвал процедуру «poisk».

В строке №5-№13 находится тело процедуры.

Строка №6. Если «a» больше «b», то на экран выводится сообщение в строке №7.

Строка №8. В противном случае (т.е. если «a» меньше либо равно «b»), то проверяется условие в строке №9. И если «a» меньше «b», то на экран выводится сообщение в строке №10.

Строка №11. В противном случае (т.е. если «a» равно «b»), то на экран выводится сообщение в строке №12.

В строке №14 начинается сама программа.

В строке №16 выводится сообщение.

В строке №17 вводим числа с клавиатуры.

В строке №18 записываем название нашей процедуры «poisk». Т.е. с этого момента основная программа перестает работать и начинает работать процедура, которую мы записали в строках №4-№13. После того как процедура будет выполнена продолжится выполнение основной программы.

Теперь запустим программу в Паскале.

 

2. Работа с элементами массива.

 

Билет №13

1. Механизм реализации подпрограмм с помощью функций.

При решении новых задач можно попытаться воспользоваться ранее написанными программами. Алгоритм, ранее разработанной и целиком используемой в составе других алгоритмов, называется вспомогательным. Применение вспомогательных алгоритмов позволяет разбить задачу на части, структурировать ее.

Вся программа условно может быть разделена на две части: основную и вспомогательную. В основной части производится простейшая обработка информации, организуется обращение к разным вспомогательным модулям (подпрограммам).

Подпрограммы могут быть двух видов: подпрограмма без параметров и подпрограмма с параметрами. Обращение к подпрограмме может быть организовано из любого места основной программы или другой подпрограммы сколько угодно раз.

При работе с подпрограммами важными являются понятия формальных и фактических параметров.

Формальные параметры – это идентификаторы входных данных для подпрограммы. Если формальные параметры получают конкретные значения, то они называются фактическими. Формальные параметры могут получить конкретные значения только в той программе, где производится обращение к данному модулю – подпрограмме.

Тип и порядок записи фактических параметров должны быть такими же, как и формальных параметров. В противном случае, результат работы программы будет непредсказуемым. Из этого следует, что фактически параметры используются при обращении к подпрограмме из основной, а формальные параметры – только в самом модуле.

Подпрограмма с параметрами используется для записи многократно повторяющихся действий при разных исходных данных. Подпрограммы с параметрами можно разделить на два типа: подпрограммы-функции и просто подпрограммы с параметрами (их называют процедурами).

При составлении подпрограмм с параметрами надо соблюдать следующие правила:

1) Каждая подпрограмма имеет свое имя и список формальных параметров;

2) Процедура из основной программы вызывается командой вызова, которая по форме ничем не отличается от вызова команды исполнителя. Результат присваивается одной или нескольким переменным, которые находятся в списке формальных параметров. Но, результатом могут быть, конечно не только значения переменных, но какое-либо действие, выполненное на ЭВМ.

2. Понятие алгоритма.

Алгоритм – это метод или способ решения задач, записанных по определенным правилам, обеспечивающий однозначность и его понимание, и механическое исполнение при все значениях исходных данных.

Историческая справка: Слово алгоритм - это латинская транслитерация (Algorithmi) имени знаменитого среднеазиатского ученого Мухамеда бен Мусы аль - Хорезми (787 - 850). Его основополагающие трактаты по арифметике и алгебре, переведены в XII веке на латинский язык, оказали существенное влияние на развитие математики в Западной Европе.

В информатике используют следующие определения:

Алгоритм - это совокупность формальных правил для решения некоторой задачи.

Алгоритмизация - это процесс составления алгоритма.

Алгоритм, как набор правил, должны удовлетворять следующим требованиям:

Определенность (детерминированность) - означает, что предписанные алгоритмом действия должны быть определены точно и однозначно, исключая какие - либо произвольные (случайные) толкования. Детерминированность обеспечивает одинаковость результата, полученного при выполнении алгоритма несколько раз, если исходные данные сохраняют свое значение.

Массовость - алгоритм должен обеспечивать выполнение не одной конкретной задачи, а быть пригодным для реализации класса задач, то есть алгоритм можно применить к любому ряду исходных данных.

Результативность - это требование обеспечивает конечность применения указаний, то есть результат должен быть получен за конечное число шагов, либо за конечное число шагов должно быть получено указание на неприменимость данного алгоритма к решаемой задачи.

Алгоритм задается в той форме, которая наиболее понятна человеку. К самым распространенным способам задания можно отнести:

1. словесный (описательный);

2. табличный;

3. графический (в виде блок - схем).

       Билет №14

1. Функции в Паскале.

2. Основные правила записи блок – схем.

Каждый блок может иметь метку, нумерация идет сверху - вниз и слева - направо.

Линиями соединения отдельных блоков показывают направление процесса обработки в схеме. Каждое такое направление вычислений называется ветвью (линия потока). Направление линий сверху вниз и слева направо принимаются за основные и стрелками не обозначаются. В остальных случаях направление линий потока указываются стрелками.

Записи внутри блоков (символов) должны быть краткими, а выполнение записанных в блоке действий всегда предполагается в последовательности слева на право и сверху вниз.

Билет №15

1. Элементы языка Паскаль.

Алфавит языка ТР включает буквы, цифры, шестнадцатеричные цифры, специальные символы и зарезервированные слова

2.

Буквы - буквы латинского алфавита от a до z и от A до Z. В ТР нет различий между прописными и строчными буквами, если только они не входят в символьные и строковые выражения и символ подчеркивания "_" - буква.

Цифры - арабские цифры от 0 до 9.

Шестнадцатеричные - 0…9; + 6 букв латинского алфавита А…F / а…f.

Специальные знаки - символы: +, -, *, /, =, ,, ., :, ;, <, >, [ ], ( ), { }, ^, @, $, #

К специальным знакам относятся пары символов: <>, <=, >=, :=, (* *), (. .)

В программе эти пары символов нельзя разделять пробелами, если они используются как знаки операций сравнения или ограничители комментария.

Особое место занимают пробелы, к которым относятся любые символы ASCII в диапазоне кодов от 0 до 32. Эти символы рассматриваются как ограничители идентификаторов, констант, чисел, зарезервированных слов. Несколько следующих друг за другом пробелов считаются одним пробелом (исключение: строковые константы).

В Турбо Паскале имеются следующие зарезервированные слова:

and do goto mod procedure to
asm type if nil program xor
array until implementation not record
begin downto in object repeat
case else uses of set
const end var or shl
constructor file inline packed shr
destructor for interface while string
div function label with then

Зарезервированные слова не могут использоваться в качестве идентификаторов.

Стандартные директивы первоначально связаны с некоторыми стандартными объявлениями в программе. К ним относятся:

absolute external forward near virtual
assembler far interrupt private

Если идентификатор будет иметь такой вид, то это не будет считаться ошибкой, однако, этого надо избегать.

 

2.Организация ввода – вывода в Паскале.

Операторы в языке ТР - это синтаксические конструкции, предназначенные для записи алгоритмических действий над данными.

Язык содержит следующие операторы:

Ø оператор присваивания

 Данный оператор является простейшим и наиболее часто употребляемым оператором языка. Оператор выполняется следующим образом. Вычисляется выражение в правой части оператора присваивания. После этого переменная, указанная в левой части, получает вычисленное значение. При этом тип выражения д.б. совместимым по присваиванию с типом переменной.

Присваивания допускаются для всех типов кроме файловых типов.

Ø оператор перехода

Оператор (безусловного) перехода вызывает передачу управления оператору, которому предшествует метка. При использовании оператора GOTO необходимо соблюдать следующие правила:

1. Все метки, используемые в блоке, должны быть описаны.

2. Метка, указанная в операторе GOTO, должна помечать оператор, находящийся в том же блоке, что и сам оператор GOTO. Не допускаются переходы из вне процедур (функции) или внутрь их.

Ø условный оператор

Условный оператор позволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие. Условный оператор позволяет организовать разветвляющийся вычислительный процесс.

Ø оператор варианта

Данный оператор является обобщением условного оператора для произвольного числа альтернатив (ветвей).

Оператор работает следующим образом:

1. вычисляется значение выражения;

2. затем значения сравниваются с константами, записанными перед операторами;

3. при совпадении значения с одной константой будет выполнен оператор ею помеченный. Затем управление передается следующему за оператором case оператору.

4. если значение выражения не совпадет ни с одной константой, то будет выполнена ветвь else; если отсутствует эта ветвь, то управление передается следующему за case оператору.

Ø оператор цикла с предусловием

Ø оператор цикла с постусловием

Ø оператор цикла с параметром

Ø оператор процедуры

Ø пустой оператор

Ø составной оператор

Составной оператор - это последовательность производимых операторов, заключенная в операторные скобки - зарезервированные слова BEGIN ..END. Язык ТР не ограничивает характер операторов, входящих в составной оператор. ТР допускает вложенность составного оператора.

 

Билет №16

1. Описание меток в Паскале.

Описание в ТР - это произвольный идентификатор, позволяющий именовать некоторый оператор программы и таким образом ссылаться на него. В ТР допускается использование в качестве меток целых чисел без знака.

Метка располагается непосредственно перед помечаемым оператором и отделяется от него двоеточием.

Перед тем как появиться в программе метка должны быть описана. Описание меток состоит из зарезервированного слова Label, за которым следует список меток:

Label

lb1, lb2, lb3;

....

2. Преобразование типов данных в Паскале.

Язык ТР - это типизированный язык, построенный на принципе, в соответствии с которым все операции определены только над операндами совместимых типов. Однако при решении некоторых задач возникает необходимость преобразовывать значение переменной одного типа в некоторое "соответствующее" значение другого типа.

ТР допускает в известных пределах производить такие преобразования.

В ТР допускается явное и неявное преобразование типов.

При явном преобразовании типов используют специальные стандартные функции, аргументы которых принадлежат одному типу, а значения другому.

В ТР может использоваться и более общий механизм преобразования типов. Этот механизм называется «приведением типа», или автоопреленное преобразование типов.

В этом случае имя (идентификатор) стандартного типа или типа, определенного пользователем, используется как имя функции, которая преобразует переменную или выражение к обозначенному типу.

Суть этих действий следующая: определяя тип, мы определяем форму хранения информации в ОЗУ, то есть переменная данного типа будет представлена в памяти заранее известной структурой. Но если "взглянуть" на ее образ в памяти с точки зрения машинного представления другого типа, то можно будет трактовать, то же самое значение как принадлежащее другому типу.

Операция преобразования задается следующим образом:

1. Имя типа (Переменная)

2. Имя типа (Значение)

Приведение типов не определяет тип переменных оно лишь дает возможность нарушить правила совмещения типов при условии, что соответствующие значения совместимы в машинном представлении.

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

Приведение типа переменной может находиться во всех позициях, в которых допускается вхождение переменной), есть и слева, и справа.)

Допускается вложенность преобразований при условии сохранения размера.

Аналогично изменению типа переменных можно изменять тип значений как таковых, а также результирующий тип выражений.

В этом случае происходит трактование значения в скобках как значения другого типа. Преобразование типа значения внешне похоже на преобразование типа переменной, но эффект от применения иной и ограничения на применение другие.

а) Как задаваемый тип, так и тип значения должны быть порядковыми или адресными.

б) Преобразование значения не может использоваться в левой части присваивания.

 

 

       Билет №17

1. Способы представления алгоритмов.

Существуют много способов описания, представления алгоритмов, однако остановимся на следующих четырех – на естественном языке, на графическом языке, на алгоритмическом языке, на языке программирования.

Каждый вид представления имеет свои средства описания алгоритмов, ориентированные на своего исполнителя:

− Естественный язык (исполнитель - человек) – лексика русского, казахского, английского и других языков. Данный способ получил значительно меньшее распространение из-за его многословности и отсутствия наглядности;

− Графический язык (исполнитель - человек) – графические схемы (блок-схемы) с описанием действий;

− Алгоритмический язык (исполнитель - человек) – определенные слова естественного языка, или команды для исполнителя;

− ЯП (исполнитель - компьютер) – команды ЯП. Представление алгоритмов на ЯП называется программой.

2. Выражения в Паскале.

Основными элементами, из которых конструируется исполняемая часть программы, являются константы, переменные и обращения к функциям.

С помощью знаков операций и скобок из них можно составлять выражения, которые представляют собой "правила" получения новых значений.

В общем случае выражение состоит из нескольких элементов (операндов) и знаков операций, а тип его значения определяется типом операндов и видом примененных к ним операций.

При вычислении выражений любого типа приоритет вычислений (порядок) определяется расставленными скобками, а при их отсутствии в порядке убывания приоритета.

@ - получение адреса объекта.

in - принадлежность к множеству.

В отличие от многих других языков программирования в ТР логические операции имеют более высокий приоритет, чем операции сравнения, поэтому для правильности их выполнения в сложных логических выражениях необходимо расставлять скобки:

а = b аnd c< - с и (b>

 

синтаксическая ошибка, т.к. будет выполнено в аnd с (а = b) аnd (c < d)

 

Для точного определения порядка вычислений выражения необходимо учитывать следующие правила:

1. Операнд, находящийся между двумя операциями с различными приоритетами, связывается с операцией, имеющий более высокий приоритет.

2. Операции с равными приоритетами выполняются слева направо.

3. Часть выражения, заключенная в круглые скобки, при вычислении рассматривается как отдельный операнд, т.е. все операции внутри скобок будут выполнены раньше, чем операции справа или слева от скобок.

Билет №18

1. Массивы в Паскале.

Нередко приходится иметь дело с различными данными, которые должны обрабатываться одинаковым образом. Если для каждого значения отвести свою переменную, то и обрабатывать их придется индивидуально.

Решить эту проблему позволяют массивы. Массив представляет собой как бы набор однотипных переменных, имеющих одно и то же имя и различающихся только по числовому индексу. Этот индекс записывается после идентификатора переменной в скобках.

1) Прежде чем массив можно будет использовать, его необходимо объявить. Объявление массива производится при помощи оператора DIM (размер).

2) После ключевого слова DIM указывается идентификатор массива, за которым в скобках идут максимально допустимые значения индексов. Минимальное допустимое значение индекса считается равным нулю. Число индексов определяет размерность массива. Наиболее распространены одномерные, хотя можно использовать также двухмерные, трехмерные и т.д.

3) Для того чтобы обратиться к элементу массива, после идентификатора надо указать в скобках индекс необходимого элемента.

2. Типы вычислительных процессов.

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

1) Наиболее простой организацией обладает алгоритм линейной структуры, который обеспечивает получение результата путем однократного выполнения последовательности действий независимо от значений исходных данных или промежуточных результатов. Линейный алгоритм не содержит логических условий и имеет одну ветвь вычислений.

2) Разветвляющийся алгоритм содержит одно или несколько логических условий и имеет несколько ветвей вычислений. При графическом изображении логические условия записываются внутри блока "решение" и в зависимости от ответа «да» или «нет», образуются две ветви вычисления. При движении по каждой ветви может встретится следующий логический блок, который образует еще две ветви и так далее. Все ветви, в конце концов, сходятся.

3) В большинстве процедур решения задач предусматривается многократное выполнение определенных последовательностей действий. Эти последовательности называются циклами - многократно повторяемая часть алгоритма.

Циклический алгоритм - это алгоритм, содержащий один или несколько циклов.

По способу организации выхода циклические алгоритмы подразделяются на следующие типы:

Ø итерационные с заданным логическим условием выхода;

Ø со счетным заранее определенным числом повторений;

Ø вложенные с известным или вычисляемым для каждого из них числом повторений;

Ø комбинированные сложной структуры.

Билет №19

1. Логический тип данных.

2. Оператор варианта в Паскале.

 

Билет №20

1.  Оператор CASE.

Данный оператор является обобщением условного оператора для произвольного числа альтернатив (ветвей).

CASE <выражение> of <список альтернатив>

Else операторы end;

Список альтернатив имеет вид:

константа: оператор;

Оператор работает следующим образом:

1. вычисляется значение выражения;

2. затем значения сравниваются с константами, записанными перед операторами;

3. при совпадении значения с одной константой будет выполнен оператор ею помеченный. Затем управление передается следующему за оператором case оператору.

4. если значение выражения не совпадет ни с одной константой, то будет выполнена ветвь else; если отсутствует эта ветвь, то управление передается следующему за case оператору.

Кроме одиночных констант в альтернативах могут быть заданы списки и/или диапазоны значений, которые разделяются запятыми.

При использовании оператора CASE надо выполнять следующие правила:

1. Значение <выражения> должно быть дискретного типа (для целого типа - 32768..32767) (т.е. не могут быть real, word (свыше 32767), longin и сложные типы).

2. все константы в альтернативах должны иметь тип, совместимый с типом выражения.

3. все константы в альтернативах должны быть уникальны в пределах оператора CASE; диапазоны не должны пересекаться и содержать констант, указанных в данной или другой альтернативе.

4. в каждой альтернативе возможен только один оператор (простой или составной); а ветвь else допускает последовательность операторов, разделенных символом «;».

2. Оператор присваивания.

Данный оператор является простейшим и наиболее часто употребляемым оператором языка. Оператор выполняется следующим образом. Вычисляется выражение в правой части оператора присваивания. После этого переменная, указанная в левой части, получает вычисленное значение. При этом тип выражения д.б. совместимым по присваиванию с типом переменной.

Присваивания допускаются для всех типов кроме файловых типов.

X: = (Y+Z)/(2+Z*10)-0.5;

Done: = (i>100) or (A=0);

Color: = red;

Два типа являются совместимыми по присваиванию, если:

1) оба типа эквивалентны;

2) оба типа являются дискретными, и значения правой части попадают в диапазон значений типа левой части;

3) оба типа вещественного значения правой части попадают в диапазон значений типа левой части;

4) Тип левой части является вещественным, а тип правой части - целым.

 

Билет №21

1. Структура программы в Паскале.

Программа на языке ТР всегда состоит из двух основных частей:

Ø описания последовательности действий, которые необходимо выполнить,

Ø и описания данных, с которыми оперируют действия.

Действия представляются операторами языка, данные вводятся посредством описаний и определений.

Кроме того, программа снабжена заголовком, который задает имя программы и её параметры (для процедур и функций наличие заголовка обязательно).

Описания данных текстуально предшествуют описанию действий и должны содержать упоминание всех объектов, используемых в операторах.

Символом «конца» для программы служит « . », для процедуры или функции - символ « ; ».

В разделе описаний объявляются идентификаторы типов, объектов, констант, переменных, а также метки, процедуры и функции.

В стандартной версии программы соответствующие разделы следуют друг за другом в фиксированном порядке, ТР не содержит такого ограничения, т.е. разделы могут следовать друг за другом в любом порядке и встречаться в разделе описаний несколько раз.

Описание процедуры или функции заключается в указании её заголовка и её тела.

Раздел исполняемых операторов начинается с зарезервированного слова BEGIN и заканчивается словом END; друг от друга операторы отделяются символом « ; ».

В текстах программ допускаются фрагменты пояснительного характера - комментарии. Наличие комментария не изменяет смысл программы и не влияет на её выполнение. Комментарий - произвольная последовательность символов, заключенная в фигурные скобки { } или в разделители вида (* *):

2. Вызов процедуры.

Билет №22

1. Основные операции с числовыми данными.

 

2. Вызов функции.

Билет №23

1. Реализация управляющей конструкции «Повторение».

2. Целые типы данных.

Эта группа типов обозначает множества целых чисел в различных диапазонах. Имеется пять целых типов, различающихся допустимым диапазоном значений и размером занимаемой оперативной памяти:

При использовании процедур и функций, с целочисленными параметрами нужно помнить о «вложенности» типов, т.е. тип Word допускает использование BYTE (но не наоборот), LONGINT включает INTEGER, который включает Shortint.

Над целыми числами допустимы операции: +, -, *, /, div, mod.

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

К целым числам возможно применение логических операций и операций сдвига.

Результат логической операции тоже целое число, биты которого формируются из битов операндов по установленным правилам.

Билет №24

1. Реализация управляющей конструкции «Следование».

2. Вещественные типы данных.

Эта группа типов обозначает множества вещественных значений в различных диапазонах.

Доступ к вещественным типам Single, double, extended возможен только при особых режимах компиляции и/или при наличии арифметического сопроцессора Intel 8087/80287{$N+,E+}, тип REAL оптимизирован для работы без сопроцессора.

Хотя тип Comp считается вещественным, он содержит только целые числа из весьма значительного диапазона, которые представляются в вычислениях как вещественные (с нулевой мантиссой).

Для работы с вещественными данными могут использоваться операции: *,-,+,/, встроенные математические функции:

ROUND (X) Округляет до ближайшего целого числа
TRUNC (X) Усекает х, путем отбрасывания дробной части числа

 

Билет №25

1. Реализация управляющей конструкции «Развилка».

2. Строковый и символьный типы данных.

Строковый тип данных определяет множество символьных цепочек произвольной длины (от нуля символов до заданного их числа). Для определения строкового типа используется служебное слово string, вслед за которым в квадратных скобках указывается максимальная длина строки.

Type

Line: string [120]

Var

ML: Line;

В приведенном примере переменная ML в качестве своего значения может иметь любую последовательность символов произвольной длины в пределах от 0 до 120.

Значение строковой переменной может быть присвоено оператором присваивания либо прочитано из файла. Например:

ML := 'Строка символов';

ML :=AnL;

В определении строкового типа максимальная длина строки может быть задана целым числом или константой целого типа. Указание максимальной длины может быть опущено, в этом случае считается, что максимальная длина равна 255, - эта длина является максимально возможной для строкового типа. Таким образом, важнейшие отличие строк от символьных массивов в том, что строки могут изменять свою длину.

Для строк определена операция конкатенации "+":

ML := 'Строка';

ML := ML + 'символов';

В случае присваивания строковой переменной строкового выражения с длиной большей, чем максимально допустимая для данной переменной, происходит обрубание строки до максимальной длины.

В памяти под переменные строкового типа отводится (N + 1) байт, где N - максимальное число символов, которое было задано в описании. Из них N байтов предназначены для хранения символов строки, а один байт - для хранения текущей длины строки. Так как строка имеет произвольную длину, то лишь часть памяти реально занимается символами:

Элементы строки нумеруются целыми числами, начиная с единицы. Из рисунка видно, что байт с текущей длиной, считается как бы нулевым ее элементом.

Доступ к отдельным элементам строк производится аналогично доступу к элементам одномерного символьного массива: после имени переменной в квадратных скобках указывается выражение целого типа, обозначающий номер элемента строки:

ML[i]         ML[i+1]

Данная конструкция имеет тип Char и является переменной, то есть может находится в левой части оператора присваивания.

 

Однако определенную аналогию строковых типов с символьными массивами нельзя понимать как полную их идентичность. Распространенной ошибкой является работа с элементами строки без учета ее текущей длины.

Предполагается, что данная программа должна сформировать строку из 26 символов и содержать последовательность заглавных букв латинского алфавита. Однако этого не произойдет, так как при первоначальном присваивании длина строки была установлена как 1, и дальнейшие присваивания элементам строки некоторых значений на длину строки не влияют, и поэтому процедура writeln выведет только символ 'A'. Чтобы исправить эту ошибку , будем использовать «+»:

Кроме операции конкатенации, над значениями строковых типов определены операции сравнения:

<, <=, >, >=, = , <>

При их выполнении действуют следующие правила:

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

2. Если одна строка меньше другой по длине, недостающие символы короткой строки заменяются значениями CHR(0).

Следующие операции отношения имеют значения TRUE:

'A'>1

'Turbo'<'Turbo Pascal'

'Паскаль'>'Turbo Pascal'

Все остальные действия над строками реализуются с помощью встроенных процедур и функций.

1. СONCAT (S1[,S2,…,SN]) - результат функции имеет тип string. Функция выполняет слияние строк - параметров S1, S2,…SN. Каждый параметр является выражением строкового типа. Если длина результирующей строки больше 255 символов, то она усекается до 255.

2. COPY (ST, INDEX, COUNT) - функции типа string. ST - тип string. INDEX, COUNT : integer. Функция возвращает подстроку, выделенную из исходной строки ST, длиной COUNT cимволов, начиная с символа с номером INDEX.

3. DELETE (ST, INDEX, COUNT) - процедура. Удаляет COUNT символов из строки ST, начиная с символа с номером INDEX.

4. INSERT (SUBST, ST, INDEX) - процедура. Вставляет строку SUBST в строку ST, начиная с символа с номером INDEX.

5. LENGTH(ST) - функция типа INTEGER. Возвращает текущую длину строки - параметра.

6. POS (SUBST, ST) - функция типа INTEGER. Отыскивает в строке ST первое вхождение подстроки SUBST и возвращает номер позиции, с которой она начинается, если подстрока не найдена, возвращается ноль.

7. STR(X[:WIDTH[:DECIMALS]],ST) -процедура. Преобразует число X любого вещественного или целого типов в строку символов ST. Параметры WIDTH и DECIMALS, если они присутствуют, задают формат преобразования. WIDTH - определяет общую ширину поля. DECIMALS - количество символов в дробной части (имеет смысл, когда Х вещественного типа).

8. VAL (ST, X, CODE) - процедура. Преобразует строку символов ST во внутреннем представлении целой или вещественной переменной Х, которое определяется типом этой переменной. Параметр CODE содержит 0, если преобразование произошло успешно, и тогда в Х помещается результат преобразования. В противном случае он содержит номер позиции в строке ST, где обнаружен ошибочный символ, и в этом случае содержимое Х не меняется, ведущие пробелы в строке ST должны отсутствовать.

 

 


Дата добавления: 2020-12-12; просмотров: 99; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!