Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Стандартные функции для данных типа CHARСодержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Информация о функциях для переменных типа Сhar дана в таблице 5.2. Таблица 5.2
Определение переменных строкового типа. Особенности типа STRING Строка – это последовательность символов кодовой таблицы персонального компьютера. Доступ к отдельному символу может быть получен путем ссылки на него при помощи индекса. Байт в позиции 0 (доступный лишь при отмене проверки диапазона) хранит число,представляющее длину текущего значения переменной типа STRING. Применение строковых переменных в качестве селектора в операторе CASE недопустимо. Формат определения констант строкового типа: Const <идентификатор>=<значение>; Например,... С1 = ‘строка 1’;... Формат определения переменных строкового типа: {Описание переменной типа String с помощью заданного программистом типа} Type <имя типа> = string[максимальная длина строки]; Var <идентификатор,...>:<имя типа>; {Описание переменной типа String без заданного программистом типа} <идентификатор,...>:string[максимальная длина строки]; Максимальная длина строки не более 255; значение 255 можно не задавать. Пример описания строк и считывания строки: Program StrTest; const S1='Начало работы программы’ {Пример константы строкового типа}; var S2: string[10]; Begin WriteLn(S1); {Вывод значения строковой константы} Write(' Введите строку:'); ReadLn(S2); WriteLn(' Длина введенной строки ',S,' равна ',ord(S2[0])); End. Запись S[0] дает доступ к нулевому байту, содержащему значение текущей длины строки. Значение нулевого байта не должно превышать 255, но нарушение этого правила не вызывает программного прерывания, так как директива компилятора R по умолчанию находится в пассивном состоянии {$R-}. Для обеспечения строгого контроля за диапазоном допустимых значений индекса следует перевести директиву R в активное состояние {$R+}. Активный режим R устанавливается на стадии отладки программ. Строковые выражения Выражения, в которых операндами служат строковые данные, называются строковыми. Они состоят из строковых констант, переменных, указателей функций и знаков операций над ними. Над строками могут выполняться операции отношения и сцепления (конкатенации): 1. Операции отношения: <,>, =, <>, >=, <=. Результат операции отношения будет иметь тип BOOLEAN. Строки сравниваются посимвольно слева направо. При обнаружении первого несовпадающего символа принимается решение о <больше> или <меньше> в соответствии с таблицей кодов ASCII. Если две сравниваемые строки имеют различную длину, но совпадают вплоть до последнего символа более короткой строки, то более короткая строка считается меньшей. Например: 'Pascal'='pascal' -> false 'prim'<'primer' -> true '+'<'-' -> true 2. Сцепление: +. Использование знака + позволяет разместить строки одну за другой. Например: 'Новый'+' '+'год'='Новый год'; Операция + дает тот же результат, что и функция CONCAT, присутствующая в языке Turbo Pascal для обеспечения его совместимости с другими версиями (описывается ниже). Строковые процедуры и функции Информация о строковых процедурах и функциях дана в таблице 5.3. Таблица 5.3
Пример программы Программа, осуществляющая ввод массива из 10 слов длиной 6-8 символов, в каждом слове заменяет символы 'a' на 'б', а также осуществляет преобразования вещественной и строковой констант. Program Prim_Str; Const CH=12.34; KST= '12.34'; Var X: array [1..10] of string[8]; {Массив слов} St: srting[7]; {Параметр для процедуры Str()} V: real; {Параметр для процедуры Val} Code: byte; {Параметр для процедуры Val} Dl: integer; {Длина слова в массиве} n: integer; {Позиция символа 'а'} i, j: byte; {Переменные цикла} Begin {---------------Ввод массива из десяти слов-----------------} Writeln('Программа обработки данных строкового типа'); Writeln; Writeln('Введите 10 слов из 6-8 символов'); For i:=1 to 10 do begin Write(i, ' -е слово '); Readln(X[i]); end; {----------------Вывод на экран введенных данных---------------} Writeln('Введенные слова'); For i:=1 to 10 do Writeln(i, '-ое слово ', X[i]); dl:=length(X[1]); {определение длины первого слова} {----------------Вывод кодов символов первого слова--------------} For i:=1 to dl do Begin Write ORD (X [1,i]); Writeln End; {---------------Преобразование числа в строку -----------------} Str(CH,St); Writeln('Число ',CH:7:3,' преобразуется в строку ', St); {---------------Преобразование строки в число ------------------} Val(KST, V, Code); Writeln('Строка ', KST, ' преобразуется в число ', V); Writeln(' код ошибки ', Code); {------ Поиск в словах символа 'a' и замена его на символ 'б' ---} For i:=1 to 10 do begin {- Определение наличия символа 'а' в слове X[i] и его позиции } n:=pos('а', X[i]); {---Запись символа 'б' на место, занимаемое символом 'а'-----} if n>0 then X[n]:='б' end; {-----------Преобразование массива из 10 слов в строку и------} {-----------------вывод результата ---------------------------} {------предлагается запрограммировать самостоятельно------} End. Варианты заданий Таблица 5.4
Таблица 5.5
Таблица 5.6
Содержание отчета (см. п. 1.10) 5.9. Контрольные вопросы 1. Что такое строка? 2. Каким идентификатором определяются данные строкового типа? 3. Какова максимальная длина строки? Как определить текущую длину строки? 4. Какие выражения называются строковыми? 5. Какие операции допустимы над строковыми данными? 6. Каким образом производится сравнение строк? 7. Как можно обратиться к отдельным символам строки? 8. Каково назначение специальных процедур и функций обработки данных строкового типа?
Лабораторная работа №6 Разработка Pascal–программ с использованием процедур и функций пользователя Цель работы Приобретение навыков разработки программ с использованием процедур и функций пользователя на языке Turbo Pascal. Задание на лабораторную работу Разработать программу для вычисления значений функции в соответствии с вариантом задания и вывести результаты в табличном виде. Требования к программе Программа должна выводить сообщения-подсказки перед вводом данных, сообщение о выводе результатов и результаты в виде, описанном ниже. Программа должна состоять из трех подпрограмм (процедура ввода данных, подпрограмма-функция вычисления значения, процедура вывода данных) и основной части программы. Форма вывода результата.
Выбор значений параметров a, b, c и формата вывода результатов вычислений осуществляется разработчиком программы. Порядок выполнения работы 1. Получить вариант задания (п. 6.6). Варианты задания содержат данные о функции, начальном и конечном значении аргумента, шаге табуляции, абсолютной погрешности. 2. Изучить структуру Pascal-программы, содержащей процедуры и функции пользователя (п. 6.5). 3. Составить схему программы. 4. Запустить интегрированную среду программирования. Ввести текст программы, записать файл на диск, откомпилировать его с использованием среды Turbo Paskal. После успешной компиляции задать для просмотра в окне отладчика значения исходных данных. Установить видимымиодновременно окна редактора с текстом программы и окно просмотра. Исполнить программу в пошаговом режиме с входом в процедуры и функции и пронаблюдать за изменениями значений переменных в основной программе, в процедурах и функциях. Обратить внимание на передачу значений при вызове процедур и функции от фактических параметров основной программы формальным параметрам, на возвращение вычисленных подпрограммами значений в точку вызова главной программы, а также на характер изменения значений локальных и глобальныхпеременных. 5. Устно ответить на контрольные вопросы (п.6.9). 6. Оформить отчет (см. п. 1.10).
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-04-26; просмотров: 492; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.221.183.34 (0.01 с.) |