<em>1a)</em>
(-3-7)/(-1)+1 = <u>11 раз</u> выполнится цикл. Стандартная формула вычисления числа шагов.
<em>1b)
</em>Тут k меняется от 0 с шагом 4 до 14 (15 уже нельзя). По той же формуле:
(14-0)/4+1 = 3+1 = <u>4 раза</u> (деление мы выполняем нацело).
<em>1c)</em>
k присваивается значение 10, затем оно уменьшается на 1 (теперь k=9) и проверяется условие завершения цикла k>2.
Условие завершения истинно, поэтому цикл будет выполнен <u>1 раз</u>.
<em>2a)</em>
До входа в цикл s=0, а при каждом проходе по циклу s увеличивается на 1, если выполняется некое условие, т.е. s - это счетчик, значение которого выводится после окончания цикла.
Условие k mod 7 = 0 сообщает нам, что именно подсчитывается: сколько раз k будет делится на 7 без остатка. Значение k изменяется от 1 до 27 и легко найти на этом интервале все числа, кратные 7, если вспомнить таблицу умножения: 7, 14, 21.
Следовательно, будет выведено число <u>3</u>.
<em>2b)</em>
Здесь так же s=0 перед входом в цикл, но в теле цикла s увеличивается уже не на 1, а на k, т.е. это накопление суммы некоторых k. Первоначально k=1, а затем оно с шагом 4 растет, пока остается меньше 18, т.е k = 1, 5, 9, 13, 17. Сумма этих чисел и будет накоплена в s, так что s = 1+5+9+13+17 = <u>45</u>
<em>2с)</em>
Здесь выводится значение p. Перед входом в цикл ему присваивается уже не 0, а 1, так что тут "запахло" произведением, а не суммой. И действительно, в теле цикла p домножается на k, т.е. это произведение неких k. Посмотрим, каких именно.
Первоначально k=0. Входим в цикл, он типа repeat, поэтому входим, не думая. Первое же умножение p на 0 даст 0 и дальше уже нечего
думать: сколько не умножай, ноль нулем и останется. Так и будет выведено число <u>0</u>.
1. Поиск подстроки в строке, возвращает порядковый номер первого символа подстроки в строке
2. Определение длины строки
3. Выбор части строки по заданным порядковым номерам символов
<span>4. Конкатенация (объединение) строк </span>
А:=A*N - универсальная запись для любого языка программирования
<em>1) посчитать сумму всех нечетных чисел от 230 до 430</em>
// PascalABC.NET 3.0, сборка 1088
var
i,s:integer;
begin
i:=231; s:=0;
repeat
s:=s+i; i:=i+2
until i>400;
Writeln('Сумма нечетных чисел на интервале [230;400]: ',s)
end.
<em><u>Результат выполнения программы:</u></em>
Сумма нечетных чисел на интервале [230;400]: 26775
<em>2) вычислить квадратные корни из чисел : 900, 893, 886,... до тех пор пока это можно делать</em>
// PascalABC.NET 3.0, сборка 1088
var
i:integer;
begin
i:=900;
repeat
Write('(',i:3,',',sqrt(i):9:5,') ');
i:=i-7
until i<0;
Writeln;
end.
<u><em>Результат выполнения программы:</em></u>
(900, 30.00000) (893, 29.88311) (886, 29.76575) (879, 29.64793)
(872, 29.52965) (865, 29.41088) (858, 29.29164) (851, 29.17190)
(844, 29.05168) (837, 28.93095) (830, 28.80972) (823, 28.68798)
... часть строк пропущена
(130, 11.40175) (123, 11.09054) (116, 10.77033) (109, 10.44031)
(102, 10.09950) ( 95, 9.74679) ( 88, 9.38083) ( 81, 9.00000)
( 74, 8.60233) ( 67, 8.18535) ( 60, 7.74597) ( 53, 7.28011)
( 46, 6.78233) ( 39, 6.24500) ( 32, 5.65685) ( 25, 5.00000)
( 18, 4.24264) ( 11, 3.31662) ( 4, 2.00000)
<span><em>3) найти сумму чисел шестизначного числа</em>
</span>// PascalABC.NET 3.0, сборка 1088
var
n:longint;
s:integer;
begin
Write('n='); Read(n);
repeat
s:=s + (n mod 10);
n:=n div 10
until n=0;
Writeln('Сумма цифр числа равна ',s)
end.
<u><em>Тестовое решение:</em></u>
n=472305
Сумма цифр числа равна 21