WriteLn(C);
на экран будет выведено сообщение: "Пароход ".
Замечание. 6. Копирование строк. Для копирования строк или их фрагментов используется функция Copy. Ее общий вид: Например, при выполнении оператора WriteLn(Copy ('Язык Паскаль',6,7)) на экран будет выведено сообщение:" Паскаль". Часто возникает необходимость получить строковое представление числа и наоборот (например, получить строку '13' из числа 13). Для работы с числами и строками применяются следующие две процедуры. 7. Перевод числа в строку. Для перевода числа в строку используется процедура Str, общий вид которой следующий: Например, Str(1.21, St); в результате выполнения процедуры строка будет такой: St='1.21'. 8. Перевод строкового выражения в число. Для перевода строки в число используется процедура Val. Ее общий вид: Если данная строка действительно является записью числа (целого или действительного), то значение признака будет равно нулю, иначе значение признака будет равно номеру первого символа, с которым процедура Val "не справилась", то есть преобразование этого символа является невозможным. Например, при выполнении процедуры Val ('1234',N,K); значение переменной N будет равно 1234, а переменная K будет равна нулю, так как строка '1234' является записью целого числа. При выполнении конструкции Val('12-34',N,K); значение переменной N не изменится, а переменная K будет равна трем, то есть номеру символа, с которого преобразование невозможно, так как знак "-" в записи чисел может быть только на первом месте. Проиллюстрируем использование некоторых процедур и функций на примере следующей программы: подсчитать сумму цифр, входящих в данную строку. Алгоритм решения задачи может быть следующим. Каждый символ введенной строки пытаемся перевести в число. Если это удается, то полученное число прибавляем к сумме. Приведем текст программы: Program Summa; Var St:String; Sum,k,d:Integer; i:Byte; Begin WriteLn('Введите строку: '); ReadLn(St); Sum:=0;{Начальное значение суммы.} {"Просматриваем" все символы в исходной строке.} For i:=1 To Length(St) Do Begin {Перевод очередного символа в число.} Val(St[i],d,k); {Если символ является цифрой, то находим сумму.} If k=0 Then Sum:=Sum+d; End; WriteLn('Сумма цифр в строке равна: ', Sum); End. Задание: Ввести строку с клавиатуры, вывести на экран длину строки.
|