Решение задач типа А9 ОГЭ по информатике Тема - "Простейший циклический алгоритм, записанный на алгоритмическом языке" Задача. Запишите значение переменной s, полученное в результате работы следующей программы. Текст программы приведён на трёх языках программирования. Алгоритмический язык алг нач цел s, k s := 0 нц для k от 4 до 8 s := s + 7 кц вывод s кон Бейсик DIM k, s AS INTEGER s=0 FOR к = 4 TO 8 s=s+7 NEXT k PRINT s Паскаль Var s,k: integer; Begin s := 0; for k := 4 to 8 do s := s + 7; writeln(s); End. Пояснение. Цикл «for k := 4 to 8 do» выполняется пять раз. Каждый раз переменная s увеличивается на 7. Поскольку изначально s = 0, после выполнения программы получим: s = 7 · 5 = 35. Задача. Запишите значение переменной s, полученное в результате работы следующей программы. Текст программы приведён на трёх языках программирования. Алгоритмический язык алг нач цел d,n d := 6 d := d-2 нц для п от 1 до 4 d:=d+n кц вывод d кон Бейсик DIM n,d AS INTEGER d=6 d = d-2 FOR n = 1 TO 4 d=d+n NEXT n PRINT d Паскаль Var d,n: integer; Begin d := 6; d := d-2; For n := 1 to 4 do d:=d+n; Writeln(d); End . Пояснение. Цикл «for n := 1 to 4 do» выполняется четыре раза. Каждый раз переменная d увеличивается на n. Поскольку изначально s = 6 − 2 = 4, после выполнения программы получим: d = 4 + 1 + 2 + 3 + 4 = 14. Ответ: 14. Задача. Запишите значение переменной s, полученное в результате работы следующей программы. Текст программы приведён на трёх языках программирования. Алгоритмический язык алг нач цел s, k s := 8 нц для k от 3 до 8 s := s + 8 кц вывод s кон Бейсик Паскаль DIM k, s AS INTEGER s=8 FOR k = 3 TO 8 s=s+8 NEXT k PRINT s Var s,k: integer; Begin s := 8; for k := 3 to 8 do s := s + 8; writeln(s); End. Ответ: ___________________________. Пояснение. Итак, рассмотрим этот алгоритм, записанный на разных языках. Вначале объявляется, что будут использованы переменные k и s целочисленного типа Алгоритмический язык Бейсик Паскаль цел s, k DIM k, s AS INTEGER Var s,k: integer; Далее переменной s присваивается значение 8. Алгоритмический язык Бейсик Паскаль s := 8 s=8 s := 8 После этого описывается цикл, где в качестве параметра выступает переменная k, которая изменяется от 3 до 8 с шагом 1 (т. е. будет принимать последовательно значения 3, 4, 5, 6, 7 и 8). Алгоритмический язык Бейсик Паскаль нц для k от 3 до 8 s := s + 8 кц FOR k = 3 TO 8 s=s+8 NEXT k for k := 3 to 8 do s := s + 8; Как видим, в теле цикла только одна команда s := s + 8. Т. е. эта операция будет выполняться на каждой итерации (на каждом шаге) цикла. И в самом конце на экран выводится значение переменной s Алгоритмический язык Бейсик Паскаль вывод s PRINT s writeln(s); В теле цикла происходит увеличение значения переменной s на 8. Так как параметр цикла увеличивается от 3 до 8 с шагом 1, то при выполнении программы тело цикла будет выполняться 6 раз ( k будет равно 3, 4, 5, 6, 7, 8). Т. е. переменная s увеличитая на 8 * 6 = 48. А так как начальное значение переменной s = 8 и после выполнения программы оно увеличится на 48, то в конечном итоге значение переменной s станет равным 56. Ответ: 56 Задача. Запишите значение переменной s, полученное в результате работы следующей программы. Текст программы приведён на трёх языках программирования. Алгоритмический язык алг нач цел s, k s := 0 нц для k от 2 до 10 s := 2*s + 1 кц вывод s кон Бейсик Паскаль DIM k, s AS INTEGER s=0 FOR k = 2 TO 10 s = 2*s + 1 NEXT k PRINT s Var s,k: integer; Begin s := 0; for k := 2 to 10 do s := 2*s + 1; writeln(s); End. Пояснение. В переменную s вначале положен ноль. k - это счётчик в цикле. Составим табличку k 1 2 3 4 5 6 7 8 9 10 s 0 1 3 7 15 31 63 127 255 511 Ответ: 511