Какое число будет выведено в результате работы следующей программы var k s integer begin k 1
Задания Д8 № 4627 
Определите, что будет напечатано в результате работы следующей программы. Текст программы приведен на трех языках программирования.
DIM k, s AS INTEGER
FOR k = 12 TO 15
for k := 12 to 15 do
Это задание ещё не решено, приводим решение прототипа.
Определите, что будет напечатано в результате работы следующей программы. Текст программы приведен на пяти языках программирования.
Какое число будет выведено в результате работы следующей программы var k s integer begin k 1
№1. Определите, что будет напечатано в результате работы следующего фрагмента программы:
var k, s: integer;
while s < 66 do begin
Цикл while выполняется до тех пор, пока истинно условие s < 66, т. е. переменная s определяет, сколько раз выполнится цикл.
Значение s есть сумма первых n членов арифметической прогрессии. b =2 a 1+( n -1) d \2* n , — сумма первых n членов прогрессии, — разность прогрессии, — количество членов.
Цикл прервется, когда . s = 2 s 1+( n -1) d /2* n <66
Най дем :s=(2s1+(n-1)d)n<132 ,s1=1 ,d=3 ( т . к . k:=k+3). Чтобы решить это неравенство, нам необходимо решить квадратное уравнение 3 n ^2- n -132=0, среди его корней нас интересуют только положительные, следовательно, n =6,8
Воспользовавшись методом интервалов, находим, что первое натуральное n, при котором нарушается условие, есть n =7 .
Подставив известные параметры в Kn = k 1+( n -1) d получаем, что k 1=19
№2. Определите, что будет напечатано в результате работы следующего фрагмента программы:
var k, s: integer;
while k < 30 do begin
Цикл while выполняется до тех пор, пока истинно условие k < 30, т. е. переменная k определяет, сколько раз выполнится цикл.
Так как последовательность k представляет собой арифметическую прогрессию, найдем n из неравенства:
Kn=k1+9n-1)d<30,k1=0,d=3( т . к . k:=k+3). Воспользовавшись методом интервалов, находим первое натуральное n, при котором нарушается условие: n =11
Значение s есть сумма первых n членов арифметической прогрессии. b =2 a 1+( n -1) d \2* n — сумма первых n членов прогрессии, — разность прогрессии, — количество членов.
№3. Определите, что будет напечатано в результате работы следующего фрагмента программы:
var k, s: integer;
while k < 13 do begin
Цикл while выполняется до тех пор, пока истинно условие k < 13, т. е. переменная k определяет, сколько раз выполнится цикл.
Так как числа небольшие, можно аккуратно выписать все s и k:
(Помните, что условие k < 13 проверяется сразу после k:=k+4, следовательно, действие s:=s+2*k для k=16 выполняться не будет)
Следовательно, ответ 49+16=65
№4. Определите, что будет напечатано в результате работы следующего фрагмента программы:
var k, s: integer;
while k < 11 do begin
Цикл while выполняется до тех пор, пока истинно условие k < 11, т. е. переменная k определяет, сколько раз выполнится цикл.
Запишем последовательно значения s и k:
k 1 2 3 4 5 6 7 8 9 10
s 0 3 6 10 15 21 28 36 45 55
Цикл выполнится десять раз: так как действие k := k+1 стоит в конце цикла для k=11 действие s:= s + k не будет выполняться.
№5. Определите, что будет напечатано в результате работы следующего фрагмента программы:
var k, s: integer;
while k < 15 do begin
Цикл while выполняется до тех пор, пока истинно условие k < 15, т. е. переменная k определяет, сколько раз выполнится цикл.
Цикл будет выполняться, пока k не станет больше либо равным 15. Учитывая, что k принимает только чётные значения, последним действием будет , а цикл выполнится 8 раз. К 5 в результате последовательно прибавляются все четные числа до 16 включительно. Заметим, что это — арифметическая прогрессия с разностью прогрессии, равной 2. Пользуясь формулой для суммы n первых членов арифметической прогрессии, получим:
№6. Определите, что будет напечатано в результате работы следующего фрагмента программы:
var n, s: integer;
while n <= 8 do begin
Поскольку изначально n = 4, цикл while n <= 8 выполнится пять раз. Следовательно, s = 4 + 5 + 6 + 7 + 8 = 30.
№7. Определите, что будет напечатано в результате работы следующего фрагмента программы:
var k, s: integer;
while s < 100 do begin
Цикл while выполняется до тех пор, пока истинно условие s < 100, т. е. переменная s определяет, сколько раз выполнится цикл.
Значение s есть сумма первых n членов арифметической прогрессии. d =2 a 1+( n -1) d \2* n , — сумма первых n членов прогрессии, — разность прогрессии, — количество членов.
Цикл прервется, когда s =2 s 1( m -1) d \2* n <100 .
Най дем :s=(2s1+(n-1)d)n<200 ,s1=0 ,d=4 ( т . к . k:=k+4). Чтобы решить это неравенство, нам необходимо решить квадратное уравнение: n ^2- n -50=0 . Среди его корней нас интересуют только положительные, следовательно, n=7,5
Воспользовавшись методом интервалов, находим, что первое натуральное n, при котором нарушается условие, есть n =8 .
Учитывая порядок операций в цикле, выясняем, что, до того как прерваться, цикл выполнится еще раз, следовательно, n =9 .
Подставив известные параметры в Kn = k 1+( n -1) d , получаем, что k 9=32
№8. Определите, что будет напечатано в результате работы следующего фрагмента программы:
var k, s: integer;
while s < 50 do begin
Цикл while выполняется до тех пор, пока истинно условие s < 50, т. е. переменная s определяет, сколько раз выполнится цикл.
Значение s есть сумма первых n членов арифметической прогрессии. d=2a1+(n-1)d\2*n , — сумма первых n членов прогрессии, — разность прогрессии, — количество членов.
Цикл прервется, когда s =2 s 1+( n -1) d \2* n <50 .
Вы яс ним : s=(2s1+(n-1)d)n<100, s1=2, d=2 ( т . к . k:=k+2). Чтобы решить это неравенство, нам необходимо решить квадратное уравнение: n^2-n-50=0 . Среди его корней нас интересуют только положительные, следовательно n =6,5
Воспользовавшись методом интервалов, находим, что первое натуральное n, при котором нарушается условие, есть n =7.
Так как операция k:=k+2; идет после s:=s+k; то цикл выполнится еще раз, следовательно, n =8.
Kn=k1+(n-1)d Подставив известные параметры, получаем, что k 8=16
№9. Определите, что будет напечатано в результате работы следующего фрагмента программы:
var k, s: integer;
while k < 25 do begin
Цикл while выполняется до тех пор, пока истинно условие k < 25, т.к. по усл. while k < 25 do begin и k:=k+2. То есть цикл будет выполнен 13 раз.
Аккуратно выпишем все s и k:
s 3 4 7 12 19 28 39 52 67 84 103 124 147
k 1 3 5 7 9 11 13 15 17 19 21 23 25
№10. Определите, что будет напечатано в результате выполнения программы (записанной ниже на разных языках программирования):
Какое число будет выведено в результате работы следующей программы var k s integer begin k 1
Опубликовано 22.08.2017 по предмету Информатика от Гость >>
Ответ оставил Гость
Блок-схемы — в прилагаемом файле.
1.
переменные s и n в цикле будут меняться так:
30 3
60 9
90 27
120 81
150 243 (n > 100)
Т.е. на экран будет выведено 150
2.
Здесь переменные s и k в цикле будут меняться так:
1 2
3 3
6 4
10 5
15 6
21 7
28 8
36 9
45 10
55 11 (k >=11)
На экран будет выведено значение 55