русс | укр

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

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

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

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


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

Процедура VAL


Дата добавления: 2014-02-04; просмотров: 2313; Нарушение авторских прав


Функция COPY

Функция POS

Процедура DELETE

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

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

Где строка-переменная строкового типа; p- номер символа, с которого начинается удаляемая подстрока; n- длина удаляемой строки.

Например, в результате выполнения инструкции

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

Delete (s, 7, 6)

Значением переменной s будет строка ‘Город Петербург’

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

Переменная pos (Подстрока, Строка);

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

Например, в результате выполнения инструкции

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

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

Если в строке нет искомой подстроки, то функция pos возвращает нуль. Следующая программа, е текст приведен на листинге 7,использует функцию pos и процедуру delete для удаления пробелов в начале введенной с клавиатуры строки.

Листинг 7. Удаление начальных пробелов строки (dledspa.pas)

Program dledspa;

Var

St: string [30];

Begin

Write (‘Введите строку’);

Readln (st);

While (pos (‘ ‘,st)=1) and (length(st)>0) do

Delete (st,1, 1);

Write (‘Строка без начальных пробелов:’, st);

End.

Пробелы удаляются в цикле while до тех пор, пока функция pos обнаруживает пробел в начале строки (значение pos при этом равно еденице). Необходимость проверки условия length(st)>0 объясняется возможностью того, что введенная с клавиатуры строка состоит из пробелов. Вот пример работы программы:

Ведите строку: ул. Садовая

Строка без начальных пробелов: ул. Садовая

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



Переменная copy (Строка, p, n);

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

Например, в результате выполнения инструкции

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

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

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

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

Val (Строка, Число, Код);

Где строка - строковая константа или переменная, содержащая изображение числа; Число- переменная целого или дробного типа, которой должно быть присвоено значение, изображенное строкой Строка; Код- возвращаемый процедурой код ошибки (целое число). Если строка не может быть преобразована в число из-за того, что строка не является изображением числа, то значение Код будет равно номеру символа строки, которой явился причиной невозможности преобразования.

Например, в результате выполнения инструкции

Val (‘1,25’, n, code);

Значение переменной code равно 2, так как строк1,25 не является изображением числа, поскольку для отделения дробной части числа от целой используется точка, а не запятая.

Процедура val полезна при организации ввода с клавиатуры. Например, если в программе объявлена переменная moth (месяц) типа integer, и ее значение вводится с клавиатуры инструкцией read, то в результате возможной ошибки оператора, задавшего месяц строкой символов, например, ‘июнь’, а не цифрой, программа завершится ошибкой времени выполнения. Однако если числовые данные вводить как строку, а затем преобразовывать в число с помощью процедуры val, то можно избежать подобного неприятного завершения программы.

На листинге 8 приведен текст программ, которая выполняет проверку введенных данных при помощи процедуры val.

Листинг 8. пример использования val для контроля вводимых с клавиатуры данных (month.pas)

Program month;

Var

Mon: integer; {месяц}

Buf: string [10]; {буфер для ввода строки}

Code: integer; {код ошибки преобразования строки в число}

Begin

Repeat

Write (‘Месяц- > ‘);

Readln (buf) ; {вводим номер месяца как строку}

Val (buf, mon, code);{преобразуем строку в число}

If code <>0 {введенная строка не цифра}

Then Writeln (‘Ошибка! Месяц следует задать цифрой.’);

Until code=0;

End. Вот пример работы программы:

Месяц –> май

Ошибка! Месяц следует задать цифрой.

Месяц ->5

 

 



<== предыдущая лекция | следующая лекция ==>
Функция LENGTH | Есть и гораздо более опасная ошибка.


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


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

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

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


 


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

 
 

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

Генерация страницы за: 0.008 сек.