Задача - Сумма элементов ряда чисел - программирование на разных языках

Задача — Сумма элементов ряда чисел — программирование на разных языках

Задачи по программированию с решением для школьников
Want create site? Find Free WordPress Themes and plugins.

Задача — Сумма элементов ряда чисел
— программирование на Pascal, Си, Кумир, Basic-256, Python

Найти сумму n элементов следующего ряда чисел:
1 -0.5 0.25 -0.125 …
Количество элементов (n) вводится с клавиатуры.

В данном случае ряд чисел состоит из элементов, где каждый следующий меньше предыдущего в два раза по модулю и имеет обратный знак. Значит, чтобы получить следующий элемент, надо предыдущий разделить на -2.

Какой-либо переменной надо присвоить значение первого элемента ряда (в данном случае это 1). Далее в цикле добавлять ее значение к переменной, в которой накапливается сумма, после чего присваивать ей значение следующего элемента ряда, разделив текущее значение на -2. Цикл должен выполняться n раз.

Следует отметить, что чем больше n, тем меньше меняется сумма от прибавления каждого следующего элемента, т.к. на каждой итерации цикла значение элемента уменьшается в два раза (по модулю), т.е. прибавляется все меньшая и меньшая величина. Попробуйте выполнить программу, введя в качестве значения n сначала 3, затем 10 и 20. Вы увидите, что разница между первым и вторым случаем значительна, а между вторым и третьим — нет.

Pascal

var
n,i: byte;
e,s: real;
begin
readln(n);
e := 1;
s := 0;
for i:=1 to n do begin
s := s + e;
e := e / -2;
end;
writeln(s:9:7);
end. 6
0.6562500

Язык Си

#include <stdio.h>

main() {
unsigned short n,i;
float e, s;
scanf(«%d»,&n);
e = 1;
s = 0;
for (i=0;i<n;i++) {
s += e;
e /= -2;
}
printf(«%.7fn»,s);
} 10
0.6660156

Python

n = int(input())
e = 1
s = 0
for i in range(n):
s += e
e /= -2
print(s) 4
0.625

КуМир

алг сумма рядя
нач
цел n,i
вещ e,s
ввод n
e := 1
s := 0
нц для i от 1 до n
s := s + e
e := e / 2 * (-1)
кц
вывод s
кон 4
0.625

30
0.6666667

Basic-256

input n
start = 1
sum = 0
for i=1 to n
sum = sum + start
start = start / -2
next i
print sum 20
0.666666

Did you find apk for android? You can find new Free Android Games and apps.

Добавить комментарий