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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 21.02.2009, 21:20   #1
4ERRY
Пользователь
 
Регистрация: 06.12.2008
Сообщений: 10
По умолчанию repeat until

здраствуйте. помогите пожалуста решить задачу.
Используя оператор цикла repeat-until определить количество четных и одновременно положительных чисел для любых введенных десяти чисел


я думала сделать ее вот так. и то не знаю.. верно или нет... Паскаль выдает ошибку.
Program rtyui;
Const
N=10;
Var k, x, s: integer;
Begin
k:=0; s:=0;
while k < n do
begin
k:=k+1;
write(‘Введите число’);
readln(x);
if xmod2=0 and x>0 then
s:=s+x;
end;
writeln(‘Сумма четных положительных чисел равна’, s);
readln;
end.

я не знаю как сделать ее с циклом repeat until...((
подскажите пожалуста.

Последний раз редактировалось 4ERRY; 21.02.2009 в 21:26.
4ERRY вне форума
Старый 21.02.2009, 21:27   #2
capta1n
Форумчанин
 
Аватар для capta1n
 
Регистрация: 06.12.2008
Сообщений: 613
По умолчанию

Код:
s:=s+x;
зачем вы суммируете числа? наверно имелось в виду
Код:
s:=s+1;
потому что надо вести подсчет количества элементов

все-таки если нужно подсчитать сумму, то тогда нужно ввести еще одну переменную для подсчета количества элементов - выглядет это будет так:
Код:
var
  i : integer;
...
...
if xmod2=0 and x>0 then 
begin
  s:=s+x;
  i:=i+1
end;
Код:
if xmod2=0 and x>0 then
"xmod2" надо написать в три слова; тут оба условия надо обрамить в скобки, и лучше условие на положительность поставить первым, то есть вот так
Код:
 if (x>0) and (x mod 2=0) then
с repeat until делается все так же, только меняется соответственно while .. do на repeat, а в конце цикла пишется until k=n и все

Код:
Program rtyui;
Const
 N=10;
Var
 k, x, s, i: integer;
Begin
  k:=0; s:=0; i:=0;
  repeat
    k:=k+1;
    write('Введите число ');
    readln(x);
    if (x>0) and (x mod 2=0) then
    begin
      s:=s+x;
      i:=i+1
    end
  until k=n;
  writeln ('Сумма четных положительных чисел равна ', s,' ;Количество элементов: ',i);
  readln
end.

Последний раз редактировалось capta1n; 21.02.2009 в 21:39.
capta1n вне форума
Старый 21.02.2009, 21:28   #3
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Ваша программа с repeat-until так:
Код:
Program rtyui; 
Const 
N=10; 
Var k, x, s: integer; 
Begin 
k:=0; s:=0; 
repeat
k:=k+1; 
write('Введите число ');
readln(x); 
if (x mod 2=0) and (x>0) then
s:=s+x; 
until k>=n;
writeln('Сумма четных положительных чисел равна ', s);
readln;
end.
Замечу, что в задании сказано:
Цитата:
определить количество
а вы считаете сумму.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума
Старый 21.02.2009, 21:30   #4
4ERRY
Пользователь
 
Регистрация: 06.12.2008
Сообщений: 10
По умолчанию

ой... простите пожалуста... я ступила. спасибо огромное! как отблагодарить вас?
4ERRY вне форума
Старый 21.02.2009, 21:36   #5
albatros
Пользователь
 
Регистрация: 09.05.2008
Сообщений: 39
По умолчанию

Код:
program figna;
const
n=10;
var
i,a,k: integer;
begin
i:=0;
a:=0;
k:=0;
repeat
writeln('Ââåäèòå ÷èñëî');
readln(a);
 if (a>0) and(odd(a)=false)then
  inc(i);
inc(k);
until k=n;
writeln(i);
readln;
end.
Непечатный жаргон - это тот язык, которым решительно все программисты владеют в совершенстве.
albatros вне форума
Старый 21.02.2009, 21:36   #6
capta1n
Форумчанин
 
Аватар для capta1n
 
Регистрация: 06.12.2008
Сообщений: 613
По умолчанию

весы под аваторкой, если очень хочется )
capta1n вне форума
Старый 21.02.2009, 21:36   #7
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

4ERRY Для этого и нужен форум, чтобы решать возникающие вопросы.
"Спасибо" достаточно )
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума
Старый 21.02.2009, 21:38   #8
4ERRY
Пользователь
 
Регистрация: 06.12.2008
Сообщений: 10
По умолчанию

да не просто спасибо а огромное СПАСИБО ВСЕМ)))))))))))))))))
4ERRY вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Repeat Наталья111 Общие вопросы Delphi 7 06.01.2009 19:44
Задачи на repeat,while Chief Паскаль, Turbo Pascal, PascalABC.NET 7 06.01.2009 17:59
Задача на оператор Repeat. Dimak24 Помощь студентам 3 23.12.2008 15:41
циклы while...do и repeat...until. deniks Паскаль, Turbo Pascal, PascalABC.NET 6 07.12.2008 15:58