Категория B14 • задача №4

 
 
 

Условие задачи

Дано:
дан следующий программный код (для удобства, код программы приведен на самом популярном языке программирования высокого уровня – Pascal)

function processingString(ps : string) : string;
const
    SYMBOL = ['a', 'e', 'i', 'o', 'u', 'y'];
var
    i : integer;
begin
    i := 1;
    while(i <= length(ps)) do
    begin
        if(ps[i] in SYMBOL) then
        begin
            insert(ps[i], ps, i);
            i := i + 1;
        end;
        i := i + 1;
    end;
    processingString := ps;
end;
var
    inputString  : string;
    outputString : string;
begin
    inputString := 'Pascal is good!';
    outputString := processingString(inputString);
    writeln(‘Выходная строка имеет вид: ', outputString);
end.

 

Найти:
определите, что будет напечатано в результате выполнения приведенного алгоритма

 

Решение

I этап: детальный анализ каждой строки заданной программы

Проанализируем код заданной функции:

Код программы (функция)Комментарии

function processingString (ps : string) : string;

заголовок (сигнатура) функции.
processingString – название функции;
ps – формальный строковый параметр функции;
string – функция возвращает в качестве ответа строковое значение.

constраздел декларации константных величин

    SYMBOL = ['a', 'e', 'i', 'o', 'u', 'y'];

константное множество, хранящее исключительно гласные символы английского алфавита
varраздел декларации переменных величин
    i : integer;счетчик циклов
beginначало тела функции
    i := 1;позиционируемся на первый символ входной строки
    while(i <= length(ps)) doпока не будет просканирована посимвольно вся входная строка начинается цикл
    beginначало тела цикла

        if(ps[i] in SYMBOL) then

если текущий символ является символом гласной английской буквы, то
        beginначало тела условного выражения
            insert(ps[i], ps, i);производится вставка символа в текущую позицию, причем, вставляемый символ совпадает с проверяемым символом
            i := i + 1;переход на следующий символ входной строки
        end;конец тела условного выражения
        i := i + 1;переход на следующий символ входной строки
    end;конец тела цикла
    processingString := ps;в качестве ответа функция возвращает "модифицированную" входную строку
end;конец тела функции

Промежуточный вывод: данный алгоритм проверяет посимвольно входную строку и удваивает символы, являющиеся гласными символами английского алфавита.

 

Проанализируем код главного блока программы:

Код программы (главный блок)Комментарии
varраздел декларации переменных
    inputString : string;хранит значение входной строки
    outputString : string;хранит значение выходной строки
beginначало главного тела программы
    inputString := 'Pascal is good!';инициализация входной строки конкретным значением
    outputString := processingString(inputString);вызывается функция и записывается значение, возвращенное функцией в выходную строку

    writeln(‘Выходная строка имеет вид: ', outputString);

выводим на экран пользователя значение выходной строки

end.финализирующий оператор программы

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

 

II этап: тестирование программы на реальных точечных данных

Pascal is good!входная
строка
Paascaal iis gooood!выходная
строка

То есть выходная строка будет иметь вид: Paascaal iis gooood!

 

Вывод:

после выполнения предложенного фрагмента программы на экран будет выведена строка

Paascaal iis gooood!

Резюме

  1. проанализировали код предложенной функции;

  2. проанализировали код предложенного главного фрагмента;

  3. "прогнали" программу по всем символам исходной строки и произвели удвоение гласных английских символов

 
 
Рейтинг:
 
Проголосовало: 0
Количество просмотров: 1448
 
 
 

Категория B14 • задача №4

 

Комментарии

Для комментирования или зарегистрируйтесь
 

Остальные решения из билета №4 для подготовки к ЕГЭ по информатике 2013

 
Условие задачи
(наведите курсор мыши на ссылку)
Аудиовизуальное
решение
Мультимедийная
видеопрезентация
Решение в формате
слайд-шоу
Текстовое
решение
 
© 2011-2024 ООО "СтадиМен". Все права сохранены.
Перепечатка и использование материалов с данного сайта, разрешена только по согласию с владельцем.
Владелец оставляет за собой право воспользоваться 146 статьей УК РФ при нарушении авторских и смежных прав.
 
 
 
 
Авторизация на сайте
 
 
 
Обнаружили
ошибку на сайте?