Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Достигнут 3-ий уровень корректности программы.Содержание книги
Поиск на нашем сайте Отладка программы модульной структуры:
Как и в отладке программы блочной структуры я начал с визуального контроля, но большая часть ошибок уже была мной исправлена. Я заметил, что перепутал местами служебные слова INTERFACE и IMPLEMENTATION, тем самым допустив синтаксическую ошибку. Далее я осуществил синтаксический контроль программы, используя тип компиляции make. Компиляция прошла с ошибкой. я забыл исправить синтаксические ошибки, которые по моей невнимательности перешли из блочной структуры в модульную. Проведя метод нисходящего тестирования, я провел тестирование на наборе подготовленных мною тестов. Для отладки программы модульной структуры был использован тот же набор тестов, что и для программы блочной структуры. Компиляция прошла успешно – ошибок не выявлено, следовательно, мной достигнут первый уровень корректности программы.
Мною была проверена основная программа, а подпрограммы заменены «заглушками»:
Проверка основной программы:
UNIT OBIVL; INTERFACE TYPE MATRICA=array[1..5,1..6] of real; MASSIV=array[1..6] of real; VAR A,B:MATRICA; K:MASSIV; i,j:integer; f1,f2:text; IMPLEMENTATION BEGIN assign(f1,’isdan.pas'); assign(f2,'vdan.pas'); reset(f1); rewrite(f2); END.
UNIT PART1; INTERFACE USES OBIVL; Procedure NEWMATR(Var A:MATRICA; Var K:MASSIV); Function STR(Var K:integer):integer; IMPLEMENTATION Procedure NEWMATR; Begin K[1]:=1; K[2]:=4; K[3]:=0; K[4]:=0; K[5]:=0 End; Function STR(Var K:integer):integer; Begin imax:=1; STR:=imax End END;
Program tipovik_v2_mod; USES OBIVL,PART1,PART2; Begin For i:=1 to 5 do begin For j:=1 to 6 do Read(f1,A[i,j]); Readln(f1) end; Writeln(f2,' ':35,'Результаты'); Writeln(f2); MASK(A,K); If STR(K,6)=1 Then begin NEWMATR(A,B); Writeln(f2,' ':20,'SR1=',SR1:6:1,' ':15,'SR2=',SR2:6:1); end else Write(f2,'Наибольшее кол-во эл-тов не в первой строке'); close(f1); close(f2) End.
Тестирование главной программы прошло успешно. Далее было проведено тестирование сегментов-процедур (заглушки я заменял текстами соответствующих подпрограмм, пока не были устранены все заглушки). Результаты полученные в программе на том же наборе тестов не отличаются от результатов которые я посчитал - следовательно все подпрограммы работают корректно.
Я использовал метод структурного тестирования, чтобы убедиться что при данном наборе тестовых данных в тестируемой программе выполняется любой оператор, и при разных тестовых данных проходит все ветвления. Для этого я реализовал метод тестовых счетчиков. Я поместил счетчики на каждую ветвь ветвления, в начало и конец алгоритма.
Program tipovik_v2_mod; USES OBIVL,PART1,PART2; VAR sch1,sch2,sch3:integer; BEGIN sch1:=0; sch2:=0; sch3:=0; assign(f1,'isdan.pas'); assign(f2,'vdan.pas'); reset(f1); rewrite(f2); For i:=1 to 5 do begin For j:=1 to 6 do Read(f1,A[i,j]); Readln(f1) end; Writeln(f2,' ':35,'Результаты'); Writeln(f2); MASK(A,K); If STR(K,6)=1 Then Begin sch1:= sch1+1; NEWMATR(A,B); Writeln(f2,' ':20,'SR1=',SR1:6:1,' ':15,'SR2=',SR2:6:1); end else begin sch2:= sch2+1; Write(f2,‘Наибольшее кол-во эл-тов не в первой строке') end; sch3:= sch3+3; writeln(f2); write(f2,sch1,’ ’,sch2,’ ’,sch3); close(f1); close(f2) End.
Значения счетчиков, полученных при тестировании:
1) 1 0 1 2) 0 1 1
Складываем:
1 1 2
Я узнал значение счетчиков при данном наборе тестов. Очевидно, что все счетчики изменили свои значения, каждая ветвь ветвления и каждый оператор пройдены.
Достигнут 3-ий уровень корректности программы.
Визуальный контроль корректности программы:
· При каждом обращении выполнены правила соответствующих параметров. · Ошибки в водимом тексте отсутствуют.
Синтаксический контроль корректности программы:
|
||
|
Последнее изменение этой страницы: 2020-03-02; просмотров: 178; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.006 с.) |