1. Основные понятия Основные функции обработки строк Посимвольная обработка строки Формирование массива слов строки Формирование строки из массива слов Слова-палиндромы Выделение чисел из строки Сравнение строк Обработка многострочного текста...30 Приложение Приложение Приложение Список литературы...37
2 2 1. Основные понятия Строка это некоторый набор символов, в том числе и пустой. Для обозначения строки используются кавычки ("). Пустая строка обозначается парой кавычек, между которыми нет ни одного символа, в том числе и пробела (s =""). Строки описываются с типа String. Каждая строка может содержать до двух миллиардов символов в формате Unicode. Объем памяти, занимаемой строковой переменной, зависит от количества символов в этой строке. Чем больше символов, тем больше памяти требуется для хранения этой строки. Число символов в строке называется длиной строки. Длина пустой строки равна нулю. Все символы в строке последовательно пронумерованы. Нумерация идет слева направо и начинается с единицы. Номер символа в строке также называют позицией символа. Подстрока это любой фрагмент строки, состоящий хотя бы из одного символа исходной строки. Например, в строке "электростанция" содержится подстрока "рост". Левой подстрокой называется такая подстрока, которая начинается с первого символа исходной строки. В нашем случае левой подстрокой будет "элек". Правая подстрока это подстрока, которая заканчивается последним символом исходной строки. В нашем примере это будет подстрока "станция". Конкатенацией двух строк s1 и s2 называется строка s, для которой s1 является левой подстрокой, s2 правой подстрокой, а длина строки s равна сумме длин строк s1 и s2. Часто конкатенацию называют сложением или склейкой строк. В Visual Basic 2005 она обозначается знаком плюс. s = s1 + s2 1 Строковое выражение это либо отдельная строка, либо строка и строковое выражение, между которыми стоит знак конкатенации. 2. Основные функции обработки строк Strings.Len(Строка) возвращает количество символов в строке, то есть ее длину. Например, Strings.Len("Окно") вернет значение 4. 1 Также допускается следующая запись конкатенации. s = s1 & s2
3 3 Strings.Left(Строка, Длина) выделяет левую подстроку указанной Длины из заданной Строки. Например, Strings.Left("Пароход", 3) вернет строку "Пар". Strings.Right(Строка, Длина) выделяет правую подстроку указанной Длины из заданной Строки. Например, Strings.Right("Пароход", 3) вернет строку "ход". Strings.Mid(Строка, Позиция, Длина) выделяет подстроку заданной Длины из исходной Строки, начиная с указанной Позиции. Например, Strings.Mid("Пароход", 2, 4) вернет строку "арох". Параметр Длина может отсутствовать. В этом случае функция Strings.Mid возвращает правую подстроку, которая начинается с заданной Позиции. Например, Strings.Mid("Пароход", 4) вернет строку "оход". Функция Mid может стоять не только справа от знака присваивания, но и слева. В этом случае префикс Strings не ставится. Если функция Mid стоит слева от знака присваивания, то соответствующая подстрока исходной Строки будет заменена на значение строкового выражения, стоящего в правой части оператора присваивания. При этом длина исходной строки не меняется. Примеры: 1. s = "Иванов" Mid(s, 1, 4) = "Петр" После выполнения оператора присваивания в переменную s будет записано "Петров". То есть первые четыре символа исходной строки будут заменены на четыре символа из другой строки. 2. s = "Иванов" Mid(s, 1, 4) = "Пят" После выполнения оператора присваивания в переменную s будет записано "Пятнов". Так как во второй строке всего три символа, то в исходной строке будут изменены только первые три символа, а четвертый останется неизменным. 3. s = "Иванов" Mid(s, 1, 3) = "Александр" После выполнения оператора присваивания в переменную s будет записано "Аленов". Первые три символа исходной строки меняются на
4 4 первые три символа второй строки. Остальная часть второй строки в преобразовании не участвует.
//дан целочисленный массив из 30 элементов. Элементы массива могут принимать значения от -10 до 20. //Составьте программу, которая подсчитывает и выводит среднюю температуру по всем дням, //когда были заморозки. Гарантируется, что хотя бы в один день были заморозки
var i,x,y : shortint; s : real; t : array [1..30] of shortint; begin randomize; For i:=1 to 30 do begin t[i]:=random (31)-10; //заполняем таблицу случайным образом (в диапазоне от -10 до 20) writeln (i,' ',t[i]); //строка не обязательная просто позволяет увидеть заполненный массив end; for i:=1 to 30 do begin if t[i]<0 then begin x:=x+t[i]; y:=y+1; end; end; s:=x/y; writeln ('Средняя температура по дням, когда были заморозки ',s:0:2); end.
1. Основные понятия Основные функции обработки строк Посимвольная обработка строки Формирование массива слов строки Формирование строки из массива слов Слова-палиндромы Выделение чисел из строки Сравнение строк Обработка многострочного текста...30 Приложение Приложение Приложение Список литературы...37
2 2 1. Основные понятия Строка это некоторый набор символов, в том числе и пустой. Для обозначения строки используются кавычки ("). Пустая строка обозначается парой кавычек, между которыми нет ни одного символа, в том числе и пробела (s =""). Строки описываются с типа String. Каждая строка может содержать до двух миллиардов символов в формате Unicode. Объем памяти, занимаемой строковой переменной, зависит от количества символов в этой строке. Чем больше символов, тем больше памяти требуется для хранения этой строки. Число символов в строке называется длиной строки. Длина пустой строки равна нулю. Все символы в строке последовательно пронумерованы. Нумерация идет слева направо и начинается с единицы. Номер символа в строке также называют позицией символа. Подстрока это любой фрагмент строки, состоящий хотя бы из одного символа исходной строки. Например, в строке "электростанция" содержится подстрока "рост". Левой подстрокой называется такая подстрока, которая начинается с первого символа исходной строки. В нашем случае левой подстрокой будет "элек". Правая подстрока это подстрока, которая заканчивается последним символом исходной строки. В нашем примере это будет подстрока "станция". Конкатенацией двух строк s1 и s2 называется строка s, для которой s1 является левой подстрокой, s2 правой подстрокой, а длина строки s равна сумме длин строк s1 и s2. Часто конкатенацию называют сложением или склейкой строк. В Visual Basic 2005 она обозначается знаком плюс. s = s1 + s2 1 Строковое выражение это либо отдельная строка, либо строка и строковое выражение, между которыми стоит знак конкатенации. 2. Основные функции обработки строк Strings.Len(Строка) возвращает количество символов в строке, то есть ее длину. Например, Strings.Len("Окно") вернет значение 4. 1 Также допускается следующая запись конкатенации. s = s1 & s2
3 3 Strings.Left(Строка, Длина) выделяет левую подстроку указанной Длины из заданной Строки. Например, Strings.Left("Пароход", 3) вернет строку "Пар". Strings.Right(Строка, Длина) выделяет правую подстроку указанной Длины из заданной Строки. Например, Strings.Right("Пароход", 3) вернет строку "ход". Strings.Mid(Строка, Позиция, Длина) выделяет подстроку заданной Длины из исходной Строки, начиная с указанной Позиции. Например, Strings.Mid("Пароход", 2, 4) вернет строку "арох". Параметр Длина может отсутствовать. В этом случае функция Strings.Mid возвращает правую подстроку, которая начинается с заданной Позиции. Например, Strings.Mid("Пароход", 4) вернет строку "оход". Функция Mid может стоять не только справа от знака присваивания, но и слева. В этом случае префикс Strings не ставится. Если функция Mid стоит слева от знака присваивания, то соответствующая подстрока исходной Строки будет заменена на значение строкового выражения, стоящего в правой части оператора присваивания. При этом длина исходной строки не меняется. Примеры: 1. s = "Иванов" Mid(s, 1, 4) = "Петр" После выполнения оператора присваивания в переменную s будет записано "Петров". То есть первые четыре символа исходной строки будут заменены на четыре символа из другой строки. 2. s = "Иванов" Mid(s, 1, 4) = "Пят" После выполнения оператора присваивания в переменную s будет записано "Пятнов". Так как во второй строке всего три символа, то в исходной строке будут изменены только первые три символа, а четвертый останется неизменным. 3. s = "Иванов" Mid(s, 1, 3) = "Александр" После выполнения оператора присваивания в переменную s будет записано "Аленов". Первые три символа исходной строки меняются на
4 4 первые три символа второй строки. Остальная часть второй строки в преобразовании не участвует.
Объяснение:
//Составьте программу, которая подсчитывает и выводит среднюю температуру по всем дням,
//когда были заморозки. Гарантируется, что хотя бы в один день были заморозки
var i,x,y : shortint;
s : real;
t : array [1..30] of shortint;
begin
randomize;
For i:=1 to 30 do
begin
t[i]:=random (31)-10; //заполняем таблицу случайным образом (в диапазоне от -10 до 20)
writeln (i,' ',t[i]); //строка не обязательная просто позволяет увидеть заполненный массив
end;
for i:=1 to 30 do
begin
if t[i]<0 then
begin
x:=x+t[i];
y:=y+1;
end;
end;
s:=x/y;
writeln ('Средняя температура по дням, когда были заморозки ',s:0:2);
end.