Какой символ ставится в конце каждой строки в паскале
Перейти к содержимому

Какой символ ставится в конце каждой строки в паскале

  • автор:

Символы и строки в PascalABC.NET

Символы имеют тип char, занимают 2 байта и хранятся в кодировке Unicode (UTF-16).

Для преобразования символа c в код используется функция Ord(c) , для обратного преобразования кода i в символ используется функция Chr(i) .

Классический способ определить символ, следующий за данным в кодовой таблице, — это преобразовать символ в код, прибавить к коду число и потом преобразовать полученный код снова в символ:

Аналогично определяется предыдущий символ

Методы типа char

Методы, встроенные в тип char, делятся на две категории:

  • проверяющие, принадлежит ли символ указанной категории: c.IsDigit , c.IsLetter , c.IsLower , c.IsUpper
  • преобразующие символ: c.ToUpper , c.ToLower , c.ToDigit .

Отметим, что c.IsDigit эквивалентно (c >= ‘0’) and (c <= ‘9’) и эквивалентно c in ‘0’..’9′ Для c.IsLower , c.IsLower , c.IsUpper такой простой аналогии нет. Дело в том, что в этих методах проверяются все символы, являющиеся буквами в каком-то алфавите народов мира (в частности, английские и русские)

Отметим также, что c.IsLower возвращает True только если это буква в нижнем регистре — для не букв возвращается False .

Строки

Введение

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

Основная причина — многие методы строк в .NET считают, что строки индексируются с нуля, а в Паскале строки индексируются с 1.

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

Индексация строк

Строки в Паскале индексируются с 1. К символам строк можно обращаться по индексам — s[i] .

Символы строк можно менять:

Можно использовать индексацию с конца: s[^i] обозначает i-тый символ с конца

Программирование. Строки и символы Pascal-Паскаль

Строка представляет собой особую форму одномерного массива символов, которая имеет существенное отличие. Массив символов имеет фиксированную длину (количество элементов), которая определяется при описании. Строка имеет две разновидности длины:

  • Общая длина строки, которая характеризует размер памяти, выделяемый строке при описании;
  • Текущая длина строки (всегда меньше или равна общей длине), которая показывает количество смысловых символов строки в каждый конкретный момент времени.

Строка в Паскале – упорядоченная последовательность символов. Количество символов в строке называется ее длиной. Длина строки в Паскале может лежать в диапазоне от 0 до 255. Каждый символ строковой величины занимает 1 байт памяти и имеет числовой код в соответствии с таблицей кодов ASCII.

Код ASCII (American Code for Information Interchange – Американский стандартный код для обмена информацией) имеет основной стандарт и его расширение. Основной стандарт использует шестнадцатеричные коды 00-7F, расширение стандарта – 80-FF. Основной стандарт является международным и используется для кодирования управляющих символов, цифр и букв латинского алфавита; в расширении стандарта используются символы псевдографики и буквы национальных алфавитов.

Строковая константа Паскаля – последовательность символов, заключенная в апострофы. Например, ‘строковая константа’, ‘243’. Два следующих друг за другом апострофа (») обозначают пустую строку, т.е. строку с нулевой длиной.

Описание строковой переменной Паскаля

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

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

Пример описания строковой переменной в Паскале:

В приведенном выше описании строковая переменная s1 может содержать не более 10 символов, переменная s2 – не более 20 символов. Если же при описании строки ее максимальная длина не указывается, то по умолчанию принимается максимально допустимая длина, равная 255 символам (переменная smax)..

Символы в строке упорядочены, каждый из них имеет порядковый номер, начиная с первого. Имеется возможность обратиться к любому элементу строки, указав его номер, так же как это делается в одномерных массивах. Например, s1[2] позволяет обратиться ко второму символу в строке s1, при этом мы можем поменять это значение, выполнив оператор присваивания s1[2]:= ‘r’, можем вывести на экран это значение или присвоить его другой переменной.

Действия со строками в Паскале

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

Операции отношения позволяют сравнивать строки на отношение равенства (=), неравенства (<>), больше (>), меньше (<), больше или равно (>=), меньше или равно (<=). В результате сравнения двух строк получается логическое значение (true или false). Сравнение строк производится слева направо посимвольно до первого несовпадающего символа, большей считается та строка, в которой первый несовпадающий символ имеет больший код в таблице кодировки. Если строки имеют различную длину, но в общей части символы совпадают, считается, что короткая строка меньше. Строки равны, если они имеют равную длину и соответствующие символы совпадают.

Пример действий со строками в Паскале:

‘строка'<>’строки’ (верно, т.к. не совпадают последние символы);

‘Abc'<‘abc’ (отношение истинно, т.к. код символа ‘A’ равен 65 в десятичной системе счисления, а код символа ‘a’ – 97);

‘год’>’век’ (отношение верно, т.к. буква ‘г’ в алфавите стоит после буквы ‘в’, а, следовательно, имеет больший код).

Стандартные функции для работы со строками в Паскале

Copy (S, poz, n) выделяет из строки S, начиная с позиции poz, подстроку из n символов. Здесь S – любое строковое выражение, poz, n – целочисленные выражения.

Значение S Выражение Результат
‘строка символов’ Copy(S,3,3) рок

Concat (s1, s2. sn) выполняет слияние строк s1, s2. sn в одну строку.

Выражение Результат
Concat(‘язык’, », ‘Pascal’) ‘язык Pascal’

Length(S) определяет текущую длину строкового выражения S. Результат – значение целого типа.

Значение S Выражение Результат
‘(а+в)*с’ Length(s) 7

Pos(subS, S) определяет позицию первого вхождения подстроки subS в строку S. Результат – целое число, равное номеру позиции, где находится первый символ искомой подстроки. Если вхождение подстроки не обнаружено, то результат функции будет равен 0.

Значение S Выражение Результат
‘предложение’ Pos(‘е’, S) 3
‘предложение’ Pos(‘a’, S) 0

Стандартные процедуры для работы со строками в Паскале

Delete (S, poz, n) удаляет из строки S, начиная с позиции poz, подстроку из n символов. Здесь S – строковая переменная (в данном случае нельзя записать никакое другое строковое выражение, кроме имени строковой переменной, т.к. только с именем переменной связана область памяти, куда будет помещен результат выполнения процедуры); poz, n – любые целочисленные выражения.

Исходное значение S Оператор процедуры Конечное зн-е S
‘abcdefg’ Delete(s, 2, 3) ‘aefg’

Insert(subS, S, poz) вставляет в строку S, начиная с позиции poz, подстроку subS. Здесь subS – любое строковое выражение, S – строковая переменная (именно ей будет присвоен результат выполнения процедуры), poz – целочисленное выражение.

Исходное значение S Оператор процедуры Конечное зн-е S
‘рис. 2’ Insert(‘№’, S, 6) ‘рис. №2’

Процедуры преобразования типов в Паскале

Str(x, S) преобразует число x в строковый формат. Здесь x – любое числовое выражение, S – строковая переменная. В процедуре есть возможность задавать формат числа x. Например, str(x: 8: 3, S), где 8 – общее число знаков в числе x, а 3 – число знаков после запятой.

Оператор процедуры Значение S
Str (sin(1):6:4, S) ‘0.0175’
Str (3456, S) ‘3456’

Val(S, x, kod) преобразует строку символов S в число x. Здесь S – строковое выражение, x – числовая переменная (именно туда будет помещен результат), kod – целочисленная переменная (типа integer), которая равна номеру позиции в строке S, начиная с которой произошла ошибка преобразования, если преобразование прошло без ошибок, то переменная kod равна 0.

Тип X Оператор процедуры Значение X Значение kod
Real Val(‘12.34’, x, kod) 12.34 0
Integer Val(‘12.34’, x, kod) 12 3

Программирование

Исходники Pascal (127)

Справочник

Справочник по паскалю: директивы, функции, процедуры, операторы и модули по алфавиту

TURBO PASCAL

Язык Паскаль был одним языков, созданных для обучения и получивших популярность, как и новичков, так и в серьёзном программировании. При его создании успешно решена задача сочетания сравнительной простоты языка с потенциальной широтой области его применений. В отличии от своих предшественников (в частности Бейсика) Паскаль допускает разнообразные типы составных объектов: запись — упорядоченный набор про именованных объектов произвольных типов; файл — упорядоченный набор однородных данных, размещаемых во внешней памяти; множество — набор элементов одного типа, кодируемых отрезками натурального ряда или произвольными именами. В Паскале имеется оператор варианта, т. е. выбора одной из нескольких альтернативных последовательностей(ветвей) операторов по вычисляемому номеру ветви.

Самые популярные системы программирования на языке – Object Pascal, Borland Pascal (Turbo Pascal) и TopSpeed Pascal. На основе Паскаля была разработана одна из наиболее популярных систем быстрой разработки программ (Rapid Application Development, RAD) — визуальная система программирования Воrlаnd Delphi.

Программа на Паскаль, также как и в других языках программирования реализует алгоритм решения задачи. Она обьединяет последовательность действий, выполняемых над определенными типами данными с помощью операций, определяемых возможностями языка. Язык Паскаль является универсальным языком, т.е. на нем можно писать вычислительные, графические и системные программы, программы по обработке больших блоков данных(типа СУБД).

Формат программы.
Программа на Паскаль состоит из строк. Максимальная длина строки – 127 символов. Набор текста программы осуществляется обычно с помощью встроенного редактора текстов системы программирования Turbo Pascal (или другой версии этой системы). Набирая текст программы, программист имеет право произвольно располагать строки на экране. Обязательным является только порядок следования частей программы и правильность их записи.
Структура программы: Любой раздел, кроме раздела операторов (основная часть программы), может отсутствовать. Раздел операторов в основной программе или подпрограмме всегда начинается зарезервированным словом Begin, далее следуют операторы языка, отделенные “;”. Завершает раздел зарезервированное слово End и точка “.”. В Паскаль конструкция Begin-End называется операторными скобками.
Комментарии помещаются в фигурные скобки < >и могут размещаться в любом месте программы.

Константы и переменные.
Как и другие языки программирования Паскаль интерпретирует данные как константы или переменные. В программе константы или переменные определяются идентификаторами (именами), по которым к ним можно обращаться для получения текущих значений.
Константами называются элементы данных, значения которых установлены в описательной части программы и в процессе выполнения программы не изменяются. Для определения значения констант служит зарезервированное слово Const. Например,
Const
Max=1000; Str1=’Иванов’;
Переменные в отличие от констант могут менять свои значения в процессе выполнения программы. Каждая переменная или константа принадлежат к определенному типу данных. Тип переменных (в отличии от констант) должен быть описан перед тем, как с переменными будут выполняться какие-либо действия. Например,
Var
I,j:integer;
A:array [1..10] of real;

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

    1. Перечислимый тип данных задается непосредственно перечислением всех значений, которые может принимать переменная данного типа. При описании отдельные значения указываются через запятую, а весь список заключается в круглые скобки. Например,
      Var Season: (winter,spring,summer,autum );
      Temp: (23,24,25,26);
    2. Интервальный типпозволяет задавать две константы,определяющие границы диапазона значений для каждой переменной.Обе константы должны принадлежать одному и тому же стандартному типу (кроме real). Например, Var S:1..30;
      Сh:’a’..’f’;
    3. Указательный типы их значениями являются адреса памяти. В отличие от стандартного указательного типа Pointer, пользовательский тип определяет множество значений, которые указывают на динамические переменные опеределенного типа , называемого базовым типом. Указатель на какой-либо тип может быть описан до обьявления самого типа:
      Type PtStack=^Stack;
      Stack=array[1..40] of real;
    4. Процедурный типпозволяет обьявлять переменные, которым допускается присваивание имен процедур, функций и методов, а ткже передавать такие переменные и имена в качестве параметров. Описание процедурных типов имеет такой же синтаксис, как и обьявление процедур и функций:
      Type Tproc1=procedure (var x,y:real);
      Tproc2=function ( x:real):real;

    Строковый тип :
    Строка- в общем случае это последовательность символов. Строка представляет собой особую форму одномерного массива символов, которая имеет существенное отличие. Массив символов имеет фиксированную длину (количество элементов), которая определяется при описании. Строка имеет две разновидности длины:
    Общую длину строки, которая характеризует размер памяти, выделяемый строке при описании.
    Текущую длину строки (всегда меньше или равную общей длине), которая показывает количество смысловых символов строки в каждый конкретный момент времени.
    Для определения данных строкового типа в Turbo Pascal 7.0 введены стандартные типы String и PChar .

    В строках типа String текущая длина строки указывается в нулевом (то есть имеющем индекс 0) элементе строки. Максимальная текущая длина строки может быть не более 255 символов. Например,
    Const Adres=’ул.Королева,2’;
    Type
    FileName=string[150];
    Var
    St1: FileName;
    St2,St3:string[10];
    В Паскаль существует ряд встроенных процедур и функций для работы со строками типа String: Delete, Str, Val, Insert, Copy, Concat, Length, Pos, UpCase.
    Тип PChar поддерживает формат представления строк, признаком конца строки которых служит символ с кодом 0 (нуль) и которые называются строками с завершающим нулем, или ASCIIZ-строками.

    Тип-массив (array):
    Массив – это структурированный тип данных, состоящий из фиксированного числа элементов, имеющих один и тот же тип. Элементами массива могут быть данные любого типа, включая структурированный тип. Описывается в виде:

    Type Имя =array [ тип индекса ] of тип компонентов;

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

    Например, М=array [1..4] of integer; — массив из четырех целых чисел.
    M[1], M[2], M[3], M[4] – элементы массива М.

    Тип-множество (set):
    Множество – набор взаимосвязанных по какому-либо признаку (или группе признаков) элементов, которые можно рассматривать как единое целое. Элементы множества должны принадлежать к одному и тому же типу данных, которые называют базовым типом множества.

    Type Имя =set of “элемент1. элементN”;

    Например, А=set of (3,5,7,11,13) — множество простых чисел.

    Тип-запись (record):
    Запись тип данных, состоящий из фиксированного числа компонентов одного или нескольких типов. Определение типа записи начинается идентификатором record и заканчивается зарезервированным словом end. Между ними заключен список компонентов, называемых полями, с указанием идентификаторов полей и типа каждого поля:

    Type имя = record Например, Mash=record
    имя поля1: тип компонента; Nomer:integer;
    имя поля2: тип компонента; Marka:string[20];
    … year:integer;
    end; end;

    Файловый тип (file):
    Файлы классифицируются по двум признакам: по типу (логическая структура) и по методу доступа к элементам файла.
    В Паскале существует три класса файлов по типу – типизированные текстовые, нетипизированные. По методу доступа они делятся на файлы последовательного доступа и прямого доступа.
    К типизированным файлам относятся файлы строго определенного типа (их иногда рассматривают как последовательность записей определенного типа).Стандартное задание в программе такой файловой переменной осуществляется следующим образом:
    Type FileRec=record

    end;
    var F:file of FileRec;

    Текстовый файл рассматривается как последовательность символов, разбитая на строки. Каждая строка завершается символом конца строки. На практике это два символа: перевод строки Chr(13) и возврат каретки Chr(10).
    Нетипизированный файл рассматривается в Pascal как набор символов или байтов. Представление Char или Byte не играет роли, а важно лишь с точки зрения обьема занимаемого данными. Нетипизированный файл является файлом прямого доступа, что говорит о возможности одновременного использования операций чтения записи. При обьявлении нетипизированного файла указывается только ключевое слово file:
    Var F: file;

    Объектный тип (object):
    Обьект – тип данных ставший основой обьектно-ориентированного программирования на языке Паскаль. Он похож на запись, так как содержит данные различных типов в качестве полей, и отличается тем, что также содержит методы работы с этими данными в рамках обьекта. Методы работы с данными обьекта называются правилами. Например,

    Type
    Coordinate=object обьект с именем Coordinate

    X,Y:byte; X,Y — данные, входящие в обьект
    Procedure Init(Xinit,Yinit:byte); метод инициализации данных
    Function GetX:byte; метод получение значения X
    Function GetY:byte; метод получение значения Y

    End;

    Для арифметических операций используют обычные знаки +,-,*, /-деление,
    ^-возведение в степень, div- целочисленное деление, mod- остаток от деления.
    Операторы отношений: < — больше,> — меньше,<= — больше или равно,

    >= — меньше или равно,<> — неравно

    Логические отношения :AND (и), OR (или), NOT, XOR (логическое исключающее или).

    Конкатенация – ‘+’ (слияние двух строк)

    Операции над множествами: +-обьединение, — разность, * пересечение, in- принадлежность,<= является подмножеством, >= является надмножеством, <> неравно.

    Операторы.
    Составной оператор. Представляет собой группу из произвольного числа операторов, отделенных друг от друга “;” и ограниченную операторными скобками Begin и End. Например,
    Begin
    Read (B);
    A:=B+0.75;
    Write (A);
    End;

    Оператор присваивания :
    Этот оператор предписывает выполнить выражение, заданное в его правой части, и присвоить результат переменной, имя которой расположено в левой части. Например, A:=В+0.5
    Оператор безусловного перехода (goto).
    Применяется в случаях, когда после выполнения некоторого оператора надо выполнить не следующий по порядку, а другой, отмеченный меткой. Тогда в программе, перед оператором к которому нужно перейти ставится один или несколько символов (метка, которая должна быть описана в разделе описания меток).

    Процедура ввода-вывода.
    Процедура чтения Read и Readln обеспечивает ввод данных (чисел, символов, строк и т.д.) в программу во время её работы.
    Процедура записи Write и Writeln обеспечивает вывод данных (чисел, символов, строк и т.д.) из программы на экран, принтер или во внешний файл.
    Операторы Readln и Writeln осуществляют соответственно ввод и вывод с пропуском строки.

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

    IF условие THEN оператор ; (неполная форма)
    Условие задаётся переменной и её соотношением с некоторой константой или значением выражения. Если условие выполняется , то будет выполнен указанный оператор.
    IF условие THEN оператор1 ELSE оператор2 ; (полная форма)
    Добавление к конструкции служебного слова ELSE позволяет выполнить определенные действия в случае, когда условие не выполняются.

    2.Операторы цикла
    Используется для повторения группы операторов определенное число раз.

    Оператор цикла FOR..DO.
    FORпеременная цикла: = начальное значениеТОконечное значениеDOоператор;
    Переменная цикла – всегда целого типа, указывает сколько раз должны повторятся операторы. Этот цикл будет повторен фиксированное число раз, причем первый раз с начальным значение переменной цикла, а в последний -с конечным её значением .
    Пример, FOR I:=1 TO 3 DO I:=I+0.5
    Оператор цикла REPEAT..UNTIL (с проверкой условия в конце цикла ).
    Применяется тогда, когда группа операторов должна выполнятся до тех пор, пока не выполнится некоторое условие.

    REPEAT группа операторов UNTIL условие ;

    Оператор цикла WHILE..DO (с проверкой условия в начале цикла) .
    WHILEусловиеDO группа операторов ;
    Этот оператор выполняется так: проверяется условие, и если оно истинно, то выполняется оператор (или несколько операторов).

    3.Оператор выбора case.
    Позволяет сделать выбор из произвольного числа вариантов. Для этого используется переключатель, вычисленное значение которого определяет какой из операторов должен быть выполнен. Если ни одно из значений не верно, будет выполнен оператор следующий за служебным словом else.
    case переключатель of
    список1:оператор1;
    список2:оператор2;

    else оператор;
    end;

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

    Процедуры:
    Состоят из группы операторов, реализующих некоторую часть задачи и вызываемых по имени при необходимости в любом месте программы.
    Procedure < имя > <формальные параметры >;
    “раздел описаний”
    Begin
    <основная часть процедуры– раздел операторов >
    End;
    Описание процедуры включает заголовок — <имя> и тело процедуры -<основная часть процедуры>. Заголовок состоит из зарезервированного слова Procedure , идентификатора (имени) процедуры и необязательного списка формальных параметров, с указанием типа каждого параметра.
    Например,
    Procedure Korrect; (процедура без формальных параметров)
    Procedure Sort (a:integer); (а – формальный параметр)
    Имя процедуры – идентификатор, уникальный в пределах конкретной программы. Тело процедуры представляет собой блок, по структуре аналогичный блоку обычной программы. Раздел операторов всегда начинается зарезервированным словом Begin, далее следуют операторы,отделенные “;”. Завершает раздел зарезервированное слово End и точка “;”.
    Для обращения к процедуре используется оператор вызова процедуры. Он состоит из идентификатора (имени) процедуры и списка фактических параметров, отделенных друг от друга запятыми и заключенных в скобки.
    Имя процедуры (список фактических параметров);

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

    Function имя (формальные параметры): тип результата;
    Например:
    Function Prov(x,y,t:integer):integer;
    Function Logic:boolean;
    Имя функции — уникальный в пределах программы идентификатор. Возвращаемый результат может иметь любой скалярный тип. Тело функции представляет собой блок, по структуре аналогичный блоку обычной программы:
    Function имя (формальные параметры):тип результата;
    раздел описаний
    begin
    раздел операторов
    end;

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

    Примеры программ.
    Данная программа проверяет принадлежат ли два адреса одному городу и одной улице. Используется переменная типа запись с 4 полями: город, улица, дом, квартира.
    Program test(input,output);
    Type
    adress=record
    city:array [1..16] of char;
    street:array [1..16] of char;
    number:integer;
    flat:integer;
    end;
    Var
    adr1,adr2:adress;
    Begin

    read(adr1.city,adr1.street, adr2.city,adr2.street);
    if (adr1.city=adr2.city) and (adr1.street=adr2.street) then
    write(‘город и улица совпадают’);
    else(‘город и улица несовпадают’);
    End.

    2. Пример программы ,
    в которой вычисляется наименьшее общее кратное двух чисел А и В. Главная программа описывает массив чисел С, вводит исходные данные ,затем обращается к функции для вычисления НОК(наименьшего общего кратного). Которая вычисляет нужное значение используя формулу:
    НОК(А,В)= A*B/ HOD(A,B)
    где, обращается к другой функции вычисления НОД (наибольшего общего делителя).

    Program test2(input,output);
    Const N = 5;
    Var
    С: array[1..5] of integer;
    A,B:integer;
    functio n HOК (A, В:integer):integer;
    begin
    HOK:=A*B/ HOD(A,B);
    end;
    function НОD(А, В:integer):integer;
    var
    X,Y:integer;
    begin
    X:= A; Y: = В;
    1:IF X = Y THEN HOD:=X;
    IF X > Y THEN begin
    X:= X – Y;goto 1;
    end;
    IF Y > X THEN begin
    Y:= Y – X;goto 1;
    end;
    end;
    Begin
    FOR i= 1 ТО N READ (C[i]);
    A:= С ([l])
    FOR i = 1 TO N–1 begin B:=С[i + 1];
    A:= HOK(A,B);
    end;
    writeln ("HOK="; A);
    end.

    Строки Тип string в авс Паскале.

    под переменную s отводится 256 байт, при этом в нулевом байте хранится длина строки.

    Для экономии памяти предусмотрено описание вида

    var s1: string[40];

    В этом случае под строку отводится 41 байт (нулевой байт — под длину строки). В случае присваивания переменной s1 строки из более чем 40 символов лишние символы отсекаются, и длина строки s1 полагается равной 40.

    При выполнении операции конкатенации вида s1+s1 результат считается строкой типа string, т.е.занимает 256 байт. Однако, если при конкатенации результат будет занимать более 255 символов, то программа завершится с ошибкой.

    К символам в строке можно обращаться, используя индекс: s[i] обозначает i-тый символ в строке. Обращение к нулевому символу s[0] считается ошибочным. Чтобы изменить длину строки, следует воспользоваться процедурой SetLength. Если индекс i выходит за пределы памяти, отводимой под строку, то выдается сообщение об ошибке. Однако, если индекс i выходит лишь за пределы длины строки, то сообщение об ошибке не выдается.

    возвращает длину строки s

    возвращает подстроку строки s длины count, начиная с позиции index

    удаляет в строке s count символов начиная с позиции index

    вставляет подстроку subs в строку s с позиции index

    возвращает позицию первой подстроки subs в строке s (или 0 если подстрока не найдена)

    устанавливает длину строки s равной n

    Str(x,s) Str(x:n,s) Str(x:n:m,s)

    преобразует x к строковому представлению (во втором и третьем случаях согласно формату вывода, устанавливаемому n и m) и записывает результат в строку s

    преобразует строку s к числовому представлению и записывает результат в переменную v. Если преобразование возможно, то в переменной code возвращается 0, если невозможно, то в code возвращается ненулевое значение

    возвращает строку, являющуюся результатом слияния строк s1. sn. Результат тот же, что у выражения s1+s2+. +sn

    преобразует целое число к строке

    преобразует строку в целое число . Если преобразование невозможно, то возникает ошибка времени выполнения

    преобразует вещественное число к строке

    преобразует строку в вещественное число. Если преобразование невозможно, то возникает ошибка времени выполнения

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *