Главная > Качество программы
1994
Имя входного файла: a.in
Имя выходного файла: a.out
Ограничение времени: 30 секунд

Чтобы автоматизировать проверку качества программного продукта, были выработаны критерии, по которым определяются плохие и хорошие черты программы. Некоторые критерии касались общего стиля программирования. В данной задаче требуется найти значения для простейших из этих критериев.

Напишите программу, которая вводит из файла исходный текст программы на языке Pascal и определяет:

  • Количество строк в программе.
  • Общее число символов в программе.
  • Количество пустых строк в программе.
  • Количество комментариев в программе.
  • Общее число символов в комментариях (включая ограничители комментария).
  • Количество операторов goto.

Следующая информация поможет вам вспомнить структуру программы на языке Pascal. Текст программы записывается в свободном формате. Строки могут быть произвольной длины. Текст комментария начинается с символа { и заканчивается символом }. Строковая константа начинается и заканчивается символом апострофа '. Строковая константа не может располагаться на нескольких строках. Два апострофа подряд '' внутри строковой константы обозначают один символ апострофа и не являются концом или началом строковой константы. Однако при подсчете '' считаются как два символа. Фигурные скобки { и } внутри строковой константы не являются ограничителями комментария, так же, как и апострофы внутри комментария не являются ограничителями строковой константы.

Файл исходных данных содержит правильную (не содержащую синтаксических ошибок) программу на языке Pascal. Файл не содержит символов табуляции. Строки могут быть сколь угодно длинными. Символы перевода строки при подсчете не учитываются. Длина файла исходных данных не превосходит 64-х Кбайт.


Пример

a.ina.out
program TEST;
    { раздел описания переменных:
    }
var i: integer;
    s: string;
begin
   s := 'Печатаем число '; {это комментарий}
   for i := 1 to 5 do
      writeln (s, i);
   s := '{эта строка не является комментарием}';
end.  {конец программы TEST}
Количество строк в программе = 11
Общее число символов в программе = 247
Количество пустых строк в программе = 0
Количество комментариев в программе = 3
Общее число символов в комментариях = 73
Количество операторов GOTO = 0

 
Hosted by uCoz