Определите что будет напечатано
Перейти к содержимому

Определите что будет напечатано

  • автор:

 

срочно помогите пожалуйста дам 35 баллов.
1) Определите, что будет напечатано в результате работы следующего фрагмента программы:
var k, s: integer;
begin
s:=0;
k:=1;
while k < 11 do begin
s:=s+k;
k:=k+1;
end;
write(s);
end.
2) Определите, что будет напечатано в результате работы следующего фрагмента программы:
var k, s: integer;
begin
s:=0;
k:=0;
while k < 30 do begin
k:=k+3;
s:=s+k;
end;
write(s);
end.
3) Определите, что будет напечатано в результате работы следующего фрагмента программы:
var k, s: integer;
begin
s:=3;
k:=1;
while k < 25 do begin
s:=s+k;
k:=k+2;
end;
write(s);
end.
4) Определите, что будет напечатано в результате работы следующего фрагмента программы:
var k, s: integer;
begin
s:=2;
k:=2;
while s < 50 do begin
s:=s+k;
k:=k+2;
end;
write(k);
end.
5) Определите, что будет напечатано в результате работы следующего фрагмента программы:
var k, s: integer;
begin
s:=0;
k:=0;
while s < 100 do begin
s:=s+k;
k:=k+4;
end;
write(k);
end.
6) Определите, что будет напечатано в результате работы следующего фрагмента программы:
var k, s: integer;
begin
s:=0;
k:=1;
while s < 66 do begin
k:=k+3;
s:=s+k;
end;
write(k);
end.
7) Определите, что будет напечатано в результате работы следующего фрагмента программы:
var k, s: integer;
begin
s:=5;
k:=0;
while k < 15 do begin
k:=k+2;
s:=s+k;
end;
write(s);
end.
8) Определите, что будет напечатано в результате работы следующего фрагмента программы:
var k, s: integer;
begin
s:=0;
k:=0;
while k < 12 do begin
s:=s+2*k;
k:=k+3;
end;
write(s);
end.
9) Определите, что будет напечатано в результате работы следующего фрагмента программы:
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.
10) Определите, что будет напечатано в результате работы следующего фрагмента программы:
var k, s: integer;
begin
s:=1;
k:=0;
while k < 13 do begin
s:=s+2*k;
k:=k+4;
end;
write(s+k);
end.

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Определите что будет напечатано

№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. Опре­де­ли­те, что будет на­пе­ча­та­но в ре­зуль­та­те вы­пол­не­ния про­грам­мы (за­пи­сан­ной ниже на раз­ных язы­ках про­грам­ми­ро­ва­ния):

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

Рабочая тетрадь по Информатике 9 класс Босова
Задание 78. Определите, что будет выведено в результате выполнения следующей программы. а)


Ответ: 4.5 — среднее значение элементов массива а. б)


Ответ: 4 — количество элементов массива, значения которых больше 10. в) Результат такой, потому что цикл затрагивает только 6 элементов массива (for i:=1 to 6), то есть a[7]=2 он не учитывает в программе. Именно по этому значение m, которое учитывает положительные числа, нашло только два элемента.


Ответ: m = 2 — количество положительных чисел среди первых шести элементов массива; n = 3 — количество отрицательных чисел среди первых шести элементов массива; к = 1 — количество нулей среди первых шести элементов массива. г)


Ответ: d = 4 — номер элемента массива, имеющего наибольшее значение (первого наибольшего, если таких элементов несколько).

Определите что будет напечатано

s = 0

for k in range(-5,11):

s = s + 2 * k

print(s)

Прогоняются числа [-5;11)

s = -10 + 2 * -4 = -18

s = -18 + 2 * -3 = -24

s = -24 + 2 * -2 = -28

s = -28 + 2 * -1 = -30

s = -30 + 2 * 0 = -30

s = -30 + 2 * 1 = -28

s = -28 + 2 * 2 = -24

s = -24 + 2 * 3 = -18

s = -18 + 2 * 4 = -10

s = 12 + 2 * 7 = 26

s = 26 + 2 * 8 = 42

s = 42 + 2 * 9 = 60

s = 60 + 2 * 10 = 80

s = 1

for k in range(1,30):

s = (k – 5) * s

print(s)

s = (3 — 5) * 12 = -24

s = (4 — 5) * -24 = 24

x = 1

while x <= 10:

print(x)

x = x+2

Тут просто. Счетчик идет от одного, а цикл прерывается на 10. Тут никак не может быть четное число. А самое близкое нечетное к 10 — 9.

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *