Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Informatsia_i_informatika.doc
Скачиваний:
6
Добавлен:
05.11.2018
Размер:
455.17 Кб
Скачать

Этапы подготовки и решения задач на эвм

В процессе подготовки и решения на ЭВМ научно-инженерных задач можно выделить следующие этапы:

  • постановка задачи;

  • математическое описание задачи;

  • выбор и обоснование метода решения;

  • алгоритмизация вычислительного процесса;

  • составление программы;

  • отладка программы;

  • решение задачи на ЭВМ и анализ результатов.

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

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

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

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

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

Составление программы. При составлении программы алгоритм решения задачи переводится на конкретный язык программирования. Для программирования обычно используется язык высокого уровня, поэтому составленная программа требует перевода ее на машинный язык.

Отладка программы. Заключается в поиске и устранении синтаксических и логических ошибок в программе.

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

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

В настоящее время в мире существует несколько сотен реально используемых языков программирования. Для каждого есть своя область применения.

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

По этому критерию можно выделить следующие уровни языков программирования:

  • машинные;

  • машинно-оpиентиpованные (ассемблеры);

  • машинно-независимые (языки высокого уровня).

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

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

Языки высокого уровня делятся на:

  • алгоритмические (Basic, Pascal, C и др.), которые предназначены для однозначного описания алгоритмов.;

  • логические (Prolog, Lisp и др.), которые ориентированы не на разработку алгоритма решения задачи, а на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания.

  • объектно-ориентированные (Object Pascal, C++, Java и др.), в основе которых лежит понятие объекта, сочетающего в себе данные и действия над нами.

Структура объектно-ориентированной модели графически представима в виде дерева, узлами которого являются объекты. Свойства объектов описываются некоторым стандартным типом (например, строковым — string) или типом, конструируемым пользователем (определяется как class).

Значением Свойства типа string является строка символов. Значение свойства типа class есть объект, являющийся экземпляром соответствующего класса. Каждый объект-экземпляр класса считается потомком объекта, в котором он определен как свойство. Объект-экземпляр класса принадлежит своему классу и имеет одного родителя. Родовые отношения в представленной модели образуют связную иерархию объектов.

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

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

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

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

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

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