Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
учебник Информатика.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
17 Мб
Скачать
☆

Выполнение и тестирование программы

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

Пример 1. Для программы

var CHISLO: integer;

CHISLO:=CHISLO + 1;        

и (ее кода) будут выявлены две логические ошибки:

  • неизвестность результата ввиду отсутствия в программе оператора вывода, например, write (CHISLO);

  • после добавления оператора вывода в программу и выполнения последней, полученное потребителем значение переменной CHISLO имеет произвольный характер, так как не определено начальное значение этой переменной.

Тогда правильная программа вместо той, которая приведена в примере 1, могла бы иметь вид:

var CHISLO: integer;

input (CHISLO);

CHISLO:=CHISLO+1;                                                                        

write (CHISLO);        .

Тестирование программы имеет целью определение работоспособности программы на всем требуемом диапазоне исходных данных. Программистом составляется представительная выборка исходной информации, которая позволит определить корректность программы при любых входных параметрах.

Для программы из примера 1 задаются набором переменной CHISLO. Так, если среди этих значений будет такое, которое превышает допустимый диапазон типа integer, при выполнении программы в процессе тестирования возникает переполнение разрядной сетки (overflow), что обсуждалось ранее. Это потребует от программиста переделки исходной программы в части описания переменной  CHISLO.

Эволюция использования компьютеров. Проект эвм пятого поколения

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

Эта схема имеет два недостатка:

  1. процесс подготовки задачи к решению на ЭВМ несоизмеримо продолжительнее самого решения: многие месяцы подготовки задачи несопоставимы с несколькими минутами ее решения компьютером;

  1. цепочка «заказчик – ЭВМ» работает в общем случае как неисправный телефон в силу того, что в процессе общения участники этой цепочки используют несколько языков (естественный, математический, язык графических символов, язык программирования и т.д.), часть из которых неоднозначна по смыслу высказываний. Из-за этого результаты решения задачи требуется согласовывать с заказчиком и, возможно, вносить в программу изменения. Это также удлиняет процесс подготовки программного продукта.

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

Вторая причина связана с объективной эволюцией использования компьютеров, которая показана в таблице:

Параметр

Эволюция использования компьютеров

50-е г.г.

60-е г.г.

70-е г.г.

80-е г.г.

с 90-х г.г. 20-го века

Критерий

эффективности использования ЭВМ

Машинные ресурсы

Машинные ресурсы

Человеческие ресурсы: трудоемкость разработки и сопровождения программ

Трудоемкость формализации профессиональных знаний

Полнота и скорость доступа к информации

Расположение пользователя

Машинный зал

Отдельное помещение

Терминальный зал

Рабочий стол

Произвольное мобильное

Тип пользователя

Инженер-

программист

Профессиональный программист

Программист -пользователь

Пользователь с общей компьютерной подготовкой

Слабо обученный пользователь

Тип диалога

Работа за пультом

Обмен перфоносителями и машинными программами

Интерактивный (клавиатура и экран)

Интерактивный по жесткому меню

Интерактивный, графический

интерфейс

Как видно из таблицы, компьютер «приближается» к конечному пользователю, который не является хорошо подготовленным в области общения с компьютером и испытывает значительные затруднения в решении своих прикладных задач с использованием компьютера. В этой связи возникает проблема организации нового типа взаимодействия конечного пользователя и компьютера. Эта проблематика получила выражение в проекте ЭВМ пятого поколения, который был опубликован в начале 80-х годов 20-го столетия в Японии.

Основная идея этого проекта – сделать общение конечного пользователя с компьютером максимально простым, подобным общению с любым бытовым прибором. Для решения поставленной задачи предлагались следующие направления:

  1. разработка простого интерфейса, позволяющего конечному пользователю вести диалог с компьютером для решения своих задач. Подобный интерфейс может быть организован двумя способами: естественно-языковым и графическим. Поддержка естественно-языкового диалога – очень сложная и не решенная пока задача. Реальным является создание графического интерфейса, что и сделано в ряде программных продуктов, например, в ОС Windows’xx. Этот интерфейс обладает наглядностью, не требует специальных знаний. Однако разработка доступных интерфейсов решает проблему только наполовину – позволяет конечному пользователю обращаться к заранее спроектированному программному обеспечению, не принимая участие в его разработке;

  1. привлечение конечного пользователя к проектированию программных продуктов. Это направление позволило бы включить заказчика непосредственно в процесс создания программ, что в конечном итоге сократило бы время разработки программных продуктов и, возможно, повысило бы их качество. Подобная технология связана с автоформализацией профессиональных знаний конечного пользователя и предполагает два этапа проектирования программных продуктов:

  • программистом создается «пустая» универсальная программная оболочка, способная наполняться конкретными знаниями и с их использованием решать практические задачи. Например, эту оболочку можно было бы заполнить правилами составления квартальных и иных балансов предприятий, и тогда она могла бы решать задачи бухгалтерского учета. Либо можно было внести туда правила зачисления абитуриентов, которые изложены ранее и использованы в примерах. В этом случае мы бы получили программный продукт, аналогичный тому, что проектировали выше, и т.д.;

  • конечный пользователь заполняет созданную программистом программную оболочку, вводя в нее знания, носителем которых (в некоторой предметной области) он является. Здесь может  использоваться понятный интерфейс, который обсуждался выше. После этого  программный продукт готов к эксплуатации.

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

Программист

а) программист создает пустую программную оболочку;

Заказчик

б) заказчик (конечный пользователь) наполняет оболочку знаниями

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

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