-
17.07.2020, 10:59 #31
- Регистрация
- 23.05.2010
- Сообщений
- 1,286
- Поблагодарили
- 275
- Поблагодарил
- 924
тоже провалил экзамен на первом уроке...привык принимать группами..и в смысловом тексте попал в засаду...
Анатолий
73!!!
-
17.07.2020, 12:13 #32
- Регистрация
- 23.09.2013
- Адрес
- Anapa
- Возраст
- 54
- Сообщений
- 117
- Поблагодарили
- 80
- Поблагодарил
- 25
тоже провалил экзамен на первом уроке...привык принимать группами..и в смысловом тексте попал в засаду..
Иногда проскакивает. А провалить экзамен только на первом задании нельзя. Сдайте все три и получите оценку. Если только первый не сдан, а остальные прошли, получаете четвертку и дополнительное задание.
На счет русские/латинские буквы. Ребята. Написано - методика русский язык. Выучив все уроки спокойно можете работать латинским текстом.
Не нравится лишнее - не учите два последних буквенных урока. Отработать надо эту программку на предмет ошибок и дополнений. Затем будет и английская версия, и АДКМ-2000М прямо в браузере.
Во всех случаях, большое спасибо за обсуждения. В телеграфе есть тоже кое какой опыт. Учил в начале 80-х в ДОСААФ г. Баку еще пацаном.
Любезно был подсажен руководителем клуба на заднюю парту в класс где проходили учение пожарные. Потом позывной - эфир. И служба в армии (граница). Ключ всегда был со мной.
Делюсь своим опытом, без всяких претензий на другие школы. Главное основа, а все остальное доработается, откорректируется в процессе использования Морзе. Сам, для своих нужд и удобства.Последний раз редактировалось RV6ANQ; 17.07.2020 в 12:18.
R6СN "ALI"
CQCW № 001
-
17.07.2020, 14:53 #33
- Регистрация
- 01.03.2009
- Сообщений
- 851
- Поблагодарили
- 444
- Поблагодарил
- 36
Нашел я ваш косяк который два пробела дает. Интересно стало как работает. Открыл JS файлы, поизучал... думал var rand не верно рандомится.... а оказалось куда проще...
в файле exam.js вы создаете массив exArray, в котором есть этот самый пробел в слове 'сносно ' - один пробел ваш и один от слова СНОСНО берется
вообще код интересный, с удовольствем его поизучал
с вас магарыч за победу над косякомВладимир
-
17.07.2020, 17:58 #34
- Регистрация
- 23.09.2013
- Адрес
- Anapa
- Возраст
- 54
- Сообщений
- 117
- Поблагодарили
- 80
- Поблагодарил
- 25
Нашел я ваш косяк который два пробела дает
Кстати, только первый урок сделан с раздельными js файлами. Это шаблон. Остальные уроки код содержат внутри страницы. Можно спокойно видеть все в одном файле.
Так легче с ошибками работать.
Но беда не в первом задании, а во втором! Там, где формируется произвольный рандомный текст с последовательностью букв и пробелов. Вот здесь рандом может случайно выбрать подряд две паузы.
Именно в этом блоке надо код переделать. Либо контролировать повтор пробела и отменять (заменять) второй, либо формировать длинную строку из знаков без пробела, а потом вставить в случайные места паузы. Вот над этим надо поломать голову. С группами все просто - пять знаков - пробел и т.д.
ЗЫ на счет магарыча - всегда пожалуйста . Как говориться - будете в Анапе, заходите.R6СN "ALI"
CQCW № 001
-
17.07.2020, 19:47 #35
- Регистрация
- 01.03.2009
- Сообщений
- 851
- Поблагодарили
- 444
- Поблагодарил
- 36
Александр, второе задание тоже протестил. Заменил все ваши пробелы, своим знаком "=" и уже на локальной машине разом прогнал раз 200-300 в поисках пробелов (без реального тестирования приема, для экономии времени).... ни одного лишнего пробела или задвоение моего символа "=" я не обнаружил, ни в обучении, ни в экзамене, ни на моей машине, ни на вашем сайте. или я не там смотрел...
и в обучении отрабатаывает ваша операция по удалению пробелов "pa = result.replace(/ +/g, ' ').trim();"Последний раз редактировалось R3LO; 17.07.2020 в 19:52.
Владимир
-
18.07.2020, 01:25 #36
- Регистрация
- 23.09.2013
- Адрес
- Anapa
- Возраст
- 54
- Сообщений
- 117
- Поблагодарили
- 80
- Поблагодарил
- 25
Заменил все ваши пробелы, своим знаком "=" и уже на локальной машине разом прогнал раз 200-300 в поисках пробелов (без реального тестирования приема, для экономии времени).... ни одного лишнего пробела
Завтра посмотрю этот вариант. Сегодня пятница - вечер. Мозги немного расслаблены. Море... пиво... кум приехал...
Бывает. Спасибо. Если есть интерес, можно вместе поработать над программой.
В вашем варианте пробелы присутствуют?R6СN "ALI"
CQCW № 001
-
18.07.2020, 08:47 #37
- Регистрация
- 01.03.2009
- Сообщений
- 851
- Поблагодарили
- 444
- Поблагодарил
- 36
Я для себя поменял, чтобы визуально увидеть пробелы, если будут и я их не увидел.
Нет в вашем коде во втором задании двойных пробелов, в смысле они есть из-за наличия двух пробелов в "var characters = 'ае лнорс у';"
но далее в строке для play вы их убираете "pa = result.replace(/ +/g, ' ').trim();"Последний раз редактировалось R3LO; 18.07.2020 в 08:53.
Владимир
-
18.07.2020, 11:00 #38
- Регистрация
- 23.09.2013
- Адрес
- Anapa
- Возраст
- 54
- Сообщений
- 117
- Поблагодарили
- 80
- Поблагодарил
- 25
да-а-а-а.... блин. Закодился я совсем и уже от жары крыша подтекать стала.
Строчку на запрет двух пробелов я прописал и забыл. Проверил - работает. А потом глюкнуло в голове...
С первым заданием - с этим пробелом косым. Так я за второе задание испугался. Подумал, что строчка в коде не отрабатывает должным образом.
Спасибо, что вернули к реальности. Все отлично. И с = теперь дошло. Так нагляднее пробелы увидеть.
Какие еще пожелания и замечания есть?R6СN "ALI"
CQCW № 001
-
18.07.2020, 22:11 #39
- Регистрация
- 23.09.2013
- Адрес
- Anapa
- Возраст
- 54
- Сообщений
- 117
- Поблагодарили
- 80
- Поблагодарил
- 25
Вот ни как не могу реализовать, что бы можно было принудительно прерывать передачу сформированного текста. Пока скрипт до конца не отработает, звук продолжает идти.
При нажатии нескольких кнопок, одновременно запускаются все генераторы. Звучит какофония. Пока только оборвать звук получается путем перезагрузки страницы, что не всегда хорошо.
Настройки каждый раз становятся по умолчанию.R6СN "ALI"
CQCW № 001
-
19.07.2020, 11:35 #40
- Регистрация
- 01.03.2009
- Сообщений
- 851
- Поблагодарили
- 444
- Поблагодарил
- 36
Зачем прерывать передачу? Просто выключите кнопку чтобы на нее не кликалось несколько раз
хоть JS не моя направленность, но проверил - работает!....
пример: экзамен задания 1, файл exam.js, вставить строчку
Код:function exam1(){ // -- вставляем отключение кнопки zad1_btn1 --- document.getElementById("zad1_btn1").disabled = true; // ------------ конец вставки ----------- document.getElementById("zad1_inp2").focus(); [..skip..]
Владимир
-
19.07.2020, 14:11 #41
- Регистрация
- 23.09.2013
- Адрес
- Anapa
- Возраст
- 54
- Сообщений
- 117
- Поблагодарили
- 80
- Поблагодарил
- 25
Зачем прерывать передачу? Просто выключите кнопку чтобы на нее не кликалось несколько раз
Конечно, так же и кнопки ПРОВЕРЬ, чтобы не было соблазна и их нажимать. А вот в конце блока задания, они опять должны стать активными. Надо же и другие задания проходить.
Поэтому, необходимый вариант заключается в том, что при нажатии на любую следующую кнопку, функция должна обрываться. Только так. Вот это и не получается додумать. Задача....
У меня используется Audio API, и звук формирует осцилятор. Если бы был метод простого проигрывания обыкновенного аудио файла (.wav, .mp3), то прервать звук можно простой командой oscillator.stop()
а вот с трансляцией варианта строка=>звук , ну ни как!!! Получается, пока сформированная строка не отзвучит до конца, скрипт будет работать. А при нажатие кнопки второго и третьего задания, формируются новые генераторы и прет какофония. Думать надо.... думать.R6СN "ALI"
CQCW № 001
-
19.07.2020, 16:17 #42
- Регистрация
- 01.03.2009
- Сообщений
- 851
- Поблагодарили
- 444
- Поблагодарил
- 36
из любого цикла выходят либо окончанием выполнения цикла, либо бросаем исключение throw.
Надо или условия писать по всем кнопкам, или после нажатия кнопки переделывать ее на стоп, которая уже по нажатию будет бросать исключение для цикла и выходить из него.
- - - Добавлено - - -
Кстати тоже хорошее решение, при проигрывании отлюбчать все кнопки, а по завершению все кнопки снова включить.Владимир
-
19.07.2020, 16:35 #43
- Регистрация
- 23.09.2013
- Адрес
- Anapa
- Возраст
- 54
- Сообщений
- 117
- Поблагодарили
- 80
- Поблагодарил
- 25
Кстати тоже хорошее решение, при проигрывании отключать все кнопки, а по завершению все кнопки снова включить.
Надо искать способ, что то типе break, kill audio или, как реализовано формирование знаков - громкостью. Ставить громкость в ноль. Вариант хороший, но как вклиниться в работающую функцию.
Либо идти по пути не создавать второй осциллятор, но как в этом самом API это сделать - не знаю. Весь интернет перерыл - пусто!R6СN "ALI"
CQCW № 001
-
20.07.2020, 16:28 #44
- Регистрация
- 23.09.2013
- Адрес
- Anapa
- Возраст
- 54
- Сообщений
- 117
- Поблагодарили
- 80
- Поблагодарил
- 25
Все. Нашел способ. При нажатии любой другой кнопки передача останавливается, при втором нажатии работает второй вариант текста. Т.е. работает только один осциллятор. Бетту версию с русскими буквами пока оставляю такой, как есть. Начинаю делать чисто английский вариант с новым формированием сигнала.
R6СN "ALI"
CQCW № 001
-
20.07.2020, 17:56 #45
- Регистрация
- 19.02.2019
- Адрес
- Минск
- Сообщений
- 340
- Поблагодарили
- 122
- Поблагодарил
- 259
Социальные закладки