User Tools

Site Tools


Sidebar






Old

project_sergeenkov

Чекер для работы с html страницей

Задача

Общая постановка задачи

Расстановка тегов. Требуется написать программу, получающую на вход html-страницу, представляющую собой код “простой” html-страницы и проверяющую ее на валидность. Программа должна: - вывести correct, если страница валидна или wrong в ином случае - вывести номер строки, в которой произошла ошибка

html-страница, состоит из тегов и их содержимого, заключенного в эти теги. Теги представляют собой некоторые ключевые слова, заданные в треугольных скобках. Например, <tag> (где tag - имя тега). Область действия данного тега распространяется до соответствующего закрывающего тега </tag> который отличается символом /. Теги могут иметь вложенный характер, но не могут пересекаться <tag1><tag2></tag2></tag1> - верно <tag1><tag2></tag1></tag2> - не верно

Существуют теги, не требующие закрывающего тега.

Валидной является html-страница, в коде которой всякому открывающему тегу соответствует закрывающий (за исключением тегов, которым закрывающий тег не требуется)

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

Пример

example.html
<html>
  <head>
    <title>HTML Document</title>
  </head>
  <body>
    <p><b>Этот текст будет полужирным,<br><i>а этот — ещё и курсивным</i></b>
    </p>
  </body>
</html>

Результат: correct

project_sergeenkov.txt · Last modified: 2022/12/10 09:08 (external edit)