Демонстрация сортировки. после каждой строки нажимайте "enter"
program z1;
uses crt;
var i,m,j: integer;
a: array[1..10] of integer;
begin
clrscr;
randomize;
for i: = 1 to 10 do
begin
textcolor (4);
a[i]: =random(9)+1;
write (' ', a[i]);
delay(100);
end;
writeln(' ');
readln;
for j: =1 to 10 do
begin
for i: = 1 to 9 do
begin
if a[i]> a[i+1] then
begin
m: =a[i];
a[i]: = a[i+1];
a[i+1]: =m;
end;
end;
for i: = 1 to 10 do
begin
textcolor (4);
write (' ', a[i]);
delay(100);
end;
writeln(' ');
readln;
end;
writeln(' ');
for i: = 1 to 10 do
begin
textcolor (4);
write (' ', a[i]);
delay(100);
end;
readkey;
end.
Рассмотрим три решения
Объяснение:
Попробуем тремя :
1) используя numpy, создадим список с метода arange, позволяющего делать range нецелочисленным. Далее просто суммируем получившийся список (для суммы можно импортировать fsum из библиотеки math, а можно воспользоваться и стандартной sum)
2) исходя из определения арифметической прогрессии:
нам известен первый член (0.5), разность (1), последний член (99.5), а также количество членов прогрессии. Просто посчитаем по формуле.
3) с цикла вычислим все то же самое. Будем постепенно прибавлять к сумме увеличивающийся на 1 первый элемент.
Как видим, все три работают одинаково верно.
var
i, x: integer; // объявляем переменные целочисленного типа.
y, sum : real; // объявляем переменные вещественного типа.
begin
y := 10; // пробег спортсмена в первый день.
while i < 6 do // в цикле определяем пробег спортсмена со 2-го по 7-й день.
begin
y := y + (y / 100 * 10); // пробег спортсмена за i-й день.
sum := sum + y; // считаем сумму километров.
i := i + 1; // счетчик дней недели.
end;
write ('В сумме за 7 дней спортсмен пробежал: ',round(sum + 10,2), ' км.'); //вывод на экран.
end.
Объяснение:
Вбей в Паскале с WHILE