Дан рекурсивный алгоритм: procedure f(n: integer); begin writeln(n); if n > 1 then begin writeln(n); f(n-2); f(n-5) end end; найдите сумму чисел, которые будут выведены при вызове f(9).
Решение задачи в прикрепленном текстовом файле. Описание алгоритма: Полученные строки хранятся в массиве s. Элементы массива сортируются так называемой "пузырьковой" сортировкой. Для сравнения двух строк используется функция less, возвращающая истину если первая из двух переданных в функцию строк лексикографически меньше. А дальше дело за малым: просто выводим элементы отсортированного массива без первых трех символов (номера строк). Единственная проблема, которая может возникнуть: на некоторых компьютерах программа не работает с русским языком. Но это уже технические проблемы. Само же решение верно. Удачи!
9) Запишите значение переменной s, полученное в результате работы следующей программы на языке программирования Паскаль. Var s, i:integer; Begin S := 3; For i := 2 to 5 do S := S + 2*i; Writeln(S); end.
10) В таблице Sea хранятся данные о количестве россиян, отдыхавших на Черном море (Sea[1] - число россиян в 2001 году, Sea[2] - в 2002 и т.д.). Определите, какое число будет напечатано в результате работы следующей программы, написанной на языке программирования Паскаль. Var k, s: integer; Sea: array [1..12] of integer; begin Sea[] := 170; Sea[2] := 170; Sea[3] := 190; Sea[4] := 210; Sea[5] := 230; Sea[6] := 220; Sea[7] := 240; Sea[8] := 160; Sea[9] := 190; Sea[10] := 210; Sea[11] := 170; Sea[12] := 170; s := 100; For k := 1 to 12 do if Sea[k] > 220 then begin s := s + Sea[k]; end; Writeln(s); end.
5) Дан фрагмент электронной таблицы, в первой строке которой записаны числа, а во второй – формулы. СМ во вложение.
Описание алгоритма:
Полученные строки хранятся в массиве s.
Элементы массива сортируются так называемой "пузырьковой" сортировкой. Для сравнения двух строк используется функция less, возвращающая истину если первая из двух переданных в функцию строк лексикографически меньше.
А дальше дело за малым: просто выводим элементы отсортированного массива без первых трех символов (номера строк).
Единственная проблема, которая может возникнуть: на некоторых компьютерах программа не работает с русским языком. Но это уже технические проблемы. Само же решение верно.
Удачи!
Var s, i:integer;
Begin
S := 3;
For i := 2 to 5 do
S := S + 2*i;
Writeln(S);
end.
10) В таблице Sea хранятся данные о количестве россиян, отдыхавших на Черном море (Sea[1] - число россиян в 2001 году, Sea[2] - в 2002 и т.д.). Определите, какое число будет напечатано в результате работы следующей программы, написанной на языке программирования Паскаль.
Var k, s: integer;
Sea: array [1..12] of integer;
begin
Sea[] := 170; Sea[2] := 170;
Sea[3] := 190; Sea[4] := 210;
Sea[5] := 230; Sea[6] := 220;
Sea[7] := 240; Sea[8] := 160;
Sea[9] := 190; Sea[10] := 210;
Sea[11] := 170; Sea[12] := 170;
s := 100;
For k := 1 to 12 do
if Sea[k] > 220 then
begin
s := s + Sea[k];
end;
Writeln(s);
end.
5) Дан фрагмент электронной таблицы, в первой строке которой записаны числа, а
во второй – формулы.
СМ во вложение.