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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.11.2010, 15:13   #1
bwitcher
Форумчанин
 
Регистрация: 09.06.2010
Сообщений: 112
По умолчанию Три в одном

Написать программу, которая вычисляет сумму первых 5-ти положительных целых.
Эту прогу нужно решить тремя разными вариантами.
Кто-нибудь поможет?
bwitcher вне форума Ответить с цитированием
Старый 19.11.2010, 16:18   #2
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Первый:
Код:
s:=1+2+3+4+5
Второй
Код:
s:=15
Третий:
Код:
for I:=1 to 5 do
s:=s+i;
Так?
_-Re@l-_ вне форума Ответить с цитированием
Старый 19.11.2010, 16:20   #3
DRAgon™
Форумчанин
 
Аватар для DRAgon™
 
Регистрация: 14.03.2010
Сообщений: 362
По умолчанию

можно еще так
Код:
s[1]+s[2]+s[3]+s[4]+s[5];
Чем больше моя слава, тем я больше тупею; и таково, несомненно, общее правило.(А.Эйнштейн)
DRAgon™ вне форума Ответить с цитированием
Старый 19.11.2010, 16:29   #4
bwitcher
Форумчанин
 
Регистрация: 09.06.2010
Сообщений: 112
По умолчанию

_-Re@l-_, не знаю))) Наверное))) Но что-то я второй ваш код не догнал. Почему сразу присваивается значение суммы? В чем тогда суть проги?
bwitcher вне форума Ответить с цитированием
Старый 19.11.2010, 16:32   #5
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Цитата:
Почему сразу присваивается значение суммы?
А почему бы и нет?
Суть в том, что она сама, без посторонней помощи сможет вывести число 15.
И ещё можно так:
Код:
s:=30-15;
Или
Код:
s:=15-0;
_-Re@l-_ вне форума Ответить с цитированием
Старый 19.11.2010, 16:36   #6
Niro
Форумчанин
 
Аватар для Niro
 
Регистрация: 23.09.2010
Сообщений: 682
По умолчанию

Цитата:
сумму первых 5-ти положительных целых
Хм, помойму тут должен быть массив с заданными числами И согласно условию надо поставить проверку на положительность элемента.
А насчет трех вариантов, то мне кажется тут просто надо пройтись циклами:
for to do
repeat until
while do
вы массивы и указанные циклы проходили?
Проще всего признать свою ошибку.
Гораздо труднее еЁ осознать и исправить.
Niro вне форума Ответить с цитированием
Старый 19.11.2010, 16:56   #7
bwitcher
Форумчанин
 
Регистрация: 09.06.2010
Сообщений: 112
По умолчанию

Цитата:
Сообщение от Niro Посмотреть сообщение
Хм, помойму тут должен быть массив с заданными числами И согласно условию надо поставить проверку на положительность элемента.
А насчет трех вариантов, то мне кажется тут просто надо пройтись циклами:
for to do
repeat until
while do
вы массивы и указанные циклы проходили?
Циклы проходили, да. Вот мне тоже кажется, что решать циклами надо Но я вот сам че-то не очень могу, поможете?
bwitcher вне форума Ответить с цитированием
Старый 19.11.2010, 17:24   #8
Niro
Форумчанин
 
Аватар для Niro
 
Регистрация: 23.09.2010
Сообщений: 682
По умолчанию

Проверяйте
Код:
for i:=1 to размерность массива do
if mas[i]>0 then begin k:=k+1; sum:=sum+mas[i]; end;
if k=5 then break;
Код:
repeat
if mas[i]>0 then begin k:=k+1; sum:=sum+mas[i]; end;
until k=5
Код:
while k<>5 do
begin
if mas[i]>0 then begin k:=k+1; sum:=sum+mas[i]; end;
end;
Проще всего признать свою ошибку.
Гораздо труднее еЁ осознать и исправить.
Niro вне форума Ответить с цитированием
Старый 19.11.2010, 17:50   #9
bwitcher
Форумчанин
 
Регистрация: 09.06.2010
Сообщений: 112
По умолчанию

Цитата:
Сообщение от Niro Посмотреть сообщение
Проверяйте
Код:
for i:=1 to размерность массива do
if mas[i]>0 then begin k:=k+1; sum:=sum+mas[i]; end;
if k=5 then break;
Код:
repeat
if mas[i]>0 then begin k:=k+1; sum:=sum+mas[i]; end;
until k=5
Код:
while k<>5 do
begin
if mas[i]>0 then begin k:=k+1; sum:=sum+mas[i]; end;
end;
Спасибо большое за помощь! Вот только с массивами я ниче не понял, честно говоря...
bwitcher вне форума Ответить с цитированием
Старый 19.11.2010, 17:57   #10
Niro
Форумчанин
 
Аватар для Niro
 
Регистрация: 23.09.2010
Сообщений: 682
По умолчанию

А вы их - массивы проходили ? Если да - их наверное можно использовать, если нет - то препод удивится
для задания массива
Код:
const n=10;   { n - размерность массива, т.е. кол-во элементов в нем}
var mas: array [1..n] of integer;
begin
randomize;
for i:=1 to n do {заполняем массив случайными символами}
begin
 mas[i]:=random(15)-10;
 write(mas[i],' '); {выводим полученный элемент}
end;
end;
Проще всего признать свою ошибку.
Гораздо труднее еЁ осознать и исправить.
Niro вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Три задачи abarmot_1 Помощь студентам 6 16.11.2010 09:13
как создать матрицу три на три в мемо (делфи) Lordigan Помощь студентам 0 15.03.2010 18:37
три задачи (С++) VHomer Помощь студентам 5 10.11.2008 15:22
черный ящик, на три входа и на три выхода Shanson Помощь студентам 7 30.01.2008 09:45