Задание 5. В системе программирования Pascal ABC вы- полните проверяемое задание р4 для исполнителя Робот (закрасить помеченные клетки с использованием проце- дуры Square2) (рис. 3.40).
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 первые три символа второй строки. Остальная часть второй строки в преобразовании не участвует.
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 первые три символа второй строки. Остальная часть второй строки в преобразовании не участвует.
Объяснение:
program Project1;
const
maxelem = 100;
var
a: array [1..maxelem] of integer; { Переменная для хранения массива.}
n: integer; { Переменная для хранения значения количества элементов в массиве.}
i,k: integer; { Вс переменные для организации циклов.}
sum: integer; { Переменная для хранения значения суммы выбранных величин роста}
begin
n:= 15;
for i:= 1 to n do
repeat
write('Введите значение ',i,' элемента: ');
Readln(a[i]);
if (a[i] < 150) or (a[i] > 200) then
writeln('Введенное число не входит в заданный диапазон.');
until (a[i] >= 150) and (a[i] <= 200);
writeln('Исходный массив: ');
for i:= 1 to n do
begin
write(a[i]:5);
if i mod 10 = 0 then
writeln;
end;
sum:= 0;
k:= 0;
for i:= 1 to n do
if a[i] > 180 then
begin
sum:= sum + a[i];
inc(k);
end;
writeln;
if k = 0 then
writeln('В классе нет учеников с ростом выше 180 см.')
else
writeln('Средний рост игроков баскетбольной команды: ',(sum/k):0:2);
Readln;
end.