Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к зачету .doc
Скачиваний:
4
Добавлен:
13.08.2019
Размер:
317.44 Кб
Скачать
  1. Понятие формального языка. Описание синтаксиса языка.

Формальный язык – множество цепочек, построенных из символов некоторого алфавита

Характеристики формального языка:

1)Лексика – алфавит языка (лексемы), конечен

2)Синтаксис - правила, по которым строятся цепочки языка

3)Семантика – смысл языковых конструкций

4)Прагматика – назначение языковых конструкций языка

Формальная грамматика - терминальные символы, нетерминальные символы, множество правил вывода, стартовый символ

Терминальные символы – те символы, из которых строится цепочка

Нетерминальные символы – обозначают промежуточные понятия, которые используются при построении и анализе цепочек, в сами цепочки не входят

Стартовый символ грамматики – нетерминальный символ, из которого с помощью правил вывода выводятся все правильные цепочки данного языка

Правила вывода – описывают, как можно комбинировать символы

Идентификатор – последовательность букв и цифр, начинающихся с буквы

Рекурсия – определение понятия само через себя (прямая/косвенная)

Метаязык – язык, который используется для описания определенного языка; язык, средствами которого исследуются и описываются свойства другого языка, называемого предметным, или объектным (например, изучение иностранного языка)

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

БНФ (Бэкусова Нормальная форма) – формальная система описания синтаксиса, используется для описания синтаксиса языков программирования, данных, протоколов.

БНФ-конструкция определяет конечное число символов (нетерминалов). Кроме того, она определяет правила замены символа на какую-то последовательность букв (терминалов) и символов.

Т записываются непосредственно, N - <в скобках>

Альтернативы в БНФ – «|»

Итерации (будут повторяться) в БНФ – «{}»

  1. Понятия тестирования и отладки. Принципы тестирования.

Программа содержит ошибку, если она ведет себя неразумно с точки зрения пользователя

Разумность программы - синтаксически правильна (при трансляции нет ошибок), правильно выполняет задачу, не делает ничего лишнего, результат получается за разумное время при разумных затратах других ресурсов, должна реагировать на неправильно введенные данные

Тестирование – выполнение программы с целью обнаружения фактического наличия ошибок

Отладка – обнаружение места ошибки и устранение ошибки

Цель тестирования – обнаружить ошибку в программе

Принципы тестирования -

- ошибки в программе есть,

- тест – совокупность исходных данных и ожидаемых результатов,

- тестовые данные должны быть легки для проверки, тесты готовятся заранее(до выхода на машину),

- первые тесты разрабатываются после получения задания на разработку программы до написания программного кода,

- перед тестированием сформулировать цели,

- фиксировать выполненные тесты и реальные результаты,

- тесты одинаковы как для правильных, так и для неправильных входных данных

- программа должна делать то, что должна делать и не делать того, что не должна

- результаты теста изучать досконально и объяснять полностью

- недопустимо ради упрощения тестирования изменять программу

- после исправления программы необходимо повторное тестирование

- ошибки кучкуются

Тест – набор входных и выходных данных для проверки модуля программы

Повторное тестирование - после внесения изменений в программу необходимо заново прогнать весь пакет ранее выполненных тестов

Причины кучкования ошибок - большая часть ошибок оказывается в тех частях, которые более сложны, хуже специфицированы, хуже спроектированы, написаны новичками