08.05.2012, 21:10
|
Новичок на форуме
|
|
Регистрация: 08.05.2012
Сообщений: 7
|
|
Решаем задачи в javascript
Такие дела, надо в кратчайшие сроки решать несколько задач, буду писать сюда решение, надеюсь на вашу помощь.
Задача 1.
Используя оператор while, на страницу сгенерировать таблицу из нескольких строк по четыре ячейки в строке. Содержимое каждой первой ячейки строки - число, вводимое с клавиатуры; содержимое остальных ячеек соответствует их номеру в строке. Генерацию строк таблицы продолжить до тех пор, пока произведение введенных чисел не достигнет 1000.
Здесть не могу додумать последний пункт: Генерацию строк таблицы продолжить до тех пор, пока произведение введенных чисел не достигнет 1000.
<script type="text/javascript">
var num, num1=0, sum, row=0;
document.write("ПРИВЕТ <br>");
document.write('<table border="1">');
do {
document.write('<tr>');
for ( cell = 0; cell < 4; cell++ ){
if (cell == 0){
num = window.prompt('Введите первый элемент '+row+' строки');
num = Number(num);
num1 = sum;
if (row == 0) {num1 = num1 + num;}
if (row > 0) {sum=num*num1}
document.write('<td>'+ num +'</td>');
}
else{
document.write('<td>'+ cell +'</td>');
}
}
document.write('</tr>');
row = row + 1;
} while (sum < 1000);
document.write('</table>');
document.write('Пока');
</script>
|
|
08.05.2012, 21:50
|
Новичок на форуме
|
|
Регистрация: 08.05.2012
Сообщений: 7
|
|
А вот проде бы разобрался, посмотрите пожалуйста, может можно реализовать лучше?
<script type="text/javascript">
var num, num1=0, sum=0, row=0;
document.write("ПРИВЕТ <br>");
document.write('<table border="1">');
do {
document.write('<tr>');
for ( cell = 0; cell < 4; cell++ ){
if (cell == 0){ // если первый элемент строки записываем туда пользовательское значение
num = window.prompt('Введите первый элемент '+row+' строки');
num = Number(num);
//num1 = sum; // запоминаем предыдущее произведение чисел
//if (row == 0) {num1 = num1 + num;} // если цикл работает впервый раз, запоминаем число введеное впервый раз
//if (row > 0) {sum=num*num1} //
if (row == 0) {num1 = num;} // если первая строка, запоминаем значение
if (row != 0) // если строка не первая, т.е. все последующие, начинаем обрабатывать
{
sum = num*num1; // сумма произведения чисел в первых строках
num1 = sum; // запоминаем сумму произвед
}
document.write('<td>'+ num +'</td>');
}
else{ // если не первый элемент, то записываем туда их номера в порядке следования
document.write('<td>'+ cell +'</td>');
}
}
document.write('</tr>');
row = row + 1;
} while (row > 0 && sum < 1000);
document.write('</table>');
document.write('Пока');
</script>
|
|
09.05.2012, 00:55
|
Новичок на форуме
|
|
Регистрация: 08.05.2012
Сообщений: 7
|
|
Задача 2.
Ввести с клавиатуры три целых числа. При помощи оператора switch реализовать меню, которое позволит выполнять по выбору пользователя одну из следующих альтернатив: 1) определить и вывести наименьшее их них 2) определить и вывести два меньших их них 3) вычислить среднее арифметическое. Предусмотреть возможность выхода из программы без выполнения указанныз действий.
Вот написал код только немогу понять почему картинка не уменьшается?
<script type="text/javascript">
document.write("ПЗ-2 Вар. 11. А)<br>");
var a, g, h, i, x=800, y=600;
document.write('<img height="'+ y +'" width="'+ x +'" src="img/Nature_Beach_Beach_005125_.jpg"><br>');
g = window.prompt('Введите g элемент');
g = Number(g);
h = window.prompt('Введите h элемент');
h = Number(h);
i = window.prompt('Введите i элемент');
i = Number(i);
if (i < g*2 || h != 0) { g = g-1; x = x/2; y = y/2; }
else { document.write ('<br><h3>Переменной g не повезло!</h3>'); }
document.write ('<br>переменная g равна: '+g);
</script>
Последний раз редактировалось franzee, 09.05.2012 в 01:37.
|
|
09.05.2012, 01:36
|
Новичок на форуме
|
|
Регистрация: 08.05.2012
Сообщений: 7
|
|
--
|
|
09.05.2012, 05:15
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
franzee,
И что, вы таки думаете, что будем сидеть и заместо вас(нерадивого студента) решать ваши задачи, чтобы вы могли получить диплом по вашей специальности, не уча и не обладая необходимыми знаниями?
Представьте что врач который будет лечить вас, или ваших родителей, учится по такому же принципу.
По принципу "я нихуя не шарю. спишу у друга, и получу диплом".
А потом с этими знаниями идет лечить людей.
Хотите у него лечится?
Конечно, профессия программиста(особенно в области веб) с меньшей вероятностью калечит здоровье и жизни людей, и к тому же в отличии от хирурга во время операции на сердце, программист может пойти почитать справочник.
Да, программистом можно быть и не зная всего на 100%(в этой динамичной области это вообще трудно, если не сказать что невозможо), но надо как минимум знать азы, уметь анализировать(в частности думать как думает компьютер, выполняя вашу программу), и уметь находить ту информацию, которую вы еще не знаете, и использовать ее, и усваивать.
Тем кто неспособен на эти действия - не место в этой профессии.
|
|
09.05.2012, 06:51
|
sinistral
|
|
Регистрация: 28.03.2011
Сообщений: 5,418
|
|
Сообщение от Gvozd
|
По принципу "я нихуя не шарю. спишу у друга, и получу диплом".
|
да у нас так половина потока учится (я отношусь к другой половине, "тут схалявил, тут сделал" - учёба по пути меньшего сопротивления)
|
|
09.05.2012, 10:30
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
Сообщение от melky
|
я отношусь к другой половине, "тут схалявил, тут сделал" - учёба по пути меньшего сопротивления
|
вы считаете это особым поводом для гордости?
В любом случае изучение основ программирования - не то место, где нужно халявить, учась программированию
|
|
09.05.2012, 10:43
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Сообщение от Gvozd
|
профессия программиста(особенно в области веб) с меньшей вероятностью калечит здоровье и жизни людей
|
Не знаю, моё здоровье калечит.
|
|
09.05.2012, 15:46
|
|
Профессор
|
|
Регистрация: 21.04.2012
Сообщений: 951
|
|
не хочу присоединяться к мнению остальных(ведь челевек только помощи просит)
var num, sum=1, row=0;//инициализируем переменные, переменная sum изначально должна являться числом
document.write("ПРИВЕТ <br>");
document.write('<table border="1">');
do {
document.write('<tr>');
for ( cell = 0; cell < 4; cell++ ){
if (cell == 0){
num = window.prompt('Введите первый элемент '+row+' строки');
num = Number(num);
document.write('<td>'+ num +'</td>');
sum *= num //sum изменяется каждый раз после ввода числа
}
else{
document.write('<td>'+ cell +'</td>');
}
}
document.write('</tr>');
row = row + 1;
} while (sum < 1000);
document.write('</table>');
document.write('Пока');
вот и все
Последний раз редактировалось Dim@, 09.05.2012 в 19:59.
|
|
09.05.2012, 15:56
|
|
Профессор
|
|
Регистрация: 21.04.2012
Сообщений: 951
|
|
Задача 2.
Да потому что вы написали строку создающюю изображение до изменения x и y
document.write('<img height="'+ y +'" width="'+ x +'" src="img/Nature_Beach_Beach_005125_.jpg"><br>');
это надо написать после промптов и if с else
|
|
|
|