Обозначим через х и k цену и количество товара, через р − заданную предельную сумму, через s − стоимость покупки. Начальное значение общей стоимости покупки s равно нулю. Значение предельной суммы считывается с клавиатуры. Необходимо повторять запрос цены и количества выбранного товара, вычислять его стоимость, суммировать ее с общей стоимостью и выводить результат на экран до тех пор, пока стоимость не превысит предельной суммы р.
Program Example_47;
Var x, k, p, s: Integer;
Begin
Writeln('Предельная сумма');
Readln(p);
s:=0;
Repeat
Writeln('Введите цену товара и его
количество');
Readln(x, k);
s:=s+x*k;
Writeln('Стоимость покупки равна ',s);
Until s>p;
Writeln('Суммарная стоимость покупки
превысила предельную сумму');
End.
Пример 2
Дано х, принадлежащее интервалу от -1 до 1. Составить программу вычисления частичной суммы ряда х-(х2/2)+(х3/3-… с заданной точностью е. Нужная точность считается полученной, если очередное слагаемое оказалось по модулю меньше, чем е (это и все последующие слагаемые учитывать не надо).
Program Example_48;
Var x, st, sl, у, e: Real;
n, z: Integer;
Begin
Write('Введите х, принадлежащее
(-1,1)');
Readln(х);
Write('Введите погрешность
вычисления ');
Readln(е);
у:=0; n:=1; z:=1; st:=x; sl:=x;
Repeat
Inc(y, z*sl); Inc (n); z:=-z;
st:=st*x; sl:=st/n;
Until sl<e;
Writeln(y);
Readln;
End.
§19. Алгоритм Евклида
Алгоритм Евклида - это алгоритм нахождения наибольшего общего делителя (НОД) двух целых неотрицательных чисел.
Пусть х и y - одновременно не равные нулю целые неотрицательные числа, и пусть x>y. Если y=0, то НОД(х, у)=х, а если y¹0, то для чисел х, y и r, где r − остаток от деления x на y, выполняется равенство НОД(х,y)=НОД(x,r).
Например, пусть х=48, а у=18.
НОД(48,18)=НОД(18,12)=НОД(12,6)=
НОД(6,0)=6.
Пример 1
Написать программу нахождения наибольшего общего делителя двух неотрицательных чисел.