Ответы_экзамен_2009 (1115077), страница 6
Текст из файла (страница 6)
КРИТЕРИИ: - пропуск адреса в первом операнде операции(ий) присваивания: –3;
- пропуск адреса в операнде операции(ий) ++ : –3;
- неверный ПОЛИЗ первого оператора: –6;
- неверный ПОЛИЗ цикла (любые, не указанные выше ошибки): 0 баллов.
Замечание. Допустимы следующие вариации ПОЛИЗа в ответах:
(1) разрешается разворачивать унарные операции ++ и -- :
префиксные — ++х ==> &x, x, 1, +, = ;
постфиксные — х++ ==> &y, x, =, &x, x, 1, +, = ,y , где y — новый операнд;
(2) может использоваться операция «;» для выбрасывания «мусора» из стека, при трактовке присваивания как операции, оставляющей результат присваивания на вершине стека.
Соответственно изменяются адреса переходов в связи с (1) и/или (2).
10. Какие участки программы называют линейными? Что такое профилировщик? Кратко опишите его назначение.
Ответ: Линейные участки кода - фрагменты программы, все операторы которых выполняются в порядке их следования в тексте (нет передачи управления).
Профилировщик - компонент СП, который строит профиль программы (где выделены линейные участки кода) с указанием того, какой процент времени они выполняются тот или иной фрагмент кода.
Используется для более эффективной оптимизации программы, т.к. обычно 90% времени выполнения программы тратится на 10% ее кода, зная которые можно не оптимизировать оставшиеся 90% и избежать возможных ошибок при оптимизации, а также при отладке программ. (Процентное соотношение указано приблизительно).
КРИТЕРИИ: - неверный (отсутствует) ответ на первый вопрос: –4;
- неверный (отсутствует) ответ на второй вопрос: –4;
- неверный (отсутствует) ответ на третий вопрос: –4;
Замечание. Все три ответа могут быть сформулированы "своими словами".