P ASCAL ABC
О БЩЕЕ : С ЕМАНТИКА : ИМПЕРАТИВНАЯ К ЛАСС ЯЗЫКА : МУЛЬТИПАРАДИГМЕННЫЙ : СТРУКТУРНОЕ, ОБЪЕКТНО - ОРИЕНТИРОВАННОЕ, ОБОБЩЁННОЕ, ПРОЦЕДУРНОЕ ПРОГРАММИРОВАНИЕ Т ИП ИСПОЛНЕНИЯ : КОМПИЛЯТОР П ОЯВИЛСЯ В : 2002 Г. А ВТОР ( Ы ): С. С. М ИХАЛКОВИЧ, А. В. Т КАЧУК, И. В. Б ОНДАРЕВ, С. О. И ВАНОВ Р ЕЛИЗ : ( ) Т ИПИЗАЦИЯ ДАННЫХ : СТАТИЧЕСКАЯ О СНОВНЫЕ РЕАЛИЗАЦИИ : P ASCAL ABC.NET И СПЫТАЛ ВЛИЯНИЕ : П АСКАЛЬ, D ELPHI, C# Л ИЦЕНЗИЯ FREEWARE С АЙТ : Д ОМАШНЯЯ СТРАНИЦА P ASCAL ABC.NET ИМПЕРАТИВНАЯ МУЛЬТИПАРАДИГМЕННЫЙ СТРУКТУРНОЕ ОБЪЕКТНО - ОРИЕНТИРОВАННОЕ ОБОБЩЁННОЕ ПРОЦЕДУРНОЕ ПРОГРАММИРОВАНИЕ КОМПИЛЯТОРС. С. М ИХАЛКОВИЧ Р ЕЛИЗ Т ИПИЗАЦИЯ ДАННЫХ СТАТИЧЕСКАЯП АСКАЛЬD ELPHIC# Л ИЦЕНЗИЯ FREEWAREД ОМАШНЯЯ СТРАНИЦА P ASCAL ABC.NET
Т ИПЫ ДАННЫХ : С УЩЕСТВУЮТ ТАКИЕ ТИПЫ ДАННЫХ КАК : С ИМВОЛЬНЫЙ ( CHAR ) С ТРОКОВЫЙ ( STRING ) С ИМВОЛЬНЫЙ С ТРОКОВЫЙ
С ИМВОЛЬНЫЙ ВИД ДАННЫХ Наряду с числовой информацией в Паскале используется алфавитно- цифровая или символьная информация, которая включает в себя заглавные, строчные буквы, цифры от 0 до 9 и вспомогательные символы. Для описания символьных переменных используется тип данных CHAR.
Т ИП ДАННЫХ CHAR: Каждая переменная символьного типа может принимать значение только одного символа. Все символы упорядочены в соответствии с принятым в ЭВМ коде (например ASCII). При этом порядковый номер символов называется кодом (например, код латинского символа 'А ' равен 65; символа '3' равен 51).
Ф УНКЦИИ ПРЕОБРАЗОВАНИЯ ( CHAR ): 1) ORD (C) принимает значение кода символа С; 2) значение функции CHR(I) является символ с кодом Например: ORD('А ')=65 CHR(ORD(C))=C ; CHR (65) = A ;
П РИМЕР ПРОГРАММЫ : И З НАБОРА 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]
С ТРОКОВЫЙ ВИД ДАННЫХ Строки в Паскале – это данные типа STRING. Они используются для хранения последовательностей символов. В Паскале длина стандартной строки ограничена 255 символами. Под каждый символ отводится по одному байту, в котором хранится код символа. Кроме того, каждая строка содержит еще дополнительный байт, в котором хранится длина строки.
Т ИП ДАННЫХ STRING Переменная типа STRING может принимать значения переменной длины. Максимально возможная длина переменной 255 символов. Например: str: STRING[200]; ow: STRING[10]; В скобках указывается максимальная длина для данной переменной. Для ввода значений типа STRING необходимо использовать READLN, а не READ. За один раз может быть введена только одна строка. Две строки можно сравнивать, используя операции отношения (сначала сравниваются самые левые символы, если они равны, то сравниваются следующие).
П РОЦЕДУРЫ И ФУНКЦИИ ( STRING ): 1) Функция LENGTH C:=LENGTH(str); Переменной С будет присвоено целое значение, показывающее количествo символов в строковой переменной str. 2) Функция POS P:=POS (st1, st2); Р-целое число, показывающее номер позиции, с которой начинается строка st1 в строкe st2. 3) Функция COPY S1:=COPY( str, I, J); Sl-символьная подстрока, выделенная из строки str с позиции I, длиной J символов. 4) Процедура DELETE(Str, I, J); Из строки str удаляется J символов, начиная с I позиции. 5) Процедура INSERT(Str1, Str2, I); Строка Str1 вставляется с I позиции в строку Str2. 6) Процедура STR (V, S1); Числовое значение переменной V преобразуется в строку символов и записывается в строку S1.
П РИМЕР ПРОГРАММЫ : П ОДСЧИТАТЬ КОЛИЧЕСТВО СЛОВ ВО ВВЕДЕННОЙ С КЛАВИАТУРЫ СТРОКЕ. 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.