Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   помогите решить задачку с while (https://javascript.ru/forum/misc/4002-pomogite-reshit-zadachku-s-while.html)

natalia120390 11.06.2009 22:08

помогите решить задачку с while
 
надо написать программу, которая предлагает пользователю купить некий товар. Если он соглашается, с его счета снимается 20 руб, если нет - выдается сообщение, что он банкрот и не сможет его купить. Как это правильно написать?

Gvozd 11.06.2009 22:17

Поиск и написание готовых скриптов с нуля - уже не вопрос, а работа.

Пишите о ней в разделе форума "Работа".

natalia120390 11.06.2009 22:32

при чём тут работа?

Riim 11.06.2009 22:51

При том что ТС похож на ТЗ.

natalia120390 11.06.2009 23:09

я вообще-то не просила за меня решить её, меня больше интересует, что надо написать в if

Riim 11.06.2009 23:18

В каком if ? Приведите код который уже есть.

Gvozd 11.06.2009 23:18

в if надо писать условие, при котором быдет выполнятся следующий операторный блок
[telepatemode]
возможно вы ищите confirm?
если нет, то сформулируйте свой вопрос более конкретно
[/telepatemode]

natalia120390 11.06.2009 23:21

вопрос:"Ну, покупаем товар?" Что нужно писать в if если да?

Gvozd 11.06.2009 23:25

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

Riim 11.06.2009 23:26

Может так:

<a href="index.html" onclick="return confirm('Ну, покупаем товар?');">+</a>


Пока вы не приведете свой код, нам придется гадать.

natalia120390 11.06.2009 23:27

думаете не читата? читала и не только я. к стати, нас здесь трое, все читают, но ничего подобного не нашли. может тогда хоть учебник порекомендуете

natalia120390 11.06.2009 23:31

i=20;
var a=parseInt(prompt("Введите сумму в рублях больше 100"));
confirm("Ну, покупаем товар?");i-=20;
while (a>0);
{a==a+i;
{alert("Вы купили товар за "+a+i);}
else {alert("А вы и не можете его купить - вы банкрот");}
}
знаю, что здесь много ошибок, но я только начала учить джаву и пытаюсь разобраться, пожалуйста, не спешите затюкивать, помните, что когда-то вы его тоже не знали, просто укажите где именно ошибки

Riim 11.06.2009 23:33

if-а нет. "i" не определен.

Цитата:

Сообщение от natalia120390
нас здесь трое

Ухты, и нас трое :)

natalia120390 11.06.2009 23:37

i это счетчик, если человек купит товар, то с его счета (а) должно снять 20р. если нет - то все деньги

Gvozd 11.06.2009 23:39

вы этот код наугад писали?
ошибка по-моему в ДНК
и это не шутка, и не попытка унизить вас
просто этот код мне представляется продуктом нечеловеческой логики.
я искренне не понимаю, как его могло написать человеческое существо, пускай даже только начавшее программировать

учебники есть в одноименном разделе сайта
все они рекомендованные

natalia120390 11.06.2009 23:43

если я скажу что наугад? и ДНК у меня нормальное, да и делаю я по примерам ПРОГРАММИСТОВ

Riim 11.06.2009 23:47

natalia120390, реально странный код.
Я предположил что "i" это стоимость товара:

var i = 20;
var startA = parseInt(prompt("Введите сумму в рублях больше 100"));
var a = startA
while (a > i) {
	if (confirm("Ну, покупаем товар?")) {
		alert("Вы купили товара на " + (startA - (a -= i)));
	} else {
		//alert("А вы и не можете его купить - вы банкрот");
	}
}

x-yuri 11.06.2009 23:50

http://javascript.ru/confirm
http://javascript.ru/comparison-operators
http://javascript.ru/var (лучше объявлять переменные с помощью var)

а как должен работать скрипт? Что происходит в while я не понимаю

p.s. Riim, не пугай людей, они только учаться ;) я про (startA - (a -= i))

natalia120390 12.06.2009 00:07

открыла все эти ссылки - а они плывут в Опере только так, ну ладно я - и приблизительно не программист, а сайт то писали наверное ПРОФИССИОНАЛЫ, ну спасибо тем, кто попытался помочь мне разобраться, извините, что лезу к вам со своими задачами

Riim 12.06.2009 00:08

Цитата:

Сообщение от x-yuri
Что происходит в while я не понимаю

Видимо пока покупатель соглашается с confirm, у него снимаются деньги. Что бы можно было купить несколько экземпляров одного товара.

BlackApricot 12.06.2009 07:38

помогите решить задачку с while
 
natalia120390, твой вопрос убедил меня, что на ЭТОМ форуме не нужно регистрироваться, спасибо тебе за это.

Я ТАК ПОНИМАЮ, НЕ ХОЧЕШЬ ОТВЕЧАТЬ, НЕ ВЫСОВЫВАЙСЯ.

Если рискнёшь дать своё мыло, давай, поработаем.

Riim 12.06.2009 07:48

BlackApricot, я что-то не понял, ты боишься, что тебя здесь обижать будут?
natalia120390, а циферки 120390 это телефон?

natalia120390 12.06.2009 09:20

позвоните, узнаете, и вообще, чтобы сказать человеку, что у него проблеммы с ДНК - надо иметь как минимум диплом генетика. BlackApricot, пишите мне сюда librelesya@mail.ru. всякие гадости буду помечать как спам и отвечать тем же. зафукать человека - последнее дело, это только показало, что вы и сами мало что знаете

Gvozd 12.06.2009 09:49

ДА!!!111
Я тролль и унылое говно
я абсолютно ничего не понимаю в веб-программировнаии вообще, и в JS в частности
тут на форуме сижу исключительно для того чтобы обсирать порядочных людей, являющихся более талантливыми чем я на поприще программировани, и прилагающими все усилия чтобы выучить новый для себя язык
сижу для того чтобы всячески затормозить тех кто способен на что-то большее, чем я, из чувства наиунылейшей зависти

natalia120390 12.06.2009 09:57

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

Gvozd 12.06.2009 10:11

natalia120390,
по сути же:
мы помогаем
мы помогаем тем, кто сам прикладывает какие-то усилия
вы не смогли даже нормально со старта сформулировать свой вопрос адекватно. тем самым потратили чужое время зря на вытягивание из вас подробностей
ваш код выглядит так, как быдто вы узнали несколько ключевых слов JS и пытаетесь наугад их скомбинировать "а вдруг"
Отсюда просто делается вывод, что вы даже не открывали учебник.
а в таком случае нам не о чем говорить до тех пор, пока вы не прочитаете в нем главы вплоть до управляющих структур. это не сильно много
Если же вы открывали учебник, прочитали его(втроем судя по всему), и после этого написали тот код, что уже выкладывали, то вывод очень простой: программирвание - не ваша стезя. Если вы не смогли самостоятельно по учебнику и гуглу освоить основы, то и дальше вы не сможете сами двигатся
Учится программированию можно двумя способами:
ходить на курсы, и заниматся самообучением по книгам и гуглу
говорят от первого даже есть толк иногда.
суть в том, что на курсах рассказывают то же, что написано в книгах, но пытаются вдолбить вам максимально эффективно, ориентируясь на особенности вашего понимания и психологии. не понимаете одним способом-попытаюстся объяснить другим.
на крусах вам не скажут в отличии от меня, что вы неспособны программированию. потому что вы им деньги платите, и им выгодно, чтобы вы прошли весь курс. вы даже диплом получите.
НО!
без самообучения нету прогрраммистов.
программист, который не способен сам учится чему-то чему его не научили на курсах просто не является таковым.

ТАк, вот:
тут на форуме вам проводить курсы, и попытатся втолковать то, что есть в десятках книг на просторе интернета, и тысячах стетей, не станет
я вам дал ссылку на учебник.
вам дали ссылки на пару статей из справочника
этого должно хватить даже не знающему JS человеку, чтобы написать эту программу

А про ДНК не могу согласится
для того чтобы отличить человека от не-человеческого существа, не надо быть генетиком.
я даже не догадываюсь, что за психофизические процессы у вас творились, когда вы писали свой код, но они очень сильно отличаются от способа которым думают представители моего вида

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

natalia120390 12.06.2009 10:21

во-первых - диплом у меня будет не программиста, а переводчика, во-вторых - у меня было целых ДВА урока джаваскрипта, втретих - не поняла я именно циклы, вот посмотрите, что я писала 2 дня назад, да здесь есть одна ошибочка, но всё же работает
<?xml version="1.0" encoding="windows-1251"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Page-JavaScript</title>
<script type="text/javascript">
/*скидка*/
var a=parseInt(prompt("Введите стоимость покупки"));
var b=a*0.03;
var c=a*0.05;
var d="3%";
var e="5%";
if (a>=500&&a<1000) {alert("Ваша скидка- 3%");}
else
if (a>=1000) {alert("Ваша скидка - 5%");}
else {alert("У вас нет скидки");}
if (a>=500&&a<1000) {alert("Стоимость покупки без скидки: "+a+"грн"+"\nСкидка: "+d+ "\nИтоговая стоимость: "+(a-b)+"грн");}
else
if (a>=1000) {alert("Стоимость покупки без скидки: "+a+"грн"+"\nСкидка: "+e+ "\nИтоговая стоимость: "+(a-с)+"грн");}
else {alert("Стоимость покупки: "+a);}
</script>
</head>
<body>

</body>
</html>

<?xml version="1.0" encoding="windows-1251"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Page-JavaScript</title>
<script type="text/javascript">
/*стоимость покупки*/
var a=parseInt(prompt("Введите сумму денег, которая лежит в вашем кошельке "));
var b=parseInt(prompt("Введите цену товара за 1 шт"));
var c=parseInt(prompt("Введите количество товара"));
var s=b*c
if (a>=s) {alert("Увас достаточное количество денег для совершения покупки");}
else {alert("У вас недостаточно денег для соваршения покупки, достаньте где-то денег");}
</script>
</head>
<body>

</body>
</html>

<?xml version="1.0" encoding="windows-1251"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Page-JavaScript</title>
<script type="text/javascript">
/*день недели*/
var a=parseInt(prompt("Введите день недели с помощью цифр от 1 до 7"));
if (a==1) {alert("День недели - Понедельник");}
else
if (a==2) {alert("День недели - Вторник");}
else
if (a==3) {alert("День недели - Среда");}
else
if (a==4) {alert("День недели - Четверг");}
else
if (a==5) {alert("День недели - Пятница");}
else
if (a==6) {alert("День недели - Суббота");}
else
if (a==7) {alert("День недели - Воскресенье");}
else {alert("Или читать не умеем, или не знаем, сколько дней в 1 недели");}


</script>
</head>
<body>

</body>
</html>
есть еще несколько - писала сама и получаю в результате то, что требуется. подчеркиваю - НЕ ПОНИМАЮ ЦИКЛЫ, да - мышление у меня не программистское и не скрываю, что и книжки мне нужны особые для ПОЛНЫХ ЧАЙНИКОВ

Riim 12.06.2009 11:18

Цитата:

Сообщение от natalia120390
позвоните, узнаете, и вообще, чтобы сказать человеку, что у него проблеммы с ДНК

Я вроде про ДНК ничего не писал. Или тут наверно начало предложения мне, а остальное не мне.

natalia, подумай сама: да Gvozd немного нагрубил, но, в конечном счете, сделал это для того, что бы ты не продолжала выпрашивать готовый скрипт (вначале сложилось именно такое впечатление), а попробовала написать что-то сама и чему-то научилась. Т. е. в конечном счете, тебе здесь ничего плохого никто не хочет. В общем не обижайся.

natalia120390 12.06.2009 11:22

я не просила написать готовый скрипт и вы правы - начало придложения для вас, но это не номер телефона, я хочу написать это сама, моя проблема только в том, что я не понимаю эти циклы, НЕ ПОНИМАЮ

Riim 12.06.2009 11:25

Цитата:

Сообщение от natalia120390
я не просила написать готовый скрипт

Да теперь-то мы уж поняли. Хватит уже эмоций. Последний мой вариант, чем не подошел?

Kolyaj 15.06.2009 14:32

natalia120390,
у вас когда телевизор сломается, вы его сами чинить полезете, а потом найдете форум ремонтников телевизоров и создадите там тему "Я тут телик разобрала, тут проводочки всякие, какой мне переткнуть, чтобы он снова показывал"? Или все-таки техника вызовете? Так какого, извините, хера вы лезете туда, в чем вообще не понимаете? Не все люди могут программировать, кто-то делает это лучше, кто-то хуже, но большинство людей не смогут программировать вообще никак, на любом уровне абстракции. И если уж вы даже циклы не понимаете, то это уж точно не ваше.

x-yuri 15.06.2009 23:31

да уж подвел итог :-? Это похоже на "накипело"

Kolyaj 16.06.2009 10:11

x-yuri,
ну дык :) Без знания элементарных основ просят "Объясните". А как объяснять, если вообще никакой базы нет?

В общаге у нас как-то парень один ходил с вопросом "Вот как объяснить биологу, что такое windows?".

x-yuri 16.06.2009 10:24

может теперь этот парень задался целью обяснить переводчикам, что такое javascript :-?

Kolyaj 16.06.2009 10:29

x-yuri,
а ты объяснил бы? Я вот не придумал :)

x-yuri 16.06.2009 10:56

ОС - это такая программа, которая позволяет другим программам работать с железом. Это упрощает написание других программ, им не надо знать, как работать со всеми устройствами (это знает ОС): приложение говорит - нарисуй точку, а ОС отправляет с помощью нужного драйвера нужную команду нужному устройству
p.s. я мож даже попробую сейчас рассказать одному биологу об этом, или двум :)

Kolyaj 16.06.2009 11:00

Вот только гипотетический биолог не знает, зачем программе работать с железом (какое железо? компьютер -- это экран, стоящий на столе).

Цитата:

Сообщение от x-yuri
я мож даже попробую сейчас рассказать одному биологу об этом, или двум

Сейчас не интересно, сейчас компьютерная грамотность повыше.

x-yuri 16.06.2009 11:06

Цитата:

Сейчас не интересно, сейчас компьютерная грамотность повыше
а что сейчас объяснить биологу?

Riim 16.06.2009 11:09

Цитата:

Сообщение от Kolyaj
сейчас компьютерная грамотность повыше

Сейчас они научились отличать монитор от системника.

Kolyaj 16.06.2009 11:16

Цитата:

Сообщение от x-yuri
а что сейчас объяснить биологу?

Если найдешь человека, ни разу не пользовавшегося компьютером, попробуй ему объяснить :)


Часовой пояс GMT +3, время: 15:34.