Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 01.12.2013, 16:03
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

YorikoSC, вам предлагается ознакомится какие имеются свойства и методы у каждого типа переменных в JavaScript...
Ответить с цитированием
  #22 (permalink)  
Старый 01.12.2013, 18:02
Интересующийся
Отправить личное сообщение для YorikoSC Посмотреть профиль Найти все сообщения от YorikoSC
 
Регистрация: 27.11.2013
Сообщений: 16

Все равно не очень понятно, но это ладно головняком стало другое задание:
<!DOCTYPE html>
<html>
<body>
<p>Задание 1 вариант 4: Написать скрипт, в котором будет предлагаться ввести текст размером не
менее случайного сгенерированного программно числа (генерировать в диапазоне от 1
до 45) символов. Все четные символы перевести в верхний регистр, все нечетные в
нижний регистр. Вывести в сообщении полученный результат.</p>
<p id="условие">Нажмите на кнопку, чтобы сгенерировать число.</p>
<p id="текст"></p>
<button onclick=Generate()>ГСЧ</button>
<button onclick=Text()>Нажмите для ввода.</button>
<script>
function Generate(){
document.getElementById("условие").innerHTML = Math.floor(Math.random() * 44)+1;
document.getElementById("текст").innerHTML = "Введите текст длинной в число."
}
function Text(){
var x = prompt("Введите текст:", "");
if (x = Generate()){
alert("Ура,правильно!")
}
}
</script>
</body>
</html>


Естественно, что при вводе текстка происходит не проверка а генерация нового числа
А как ещё и символы разбить на ToUpperCase, ToLowerCase я вообще понять не могу, хотя гугл уже ничего нового мне не говорит
Минусы вечерней формы обучения - нам ни фига не объясняют((.
Ответить с цитированием
  #23 (permalink)  
Старый 01.12.2013, 18:37
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

YorikoSC, предыдущее задание нельзя назвать заданием...чисто ознакомление...

с текущим...делайте все действия в одной функции
сгенерируйте случайно число; предлагайте вводить текст пока его длина не будет достигнута величины "random-но" сгенерированного числа; как только длина текста достигнута с помощью метода charAt() в цикле получайте i-ый символ строки -> если это четный символ, т.е. остаток от деления на 2 = 0 (number % 2) - значит число четное, иначе не четное; требуемый результат собирайте в новую переменную (строку) и выводите результат на экран...
Ответить с цитированием
  #24 (permalink)  
Старый 01.12.2013, 19:35
Интересующийся
Отправить личное сообщение для YorikoSC Посмотреть профиль Найти все сообщения от YorikoSC
 
Регистрация: 27.11.2013
Сообщений: 16

function Generate(){
		document.getElementById("условие").innerHTML = Math.floor(Math.random() * 44)+1;
		document.getElementById("текст").innerHTML = "Введите текст длинной в число.";
	
		var x = prompt("Введите текст длинной в сгенерированное число","");
		
		while ("x".lenght = "условие")
		{
		x = prompt("Введите текст длинной в сгенерированное число","");
		}
		
}

Как приравнять к рандомному числу корректно? Из того что я написал он не проверяет
Ответить с цитированием
  #25 (permalink)  
Старый 01.12.2013, 20:06
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Сообщение от YorikoSC Посмотреть сообщение
function Generate(){
		document.getElementById("условие").innerHTML = Math.floor(Math.random() * 44)+1;
		document.getElementById("текст").innerHTML = "Введите текст длинной в число.";
	
		var x = prompt("Введите текст длинной в сгенерированное число","");
		
		while ("x".lenght = "условие")
		{
		x = prompt("Введите текст длинной в сгенерированное число","");
		}
		
}

Как приравнять к рандомному числу корректно? Из того что я написал он не проверяет
во-первых, свойство называется не lenght, а length; во-вторых, рандомное сгенеренное число записывайте в переменную, иначе вы никогда не проверите длину вводимой строки на равенство числу
function Generate() {
	var random = Math.floor(Math.random() * 44)+1, x;
	
	document.getElementById("условие").innerHTML = random;
	document.getElementById("текст").innerHTML = "Введите текст длинной не менее чем "+random+" символов.";
	
	//alert(random);
	
	do {
		x = prompt("Введите текст длинной в сгенерированное число ("+random+")","");
	}
	while (x.length < random)
}
Generate();
Ответить с цитированием
  #26 (permalink)  
Старый 01.12.2013, 20:07
Интересующийся
Отправить личное сообщение для YorikoSC Посмотреть профиль Найти все сообщения от YorikoSC
 
Регистрация: 27.11.2013
Сообщений: 16

Огромное вам спасибо
Ответить с цитированием
  #27 (permalink)  
Старый 01.12.2013, 22:25
Интересующийся
Отправить личное сообщение для YorikoSC Посмотреть профиль Найти все сообщения от YorikoSC
 
Регистрация: 27.11.2013
Сообщений: 16

function Generate(){
		var random = Math.floor(Math.random() * 44)+1, x;
	
		document.getElementById("условие").innerHTML = random;
		document.getElementById("текст").innerHTML = "Введите текст длинной в "+random+" символов.";
	
	do
		{
			x = prompt("Введите текст длинной в сгенерированное число","");
		}
	while
		(x.length != random);
		var answer = x;
		{
		alert(x.charAt(i%2=0).toUpperCase());
		}
}
		
	Generate();


Ну не работает оно
Не понимаю я как правильно применить((

Попробовал переписать
function Generate(){
		var random = Math.floor(Math.random() * 44)+1, x;
	
		document.getElementById("условие").innerHTML = random;
		document.getElementById("текст").innerHTML = "Введите текст длинной в "+random+" символов.";
	
	do
		{
			x = prompt("Введите текст длинной в сгенерированное число","");
		}
	while
		(x.length != random);
		var answer = x.charAt();
		if (charAt(i%2=0))
		{
		return toUpperCase;
		}
		else
		{
		return toLowerCase;
		{
		alert("answer");
		}
}
		
	Generate();


Результат тот же

Последний раз редактировалось YorikoSC, 01.12.2013 в 22:42.
Ответить с цитированием
  #28 (permalink)  
Старый 01.12.2013, 22:41
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

YorikoSC, откуда взялись скобки?
{
        alert(x.charAt(i%2=0).toUpperCase());
        }


и естественно нужно обрабатывать (не)четность символов в отдельно цикле...

function Generate() {
	var random = Math.floor(Math.random() * 44)+1, x, final_str = "";
	
	document.getElementById("условие").innerHTML = random;
	document.getElementById("текст").innerHTML = "Введите текст длинной не менее чем "+random+" символов.";
	
	//alert(random);
	
	do {
		x = prompt("Введите текст длинной в сгенерированное число ("+random+")","");
	}
	while (x.length < random)
	
	for (i=0; i < x.length; i++) { // в цикле перебираем всю полученную строку и собираем новую на основе поставленной задачи
		if (i%2) { // если номер очередного символа строки делится на 2 с остатком - нечетный
			final_str += x.charAt(i).toUpperCase();
		} else { // иначе четный
			final_str += x.charAt(i).toLowerCase();
		}
	}
	
	alert(final_str);
}
Generate();

Последний раз редактировалось lord2kim, 01.12.2013 в 22:43.
Ответить с цитированием
  #29 (permalink)  
Старый 01.12.2013, 22:59
Интересующийся
Отправить личное сообщение для YorikoSC Посмотреть профиль Найти все сообщения от YorikoSC
 
Регистрация: 27.11.2013
Сообщений: 16

Сообщение от lord2kim Посмотреть сообщение
YorikoSC, откуда взялись скобки?
{
        alert(x.charAt(i%2=0).toUpperCase());
        }


и естественно нужно обрабатывать (не)четность символов в отдельно цикле...

function Generate() {
	var random = Math.floor(Math.random() * 44)+1, x, final_str = "";
	
	document.getElementById("условие").innerHTML = random;
	document.getElementById("текст").innerHTML = "Введите текст длинной не менее чем "+random+" символов.";
	
	//alert(random);
	
	do {
		x = prompt("Введите текст длинной в сгенерированное число ("+random+")","");
	}
	while (x.length < random)
	
	for (i=0; i < x.length; i++) { // в цикле перебираем всю полученную строку и собираем новую на основе поставленной задачи
		if (i%2) { // если номер очередного символа строки делится на 2 с остатком - нечетный
			final_str += x.charAt(i).toUpperCase();
		} else { // иначе четный
			final_str += x.charAt(i).toLowerCase();
		}
	}
	
	alert(final_str);
}
Generate();
Исправил чуток ваш код:

function Generate(){
		var random = Math.floor(Math.random() * 44)+1, x;
		var answer = new String()//добавил новое значение - без него ругалось.
		document.getElementById("условие").innerHTML = random;
		document.getElementById("текст").innerHTML = "Введите текст длинной в "+random+" символов.";
	
	do
		{
			x = prompt("Введите текст длинной в сгенерированное число","");
			//отсюда убрал alert - он стопорил процесс, в любом случае.
		}
	while
		(x.length != random);//поставил != т.к. при < большее кол-во символов пропускалось, как верное
		
		for (i=0; i< x.length; i++)
			{//перебор полученой строки.
				if (i%2) //проверка четности, если делится на 2 без остатка.
				{
					answer +=x.charAt(i).toUpperCase();
				}
				else //если не делится.
				{
					answer +=x.charAt(i).toLowerCase();
				}
		}
		
		alert(answer);
}
		
	Generate();


В общем большое спасибо без вас бы кумекал половину ночи
Ответить с цитированием
  #30 (permalink)  
Старый 01.12.2013, 23:19
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

YorikoSC,
Сообщение от YorikoSC Посмотреть сообщение
while
		(x.length != random);//поставил != т.к. при < большее кол-во символов пропускалось, как верное
так у вас в задании написано...

Сообщение от YorikoSC Посмотреть сообщение
<p>Задание 1 вариант 4: Написать скрипт, в котором будет предлагаться ввести текст размером не
менее случайного сгенерированного программно числа (генерировать в диапазоне от 1 до 45) символов...
Сообщение от YorikoSC Посмотреть сообщение
if (i%2) //проверка четности, если делится на 2 без остатка.
"если делится на 2 с остатком..."

Сообщение от YorikoSC Посмотреть сообщение
var answer = new String()//добавил новое значение - без него ругалось.
		document.getElementById("условие").innerHTML = random;
		document.getElementById("текст").innerHTML = "Введите текст длинной в "+random+" символов.";
; не забывайте в конце строки и не давайте элементам значения id и name атрибутов кирилицей...

Последний раз редактировалось lord2kim, 01.12.2013 в 23:23.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста с нестандартной задачей css Alexei91 (X)HTML/CSS 14 25.09.2013 15:54
Помогите пожалуйста вычислить общую сумму katalizator Общие вопросы Javascript 15 22.03.2013 16:26
Помогите пожалуйста правильно написать скрипт raffx Events/DOM/Window 17 16.10.2012 20:31
помогите пожалуйста с задачей Маргарита1995 Общие вопросы Javascript 1 25.01.2011 23:09
Помогите, пожалуйста, с простой задачей Devi Ваши сайты и скрипты 1 13.07.2010 04:48