1.Логика работы В любом тесте можно выделить: 1.1 Количество вопросов 1.2 Максимальное количество вариантов ответов 1.3 Максимальное количество баллов за правильный ответ Учитывая эти особенности пишем скрипт на java. (Изначально я нпаисал скрипт на vbscript, но к сожалению при размещении на Яndexе он стал конфликтовать с их баннером, написанном на jave). Итак вопросы будем записывать в массив. Одномерный масси не подходит, так как какждый элемент массива может нести только 2 единицы информации (индекс элемента и его значение). Посему выбираем двумерный массив. В javascript явно не указана возможность использовать многомерных массивов, как в vbscript например, но обойти это можно. Положим тест состоит из 14 вопросов, на каждый из которых существует 3 варианта ответа(да, нет, незнаю) и за да начисляют 6 баллов, незнаю-3, нет-0. Массив вопросов будет выглядеть: array_quest (14,3)- четырнадцать вопросов и 3 варианта ответа на каждый соответственно. Для анализа результатов ответов объявляем второй массив (если у кого-ть есть идея, как это сделать покомпактнее, т.е в одном массиве, пишите, буду рад) array [10,6]-четырнадцать ответов и возможное max кол-во баллов за правильный ответ. Так как при переборе этого массива будут варианты, которые не могут получится при ответах (например array[5,2], ведь 2 балла не начисляется), то перед анализом реальные варианты помечаются как true ( например array[3,6]=1). Анализ полученных результатов: Массив двумерный array прокручивается по обеим индексам, если элемент массива равен 1 (true), то его нижний индекс (для массива a(i,j) это j-индекс) суммируется со счётчиком, объявленным глобально. По завершению цикла анализируется счётчик и в зависимости от его значения (sum) выдаётся результат в виде текстового сообщения. 2.Реализация интерфейса При написании теста на javascript возникли следующие вопросы: 2.1 Как в теле скрипта вставить стандартные HTML тэги форматирования? 2.2 Как разместить в теле html-файла кнопки и как написать обработчики нажатия этих кнопок? 2.3 Как менять надпись в теле html-файла. Например есть заголовок

бе-бе-бе

а надо при нажатии кнопки заменить его на

ля-ля-ля

Ответ на первый вопрос: надо использовать команду document.write('

бе-бе-бе

') Результатом выполнения этой команды будет бе-бе-бе (соответствующего вида) Ответ на второй вопрос: Надо использовать тэг тип-кнопка имя-"a1" заголовок-">" при нажатии кнопки запускается функция function1 Ответ на третий вопрос: надо использовать слои. Для примера: вы берёте свою фотографию и вырезаете аккуратно из неё своё лицо, а затем наклеиваете её на фотографию Жан-Клод Ван-Дама. Так вот подложку, т.е фотографию качка условно можно назвать 'слой 0', а то что вы наклеиваете 'слой 1'.Так же и с html-файлом: на основной слой (который никак не указывается) можно наклеивать, перемещать, переименовывать кучу слоёв с точностью до пикселя. Слой задаётся тэгом
Имя слоя
При обработке события нажатии кнопки меняем по необходимости позицию, видимость или заголовок слоя. 3. Сам код с комментариями Весь код содержится в файле с расширением .js который затем включается в основной html-файл: