Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Основные этапы решения задач на компьютере




Средства создания программ. Основные этапы компьютерного решения задач.

Ответы: Программи́рование — в обычном понимании, это процесс создания компьютерных программ

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

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

Современные системы программирования включают в себя все указанные компоненты и называются интегрированными системами.

Исходный текст программы можно получить без записи его вручную в текстовом редакторе. Существуют системы визуального программирования — RAD -среды (Rapid Application Development), которые, не исключая возможности записи программы вручную, позволяют создавать текст программы автоматически, путем манипуляций со стандартными элементами управления, включенными в RAD-среду. Поэтому для RAD-среды понятие «программирование» часто заменяют понятием «проектирование».

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

  • процедурное программирование — это программирование, при котором выполнение команд программы определяется их последовательностью, командами перехода, цикла или обращениями к процедурам;
  • объектно-ориентированное программирование – программирование, при котором формируются программные объекты, имеющие набор свойств, обладающие набором методов и способные реагировать на события, возникающие как во внешней среде, так и в самом объекте (нажатие мыши, срабатывание таймера, превышение числовой границы и т.д.). Таким образом, выполнение той или иной части программы зависит от событий в программной системе.

Объектно-ориентированное программирование (ООП) не исключает, а охватывает технологию процедурного программирования.

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

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

Первый этап – постановка задачи. На этом этапе требуется хорошо изучить предметную область задачи. Нужно чётко определить цель задачи, дать словесное описание содержания задачи и продумать общий подход к её решению. Для нашей задачи можно предложить такое описание: ввести два целых числа, сложить их и вывести сумму в качестве результата решения задачи.

Второй этап – математическое или информационное моделирование. Цель этого этапа – создать такую математическую модель решаемой задачи, которая может быть реализована на компьютере. Часто математическая постановка задачи сводится к простому перечислению формул и логических условий, однако возможно, что для полученной модели известны несколько методов решения, и тогда следует выбрать лучший из них. Для нашей задачи данный этап будет выглядеть так: введённые в компьютер числа запомним в памяти под именами А и В, затем вычислим сумму этих чисел по формуле А+В, и результат запомним в памяти под именем Summa.

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

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

Алгоритм должен обладать рядом свойств.

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

  • О днозначность алгоритма, под которой понимается единственность толкования исполнителем правил и порядка выполнения действий. Для этого алгоритм должен быть записан командами из системы команд исполнителя. Для нашего примера исполнитель должен понимать такую запись действий, как А + В.
  • Конечность алгоритма – обязательность завершения каждого из действий и всего алгоритма в целом. Наш алгоритм обладает этим свойством, так как после выполнения действий ввода исходных данных, вычисления суммы и вывода результата алгоритм завершается.
  • Результативность алгоритма, предполагающая, что его выполнение завершится получением определённых результатов. В нашем примере всегда для целых чисел А и В может быть вычислена сумма.
  • Массовость, т.е. возможность применения алгоритма к целому классу задач, отвечающих общей постановке задачи. Для того, чтобы алгоритм обладал свойством массовости, следует составлять его с использованием обозначения величин и избегая конкретных значений. Наш алгоритм позволяет правильно посчитать сумму не только для чисел 2 и 3, но и для любой пары целых чисел.
  • Правильность алгоритма, под которой понимается способность алгоритма выдавать правильные результаты решения поставленной задачи. В нашем примере используется формула сложения целых чисел, и для любой пары целых чисел результат выполнения алгоритма будет равен их сумме, что и требуется.

Существует несколько типов алгоритмов:

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

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

в) Циклический алгоритм – это алгоритм, содержащий многократное выполнение одних и тех же шагов при различных значениях промежуточных данных.

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

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

Пятый этап – трансляция программы. Трансляция означает перевод команд языка программирования в компьютерные двоичные коды. На этом этапе происходит проверка программы на ее соответствие правилам (синтаксису) языка программирования и при отсутствии синтаксических ошибок создается исполняемый файл программы. Исполняемый файл содержит инструкции в двоичном коде. Если транслятор обнаруживает в программе несоответствия синтаксису, то исполняемый файл создать не удастся. Программист должен устранить несоответствия (исправить синтаксические ошибки). После этого необходимо проверить программу на наличие логических ошибок. Для этого нужно подобрать систему тестов (набор исходных данных с заранее известным результатом) и сравнить выдаваемые программой результаты с контрольными. Подробнее об этом в следующем разделе.

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

Отладка программы сложный и нестандартный процесс. Исходный план отладки заключается в том, чтобы проверить программу на контрольных примерах. Под контрольными примерами подразумеваются различные комбинации исходных данных. Контрольные примеры выбираются так, чтобы при работе были задействованы все ветви алгоритма. Дело в том, что некоторые ошибки в программе могут проявиться только при попытке выполнения конкретных действий. Детализация плана зависит от того, как поведёт себя программа на этих примерах: на одном она может зациклиться, на другом дать явно неверный ответ и т.д. Сложные программы отлаживают отдельными фрагментами.

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

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

 




Поделиться с друзьями:


Дата добавления: 2015-04-24; Просмотров: 3159; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.017 сек.