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 ?

Информатика | 5 - 9 классы

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 Помогите пожалуйста.

Ответить на вопрос
Ответы (1)
Vichkaadamova 24 дек. 2020 г., 18:12:58

Инвариантные фрагменты кода

Оптимизация инвариантных фрагментов кода тесно связана с проблемой оптимального программирования циклов.

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

Их называют инвариантными фрагментами кода.

Современные компиляторы часто определяют наличие таких фрагментов и выполняют их автоматическую оптимизацию.

Такое возможно не всегда, и иногда производительность программы зависит целиком от того, как запрограммирован цикл.

В качестве примера рассмотрим следующий фрагмент программы (язык 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.

Таким образом, можно существенно сократить количество трудоёмких арифметических операций.

[править] Приоритеты оптимизации.

174987654321 2 дек. 2020 г., 15:46:27 | 5 - 9 классы

Var k, s : integer ; begin s : = 0 ; k : = 1 ; while k < ; 11 do begin s : = s + k ; k : = k + 1 ; end ; write(s) ; end?

Var k, s : integer ; begin s : = 0 ; k : = 1 ; while k < ; 11 do begin s : = s + k ; k : = k + 1 ; end ; write(s) ; end.

Определите, что будет напечатано в результате работы следующего фрагмента программы :

Maho123 7 мар. 2020 г., 15:37:03 | 5 - 9 классы

Определите, что будет напечатано в результате работы следующего фрагмента программы : var k, s : integer ; begin s : = 3 ; k : = 1 ; while k < ; 25 do begin s : = s + k ; k : = k + 2 ; end ; write(s?

Определите, что будет напечатано в результате работы следующего фрагмента программы : var k, s : integer ; begin s : = 3 ; k : = 1 ; while k < ; 25 do begin s : = s + k ; k : = k + 2 ; end ; write(s) ; end.

Mylife 25 февр. 2020 г., 16:44:30 | 10 - 11 классы

Определите, что будет напечатано в результате работы следующего фрагмента программы : var k, s : integer ; begin s : = 0 ; k : = 1 ; while k < ; 11 do begin s : = s + k ; k : = k + 1 ; end ; write(s?

Определите, что будет напечатано в результате работы следующего фрагмента программы : var k, s : integer ; begin s : = 0 ; k : = 1 ; while k < ; 11 do begin s : = s + k ; k : = k + 1 ; end ; write(s) ; end.

Йчуметнлщдшщгапм5689 22 авг. 2020 г., 00:02:41 | 5 - 9 классы

Найдите значение переменной А после выполнения программы VAR A : INTEGER BEGIN A : = SQRT(16) : END?

Найдите значение переменной А после выполнения программы VAR A : INTEGER BEGIN A : = SQRT(16) : END.

Fendoriys 24 апр. 2020 г., 11:49:56 | 5 - 9 классы

Составить программу для вычисления суммы квадратов чисел от 1 до 15?

Составить программу для вычисления суммы квадратов чисел от 1 до 15.

Функция возведения в квадрат sqr() ; Var , , : ; Begin : = 0 ; For : = to do Begin ; ; End ; Writeln(' = ', ) ; End.

Там, где пробелы, вставить что нужно.

Tatiana92 9 мар. 2020 г., 05:22:08 | 5 - 9 классы

Определить значение переменной s после выполнения следующих фрагментов программы : Var s ; real ; i : integer ; ?

Определить значение переменной s после выполнения следующих фрагментов программы : Var s ; real ; i : integer ; .

. . s : = 0 ; for i : = 1 to 9 do begin s : = s * 10 ; s : = s + I ; end ;

Liza200514 2 февр. 2020 г., 06:53:11 | 10 - 11 классы

Определите, что будет напечатано в результате работы следующего фрагмента программы : var k, s : integer ; begin s : = 0 ; k : = 0 ; while s < ; 80 do begin s : = s + 2 * k ; k : = k + 4 ; end ; wri?

Определите, что будет напечатано в результате работы следующего фрагмента программы : var k, s : integer ; begin s : = 0 ; k : = 0 ; while s < ; 80 do begin s : = s + 2 * k ; k : = k + 4 ; end ; write(s) ; end.

Kurnadva 1 дек. 2020 г., 03:55:33 | 10 - 11 классы

Определите, что будет напечатано в результате работы следующего фрагмента программы : var k, s : integer ; begin s : = 2 ; k : = 2 ; while k < ; 50 do begin s : = s + k ; k : = k + 1 ; end ; write(s?

Определите, что будет напечатано в результате работы следующего фрагмента программы : var k, s : integer ; begin s : = 2 ; k : = 2 ; while k < ; 50 do begin s : = s + k ; k : = k + 1 ; end ; write(s) ; end.

AnettaG21 29 мая 2020 г., 04:53:33 | 5 - 9 классы

Определите, что будет напечатано в результате работы следующего фрагмента программы : Var k, s : integer ; begin s : = 0 ; k : = 0 ; while k< ; 30 do begin k : = k + 3 ; s : = s + k ; end ; write(s)?

Определите, что будет напечатано в результате работы следующего фрагмента программы : Var k, s : integer ; begin s : = 0 ; k : = 0 ; while k< ; 30 do begin k : = k + 3 ; s : = s + k ; end ; write(s) ; end.

Yyyyfffff 2 дек. 2020 г., 14:03:36 | 1 - 4 классы

Определите, что будет выполнятся в результате работы следующего фрагмента программы?

Определите, что будет выполнятся в результате работы следующего фрагмента программы.

Заполните итерационную таблицу.

Var k, s : integer ; Begin S : = 0 ; K : = 0 ; While s < 100 do begin S : = s + k ; K : = k + 4 ; End ; Write(k) ; End.

На этой странице сайта вы найдете ответы на вопрос 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 ?, относящийся к категории Информатика. Сложность вопроса соответствует базовым знаниям учеников 5 - 9 классов. Для получения дополнительной информации найдите другие вопросы, относящимися к данной тематике, с помощью поисковой системы. Или сформулируйте новый вопрос: нажмите кнопку вверху страницы, и задайте нужный запрос с помощью ключевых слов, отвечающих вашим критериям. Общайтесь с посетителями страницы, обсуждайте тему. Возможно, их ответы помогут найти нужную информацию.