Лекция 2 "Основы программирования и алгоритмические языки" Тема Процесс программирования




Скачать 64.25 Kb.
НазваниеЛекция 2 "Основы программирования и алгоритмические языки" Тема Процесс программирования
Дата публикации25.02.2013
Размер64.25 Kb.
ТипЛекция
uchebilka.ru > Информатика > Лекция

Лекция 2 "Основы программирования и алгоритмические языки"

Тема 1.2. Процесс программирования

Вычислительные процессы


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

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

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

^ Алгоритмом, в данном случае, является описание действий, которые выполняет компьютер после каждого ввода данных, например:

1) Вычислить место, куда может переместиться игрок, нажав очередную клавишу.

^ 2) Проверить, нет ли препятствий на пути этого перемещения.

3) Если есть препятствие, то отреагировать в соответствии с ним: стена – не пускать, ловушка – поймать и уменьшить «здоровье», клад – прибавить очки, и т.п.

^ 4) Если нет препятствия – запомнить новое положение игрока.

5) Перерисовать сцену.

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

  • понятие, которому они соответствуют. (Например понятию «игрок» соответствуют данные «координаты в лабиринте», «пройденный путь», «набранные очки», «здоровье»);

  • роль, которую они играют, место и способ обработки при вычислениях. (Например, «здоровье» играет роль в условии окончания игры: при достижении нуля игра завершается. Место обработки – при попадании в ловушку – уменьшается и проверяется на предмет окончания игры, при использовании аптечки – увеличивается.)

  • значения, которые они имеют в начале процесса (исходные значения, например, для «здоровья» – 255);

  • ограничения на диапазон, в котором они могут изменяться в ходе вычислений (например, для «здоровья» – 0-255);.

САМОСТОЯТЕЛЬНО

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

  • линейные процессы – все блоки выполняются не зависимо от результатов предыдущего шага;

  • ветвящиеся процессы – очередной блок выбирается в соответствии с результатами предыдущего шага;

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

Алгоритмы


Aлгоритм - это формализованная запись последовательности действий (шагов), выполнение которых приводит к решению поставленной задачи.

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

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

Абстрактная модель вычислителя






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

Например,

Устройство управления «понимает» алгоритм и превращает его в последовательность команд. После выполнения команды проверяются ее результаты и в соответствии с ними выбирается следующий шаг алгоритма.
^

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



Классическая пошаговая запись

Шаг 1: Выбрать фирму, размер и срок вклада;

Шаг 2: Вычислить размер начисленных процентов;

Шаг 3: Если «маловато будет» вернуться на Шаг 1;

Шаг 4: Вложить деньги в фирму.
Граф-схемы алгоритмов





Блок-схемы алгоритмов
Языки проектирования


СХЕМА Поиск;

«Выбор наилучшего места вложения денег »

=== « Установить Достаточно = ложь » *

* ПОКА НЕ ‘Достаточно’

ЦИКЛ ( « Выбрать фирму, размер и срок вклада » *

* « Вычислить размер начисленных процентов ») ;
« Выбрать фирму, размер и срок вклада »

=== . . .
« Вычислить размер начисленных процентов »

=== . . .

КОНЕЦ;

Тема 1.3. Инструментарий программирования


Программирование выполняется на алгоритмическом языке. Уровень языка зависит от его назначения, приближенности к машинным командам и специализации.

^ Языки низкого уровня – Ассемблеры – для системного программирования (операционные системы, драйверы устройств, встраиваемые программы). Глубокие возможности но высокая трудоемкость программирования. Привязаны к конкретной платформе.

^ Универсальные языки высокого уровня – С++, Паскаль, Ява – для проблемного программирования (различные приложения). Широкие возможности, средняя трудоемкость.

^ Специализированные языки – Лисп, Пролог – для решения конкретных классов задач (Искусственный интеллект, экспертные системы). Специфические возможности, низкая трудоемкость.

^ Языки программирования в среде СУБД – SQL – для создания, заполнения, управления и поиска в базах данных. (Создание приложений на базе СУБД). Специфические возможности, низкая трудоемкость.

Инструментарий программирования – это программный комплекс, поддерживающий создание и отладку программ на данном языке. В настоящее время применяются интегрированные среды визуального программирования – Visual C++, Visual Basic, Delphi и им подобные. Поддерживают разработку путем расположения пиктограм элементов программы в полях формы. Имеют встроенные редакторы и отладчики, компиляторы и построители загрузочных модулей или интерпретаторы исходных текстов.
^

Этапы программирования


При создании программ различают следующие виды работ:

  • спецификацию – описание требований, предъявляемых к обрабатываемым данным, алгоритмам и к программе в целом;

  • кодирование – отображение алгоритма в соответствии со спецификациями в текст программы;

  • верификацию – проверку полученного текста программы на выполнение требований спецификации;

  • отладку – поиск и исправление ошибок в программе;

  • тестирование – испытание программы на специально подобранных тестовых данных;

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

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

Технология программирования


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

Контрольные вопросы и задания:



/home/server10/uchebilka.ru/pars_docs/refs/2/1760/1760.doc 5.9.2007 09:43:00 PM


Добавить документ в свой блог или на сайт

Похожие:

Лекция 2 \"Основы программирования и алгоритмические языки\" Тема Процесс программирования iconЛекция 5 "Основы программирования и алгоритмические языки" Тема Структура...
В лекции 4 (тема 4) говорилось, что концепция процедурного программирования состоит в том, что программа складывается из последовательности...

Лекция 2 \"Основы программирования и алгоритмические языки\" Тема Процесс программирования iconМетодические указания к выполнению контрольной работы по дисциплине...
Методические указания к выполнению контрольной работы по дисциплине «Основы программирования и алгоритмические языки» для студентов...

Лекция 2 \"Основы программирования и алгоритмические языки\" Тема Процесс программирования iconЛекция 4 "Основы программирования и алгоритмические языки" Тема Составление...
Обычно это программа, которая просто выводит на экран одну строку. Например, на языке Pascal

Лекция 2 \"Основы программирования и алгоритмические языки\" Тема Процесс программирования iconЛекция 6 "Основы программирования и алгоритмические языки" Тема Типи...
В этой лекции мы можем обобщить сведения о данных, которые стали нам известны из предыдущих лекций и учебника. Итак

Лекция 2 \"Основы программирования и алгоритмические языки\" Тема Процесс программирования iconЛекция 3 "Основы программирования и алгоритмические языки" Тема Устройство компьютера
Электронная Вычислительная Машина (эвм) – это программируемое устройство для обработки информации, передаваемой с помощью электрических...

Лекция 2 \"Основы программирования и алгоритмические языки\" Тема Процесс программирования iconКурсовой проект по дисциплине: «Основы программирования и алгоритмические языки»

Лекция 2 \"Основы программирования и алгоритмические языки\" Тема Процесс программирования iconКурсовой проект по дисциплине: «Основы программирования и алгоритмические языки»

Лекция 2 \"Основы программирования и алгоритмические языки\" Тема Процесс программирования iconЛекция 7 "Основы программирования и алгоритмические языки" Тема Операції...
Операция, это способ обработки данных, который приводит к вычислению нового данного – результата операции. Например, операция сложения...

Лекция 2 \"Основы программирования и алгоритмические языки\" Тема Процесс программирования iconПрактическая работа №19 Тема : Основы программирования в среде
Тема: Основы программирования в среде rad. Установка Delphi, знакомство с интерфейсом, создание первой простой программы

Лекция 2 \"Основы программирования и алгоритмические языки\" Тема Процесс программирования iconПрактическая работа №24 Тема : Основы программирования в визуальной среде
Тема: Основы программирования в визуальной среде (rad1). Установка Delphi (Lazarus), знакомство с интерфейсом, создание первой простой...

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
uchebilka.ru
Главная страница


<