Ответ: 52

176. Запишите зна­че­ние пе­ре­мен­ной f, по­лу­чен­ное в ре­зуль­та­те ра­бо­ты сле­ду­ю­щей программы. Текст про­грам­мы приведён на трёх язы­ках программирования.

Алгоритмический язык

Бейсик

Паскаль

алг

нач

цел f, n

f := 4

f := f*3

нц для n от 1 до 4

f := f + n

кц

вывод f

кон

DIM n, f AS INTEGER

f = 4

f = f*3

FOR n = 1 TO 4

f = f + n

NEXT n

PRINT f

Var f, n: integer;

Begin

f := 4;

f := f*3;

For n := 1 to 4 do

f := f + n;

Writeln(f);

End.

Пояснение.

Цикл «for n := 1 to 4 do» вы­пол­ня­ет­ся че­ты­ре раза. Каж­дый раз пе­ре­мен­ная f уве­ли­чи­ва­ет­ся на n. По­сколь­ку из­на­чаль­но f = 4 · 3 = 12, после вы­пол­не­ния про­грам­мы по­лу­чим: f = 12 + 1 + 2 + 3 + 4 = 22.

Ответ: 22.

Ответ: 22

177. Запишите зна­че­ние пе­ре­мен­ной u, по­лу­чен­ное в ре­зуль­та­те ра­бо­ты сле­ду­ю­щей программы. Текст про­грам­мы приведён на трёх язы­ках программирования.

Алгоритмический язык

Бейсик

Паскаль

алг

нач

цел u, i

u := 30

нц для i от 1 до 6

u := u – i

кц

вывод u

кон

DIM i, u AS INTEGER

u = 30

FOR i = 1 TO 6

u = u – i

NEXT i

PRINT u

Var u, i: integer;

Begin

u := 30;

For i := 1 to 6 do

u := u – i;

Writeln(u);

End.

Пояснение.

НЕ нашли? Не то? Что вы ищете?

Цикл for i := 1 to 6 do вы­пол­нит­ся 6 раз. Каж­дый раз пе­ре­мен­ная u умень­ша­ет­ся на i. По­сколь­ку из­на­чаль­но зна­че­ние u равно 30, после вы­пол­не­ния про­грам­мы по­лу­чим u = 30 − 1 − 2 − 3 − 4 − 5 − 6 = 9.

Ответ: 9.

Ответ: 9

178. Запишите зна­че­ние пе­ре­мен­ной s, по­лу­чен­ное в ре­зуль­та­те ра­бо­ты сле­ду­ю­щей программы. Текст про­грам­мы приведён на трёх язы­ках программирования.

Алгоритмический язык

Бейсик

Паскаль

алг

нач

цел s, k

s := 0

нц для k от 6 до 12

s := s+10

кц

вывод s

кон

DIM k, s AS INTEGER

s = 0

FOR k = 6 TO 12

s = s+10

NEXT k

PRINT s

Var s, k: integer;

Begin

s := 0;

for k := 6 to 12 do

s := s+10;

writeln(s);

End.

Пояснение.

Цикл for k := 6 to 12 do вы­пол­нит­ся 7 раз. Каж­дый раз пе­ре­мен­ная s уве­ли­чи­ва­ет­ся на 10. По­сколь­ку из­на­чаль­но зна­че­ние s равно 0, после вы­пол­не­ния про­грам­мы по­лу­чим s = 70.

Ответ: 70.

Ответ: 70

179. Запишите зна­че­ние переменной k, по­лу­чен­ное в ре­зуль­та­те работы сле­ду­ю­щей программы. Текст про­грам­мы приведён на трёх язы­ках программирования.

Алгоритмический язык

Бейсик

Паскаль

алг

нач

цел k, i

k := 4

нц для i от 1 до 3

k := i + 2*k

кц

вывод k

кон

DIM i, k AS INTEGER

k = 4

FOR i = 1 TO 3

k = i + 2*k

NEXT i

PRINT k

Var k, i: integer;

Begin

k := 4;

For i := 1 to 3 do

k := i + 2*k;

Writeln(k);

End.

Пояснение.

Цикл «for i := 1 to 3 do» вы­пол­ня­ет­ся три раза. Каж­дый раз пе­ре­мен­ной k при­сва­и­ва­ет­ся значение i + 2*k. Найдём зна­че­ния k после каж­до­го шага, учитывая, что из­на­чаль­но k = 4: 9; 20; 43.

Ответ: 43

180. Запишите зна­че­ние переменной s, по­лу­чен­ное в ре­зуль­та­те работы сле­ду­ю­щей программы. Текст про­грам­мы приведён на трёх язы­ках программирования.

Алгоритмический язык

Бейсик

Паскаль

алг

нач

цел s, k

s := 0

нц для k от 7 до 12

s := s + 11

кц

вывод s

кон

DIM k, s AS INTEGER

s = 0

FOR к = 7 TO 12

s = s + 11

NEXT k

PRINT s

Var s, k: integer;

Begin

s := 0;

for k := 7 to 12 do

s := s + 11;

writeln(s);

End.

Пояснение.

Цикл «for k := 7 to 12 do» вы­пол­ня­ет­ся шесть раз. Каж­дый раз пе­ре­мен­ная s уве­ли­чи­ва­ет­ся на 11. По­сколь­ку изначально s = 0, после вы­пол­не­ния программы по­лу­чим: s = 6 · 11 = 66.

Ответ: 66

181. В таб­ли­це Dat хра­нят­ся дан­ные о ко­ли­че­стве поездов, от­прав­ля­ю­щих­ся с цен­траль­но­го вок­за­ла го­ро­да на юг в пер­вой де­ка­де июля (Dat[1] — ко­ли­че­ство по­ез­дов пер­во­го числа, Dat[2] — ко­ли­че­ство по­ез­дов вто­ро­го числа и т. д.). Определите, что будет на­пе­ча­та­но в ре­зуль­та­те вы­пол­не­ния сле­ду­ю­ще­го алгоритма, за­пи­сан­но­го на трёх ал­го­рит­ми­че­ских языках.

Алгоритмический язык

Бейсик

Паскаль

алг

нач

целтаб Dat[1:10]

цел k, m, day

Dat[1] := 6

Dat[2] := 2

Dat[3] := 5

Dat[4] := 3

Dat[5] := 4

Dat[6] := 4

Dat[7] := 3

Dat[8] := 5

Dat[9] := 2

Dat[10] := 6

day:=1; m := Dat[1]

нц для k от 2 до 10

если Dat[к] < m то

m:= Dat[k]

day := k

все

КЦ

вывод day

КОН

DIM Dat(10) AS INTEGER

Dat[1] = 6

Dat[2] = 2

Dat[3] = 5

Dat[4] = 3

Dat[5] = 4

Dat[6] = 4

Dat[7] = 3

Dat[8] = 5

Dat[9] = 2

Dat[10] = 6

day = 1: m = Dat(1)

FOR k = 2 TO 10

IF Dat(k) < m THEN

m = Dat(k)

day = k

END IF

NEXT k

PRINT day

END

Var k, m, day: integer;

Dat: array[1...10] of integer;

Begin

Dat[1] := 6;

Dat[2] := 2;

Dat[3] := 5;

Dat[4] := 3;

Dat[5] := 4;

Dat[6] := 4;

Dat[7] := 3;

Dat[8] := 5;

Dat[9] := 2;

Dat[10] := 6;

day:=1; m := Dat[1];

for k := 2 to 10 do

if Dat[k] < m then

begin

m:= Dat[k];

day := k;

end;

write(day);

End.

Пояснение.

Программа пред­на­зна­че­на для на­хож­де­ния пер­во­го дня, в ко­то­рый с вок­за­ла от­пра­ви­лось ми­ни­маль­ное ко­ли­че­ство поездов. Про­ана­ли­зи­ро­вав вход­ные данные, при­хо­дим к выводу, что ответ 2.

Ответ: 2

182. В таб­ли­це Dat хра­нят­ся дан­ные о ко­ли­че­стве дет­ских праздников, ко­то­рые про­во­ди­ло кафе за по­след­ний год (Dat[1] — ко­ли­че­ство дет­ских празд­ни­ков в январе, Dat[2] — ко­ли­че­ство празд­ни­ков в фев­ра­ле и т. д.). Определите, что будет на­пе­ча­та­но в ре­зуль­та­те вы­пол­не­ния сле­ду­ю­ще­го алгоритма, за­пи­сан­но­го на трёх ал­го­рит­ми­че­ских языках.

Алгоритмический язык

Бейсик

Паскаль

алг

нач

целтаб Dat[1:12]

цел к, m, month

Dat[1] := 2

Dat[2] := 8

Dat[3] := 6

Dat[4] := 3

Dat[5] := 8

Dat[6] := 2

Dat[7] := 3

Dat[8] := 7

Dat[9] := 4

Dat[10] := 4

Dat[11] := 8

Dat[12] := 7

month:=1; m := Dat[1]

нц для к от 2 до 6

если Dat[к] > m то

m:= Dat[k]

month := k

все

КЦ

вывод month

КОН

DIM Dat(12) AS INTEGER

Dat[1] = 2

Dat[2] = 8

Dat[3] = 6

Dat[4] = 3

Dat[5] = 8

Dat[6] = 2

Dat[7] = 3

Dat[8] = 7

Dat[9] = 4

Dat[10] = 4

Dat[11] = 8

Dat[12] = 7

month = 1: m = Dat(1)

FOR k = 2 TO 6

IF Dat(k) > m THEN

m = Dat(k)

month = k

END IF

NEXT k

PRINT month

END

Var k, m, month: integer;

Dat: array[1...12] of integer;

Begin

Dat[1] := 2

Dat[2] := 8

Dat[3] := 6

Dat[4] := 3

Dat[5] := 8

Dat[6] := 2

Dat[7] := 3

Dat[8] := 7

Dat[9] := 4

Dat[10] := 4

Dat[11] := 8

Dat[12] := 7

month:=1; m := Dat[1];

for k := 2 to 6 do

if Dat[k] > m then

begin

m:= Dat[k];

month := k;

end;

write(month);

End.

Пояснение.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67