1) посчитать сумму всех нечетных чисел от 230 до 430 // 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.
Результат выполнения программы: Сумма нечетных чисел на интервале [230;400]: 26775
2) вычислить квадратные корни из чисел : 900, 893, 886,... до тех пор пока это можно делать // 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.
3) найти сумму чисел шестизначного числа // 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.
Тестовое решение: n=472305 Сумма цифр числа равна 21
Двоеточие - это часть команды (оператора), который называется оператор присваивания. В данном контексте всегда используется два символа ":=". Команда присваивания y:=y-x означает, что берутся текущие значения переменных x и y, находится их разность, после чего результат записывается (говорят - "присваивается") переменной y. Например, если значение y было задано y:=20; а x:=1; то новое значение переменной y будет равно 20-1=19. В команде x:=x*2 все аналогично. Берется текущее (установленное ранее) значение переменной x, умножается на 2, а результат этого умножения становится новым значением переменой x. Старое значение при этом безвозвратно теряется.
// 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.
Результат выполнения программы:
Сумма нечетных чисел на интервале [230;400]: 26775
2) вычислить квадратные корни из чисел : 900, 893, 886,... до тех пор пока это можно делать
// 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.
Результат выполнения программы:
(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)
3) найти сумму чисел шестизначного числа
// 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.
Тестовое решение:
n=472305
Сумма цифр числа равна 21
В команде x:=x*2 все аналогично. Берется текущее (установленное ранее) значение переменной x, умножается на 2, а результат этого умножения становится новым значением переменой x. Старое значение при этом безвозвратно теряется.