Меню
Разработки
Разработки  /  Информатика  /  Презентации  /  10 класс  /  Символьные и Строковые величины

Символьные и Строковые величины

Содержит описание символьных и строковых величин и способы сортировки строк
05.09.2019

Содержимое разработки

Символьные и Строковые величины

Символьные и Строковые величины

Оглавление Символьные и Строковые величины Сравнение переменных  Сложение переменных Функция Concat Функция  Length Функция Pos Функция Copy Функции Ord и Chr  Процедура Delete Процедура Insert Процедура Val Процедура Str Цикл с символьной переменной

Оглавление

  • Символьные и Строковые величины
  • Сравнение переменных
  • Сложение переменных
  • Функция Concat
  • Функция Length
  • Функция Pos
  • Функция Copy
  • Функции Ord и Chr
  • Процедура Delete
  • Процедура Insert
  • Процедура Val
  • Процедура Str
  • Цикл с символьной переменной
СИМВОЛЬНЫЕ И СТРОКОВЫЕ ВЕЛИЧИНЫ Для работы с символами, словами и предложениями в  Паскале существуют типы данных – CHAR И STRING, представляющие собой символы в кодировке Windows. Тип CHAR ( символьный ) - значения занимают 1 байт и представляют собой 1 символ. Тип STRING ( строковый ) – значением может быть любая последовательность символов длиной не более 255. Переменные должны быть описаны в разделе описания переменных  или констант : Имя : char ; Имя : string ; или Имя : string [ длина ]; где Имя – имя переменной; string, char – строковый или символьный тип; длина – константа типа INTEGER, определяющая максимальную длину строки.

СИМВОЛЬНЫЕ И СТРОКОВЫЕ ВЕЛИЧИНЫ

Для работы с символами, словами и предложениями в Паскале существуют типы данных – CHAR И STRING, представляющие собой символы в кодировке Windows.

Тип CHAR ( символьный ) - значения занимают 1 байт и представляют собой 1 символ.

Тип STRING ( строковый ) – значением может быть любая последовательность символов длиной не более 255.

Переменные должны быть описаны в разделе описания переменных или констант :

Имя : char ;

Имя : string ;

или

Имя : string [ длина ];

где Имя – имя переменной;

string, char – строковый или символьный тип;

длина – константа типа INTEGER, определяющая максимальную длину строки.

Примеры Объявления: var  fio: string[30 ] ; //строковая переменная fio длиною 30 buff: string;  //строковая переменная buff длиною до 255 символов а :char;  //строковая переменная а длиною в 1 символ const  name=‘Иванов Петр’; s=‘ b’; Если при объявлении строковой переменной длина не указывается, то она может быть до 255 символов. К символам в строке можно обращаться, используя индекс: stroka [5] обозначает 5-тый символ в строке.

Примеры

Объявления:

var

fio: string[30 ] ; //строковая переменная fio длиною 30

buff: string; //строковая переменная buff длиною до 255 символов

а :char; //строковая переменная а длиною в 1 символ

const

name=‘Иванов Петр’;

s=‘ b’;

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

К символам в строке можно обращаться, используя индекс: stroka [5] обозначает 5-тый символ в строке.

Сравнение символьных величин Последовательность символов, являющаяся строкой, заключается в одинарные кавычки. Строковую переменную можно сравнить с другой переменной или константой типа STRING, используя операторы =, , =,. Строки сравниваются посимвольно от первого символа. 1. Если все символы сравниваемых строк одинаковые, то такие строки считаются равными. ’ abcd’ = ‘abcd’

Сравнение символьных величин

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

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

Строки сравниваются посимвольно от первого символа.

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

’ abcd’ = ‘abcd’

‘abc’ 3. Если строки имеют различную длину, но в общей части символы совпадают, то короткая строка меньше, чем длинная. ’ abcd’ ‘abc’ " width="640"

СРАВНЕНИЕ СИМВОЛЬНЫХ ВЕЛИЧИН

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

’ abd’ ‘abc’

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

’ abcd’ ‘abc’

Сложение переменных Объединение нескольких строк в одну: к концу первой строки присоединяется начало второй и т. д. Длина результирующей строки должна бытьПример: c:= ‘Иван‘ + ‘ ‘ + ‘Петров’; write(c); //будет выведено ‘Иван Петров’

Сложение переменных

Объединение нескольких строк в одну: к концу первой строки присоединяется начало второй и т. д.

Длина результирующей строки должна быть

Пример:

c:= ‘Иван‘ + ‘ ‘ + ‘Петров’;

write(c); //будет выведено ‘Иван Петров’

Строковые функции Функция LENGTH Возвращает длину строки. Length (параметр) Параметр – переменная или константа строкового типа. Возвращаемое значение (целое число) – количество символов, из которых состоит строка. Пример , n:=length (‘Иванов’); - значение переменной n  равно 6.

Строковые функции

Функция LENGTH

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

Length (параметр)

Параметр – переменная или константа строкового типа. Возвращаемое значение (целое число) – количество символов, из которых состоит строка.

Пример ,

n:=length (‘Иванов’); - значение переменной n равно 6.

Задания 1. Ввести строку символов. Определить и вывести на печать ее длину. Напечатать первый и последний символы строки. 2. Ввести две фамилии. Определить какая фамилия имеет большую длину. Результат вывести в виде: Фамилия « Иваненко » имеет больше символов чем « Петров »  3. Описать строковую константу « Преобразование » и вывести символы с 4-го по 8-ой 4. Описать строковую константу k=« Кабинет » и строковую переменную pred  для хранения названия предмета. Ввести с клавиатуры название предмета (в нужном падеже). Получить в переменной res полное название кабинета.

Задания

1. Ввести строку символов. Определить и вывести на печать ее длину. Напечатать первый и последний символы строки.

2. Ввести две фамилии. Определить какая фамилия имеет большую длину. Результат вывести в виде:

Фамилия « Иваненко » имеет больше символов чем « Петров »

3. Описать строковую константу « Преобразование » и вывести символы с 4-го по 8-ой

4. Описать строковую константу k=« Кабинет » и строковую переменную pred для хранения названия предмета. Ввести с клавиатуры название предмета (в нужном падеже). Получить в переменной res полное название кабинета.

ФУНКЦИЯ  CONCAT Concat(s1,...,sn) возвращает строку, являющуюся результатом слияния строк s1,..., sn. Результат тот же, что у выражения s1+s2+...+sn. Пример S1  := ’город ’; S2 :=‘Киев’; S :=CONCAT ( S1 , S2) ; S3 := S1+S2 ; значением переменных S и S3 будет ’город Киев’.

ФУНКЦИЯ CONCAT

Concat(s1,...,sn)

возвращает строку, являющуюся результатом слияния строк s1,..., sn.

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

Пример

S1 := ’город ’; S2 :=‘Киев’;

S :=CONCAT ( S1 , S2) ;

S3 := S1+S2 ;

значением переменных S и S3 будет ’город Киев’.

Задания Решить задачу 4 с использованием функции Concat Описать строковую константу k=‘Кабинет’ и строковую переменную pred. Ввести с клавиатуры название предмета (в нужном падеже). Получить в переменной res полное название кабинета. Объявить константу slovo1='волна'. Сравнить ее с переменной slovo2, присваивая ей значения: 'волга', 'вол', 'ворон‘ .

Задания

Решить задачу 4 с использованием функции Concat

Описать строковую константу k=‘Кабинет’ и строковую переменную pred. Ввести с клавиатуры название предмета (в нужном падеже). Получить в переменной res полное название кабинета.

Объявить константу slovo1='волна'. Сравнить ее с переменной slovo2, присваивая ей значения: 'волга', 'вол', 'ворон‘ .

Функция POS   Позволяет определить положение подстроки в строке. Если подстрока не найдена возвращается 0. Общий вид: Pos ( Подстрока , Строка ); где Подстрока – строковая константа или переменная, которую надо найти в строковой константе или переменной Строка. Пример p := pos (‘Петербург’  ,  ’Санкт-Петербург’);  Значение переменной p будет равно 7.

Функция POS

Позволяет определить положение подстроки в строке. Если подстрока не найдена возвращается 0. Общий вид:

Pos ( Подстрока , Строка );

где Подстрока – строковая константа или переменная, которую надо найти в строковой константе или переменной Строка.

Пример

p := pos (‘Петербург’ , ’Санкт-Петербург’);

Значение переменной p будет равно 7.

Функция COPY Позволяет выделить фрагмент строки. Общий вид: Copy ( Строка , p , n ); где Строка – переменная строкового типа, содержащая строку, фрагмент которой надо получить; р – номер символа, с которого начинается выделяемая подстрока; n – длина выделяемой подстроки. Пример St := ’инженер Иванов’; Fam := copy (st,9,6); значением переменной fam будет строка ‘Иванов’.

Функция COPY

Позволяет выделить фрагмент строки. Общий вид:

Copy ( Строка , p , n );

где Строка – переменная строкового типа, содержащая строку, фрагмент которой надо получить;

р – номер символа, с которого начинается выделяемая подстрока;

n – длина выделяемой подстроки.

Пример

St := ’инженер Иванов’;

Fam := copy (st,9,6);

значением переменной fam будет строка ‘Иванов’.

Функция Ord Возвращает символ с кодом Х. Общий вид:Ord(x) Пример m:=ord(8); m1:=ord(‘8’); Writeln(m,' ',m1); Результат: 8 56 Функция Chr Общий вид: Chr(x). Для символов х - char возвращает их код. Для целых  x возвращает само значение. Пример Writeln(chr(243),’ ‘,chr(222)); Результат: у Ю

Функция Ord

Возвращает символ с кодом Х. Общий вид:Ord(x)

Пример

m:=ord(8);

m1:=ord(‘8’);

Writeln(m,' ',m1);

Результат: 8 56

Функция Chr

Общий вид: Chr(x).

Для символов х - char возвращает их код.

Для целых x возвращает само значение.

Пример

Writeln(chr(243),’ ‘,chr(222));

Результат: у Ю

Строковые процедуры Процедура Delete Позволяет удалить часть строки. Общий вид: DELETE ( Строка , p , n ); где Строка  – переменная строкового типа; р – номер символа, с которого начинается удаляемая подстрока; n – длина удаляемой подстроки. Пример S :=’город Санкт-Петербург’; delete ( S ,7,6); значением переменной S будет строка ’город Петербург’.

Строковые процедуры

Процедура Delete

Позволяет удалить часть строки. Общий вид:

DELETE ( Строка , p , n );

где Строка – переменная строкового типа;

р номер символа, с которого начинается удаляемая подстрока;

n – длина удаляемой подстроки.

Пример

S :=’город Санкт-Петербург’;

delete ( S ,7,6);

значением переменной S будет строка ’город Петербург’.

Процедура INSERT Позволяет вставить подстроку в строку символов. Cтрока раздвигается. В общем виде обращение к процедуре выглядит так: Insert  (subs, s, index) ; вставляет подстроку subs в строку s с позиции index . Пример S := ’город Петербург’; INSERT (‘Санкт-‘, S ,7); значением переменной S будет строка ’город Санкт-Петербург’.

Процедура INSERT

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

Insert (subs, s, index) ;

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

Пример

S := ’город Петербург’;

INSERT (‘Санкт-‘, S ,7);

значением переменной S будет строка ’город Санкт-Петербург’.

Процедура VAL Преобразует строку S к числовому представлению и записывает результат в переменную V . Val(S, V, CODE) где S – строковая константа или переменная, содержащая изображение числа; V – переменная, которой должно быть присвоено значение числа, изображенного в строке; CODE – возвращаемый процедурой код ошибки. Если строка может быть преобразована в число, то код ошибки равен нулю. Пример S:=’1234’; VAL(S, X, A); значение переменной X будет равно 1234, а переменной А - ноль.

Процедура VAL

Преобразует строку S к числовому представлению и записывает результат в переменную V .

Val(S, V, CODE)

где S – строковая константа или переменная, содержащая изображение числа;

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

CODE – возвращаемый процедурой код ошибки. Если строка может быть преобразована в число, то код ошибки равен нулю.

Пример

S:=’1234’;

VAL(S, X, A);

значение переменной X будет равно 1234, а переменной А - ноль.

Процедура STR   Преобразует число в строку. Str ( N , S ) ; где N– переменная, которая должна быть преобразована в строку; S – строковая переменная. Пример В результате выполнения строк программы: X:=1234; str (X,S); значением переменной S будет строка ‘1234’.

Процедура STR

Преобразует число в строку.

Str ( N , S ) ;

где N– переменная, которая должна быть преобразована в строку;

S – строковая переменная.

Пример

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

X:=1234;

str (X,S);

значением переменной S будет строка ‘1234’.

Цикл с символьной переменной  Переменная - параметр цикла может иметь любой порядковый тип ( целый, символьный, перечисляемый  или интервальный). При этом типы начального и конечного значения должны соответствовать типу параметра цикла.  Пример program prim; var i:integer;  en : (red, green, blue, white); {перечисляемый тип}  c : char;    {символьный тип} a: 0..10;    {интервальный тип для чисел} a: ‘c..z’;  {интервальный тип для символов} begin for en:=red to blue do  write(Ord(en):2);  {выводится 0 1 2}  for c:='a' to 'z' do  write(c);   {выводится символы ‘abcd …xyz’} for i :=0 to 10 do begin a:=i; write(a); end; {выводится символы ’01…910’} end.

Цикл с символьной переменной

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

Пример

program prim;

var i:integer; en : (red, green, blue, white); {перечисляемый тип}

c : char; {символьный тип}

a: 0..10; {интервальный тип для чисел}

a: ‘c..z’; {интервальный тип для символов}

begin

for en:=red to blue do write(Ord(en):2); {выводится 0 1 2}

for c:='a' to 'z' do write(c); {выводится символы ‘abcd …xyz’}

for i :=0 to 10 do begin a:=i; write(a); end; {выводится символы ’01…910’}

end.

-80%
Курсы повышения квалификации

Профессиональная компетентность педагогов в условиях внедрения ФГОС

Продолжительность 72 часа
Документ: Удостоверение о повышении квалификации
4000 руб.
800 руб.
Подробнее
Скачать разработку
Сохранить у себя:
Символьные и Строковые величины (120.12 KB)

Комментарии 0

Чтобы добавить комментарий зарегистрируйтесь или на сайт