русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Урок 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.

Просмотров: 20439

Вы можете --> Заказать программу или Задать вопрос на форуме

Вернуться воглавление


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.