Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2018, 12:01   #1
илья-т
Пользователь
 
Регистрация: 09.11.2018
Сообщений: 10
По умолчанию Вычисление суммы всех натуральных чисел, не превышающих заданного натурального числа N

составьте алгоритм вычисления суммы всех натуральных чисел,не превышающих заданного натурального числа N.Проверьте алгоритм трассировкой.Напишите программу на Паскале.

проверьте пожалуйста как правильно

Код:
Var N, i: integer;
begin
readln(N);
i:=1;
while i<=N do
begin 
i:=i+(i+1);
end;
writeln(i);
end.

так или так
Код:
var
  n, i, sum: integer;
 
begin
  read(n);
  for i := 1 to n do sum := sum + i;
  writeln(sum);
end.

Последний раз редактировалось Аватар; 12.11.2018 в 12:51.
илья-т вне форума Ответить с цитированием
Старый 12.11.2018, 12:11   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

1. Надо форматировать код, а то - каша (отступы, тег #).
2. Второе было бы правильно, если проинициализировать нулем sum. Никогда не надо надеяться, что это сделает Блез Паскаль
3. Первый вариант - СБСК . Чтобы в этом убедиться, достаточно включить трассирование - writeln внутри цикла.
Код:
var
n, i, sum: integer;

begin
   sum := 0 ;
   read(n);
   for i := 1 to n do sum := sum + i;
   writeln(sum);
end.
или
Код:
   sum := 1 ;
   read(n);
   for i := 2 to n do sum := sum + i;

Последний раз редактировалось digitalis; 12.11.2018 в 12:20.
digitalis вне форума Ответить с цитированием
Старый 12.11.2018, 12:54   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А цикл обязателен? Правильней и проще, зная свойства арифметической прогрессии:
Код:
sum:=((1+n)*n) div 2;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 12.11.2018, 13:00   #4
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Ну это уже будет "Арифметика" Магницкого, а не программирование
digitalis вне форума Ответить с цитированием
Старый 12.11.2018, 13:01   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Зато эффективное программирование ) Пусть и арифметика. Да оно все программирование арифметика чистой воды
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 12.11.2018, 13:08   #6
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Дык показывать преподу одну строчку - не комильфо. Где же тут предъявишь ему свои прокачанные skills
digitalis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа нахождения суммы всех делителей заданного натурального числа N. Настя1303 Паскаль, Turbo Pascal, PascalABC.NET 8 18.10.2018 15:21
Даны натуральные числа N, M. Разработать метод, который возвращает массив, состоящий из всех натуральных чисел, меньших N, квадрат суммы цифр которых равен M, а также их количество Namatrasnik Помощь студентам 1 28.11.2016 15:47
Составить программу вычисление суммы нечетных чисел натурального ряда Александр16 Помощь студентам 0 12.12.2010 18:22
C++/ Все способы представления заданного натурального числа N в виде суммы двух кубов натуральных чисел / acko Помощь студентам 1 25.09.2010 12:15
вывод на экран наибольшего делителя натурального числа N, меньше заданного натурального M Fatality Помощь студентам 2 03.12.2008 23:27