Как сделать одинарную кавычку в паскале

Добавил пользователь Валентин П.
Обновлено: 18.09.2024

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

заглавные буквы латинского и русского алфавитов:

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

А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ы Ь Э Ю Я

арабские цифры:

0 1 2 3 4 5 6 7 8 9

знаки операций:

ограничители:

Из символов алфавита строят более сложные конструкции - слова, словосочетания, предложения. Слово - это некоторая минимальная единица языка самостоятельного значения, представляющая собой образованную в соответствии с некоторыми правилами последовательность символов. В языке Паскаль под словом понимают число, строку, имя. Словосочетание - это группа слов, имеющая некоторый смысл. В языке программирования эта конструкция, состоящая из слов и символов и задающая правило вычисления некоторого значения, называется выражением. Минимальная конструкция языка, представляющая собой законченную мысль, есть предложение. Предложение либо задает полное описание некоторого действия, которое необходимо выполнить, и называется оператором, либо описывает структуру и организацию данных - объектов языка, над которыми эти действия производят, и называется описанием. Совокупность описаний и операторов, объединённая единым алгоритмом, образует программу. Для того чтобы научиться писать программы, необходимо изучить синтаксис языка (правила записи его конструкции) и его семантику (смысл и правила использования этих конструкций).

Рассматривая понятие слова в языке Паскаль, следует отметить, прежде всего, существование некоторого набора служебных (ключевых) слов, назначение которых в языке строго определено (зарезервировано) и которые не могут быть использованы с другой целью. Служебные слова используются, например, для обозначения операторов (CASE - оператор выбора, IF, THEN, ELSE - оператор условного перехода), описаний (CONST - констант, VAR - переменных), некоторых операций (DIV - целочисленного деления). В таблице приведён список служебных слов языка Паскаль, пояснения значений которых будут вводиться по мере изучения средств языка.

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

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

Пример 1

( неправильно записанные числа ):

15. - оканчивается точкой;

.65 - начинается сточки;

155.27.54 - содержит две точки.

Полулогарифмическая форма записи используется для представления очень больших или очень маленьких чисел, которые нелегко изобразить обычной десятичной записью. Например, масса покоя электрона приблизительно равна 0,000000000000000000000000000000910956 г. Такие числа чаще записывают в более удобном виде с десятичным множителем: 9,10956*10 -28 . При записи таких чисел в языке Паскаль часть числа, которая читается как "умножить на десять в степени", обозначается буквой Е и число в программе выглядит следующим образом: 9.10956Е-28. Цифры, предшествующие букве Е, образуют мантиссу числа, цифры, следующие за буквой Е - порядок. Мантисса и порядок могут иметь знак "+" или "-". Следует помнить, что при написании числа мантисса не должна отсутствовать или начинаться или оканчиваться точкой.

Пример 2

( правильно записанных чисел записанных в полулогарифмической форме ):

-0.131E5

50E7

-5E-02

123.7E-5

Пример 3

( неправильно записанных чисел ):

Е-05 - отсутствует мантисса;

-5.Е02 - мантисса числа оканчивается точкой;

-Е12 - отсутствует мантисса;

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

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

Пример 4 (строки)

'A'

'таблица значений'

'контрольная работа по курсу электротехника'

'XYZ'

'575'

'0.5+17E-5'.

Пример 5

( неверно записанные строки ):

'CONST - нет конечного апострофа;

PROGRAM - апострофы отсутствуют совсем;

'15.8'E5 - апостроф стоит не в конце строки;

'+*.;" - не хватает ещё одного апострофа в конце строки.

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

Имена (идентификаторы) служат для обозначения различных объектов и конструкций программы и отличаются от служебных слов тем, что выбираются (назначаются) самим программистом по следующему правилу: имя должно состоять из букв и цифр, но первым символом может быть только буква. Длина имени во многих реализациях языка не ограничивается, однако рекомендуется, чтобы она не превышала 6-8 символов. Следующие имена составлены без ошибок:

X Y22M РАЗМЕР GAMMA ALFA R15

А такие имена, наоборот, ошибочны:

4ABC - начинается с цифры;

Y.22 - содержит недопустимый символ - точку;

A+B - содержит недопустимый символ - знак "+";

РАЗМЕР ПАЛЬТО - пробелы в имени недопустимы.

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

  1. в пределах области определения имя должно быть уникальным (каждому имени должен соответствовать лишь один обозначаемый объект и, наоборот), в противном случае соответствие между именем и обозначением объекта будет неоднозначным;
  2. в качестве имён не разрешается использовать служебные слова;

Рассмотрим несколько подробнее, для обозначения каких объектов и конструкций служат имена (идентификаторы). Прежде всего, следует отметить, что имена используются для обозначения данных - величин, над которыми в программе используется для обозначения данных - величин, над которыми в программе производятся некоторые действия. Постоянные величины, значения которых не меняются в процессе выполнения программы, называются константами. Константы в программе могут быть представлены либо непосредственно своим значением (числом, строкой), либо именем. Для некоторых констант в языке определены стандартные имена. Величины, которых могут изменяться в процессе выполнения программы, называются переменными. Переменные в программе могут быть представлены только именем. В машине каждой величине отводится определённая область памяти, где хранится её значение.

Данные могут быть различных типов. Например, константа может быть числом (целым или вещественным), строкой. Переменная, подобно константе, также может быть арифметической (значение переменной - число) или строковой (значение переменной - строка). Арифметические переменные могут быть целыми или вещественными. Тип константы определяется формой её записи. Задание типа переменной осуществляется с помощью указания некоторого имени (стандартного или определённого пользователем) в специальной конструкции языка, называемой описанием. Переменным вещественного вида соответствует имя - REAL, целого - INTEGER.

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

Пример 6

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

Program SUMMA;
Var A, B, C : Real;
Begin
Read(A,B);
C := A + B;
Writeln(РЕЗУЛЬТАТ СУММИРОВАНИЯ);
Writeln('C=',C)
End.

Первая строка является заголовком программы, где PROGRAM - служебное слово, SUMMA - имя программы. Далее идёт раздел описания данных, в котором переменные A, B, C, участвующие в вычислениях, объявлены как переменные действительного типа. Здесь VAR - служебное слово, обозначающее раздел описания переменных, REAL - стандартное имя, обозначающее действительный тип. Описание всех переменных программы обязательно! BEGIN, END - служебные слова, ограничивающие раздел операторов. После служебного слова END, определяющего одновременно и конец программы, ставится точка. Оператор ввода READ осуществляет вызов стандартной процедуры ввода, в результате выполнения которой переменные А и В получат (приобретут) задаваемые числовые значения. Эти значения являются, как правило, исходными данными решаемой задачи.

Следующий оператор - оператор присваивания - обозначается символом :=, справа от которого стоит вычисляемое выражение, а слева - имя переменной, которой присваивается вычисленное значение. Оператор WRITELN - оператор вывода - также является вызовом стандартной процедуры. Если в этом операторе указана константа, то она непосредственно выводится на печать, если указано имя переменной, то на печать выводится её значение. В примере осуществляется печать текстов, заключённых в апострофы, а затем значения переменной С. Точка с запятой в языке Паскаль является разделителем между операторами. Пробелы являются разделителями между именами, числами и служебными словами, причём внутри имён, чисел и служебных слов пробелы встречаться не должны. Операторы в программе, если нет специальных указаний, выполняются слева направо и сверху вниз (естественный ход выполнения программы).

Вывод на экран в паскале

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

Информация , которую мы будем выводить может быть абсолютно разной. Она может быть текстом , переменной и даже выражением вроде ( a + b ).

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

Writeln

Первый оператор вывода - это writeln ( write - писать , ln - сокр. линия ). Благодаря нему и осуществляется вывод информации на экран. Давайте разберем это на примере :

Допустим , мы хотим вывести приветствие на экран в формате "Привет друг !" Код такой программы выглядит так :

program mypascal;
begin

Вывод чисел в кавычках и без них

Для вывода чисел на экран можно пользоваться кавычками , а можно и не пользоваться.

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

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

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

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

program mypascal;
var
name:string;
begin

name:= 'Марина';
writeln('Привет ',name,' !');

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

Пример вывода имени и фамилии :

program mypascal;
var
name,lname:string;
begin

name:= 'Марина';
lname:= 'Петрова';
writeln('Привет ',lname,name);

program mypascal;
var
name,lname:string;
begin

name:= 'Марина';
lname:= 'Петрова';
writeln('Привет ',lname,' ',name);

Write

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

Вывод на экран через writeln

Информация , которую оператор writeln() выводит на экран занимает всю строку.А значит после того , как оператор выведет последний элемент , программа переведется на следующую строку.

Два этих оператора выведут оба слова на разных строках:

Пример вывода


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

В данном случае результат будет такой :


И если после writeln('Как дела ?') мы бы выводили ещё какой-либо текст , то он появился бы на следующей строке.

Как очистить экран в паскале :

Некоторые программы могут быть настолько сложными , что выводимой информации будет очень много. Поэтому некоторый ненужный текст можно стереть. Для этого в паскале предусмотрен оператор clrscr.

Чтобы очистить экран в паскале используйте такой оператор clrscr; Однако злоупотреблять им не стоит. Так же следует помнить , что оператор clrscr работает только в модуле crt , который подключается так :

Строки в Паскале – это данные типа string. Они используются для хранения последовательностей символов. В Паскале длина стандартной строки ограничена 255 символами. Под каждый символ отводится по одному байту, в котором хранится код символа. Кроме того, каждая строка содержит еще дополнительный байт, в котором хранится длина строки.

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

Примеры описания строк:

Длина строки хранится в первом ее байте, индекс которого равен 0.
Объявление типизированной константы для типа string осуществляется так:

Существует понятие пустой строки, то есть строки, в которой нет ни одного символа. Пустая строка обозначается двумя рядом стоящими апострофами (например, st : = '' ).

Операции над строками

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

Строки можно объединять с помощью операции конкатенации, которая обозначается знаком +.

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

Имя строки может использоваться в процедурах ввода-вывода. При вводе в строку считывается из входного потока количество символов, равное длине строки или меньшее, если символ перевода строки (который вводится нажатием клавиши Enter) встретится раньше. При выводе под строку отводится количество позиций, равное ее фактической длине.

К отдельному символу строки можно обращаться как к элементу массива символов, например s1 [ 3 ] . Символ строки совместим с типом char, их можно использовать в выражениях одновременно, например:

Можно осуществлять коррекцию любого символа строковой переменной, для чего в соответствующем операторе достаточно указать имя переменной типа string, вслед за которым в квадратных скобках задается номер ее элемента (например, str [ 3 ] : = 'j' ).

Элементы строки нумеруются с единицы, так как в каждой строковой переменной имеется элемент с номером 0, в котором в виде символа хранится длина текущей строки. Чтобы узнать текущую длину, достаточно применить функцию ord к нулевому элементу строки. Например:

Паскаль - Урок 20: Функции строкового типа String (Часть 2)

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

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

Пример использования функции Length (s):

Вторая функция, о которой пойдет речь в этом уроке, - функция определения позиции первого вхождения подстроки s1 в строке s2 Pos (s1,s2). S1 — строка (подстрока), которую нужно найти, s2 — строка, в которой нужно найти подстроку. S1 может быть задана как раньше в программе, так и в самой функции (в одинарных кавычках). Если s1 не входит в s2, то функция возвратит значение 0.

Пример простейшей программы на паскаль с использованием функции pos (s1, s2):

Две, уже рассмотренные, функции возвращали значение типа integer, следующие функции, про которые я расскажу, будут возвращать тип String.

Следующая функция, применимая к типу String — функция копирования определенной подстроки из строки Copy (s, p, n). S- строка, из которой нужно скопировать, p — позиция, начиная с которой необходимо копировать, n — сколько символов надо скопировать. S — строка, типа string, p, n — целочисленные, то есть типа integer.

Пример решения задачи Паскаль, с использованием функции копирования:

Последняя функция, о которой Вы узнаете из этого урока, - функция сложения строк Concat (s1, s2, …, s). Строки s1, s2, …, si записываются друг за другом в нужную строку. Если результат превысит 255 символов, то сложение прекратится. Пример данной функции будет опубликован позже в соответствующей категории.

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

Читайте также: