Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ППЖПЛекции.doc
Скачиваний:
281
Добавлен:
14.02.2015
Размер:
3.43 Mб
Скачать

Алгоритмизация и программирование

Решение задач с применением ЭВМ связано как с использованием готовых пакетов программных средств (универсальных пакеты, разработанных профессиональными программистами), так и с написанием специализированных программ силами пользователя. Приводится обзор методов решения задач с использованием ПК и языков программирования. Диапазон возможных вариантов очень широк и должен рассматриваться в рамках конкретных задач.

План лекции

  1. Решение задач на ЭВМ

  2. Этапы создания программных средств

  3. Языки программирования

  4. Компиляторы и интерпретаторы

  5. Уровни языков программирования

  6. Поколения языков программирования

  7. Языки программирования высокого уровня

  8. Языки программирования баз данных

  9. Языки программирования для Интернета

  10. Интегрированные системы программирования

  11. Среды быстрого проектирования

  12. Архитектура программных систем

  13. Объектно-ориентированное программирование

  14. Проектирование программ

  15. Использование универсальных пакетов

  16. Системы обработки данных

Решение задачи на эвм

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

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

  1. часть или вся задача решается с использованием языка программирования;

  2. задача разрешима в рамках стандартного пакета;

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

Технология решения подобных задач опреде­ляется программно-инструментальными средствами.К программно-инструменталь­ным средствам относятся:

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

  2. пакеты с языковыми средствами программирования в их среде (макроязыками);

  3. электронные таблицы с соответствующими средствами их настройки;

  4. среды обработки данных и создания программ;

Этапы создания программных средств

В зависимости от специфических особенностей конкретной задачи (ее вычислительной и логической сложности, состава и структуры исходной, промежуточной и результатной информации и т.п.), профессионального уровня подготовки специалистов и ряда других факторов, этапы технологического процесса создания программ мо­гут быть объединены в этапы (рис. 11).

Первый этап технологического процесса представля­ет собой постановку задачи.На этом этапе раскрывается сущность задачи:

  1. формули­руется ее цель;

  2. определяется взаимосвязь с други­ми задачами;

  3. указывается периодичность ее решения;

  4. устанавливаются состав и формы представления входной, про­межуточной и результатной информации;

  5. характеризуются формы и методы контроля достоверности информации на ключевых этапах решения задачи;

  6. специфицируются формы взаимодействия пользователя с ПК в ходе решения задачи и т.п.

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

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

Алгоритм и программа. Управлять компьютером нужно по определенному алгоритму. Алгоритм —это точно определенное описание способа решения задачи в виде конечной (по времени) последовательности действий. Такое описание еще называется формальным. Для представления алгоритма в виде, понятном компьютеру, служат языки программирования. Сначала всегда разрабатывается алгоритм действий, а потом он записы­вается на одном из таких языков. В итоге получается текст программы —полное, законченное и детальное описание алгоритма на языке программирования. Затем этот текст специальными служебными приложениями, которые назы­ваются трансляторами, либо переводится в машинный код, либо исполняется.

Словесный способ описания алгоритмаотражает содержание выполняемых действий средствами естественного языка. К достоинствам этого способа описания следует отнести его об­щедоступность, а также возможность описывать алгоритм с любой степенью детализации. Недостатками способа являют­ся достаточно громоздкое описание (и, как следствие, относи­тельно низкая наглядность), отсутствие строгой формализа­ции в силу неоднозначности восприятия естественного языка.

  1. Постановка задачи

  2. Математическое описание

  3. Разработка алгоритма

  4. Составление программы

  5. Тестирование и отладка

  6. Эксплуатация

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

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

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

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

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

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

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

Процесс тестирования и отладки программ носит итераци­онный характер и считается одним из наиболее трудоемких этапов процесса разработки программ. По оценкам специа­листов, он может составлять от 30до 50%в общей структуре затрат времени на разработку проектов и зависит от объема и логической сложности разрабатываемых программных комп­лексов.