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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2010, 10:51   #11
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Как же тебя понять, если у тебя во втором варианте readln(x); не наблюдается?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 12.05.2010, 10:52   #12
SkyL1ne
Пользователь
 
Аватар для SkyL1ne
 
Регистрация: 24.12.2009
Сообщений: 34
По умолчанию

первая программа отлично работала, может ввел не правильно(

Цитата:
Сообщение от Utkin Посмотреть сообщение
Как же тебя понять, если у тебя во втором варианте readln(x); не наблюдается?
сорь, забыл ввести( *голова кругом, всю ночь сижу с этим*

Последний раз редактировалось Stilet; 12.05.2010 в 16:30.
SkyL1ne вне форума Ответить с цитированием
Старый 12.05.2010, 10:53   #13
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Сообщение от SkyL1ne Посмотреть сообщение
сорь, забыл ввести( *голова кругом, всю ночь сижу с этим*
Так ты введи и попробуй
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 12.05.2010, 10:55   #14
SkyL1ne
Пользователь
 
Аватар для SkyL1ne
 
Регистрация: 24.12.2009
Сообщений: 34
По умолчанию

Цитата:
Сообщение от Z1000000 Посмотреть сообщение
Да у тебя и первая версия зацикливается.
Первая вообще какая-то странная. Вводиться X от которого ничего не зависит, кроме выхода из цикла.
Но тем не менее держи оба варианта

Код:
program Laba1;
var
 x,s,i,r : integer;
begin
r := 2;
repeat
readln(x);
if x>0 then
 begin
 s:=1;
 for i:=1 to 11 do begin s:=s*r; end;
 writeln(s:6);
 end;
until x<0 ;
end.

program Laba2;
var
 x,s,i,r : integer;
begin
r:=2;
readln(x);
while x>0 do
 begin
 s:=1;i:=1;
 repeat
  r := (x-2*i);
  s := s*r;
  i := i + 1;
 until i>10;
writeln(s:3);
readln(x);
end;
end.
огромное спасибо, только вот сижу разбираю, и понять ничего не могу
первыу задачу слегка переврали) и потерялся смысл)

все равно не могу понять, если в цикле вайл стоит условие x>0 значит, просто он не будет выполнять
begin
s:=1;i:=1;
repeat
r := (x-2*i);
s := s*r;
i := i + 1;
until i>10;

Последний раз редактировалось Stilet; 12.05.2010 в 16:30.
SkyL1ne вне форума Ответить с цитированием
Старый 12.05.2010, 11:07   #15
Z1000000
Форумчанин
 
Регистрация: 04.05.2010
Сообщений: 495
По умолчанию

Вот теперь я не понимаю.
Почему не будет. Он будет выполняться пока введенный тобой x больше 0.
Нажми на весы, поставь +
Для благодарностей : WebMoney WMR R252732729948
Z1000000 вне форума Ответить с цитированием
Старый 12.05.2010, 11:10   #16
SkyL1ne
Пользователь
 
Аватар для SkyL1ne
 
Регистрация: 24.12.2009
Сообщений: 34
По умолчанию

цикл вайл, выполняется пока условие истинно, то есть x>0 начит и выполняться ему не нужно, так как все верно


begin
repeat
readln(x);
if x>0 then
begin
s:=1;
for i:=1 to 11 do begin
i:=i+1;
r:=x-2i;
s:=s*r;
end;
writeln(s:6:3);
end;
until(x<o)or(x=0);


вот
это изначальная задача, все работает правильно, проверял

задание
поменять цикл репид на вайл, а цикл фор на репид

с циклом фор-репиад затруднений нет а вот с вайлом куча, так как первый раз его встретил

Последний раз редактировалось SkyL1ne; 12.05.2010 в 11:13.
SkyL1ne вне форума Ответить с цитированием
Старый 12.05.2010, 11:14   #17
Z1000000
Форумчанин
 
Регистрация: 04.05.2010
Сообщений: 495
По умолчанию

while переводиться как "пока".

while X > 0 do begin end;
пока X > 0 делать begin end;

т.е. как раз наоборот, пока условие истинно - выполнять то что в begin end;
Нажми на весы, поставь +
Для благодарностей : WebMoney WMR R252732729948
Z1000000 вне форума Ответить с цитированием
Старый 12.05.2010, 11:20   #18
SkyL1ne
Пользователь
 
Аватар для SkyL1ne
 
Регистрация: 24.12.2009
Сообщений: 34
По умолчанию

понял, только не могу понять почему программа зацикливаеться
SkyL1ne вне форума Ответить с цитированием
Старый 12.05.2010, 16:09   #19
Ol'ga_new
Форумчанин
 
Регистрация: 12.05.2010
Сообщений: 125
По умолчанию

Может так поймешь
repeat //начало цикла с пост условием
begin// начало «тела» цикла выполняется 1 раз 100%, а дальше зависит от условия
readln(x); // ввести х
if x>0 then // условие
begin // если условие верно, то выполняет
s:=1;
for i:=1 to 11 do
begin
i:=i+1;// не нужно вообще, т.к. цикл for автоматически наращивает переменную
r:=x-2i;
s:=s*r;
end;
writeln(s:6:3);
end;//
end;// конец «тела»
until(x<o)or(x=0);// условие , если верно, то выход…
Ol'ga_new вне форума Ответить с цитированием
Старый 12.05.2010, 19:50   #20
SkyL1ne
Пользователь
 
Аватар для SkyL1ne
 
Регистрация: 24.12.2009
Сообщений: 34
По умолчанию

спасибо большое разобрался)
SkyL1ne вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выход из цикла Сергей089 Помощь студентам 6 17.03.2010 16:44
Переход от цикла к циклу не выходя из цикла (без multithreading) Qousio Общие вопросы C/C++ 2 16.05.2009 09:27
Операторы цикла Paul Oakenfold Паскаль, Turbo Pascal, PascalABC.NET 4 14.04.2009 19:28
Замена кода программы с Delhi5 на Delhi7 либо замена базы данных с Acessa на MySQL DorianLeroy Фриланс 8 18.02.2009 18:52
Оператор цикла с предусловием While. Оператор цикла с пост условием Repeat McMilin Помощь студентам 7 11.11.2007 14:10