§19. Символьные строки | Преобразования строка число (informatika_09_34_pol)

Планирование уроков на учебный год (по учебнику К.Ю. Полякова, Е.А. Еремина, базовый уровень)


Уроки 16 - 17
§19. Символьные строки



Содержание урока

Что такое символьная строка?

Сравнение строк

Посимвольная обработка строк

Операции со строками

Поиск в символьных строках

Преобразования «строка ↔ число»

Выводы

Вопросы и задания

Практическая работа № 12 «Посимвольная обработка строк»

Практическая работа № 13 «Обработка строк. Функции»

Практическая работа № 14 «Преобразования "строка ↔ число"»


Преобразования «строка ↔ число»


Иногда символьная строка, которая передаётся программе, содержит запись числа. С таким значением нельзя выполнять арифметические операции, потому что это символы, а не число.

Чему будут равны значения переменных п и s после выполнения этих команд? Как нужно объявить эти переменные в программе?

n:= 12 + 34;

s: = '12' + '34';


Для того чтобы с данными можно было выполнять вычисления, нужно преобразовать число, записанное в виде цепочки символов, в числовое значение. Для этого в алгоритмическом языке есть стандартные функции:

лит_в_цел — переводит строку в целое число;

лит_в_вещ — переводит строку в вещественное число.


Разберём такой пример:

лит s, цел N, лог ОК

s:='123'

N:= лит_в_цел(s, OK) | N = 123

если не ОК то

вывод 'Ошибка!'

все


Строку не всегда можно преобразовать в число (например, если в ней содержатся буквы). Поэтому функция лит_в_цел использует второй параметр — логическую переменную ОК. Функция записывает в эту переменную логическое значение да («истина»), если операция закончилась успешно, и нет (ложь), если произошла ошибка.

Изучите приведённый фрагмент программы и выясните, как объявляется логическая переменная.


А вот пример использования функции лит_в_вещ:

лит s, вещ X, лог ОК

s:='123.456';

Х:=лит_в_вещ(s, ОК) | Х= 123.456

если не ОК то

вывод 'Ошибка!'

все


Какие из этих строк можно преобразовать в целое число, какие — в вещественное?


а) '45';
б) '5р.';
в) '14.5';
г) '14;5';
д) 'tu154';
е) ’543.0’;
ж) ’(30)’.

Обратное преобразование (из числа в строку) возможно всегда:

N:=123

s:=цел_в_лит(N) | s='123'

X:=123.456

s:=вещ_в_лит(X) I s='123.456'


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

В языке Паскаль строка преобразуется в число (целое или вещественное) с помощью процедуры val:

var r: integer;

• • •

s : = '123';

val(s, N, r); {N=123}

s:='123.456';

val (s, X, r); {X=123.456}


Третий параметр г служит для того, чтобы определить, была ли ошибка. Если после вызова процедуры val значение г равно нулю, то ошибки не было, иначе в переменную г записывается номер первого ошибочного символа.

Преобразование числа в строку выполняет процедура str:

n : = 123;

str(N, s); {s='123'}

х:=123.456;

str (X, s); {s='1.234560E+002'}

str(X:10:3, s); {s=' 123.456'}


По умолчанию вещественные числа записываются в научном формате ('1.234560Е+002' означает 1,23456102). В последней строке примера используется форматный вывод: запись Х:10:3 означает «вывести число в 10 позициях с тремя знаками в дробной части».

Следующая страница Выводы



Cкачать материалы урока







Наверх