Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Сумма квадратов первых 100 натуральных чисел

Автор: -Len- 4.03.2005 15:04

Сегодня нам задали прогу, где TP должен найти сумму квадратов первых ста натуральных чисел. Еще, информатиня сказала, что в каком-то обратном порядке. Но я так и не поняла, что это значит.
Помогите мне, пожалуйста, составить эту программку.

Автор: volvo 4.03.2005 15:28

-Len-
blink.gif Ну, если в "обратном порядке" - значит, наверное, вот так:

Код
Var i: integer; s: LongInt;
Begin
 s := 0;
 For i := 100 DownTo 1 Do
   { увеличиваем сумму }

 { Выводим сумму }
End.

Автор: Guest 4.03.2005 16:02

А без LongInt нельзя? Мы это не проходили.
Я только что напечатала, что могла, вот такой вариант подойдет:

Код
Program sdsdl;
uses crt;
var i: integer;
sum, x: real;
begin
clrscr;
writeln('Нахождение суммы квадратов первых ста натуральных чисел');
for i := 1 to 100 do
  begin
    write(i, ' = ');
    sum := sum + i
  end;
clrscr;
writeln('Сумма квадратов первых ста натуральных чисел = ',sum:2:1);
readln;
end.

Автор: -Len- 4.03.2005 16:11

Volvo, я сейчас запустила твой вариант. Ничего не выводится, а где сумма квадратов там?

А я не давал полное решение, я дал алгоритм. Там где стоят комментарии - должен быть соответствующий код...

Автор: volvo 4.03.2005 16:16

Цитата(-Len- @ 4.03.05 10:04)
найти сумму квадратов первых ста натуральных чисел...


Цитата(Guest @ 4.03.05 11:02)
А без LongInt нельзя? Мы это не проходили.


Довольно странное решение - задание на натуральные (то есть целые) числа, но сумма их - вещественная... wacko.gif Допустим. А что в программе делает строчка:
Код
write(i, ' = ');

?

Автор: -Len- 4.03.2005 16:25

Строчку уберу, но я не могу понять, какой вариант правильный: информатине нужна сумма квадратов, да еще и обратный порядок...
Нужна ли в программе функция SQRT?

Автор: volvo 4.03.2005 16:43

Цитата
я не могу понять, какой вариант правильный

Значит, так:
Код
for i := 1 to 100 do
 begin
   write(i, ' = ');
   sum := sum + i
 end;

Меняем на
Код
for i := 100 downto 1 do
 sum := sum + sqr(i);


Цитата
Нужна ли в программе функция SQRT?

Только не SQRT (это вычисление квадратного корня), а SQR (вот это как раз вычисление квадрата числа)

Автор: -Len- 4.03.2005 17:18

Спасибо огромное! Я надеюсь, что этот вариант ей понравится smile.gif

Автор: Len 10.03.2005 22:25

У меня так и не получилась программа, которая находит сумму квадратов первых ста натуральных чисел. Просто должна сразу в одной строчке выводится сумма КВАДРАТОВ всех этих чисел. У меня не получается ее написать.
Помогите, пожалуйста.

Автор: volvo 10.03.2005 22:39

Объединяя все вышесказанное:

Код
Program sdsdl;
uses crt;
var i: integer; sum: real;
begin
 clrscr; sum := 0;
 writeln('Нахождение суммы квадратов первых ста натуральных чисел');
 for i := 100 downto 1 do
   sum := sum + sqr(i);
 writeln('Сумма квадратов первых ста натуральных чисел = ',sum:2:1);
 readln;
end.

Автор: Len 16.03.2005 15:57

Это снова я и с этой же программой. Ситуация уже критическая. Завтра нам выставят двойки
за несданные программы. А у меня их две.
Теперь-то я наконец поняла условия этой задачи.
Условие такое, что нужно найти сумму чисел обратных квадратам первых ста натуральных чисел. То есть, #2 в квадрате=4, а обратное число 1/4.
И так далее до ста. Но на экран должна выводится сумма этих обратных чисел, какое-то одно число.

Автор: virt 16.03.2005 16:23

Код
rogram sdsdl;
uses crt;
var i: integer; sum: real;
begin
clrscr; sum := 0;
writeln('Нахождение суммы [!!!!!!!!!!!]чисел обратных квадратам[!!!!!!!!!!!] первых ста натуральных чисел');
for i := 100 downto 1 do
  sum := sum + 1/sqr(i);
writeln('Сумма [!!!!!!!!!!!!!!!]чисел обратных квадратам [!!!!!!!!!!]первых ста натуральных чисел = ',sum:2:1);
readln;
end.


берем прогу volvo и пишем в\место sqr(i) :: 1/sqr(i)

Автор: Len 16.03.2005 19:18

Не сумма квадратов, а сумма чисел обратных квадратам первых ста натуральных чисел.

Len, ну так в чем проблема? Что, самостоятельно уже даже текст поменять не можете? angry.gif