1.определить, что будет на экране после выполнения следующего фрагмента программ: var n, k: byte; begin n: =5; for k: =1 to n do begin n: =n+1; writeln(‘k=’, k,’n=’,n); end; end
240
290
Ответы на вопрос:
Инвариантные фрагменты кода оптимизация инвариантных фрагментов кода тесно связана с проблемой оптимального программирования циклов. внутри цикла могут встречаться выражения, фрагменты которых никак не зависят от переменной цикла. их называют инвариантными фрагментами кода. современные компиляторы часто определяют наличие таких фрагментов и выполняют их автоматическую оптимизацию. такое возможно не всегда, и иногда производительность программы зависит целиком от того, как запрограммирован цикл. в качестве примера рассмотрим следующий фрагмент программы (язык turbo pascal): for i : = 1 to n do begin for k : = 1 to p do for m : = 1 to q do begin a[k, m] : = sqrt(x * k * m - i) + abs(u * i - x * m + k); b[k, m] : = sin(x * k * i) + abs(u * i * m + k); end; am : = 0; bm : = 0; for k : = 1 to p do for m : = 1 to q do begin am : = am + a[k, m] / c[k]; bm : = bm + b[k, m] / c[k]; end; end; здесь инвариантными фрагментами кода являются слагаемое sin(x * k * i) в первом цикле по переменной m и операция деления на элемент массива c[k] во втором цикле по m. значения синуса и элемента массива не изменяются в цикле по переменной m, следовательно, в первом случае можно вычислить значение синуса и присвоить его переменной, которая будет использоваться в выражении, находящемся внутри цикла. во втором случае можно выполнить деление после завершения цикла по m. таким образом, можно существенно сократить количество трудоёмких арифметических операций. [править] приоритеты оптимизации
64сим * 64строк * 256стр * 16бит / 8 бит (чтобы байты получить) /1024 (получаем килобайты) / 8 (получаем мегабайты) = 2 ответ 2 мбайта
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
Katylopy01.12.2020 08:32
-
dlink16224.05.2023 04:00
-
Ruiche26.03.2023 17:47
-
kek20057016.07.2020 08:19
-
Ангелок110521.12.2020 03:05
-
ArtyomFoshan12.07.2020 12:11
-
Эмиль233010.05.2021 14:39
-
Ste5an02.12.2022 20:07
-
anzhela3306.11.2020 12:29
-
shayukalena08.05.2021 00:12
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.