Структурированная запись алгоритма 12
1. Повторять следующие действия:
1.1 Вывести сообщение “ Введите значение х >0“.
1.2 Ввести число х.
Закончить повторять, когда х станет больше 0.
2. Обнулить сумму s =0 и задать начальное значение у =.1.
3. Пока у <= 2.15 повторять:
3.1 
3.2 у = у +.2
4. Вывести значение суммы s.
Схема алгоритма

Текст программы на языке Си
#include <stdio.h>
int main (void)
{
double x, s, y;
do
{
printf ("Введите x>0");
scanf("%lf", &x);
}
while (x<=0);
s=0;
for (y=.1; y<=2.15; y+=.2)
s+=(x+y)/(x+y+.1);
printf ("summa=%6.3lf\n",s);
return 0;
}
Текст программы на языке Паскаль
Program Main_12;
{ x-исходное данное;
s-результат;
y-вспомогательная переменная. }
Var
x, s, y: real;
begin
repeat
writeln (’ Введите х>0’);
readln(x);
until x>0;
s:=0;
y:=.1;
while y<=2.15 do
begin
s:=s+(x+y)/(x+y+.1);
y:=y+.2;
end;
writeln (’ Значение суммы = ’, s:6:3);
end.
Текст программы на языке Фортран
Program main_12
implicit none
real x, s, y
do
print *,’ Введите x’
read *, x
if (x>0) exit
enddo
s=0
y=.1
do while (y<=2.15)
s=s+(x+y)/(x+y+.1)
y=y+.2
enddo
print *,’ Сумма =’, s
end
Текст программы на языке Python
# Оператора цикла с постусловием в Python нет,
# используем цикл с предусловием с исходным
# значением, гарантирующим выполнение тела
# цикла не менее одного раза
x = -1
while(x <= 0):
x = float(input("Введите значение x>0"))
s = 0; y = 0.1
while(y <= 2.15):
s += (x + y)/(x + y + 0.1)
y += 0.2
print(" Сумма s = ", s)
Текст программы в системе Матлаб
x=input('Введите число x>0 ');
while x<=0
disp('Неверный ввод.Повторите.')
x=input('Введите число x>0 снова ');
end
s=0;
y=.1;
while y<=2.15
s=s+(x+y)/(x+y+.1);
y=y+.2;
end
disp(sprintf('Значение суммы = %6.3f', s))
Задача 13. Нахождение суммы
Условие задачи. Дано вещественное число x и натуральное n. Вычислить значение суммы .
Исходными данными в данной задаче являются вещественное число x и натуральное n. Результат – сумма s (вещественное число). Алгоритм вычисления суммы известного количества слагаемых уже разбирался в задачах 10 – 12. В данном примере, как и в предыдущих, сначала требуется обнулить переменную s, а затем в цикле n раз к ней прибавлять по одному слагаемые вида , где i изменяется от 1 до n. Но слагаемые такого вида, представляющие последовательность целых степеней числа x, разумно вычислять перед прибавлением к переменной s, домножая предыдущее слагаемое на x: . Это позволит избежать трудоёмкой последовательности действий для возведения x в степень i, используя для вычисления только операцию умножения на x. Для применения такого приёма потребуется использовать для нахождения очередного слагаемого дополнительную переменную stx (x в степени i), значение которой должно вычисляться в цикле перед прибавлением к сумме stx = stx * x. А чтобы правильно вычислилось первое слагаемое, до начала цикла ей должно быть присвоено начальное значение 1.
Заметим, что переменная i в вычислениях не используется, она нужна только для организации цикла: чтобы слагаемые вычислялись и прибавлялись к сумме n раз.
|