КАМЧАТКА Пятница, 17.05.2024, 14:45
Главная | Регистрация | Вход Приветствую Вас Гость | RSS
Категории сайта
 
Категории раздела
Языки программирования [11]
Паскаль(Pascal) [7]
Си(C++) [1]
Джава (Java) [1]
Матлаб(Matlab) [1]
C#(Си Шарп) [1]
Php [1]
HTML [1]
JavaScript [1]
MySQL [0]
CSS [1]
Ассемблер(Assembler) [1]
 
Мини-чат
 
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
 
Это интересно
 
Пожертвуйте цент на содержание сайта
 
Камчатское Интернет-радио

Бесплатно
для "Безлимитной Камчатки"

 
Котик
 
Время до Нового Года
 
-
Главная » Статьи » Программирование » Паскаль(Pascal)

Урок 6 - Символьные данные в языке Паскаль

Наряду с числовой информацией в Паскале используется алфавитно-цифровая или символьная информация, которая  включает в себя заглавные, строчные буквы, цифры от 0 до 9 и  вспомогательные  символы. Для описания символьных переменных используется тип данных CHAR или STRING.

Тип  данных CHAR

Каждая переменная символьного типа может принимать значение только одного символа. Все символы упорядочены в соответствии с принятым в ЭВМ коде (например ASCII). При этом порядковый но­мер символов называется кодом (например, код латинского символа 'А '  равен 65; символа '3' равен 51).
Для символьных данных не определены никакие арифметические операции, но они могут сравниваться по своим кодам, участвовать в чтении, печати, операторах присваивания. Существуют две стандартные функции преобразования :
1) ORD (C) принимает значение кода символа С;
2) значение функции CHR(I) является символ с кодом Например:ORD('А ')=65
CHR(ORD(C))=C   ; CHR (65) = A   ;
Строка - это последовательность символов. Строку можно представить как массив, элементы которого имеют тип CHАR. Например:
BUK: array[1..17] of char;
Массив BUK-массив символов, который содержит 17 символов. Если символов меньше, то строка дополняется пробелами справа. В про­тивном случае возникает ошибка несоответствия типов. Так как массивы символов являются обычными массивами с элементами типа CHAR, они обладают всеми свойствами массивов.

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

program lr1;
type sl =array [1..10] of char;
var   s: sl; {описание массива символов}
i: integer;
begin 
writeln ('введите 10  символов'):
for i:=1 to 10 do  readln (s[i]);          {ввод массива}
for i:=1 to 10 do
if (s[i]>=’A’) and (s[i]<= ‘Z’) then 
writeln (‘Символ :’, s[i], ‘ его код =’, ord (s[i]);
readln;
end.

Тип данных STRING

В Турбо Паскале предусмотрен тип данных STRING. Переменная типа STRING может принимать значения переменной длины. Максимально возможная длина переменной 255 символов. Например:
str: STRING[200];
ow: STRING[10];
В скобках указывается максимальная длина для данной переменной. Для ввода значений типа STRING необходимо использовать READLN, а не READ. За один раз может быть введена только одна строка. Две строки можно сравнивать, используя операции отношения (сначала сравниваются самые левые символы, если они равны, то сравниваются следующие). Для работы с переменными типа STRING используют следующие стандартные процедуры и функции:

1) Функция LENGTH
C:=LENGTH(str); Переменной С будет присвоено целое значение, показывающее количествo символов в строковой переменной str .

2) Функция СОNCAТ - сцепление строк в порядке их перечисления.
str:=CONCAT(st1,st2,...,stN);str-переменная типа STRING, состоящая из строк st1,...,stN.

3) Функция POS
P:=POS (st1, st2); Р-целое число, показывающее номер позиции, с которой начина­ется строка st1 в строкe st2.

4) Функция COPY 
S1:=COPY( str, I, J); Sl-символьная подстрока, выделенная из строки str с позиции I, длиной J символов.

5) Процедура DELETE(Str, I, J); 
Из строки str удаляется J символов, начиная с I позиции.

6) Процедура INSERT(Str1, Str2, I);
Строка Str1 вставляется с I позиции в строку Str2.

7) Процедура STR (V, S1);
Числовое значение переменной V преобразуется в строку символов и записывается в строку S1.

8) Процедура VAL (S1, V, C);

Строковое выражение S1 преобразуется в величину целочислен­ного или вещественного типа и записывается в переменной V . Если при  этом ошибок не обнаруживается, то С будет равно 0 . В противном  случае значение С будет равно номеру позиции пер­вого ошибочного символа и V будет неопределено. Строка S1 не должна содержать незначащих пробелов, перемен­ная V может быть целой или вещественной, а переменная С - только целой .


Пример: Подсчитать количество слов во введенной с клавиатуры строке.

program lr2;
var
s: string[30];
kol, i, n: integer;
begin
writeln ('введите строку'); readln (s);
kol:=0;          {счетчик количества слов}
n:= length(s);            {определяем длину введенного текста}
s:= concat('  ',s); {добавляем пробел к первому слову}
for i:=1 to n do
if (copy (s,i,1)='  ') and (copy (s,i+1,1)<>' ') 
then  kol := kol+1;{подсчет количества слов}
writeln (s,'  количество слов= ',  kol);
readln;
end.

Категория: Паскаль(Pascal) | Добавил: Cooladmin (18.05.2014)
Просмотров: 1106 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
 
Поиск
 
Время
 
Это интересно
 
Погода

Погода от Метеоновы по г. Москва

Погода от Метеоновы по г. Петропавловск-Камчатский

Погода от Метеоновы по г. Елизово

Погода от Метеоновы по г. Вилючинск

 
Гороскоп
Loading...
 
Курс валют
 
Активность
Приветствуем нового пользователя: ivanbockarev817 07.06.2019 в 18:20
Приветствуем нового пользователя: defaultNick 14.12.2016 в 22:48
ivanbockarev817 прокомментировал(а) Assassin's Creed... 07.06.2019 в 18:27
RiPsler прокомментировал(а) Max Payne 3... 08.05.2014 в 23:59
Cooladmin добавил(а) материал: Медведев оценил отно... 21.05.2014 в 21:39
Cooladmin добавил(а) материал: Власти ДНР не намере... 18.05.2014 в 00:31
Cooladmin добавил(а) пост в теме: Что вы хотите здесь ... 05.05.2014 в 14:43
Cooladmin добавил(а) пост в теме: Какую музыку и какие... 05.05.2014 в 14:42
 
Комментарии
 
Афоризмы
 
Администратор Овчинников В.А. © 2024

Яндекс.Метрика