Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Назначение и состав внешней спецификации задачи



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

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

Разработанные алгоритм и программа считаются правильными, если результаты их выполнения при любых входных данных строго соответ ствуют требованиям внешней спецификации. Любое несоответствие результатов считается свидетельством ошибки алгоритма или программы. Внешняя спецификация прикладной программы включает:

• назначение программы;

• описание входных данных;

• описание формы представления результатов при допустимых входных данных;

• перечисление аномалий во входных данных и реакций программы на

них.

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

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

Программа может быть хорошей и плохой.

В случае плохой программы могут иметь место:

• непонятный текст выходных данных;

• аварийное завершение ее при недопустимых входных данных. (При этом часто отсутствуют сообщения с разъяснением причины).

Программа считается хорошей, если выполнены следующие требования:

• текст выходных данных легко понимается, и в него включены не только результаты решения, но и входные данные решаемой задачи;

• тексты с выходными данными легко записываются и легко исправляются;

• при обнаружении аномалий формируется легко понимаемый текст с диагностикой выявленных ошибок в данных.

8. Алгоритм: понятие, свойства, способы описания.

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

Свойства алгоритмов:

  1. понятность
  2. однозначность
  3. дискретность (пошаговость)
  4. массовость (универсальность)
  5. результативность
  6. конечность
  7. безошибочность

Очевидно, что предписание "Пойди туда, не знаю куда, принеси то, не знаю что" алгоритмом не является.

В качестве исполнителя алгоритмов в "докомпьютерную" эру подразумевался человек (в крайнем случае, животное - в цирке). Человек постоянно пользуется алгоритмами при решении задач, не задумываясь над этим, машинально (автоматически). Наглядными примерами алгоритмов являются различные инструкции, правила, рецепты. Открывая дверь ключом, никто не размышляет над тем, как это сделать. Но чтобы научить этому другого, придется составить алгоритм. Например, так:

1. Достать ключ.

2. Вставить ключ в замочную скважину.

3. Повернуть ключ против часовой стрелки на 2 оборота.

4. Вынуть ключ.

Этот алгоритм обладает всеми необходимыми свойствами. Но если переставить второе и третье действия, алгоритм тоже можно будет выполнить, но дверь не откроется! Вот почему важен не только набор действий, но и их порядок. Кроме того, в приведённом примере следует обратить внимание на два обстоятельства. Первое не требует пояснений: всякий алгоритм должен иметь имя. Второе состоит в том, что перед выполнением алгоритма задаётся или определяется некоторое начальное состояние,исходные условия алгоритма: открывающий дверь должен находиться перед ней, а не переходить улицу перед подъездом. И ключ также должен находиться под рукой.

Сегодня в качестве исполнителей алгоритмов человеку служат многие автоматические устройства и, прежде всего, конечно, компьютер. При этом составление алгоритма должно быть особенно ответственным и тщательным, так как машина не может домысливать и исправлять ошибки. В этом смысле она - идеальный исполнитель. При реализации алгоритма для ЭВМ его шаги становятся операторами, а вся их последовательность - программой. Для исполнителя всегда нужно определить те команды, которые он должен и может выполнять, чтобы совершать действия, предусмотренные алгоритмом. Набор таких команд называется системой команд исполнителя. Таких команд ограниченное число и их не может быть много. Чем меньше команд, тем легче построить техническое устройство в роли их исполнителя. И если исполнителем получена команда, не входящая в его систему команд или неправильно заданная, он должен сообщить об отказе. Т.к. необходимо, чтобы исполнитель получил алгоритм в понятной ему форме, становится важным, каким способом представлен алгоритм.

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

1. словесный;

2. табличный;

3. графический;

4. программа на алгоритмическом языке.

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

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

1. линейный алгоритм (образование последовательности из нескольких команд);

2. алгоритм ветвления (выбор одной или нескольких команд);

3. циклический алгоритм (повторение одной или нескольких команд с заданным количеством повторов или в зависимости от некоторого условия);

4. вспомогательный алгоритм (самостоятельный алгоритм, облегчающий реализацию модульного принципа составления программы).

Использование комбинаций таких структур позволяет реализовать практически любой алгоритм.

9. Трансляция программ: компиляторы и интерпретаторы.

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

Транслирующие программы делятся на две категории: интерпретаторы и компиляторы.

Интерпретатор преобразует небольшой фрагмент исходной программы в машинные команды и, лишь дождавшись, когда компьютер их выполнит, переходит к обработке следующего фрагмента.

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

Каждый из этих способов преобразования имеет свои достоинства и недостатки.

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

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

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

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

10. Интегрированная среда программирования: назначение, состав, основные приемы работы.

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

Обычно среда программирования включает в себя:

· текстовый редактор;

· компилятор и/или интерпретатор;

· средства автоматизации сборки;

· отладчик.

Редактор исходного кода — текстовый редактор для создания и редактирования исходного кода программ. Он может быть отдельным приложением, или встроен в интегрированную среду разработки (IDE).

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

Подсве́тка си́нтаксиса — выделение синтаксических конструкций текста с использованием различных цветов, шрифтов и начертаний. Обычно применяется в текстовых редакторах для облегчения чтения исходного текста, улучшения визуального восприятия. Часто применяется при публикации исходных кодовв Интернете.

Иногда интегрированная среда программирования содержит также средства для интеграции с системами управления версиями и разнообразные инструменты для упрощения конструирования графического интерфейса пользователя. Многие современные среды программирования также включают браузер классов, инспектор объектов и диаграмму иерархии классов – для использования при объектно-ориентированной разработке программного обеспечения. Хотя, и существуют среды разработки, предназначенные для нескольких языков программирования – такие, как Eclipse, NetBeans, Embarcadero RAD Studio, Qt Creator или Microsoft Visual Studio, обычно среда разработки предназначается для одного определённого языка программирования – как, например, Visual Basic, Delphi, Dev-C++.

Частный случай интегрированных сред программирования – среды визуальной разработки, которые включают в себя возможность визуального редактирования интерфейса программы.

Среда визуальной разработки – среда разработки программного обеспечения, в которой наиболее распространенные блоки программного кода представлены в виде графических объектов. Применяются в основном для создания прикладных программ и разработки графического интерфейса пользователя (GUI).

Преимущества:

· быстрота разработки;

· лёгкость освоения;

· стандартизация внешнего вида программ.

Недостатки:

· привязка к конкретной среде разработки связана с проблематичностью перехода на другую среду разработки;

· затруднённое использование нестандартных компонентов;

· наличие недокументированных особенностей компонентов.

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

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





Дата публикования: 2015-01-24; Прочитано: 1450 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...