Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Проверка программ на ЭВМ





 

В экзаменационных задачах и заданиях проверка правильности составленных программ проводится на ЭВМ путем их испытания на специально подбираемых тестах. Эта работа проводится препода­вателями или экзаменаторами по завершении отладки программ на ЭВМ.

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

1) программа объявляется содержащей ошибки, если можно ука­зать тесты, при которых выполнение программы на ЭВМ приводит к отказу, сбою или получению неправильных результатов;

2) программа является правильной, если при любых допустимых исходных данных она дает правильные результаты.

Напомним два дополнительных, но весьма существенных опре­деления допустимости исходных данных:

1) исходные данные считаются допустимыми, если для этих данных существует решение поставленных задач;

2) исходные данные недопустимы, если для этих данных постав­ленная задача не имеет решений.

Наконец правильность результатов решения регламентируется следующими двумя определениями:

1) результаты решения правильные, если они соответствуют требованиям поставленной задачи;

2) результаты решения неправильные, если они противоречат требованиям поставленной задачи.

Подбор тестов для проверки программ опирается на некоторые общие принципы, среди которых можно выделить следующие:

1) проверка частных случаев задачи;

2) проверка основных случаев задачи;

3) проверка граничных случаев.

Частные случаи - те, которые допускают простейшие способы решения и проверки правильности результатов. Граничными случаями объявляются данные, которые лежат на границе между допустимыми и недопустимыми данными.

Разбор этих понятий проведем на примере типичной экзамена­ционной задачи по информатике.

Задача. «Средняя зарплата».

Среди N сотрудников отдела выделить тех, кто получает зарплату выше средней по данным из следующей таблицы:

 

Иванов начальник  
Петров сотрудник  
Сидоров секретарь  

 

Типичность этой задачи заключается в том, что она является одной из задач обработки данных, представленных в нашем случае таблицей. Частным случаем в этой задаче является таблица, состо­ящая из одной строки (случай N = 1). Граничным случаем - ситу­ация, когда все сотрудники получают одинаковую зарплату и никто из них не получает зарплату выше средней.

Типичными ошибками в программах решения этой задачи может быть отсутствие обработки частного случая, когда N = 1, либо отсутст­вие ответа на граничную ситуацию, когда все получают одинаковую зарплату.

Приведем примеры тестов, применявшихся при проверке на ЭВМ правильности программ решения этой задачи:

1) тест1 (проверка основного случая):

 

Иванов начальник  
Сидоров секретарь  

 

2) тест2 (проверка частного случая):

 

Иванов начальник  

 

3) тест3 (проверка граничных ситуаций):

 

Иванов начальник  
Петров сотрудник  

 

Независимо от языка программирования и способа ввода-вывода данных отсутствие каких бы то ни было ответов - есть «отказ», вывод избыточных данных или неполные данные - есть «сбой», непра­вильный список - есть неправильный результат решения.

Правильными ответами с точностью до формулировок в этой задаче являются:

ответ1 (основной случай):

 

Иванов начальник  

 

ответ2 (частный случай):

«никто не получает зарплату выше средней»

 

ответ3 (граничный случай):

«никто не получает зарплату выше средней»

 

Приведем правильное решение поставленной задачи в форме про­граммы на языке Basic, в которой исходные данные записываются в списке операторов data. Разработку приводимой ниже программы проведем, начиная с составления сценария, в котором учитываются все ситуации и частные случаи постановки задачи.

Сценарий

список сотрудников:

           
   
   
 
 


< фамилия> < долж> < з/плата> *

… … …

 
 


средняя з/плата = < среднее>

з/плата выше средней:

               
   
     
 
 
 
 


< фамилия> < з/плата> *

… … …

 
 


не получает никто

 

Программа Алгоритм

' выше средней з/платы алг «выше средней з/платы

сls нач

? «сотрудники:» вывод «сотрудники:»

do цикл

read Hn$, dl$, zp чтение fm$, dl$, zp

if fm$=«» then exit do если fm$=«» то выход

? fm$, dl$, zp вывод fm$, dl$, zp

sum = sum + zp sum = sum + zp

n = n + 1 n = n + 1

loop кцикл

sr = sum/n sr = sum/n

? «средняя з/плата=»; sr вывод («средняя 3/nлama=»; sr)

? «з/плата выше средней:» вывод(«з/плата выше средней:»)

restore zplts перезагрузка данных

ns = 0 ns = 0

for k = 1 to n от k = 1 до п

read fm$, dl$, zp чтение fm$, dl$, zp

if zp > sr then если zp > sr то

? fni$, zp вывод (fm$, zp)

ns = ns + 1 ns = ns + 1

end if кесли

next k кцикл

if ns = 0 then если ns = 0 то

? «нe получает никто» вывод («не получает никто»)

end if кесли

end кон

 

zplts: 'данные о зарплате:

data «Иванов», «начальник», 250000

data «Сидоров», «секретарь», 90000

data «», «», 0

 

Проверку правильности этой программы следует провести на указанных выше трех тестах. Достоинства приведенной программы:

1) хорошо организованный вывод результатов, совмещенный с выводом исходных данных (свойства, заложенные в сценарий);

2) удобная организация структуры программы, позволяющая локализовать возможные ошибки (свойства структурированных алгоритмов);

3) удобная организация исходных данных в тексте программы, позволяющая упростить процедуру тестирования и отладки программы на ЭВМ.







Дата добавления: 2014-11-12; просмотров: 518. Нарушение авторских прав; Мы поможем в написании вашей работы!




Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


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


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Понятие о синдроме нарушения бронхиальной проходимости и его клинические проявления Синдром нарушения бронхиальной проходимости (бронхообструктивный синдром) – это патологическое состояние...

Опухоли яичников в детском и подростковом возрасте Опухоли яичников занимают первое место в структуре опухолей половой системы у девочек и встречаются в возрасте 10 – 16 лет и в период полового созревания...

Способы тактических действий при проведении специальных операций Специальные операции проводятся с применением следующих основных тактических способов действий: охрана...

Методы анализа финансово-хозяйственной деятельности предприятия   Содержанием анализа финансово-хозяйственной деятельности предприятия является глубокое и всестороннее изучение экономической информации о функционировании анализируемого субъекта хозяйствования с целью принятия оптимальных управленческих...

Образование соседних чисел Фрагмент: Программная задача: показать образование числа 4 и числа 3 друг из друга...

Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

Studopedia.info - Студопедия - 2014-2025 год . (0.013 сек.) русская версия | украинская версия