В заданиях ЕГЭ по информатике массивы встречаются довольно часто. Они используются в задачах на обработку последовательностей, поиск, сортировку и подсчёт различных характеристик элементов. Для успешного выполнения таких заданий необходимо понимать принципы работы с массивами, уметь их заполнять, обращаться к конкретным элементам, а также применять циклы и условия для анализа данных внутри массива.
Существует несколько разновидностей массивов, и основная классификация строится по признаку типа элементов, которые в них содержатся:
Массив целых чисел (integer) – можно заполнить рандомно.
Массив вещественных чисел (real).
Массив символов (char).
Массив строк (string).
Особый интерес в контексте подготовки к ЕГЭ представляет массив символов, поскольку он тесно связан с понятием строки.
Строка в языке Pascal (в частности, Free Pascal или Turbo Pascal) представляется как переменная типа string, которая по сути является массивом символов. Каждый символ строки можно получить, обратившись к соответствующему индексу.
Например, строка "Привет" в виде массива символов будет выглядеть так:
|
Индекс |
Значение |
|
1 |
П |
|
2 |
р |
|
3 |
и |
|
4 |
в |
|
5 |
е |
|
6 |
т |
В Pascal индексация строк начинается с 1, и первый символ строки — это str[1]. Также существует специальная функция Length(str), позволяющая узнать длину строки.
Существует несколько способов задания строки или массива символов:
Прямое присваивание:
var s: string;
begin
s := 'школа';
end.
Поэлементное присваивание в массив char:
var s: array[1..6] of char;
begin
s[1] := 'ш';
s[2] := 'к';
s[3] := 'о';
s[4] := 'л';
s[5] := 'а';
s[6] := '\0';
end.
Ввод строки с клавиатуры:
var s: string;
begin
readln(s);
end.
Хотя строка — это фактически массив символов, всё же между ними есть важные отличия:
Строка — это готовый объект: с ней легко работать, использовать функции Length, Copy, Pos, Delete, Insert.
Массив символов требует явного контроля: в частности, нужно самостоятельно следить за длиной и корректностью ввода.
|
Характеристика |
Строка |
Массив символов |
|
Индексация |
С 1 |
Зависит от объявления |
|
Удобство работы |
Высокое |
Требует усилий |
|
Длина |
Измеряется функцией |
Нужно отслеживать вручную |
Если нужно хранить и обрабатывать сразу несколько строк (слов), используют массив строк. Это структура, где каждый элемент — строка. То есть массив строк — это, по сути, массив массивов символов.
Пример объявления массива слов в Pascal:
var
слова: array[1..5] of string;
begin
слова[1] := 'мир';
слова[2] := 'код';
слова[3] := 'ЕГЭ';
слова[4] := 'задача';
слова[5] := 'массив';
end.
Такой подход позволяет удобно обращаться к каждому слову, проверять его свойства, изменять и сравнивать с другими.
var
слова: array[1..100] of string;
N, i, maxLen: integer;
begin
readln(N);
for i := 1 to N do
readln(слова[i]);
maxLen := 0;
for i := 1 to N do
if Length(слова[i]) > maxLen then
maxLen := Length(слова[i]);
writeln('Максимальная длина слова: ', maxLen);
end.
var
слова: array[1..100] of string;
N, i, count: integer;
begin
readln(N);
for i := 1 to N do
readln(слова[i]);
count := 0;
for i := 1 to N do
if Pos('а', слова[i]) > 0 then
Inc(count);
writeln('Количество слов с буквой "а": ', count);
end.
function ReverseStr(s: string): string;
var
i: integer;
res: string;
begin
res := '';
for i := Length(s) downto 1 do
res := res + s[i];
ReverseStr := res;
end;
var
слова: array[1..100] of string;
N, i: integer;
begin
readln(N);
for i := 1 to N do
readln(слова[i]);
for i := 1 to N do
writeln(ReverseStr(слова[i]));
end.
Решайте задачи с массивами ежедневно: регулярность даёт уверенность.
Отличайте строку от массива символов: особенно при работе с индексами и функциями.
Изучите функции обработки строк в Pascal: Length, Copy, Pos, Delete, Insert.
Будьте внимательны с типами данных: помните, что char, string, array of char — это разные вещи.
Понимание массивов и их применения — важнейшая часть успешной подготовки к ЕГЭ по информатике. Особенно важно разбираться в работе со строками как с массивами символов и уметь использовать массив слов для решения более сложных задач. Уверенное владение этими структурами данных позволяет легко справляться с множеством типов заданий, встречающихся на экзамене.
Регулярная практика, внимание к деталям и знание различий между типами данных помогут не только подготовиться к экзамену, но и сформировать уверенную базу для дальнейшего изучения программирования.
Теперь можно перейти к теоретическим вопросам:
1. Что представляет собой строка в языке Pascal?
А) Список чисел
Б) Массив вещественных чисел
В) Массив символов с дополнительными возможностями
Г) Объект класса word
2. Какой индекс имеет первый символ строки в Pascal?
А) 0
Б) 1
В) -1
Г) 2
3. Какой тип данных подходит для хранения массива слов в Pascal?
А) array of integer
Б) array of real
В) array of string
Г) string of array
4. Какой результат даст функция Length('школа') в Pascal?
А) 4
Б) 5
В) 6
Г) Ошибка компиляции
5. Что делает функция Pos('а', слово)?
А) Удаляет символ 'а' из строки
Б) Возвращает длину слова
В) Определяет, есть ли символ 'а' в слове и возвращает его позицию
Г) Переворачивает строку
6. Чем отличается строка (string) от массива символов (array of char) в Pascal?
А) Массив символов — более удобный тип
Б) Строка требует ручного контроля длины
В) Строка — это готовый тип с функциями, а массив требует больше действий
Г) Они полностью идентичны