IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

2 страниц V < 1 2  
 Ответить  Открыть новую тему 
> задача на циклы
Hunt666
сообщение 12.11.2006 16:16
Сообщение #21


Пионер
**

Группа: Пользователи
Сообщений: 50
Пол: Мужской
Реальное имя: Павел

Репутация: -  0  +


изменил на:

program asdfav;
var sum,n:integer;
begin
sum:=0;
writeln('введите n');
readln(n);
while n<>0 do
begin
if (n<0) and ( n mod 2 <> 0) then
sum:=sum+n;
writeln(' sum =', sum);
readln(n);
end;
end.


в результате всегда 0

Сообщение отредактировано: Hunt666 - 12.11.2006 23:59
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 12.11.2006 16:19
Сообщение #22


Гость






Какие данные вводил? Там были отрицательные нечетные элементы?

У меня твоя программа работает...
 К началу страницы 
+ Ответить 
Hunt666
сообщение 12.11.2006 16:31
Сообщение #23


Пионер
**

Группа: Пользователи
Сообщений: 50
Пол: Мужской
Реальное имя: Павел

Репутация: -  0  +


понятно ,не так вводил ,буду разбираться дальше
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Hunt666
сообщение 12.11.2006 16:44
Сообщение #24


Пионер
**

Группа: Пользователи
Сообщений: 50
Пол: Мужской
Реальное имя: Павел

Репутация: -  0  +


хотя если ввести -11 -5 6 то выдаст результат 22 ,но 6 неотрицательно ведь и почему тогда сумма положительна
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 12.11.2006 16:53
Сообщение #25


Гость






Ну=ка, присоедини-ка сюда свой скриншот, чтобы было видно, когда ты вводишь вот эти 3 числа, и какой результат у тебя получается... У меня получается вот так:


Эскизы прикрепленных изображений
Прикрепленное изображение
 К началу страницы 
+ Ответить 
Hunt666
сообщение 12.11.2006 17:01
Сообщение #26


Пионер
**

Группа: Пользователи
Сообщений: 50
Пол: Мужской
Реальное имя: Павел

Репутация: -  0  +


опять не так вводил тока поидее сумма всегда должна быть отрицательна почему она +
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 12.11.2006 17:03
Сообщение #27


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


не знаю... мне не удалось получить положительную сумму. отрицательная все время.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Hunt666
сообщение 12.11.2006 17:19
Сообщение #28


Пионер
**

Группа: Пользователи
Сообщений: 50
Пол: Мужской
Реальное имя: Павел

Репутация: -  0  +


извеняюсь в очередной раз сторомозил в sum=sum+n зачемто поставил минус

вот теперь у меня никак не получается сделать то же самое но в цикле с постусловием или заданным кол -вом повторений
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 12.11.2006 17:54
Сообщение #29


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


показывай как делаешь.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Hunt666
сообщение 12.11.2006 18:32
Сообщение #30


Пионер
**

Группа: Пользователи
Сообщений: 50
Пол: Мужской
Реальное имя: Павел

Репутация: -  0  +


вот такое вот у меня получилось при попытке сделать цикл с постусловием:

program post;
var sum,n:integer;
begin
repeat
writeln( ' n = ');
readln(n);
until n<0;
if ((n<0) and (n mod 2 <> 0 )) then
sum:=sum+n;
writeln(' sum = ', sum );
readln(n);
end.



тока естественно не работает, видать опять ахинея

Сообщение отредактировано: Hunt666 - 12.11.2006 23:59
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 12.11.2006 20:50
Сообщение #31


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


а теперь подумай, что ты делаешь....
что у тебя БЫЛО внутри цикла, когда я это писала, и что СТАЛО, когда ты написал. Сравни действия.
И условие выхода из цикла тоже.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Hunt666
сообщение 12.11.2006 21:22
Сообщение #32


Пионер
**

Группа: Пользователи
Сообщений: 50
Пол: Мужской
Реальное имя: Павел

Репутация: -  0  +


исправил на:

program post;
var sum,n:integer;
begin
sum:=0;
repeat
writeln( ' n = ');
readln(n);
begin
if (n<0) and ( n mod 2 <> 0) then
sum:=sum+n;
writeln(' sum = ', sum);
readln;
end;
until n>0;
end.



но работает частично например если вводить последовательность чисел -1,-3,-5,-7,-9,-11 проспускаются -5 и -7


ой убрал последний readln и все заработало
зы теперь буду думать над циклом с for

Сообщение отредактировано: Hunt666 - 12.11.2006 23:58
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Hunt666
сообщение 12.11.2006 22:02
Сообщение #33


Пионер
**

Группа: Пользователи
Сообщений: 50
Пол: Мужской
Реальное имя: Павел

Репутация: -  0  +


ндя какой то я горе программист все время торможу , теперь не выходит цикл с заданным количеством повторений
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Hunt666
сообщение 12.11.2006 22:26
Сообщение #34


Пионер
**

Группа: Пользователи
Сообщений: 50
Пол: Мужской
Реальное имя: Павел

Репутация: -  0  +


вот моя очередная ахинея

<program fors;
var sum,n:integer;
begin
writeln(' n = ');
readln(n);
sum:=0;
if (n<0) and ( n mod 2 <> 0) then
sum:=sum+n;
for n:=-200 to -1 do inc(n,2);
writeln(' sum = ', sum );
end. >


в этом случае у меня просто выводится то число какое я ввел если оно соответствут условию после чего сразу выходит из цикла
объсните в чем я опять напутал

Сообщение отредактировано: Hunt666 - 12.11.2006 23:56
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 12.11.2006 22:31
Сообщение #35


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Hunt666, ты тегами принципиально не пользуешься ? mad.gif Еще _один_ пост, в котором код не будет помещен в теги и ты будешь помещен в премодерацию на неделю. Настоятельно советую пользоваться тегами и исправить все свои посты. Либо объяснить вескую причину по который ты не можешь использовать теги.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Hunt666
сообщение 12.11.2006 22:39
Сообщение #36


Пионер
**

Группа: Пользователи
Сообщений: 50
Пол: Мужской
Реальное имя: Павел

Репутация: -  0  +


то что написано исправить не получается, а когда потом буду выкладывать коды обязательно воспользуюсь тегами

М
Теги теперь не [ pascode ] [ / pascode], а [ code = pas ] [ / code ]. На форме ответа есть соответсвующие комбобоксы.



Сообщение отредактировано: klem4 - 12.11.2006 23:32
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Hunt666
сообщение 13.11.2006 0:04
Сообщение #37


Пионер
**

Группа: Пользователи
Сообщений: 50
Пол: Мужской
Реальное имя: Павел

Репутация: -  0  +


все иправил
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 13.11.2006 2:02
Сообщение #38


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


Цитата(Hunt666 @ 12.11.2006 22:26) *

вот моя очередная ахинея

<program fors;
var sum,n:integer;
begin
writeln(' n = ');
readln(n);
sum:=0;
if (n<0) and ( n mod 2 <> 0) then
sum:=sum+n;
for n:=-200 to -1 do inc(n,2);
writeln(' sum = ', sum );
end. >


в этом случае у меня просто выводится то число какое я ввел если оно соответствут условию после чего сразу выходит из цикла
объсните в чем я опять напутал

Этто еще что?
Во-первых, не стоит изменять переменную-счетчик внутри цикла. Не жалей ты байты под доп.переменную.
Во-вторых (чувствую себя попугаем): что должно быть ВНУТРИ цикла?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Hunt666
сообщение 14.11.2006 18:49
Сообщение #39


Пионер
**

Группа: Пользователи
Сообщений: 50
Пол: Мужской
Реальное имя: Павел

Репутация: -  0  +


вот что у меня получилось:

program CIKL;
var sum,s,n,i,x:integer;
begin writeln('VVedite X ot 1 do 3');
readln(X);
if (x>=1) and (x<=3) then
case x of
1 : begin writeln('S predusloviem');
sum:=0;
writeln('vvedite n');
readln(n);
while n<>0 do
begin
if (n<0) and ( n mod 2 <>0) then
sum:=sum+n;
writeln(' sum = ', sum);
readln(n);
end;
end;
2 : begin writeln('S postusloviem');
sum:=0;
repeat
writeln(' vvedite n ');
readln(n);
begin if (n<0) and ( n mod 2 <> 0) then
sum:=sum+n;
writeln(' sum = ', sum);
end;
until n>0;
end;
3 : begin writeln('S zadanim kolichestvom povtoreniy');
sum:=0;
writeln(' vvedite kolichestvo povtoreniy , s =');
readln(s);
for i:=1 to s do begin
writeln(' vvedite n ');
readln(n);
if (n<0) and ( n mod 2 <> 0) then
sum:=sum+n;
writeln(' sum = ', sum);
end;
end;
end;
end.



огромное спасибо всем кто помогал, ох уж долго со мной возились.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

2 страниц V < 1 2
 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 6.07.2025 13:37
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"