Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТЯП-Лекция 01.docx
Скачиваний:
29
Добавлен:
11.06.2015
Размер:
3.67 Mб
Скачать

2. Сущность, роль и основные принципы технологии программирования

2.1. Этапы решения задач на эвм

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

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

  2. поиск метода решения,

  3. проектирование решающего устройства(системы, технологии),

  4. его конструирование,

  5. внедрение,

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

  7. и модернизация.

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

2.2. Задачи технологии программирования

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

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

Кроме того, огромную роль при разработке программ, особенно больших программно-аппаратных проектов, играют системы поддержки управления проектами, в том числе системы автоматизации проектирования, сопровождения программ в процессе внедрения и эксплуатации. Все эти системы, наряду с системами автоматизации программирования, входят в сферу технологии программирования. Благодаря её развитию производительность труда программистов за 60 лет выросла в 1000 раз27(т.е., в среднем она растёт почти в 17 раз за год).

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]