Глава 17, задача Е.

Книга адресована школьникам средних и старших классов, желающим испытать себя в «олимпийских схватках». Может быть полезна студентам-первокурсникам и преподавателям информатики.

Модераторы: Oleg_D, Модераторы

Глава 17, задача Е.

Сообщение Ariman » 07.05.2014 17:23:21

Напишите программу, вычисляющую сумму чисел от 1 до N , где N – число, вводимое пользователем.
Код: Выделить всё
var N : integer;
     i, sum : integer;
begin
     Write('Введите N '); Readln(N);
     sum:=0;
     for i:=1 to N do sum:= sum + i;
     Write('С = ',sum); Readln;
end.

Почему с маленькими числами все ок, а на 100, например, уже неправильный ответ?
Ariman
незнакомец
 
Сообщения: 9
Зарегистрирован: 04.05.2014 09:07:40

Re: Глава 17, задача Е.

Сообщение Лекс Айрин » 07.05.2014 17:36:10

Скорее всего, выход за диапазон допустимых значений.
Пардон, я почему-то подумал, про факториал (((

ЗЫ: а почему вычисление идет не по формуле, а напрямую?
Последний раз редактировалось Лекс Айрин 07.05.2014 18:02:17, всего редактировалось 1 раз.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Глава 17, задача Е.

Сообщение Дож » 07.05.2014 17:56:22

У меня правильный ответ
Код: Выделить всё
[doj@korica ~/temp]$ cat sum.pp
var N : integer;
     i, sum : integer;
begin
     Write('Введите N '); Readln(N);
     sum:=0;
     for i:=1 to N do sum:= sum + i;
     Write('С = ',sum); Readln;
end.
[doj@korica ~/temp]$ fpc sum.pp && ./sum
Введите N 100
С = 5050
Аватара пользователя
Дож
энтузиаст
 
Сообщения: 899
Зарегистрирован: 12.10.2008 16:14:47

Re: Глава 17, задача Е.

Сообщение Ariman » 07.05.2014 21:02:48

Лекс Айрин писал(а):а почему вычисление идет не по формуле, а напрямую?

По какой такой формуле? Поясните, пожалуйста. Я новичек еще.
P.S. Кстати, это код из книги с ответами.

Добавлено спустя 5 минут 7 секунд:
Дож писал(а):У меня правильный ответ

Извините, нашел у себя ошибку. Теперь все правильно.
Ariman
незнакомец
 
Сообщения: 9
Зарегистрирован: 04.05.2014 09:07:40

Re: Глава 17, задача Е.

Сообщение Дож » 08.05.2014 09:22:55

По какой такой формуле? Поясните, пожалуйста. Я новичек еще.

Изображение
Аватара пользователя
Дож
энтузиаст
 
Сообщения: 899
Зарегистрирован: 12.10.2008 16:14:47

Re: Глава 17, задача Е.

Сообщение Лекс Айрин » 08.05.2014 10:27:55

Ariman писал(а):P.S. Кстати, это код из книги с ответами.


Решение в книге не обязательно единственно верное. В данном случае оно слишком ресурсоемкое. Вот я и спросил есть ли для этого причина.

Дож, именно эту формулу я и имел ввиду.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Глава 17, задача Е.

Сообщение Oleg_D » 08.05.2014 16:57:27

Лекс Айрин писал(а):
Ariman писал(а):P.S. Кстати, это код из книги с ответами.

Решение в книге не обязательно единственно верное. В данном случае оно слишком ресурсоемкое. Вот я и спросил есть ли для этого причина.
Дож, именно эту формулу я и имел ввиду.

Всё так, но цель задания -- поупражняться в применении циклов. А по формуле легко проверяется результат.
Oleg_D
постоялец
 
Сообщения: 391
Зарегистрирован: 09.05.2011 11:28:36


Вернуться в Книга "Песни о Паскале"

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

Рейтинг@Mail.ru