рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Этапы решения задач на компьютерах. Трансляция, компиляция и интерпретация

Этапы решения задач на компьютерах. Трансляция, компиляция и интерпретация - раздел Менеджмент, Общее понятие о базах данных. Основные понятия систем управления базами данных. Модели данных. 10 Знать: Основные Этапы Создания Программных Продуктов; По...

знать: основные этапы создания программных продуктов; понятия «трансляция», «компиляция», «интерпретация»; их различие

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

 

Этапы решения задач на компьютерах.

 

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

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

2. математическая формализация;

3. построение алгоритма;

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

5. отладка и тестирование программы;

6. проведение расчетов и анализ полученных результатов.

 

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

 

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

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

 

2 Математическая формализация (Моделирование).

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

 

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

 

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

 

3 Построение алгоритма.

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

 

4 Составление программы на языке программирования (Программирование).

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

 

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

 

5 Отладка и тестирование программы.

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

 

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

 

Таким образом, тестирование и отладка включают в себя синтаксическую отладку; отладку семантики и логической структуры программы; тестовые расчеты и анализ результатов тестирования; совершенствование программы.

 

6 Проведение расчетов и анализ полученных результатов .

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

Пример. Пусть тело брошено вертикально вверх с начальной скоростью V0 с некоторой высоты Н0. Определить его местоположение и скорость в заданный момент времени.

На первом этапе обычно строится описательная информационная модель объекта или процесса. В нашем случае с использованием физических понятий создается идеализированная модель движения объекта. Из условия задачи можно сформулировать следующие основные предположения:

  • тело мало по сравнению с Землей, поэтому его можно считать материальной точкой;
  • скорость бросания тела мала, поэтому:
    • ускорение свободного падения можно считать постоянной величиной;
    • сопротивлением воздуха можно пренебречь.

На втором этапе создается формализованная модель, т. е. описательная информационная модель записывается с помощью какого-либо формального языка.

Из курса физики известно, что описанное выше движение является равноускоренным. При заданных начальной скорости (Vo), начальной высоте (Но) и ускорении свободного падения (g = 9,8 м/с2) зависимость скорости (V) и высоты (Н) от времени (t) можно описать следующими математическими формулами:

(1)

(2)

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

  • создание алгоритма решения задачи и его кодирование на одном из языков программирования;
  • формирование компьютерной модели с использованием одного из приложений (электронных таблиц, СУБД и т. д.).

Для реализации первого пути надо построить алгоритм определения Координаты тела в определенный момент времени и записать его на псевдокоде или построить блок-схему алгоритма.

алг Движение_тела1

нач

вещ: V0, H0, H, t, g:=9.8

ВВОД: V0

ВВОД: H0

ВВОД: t

H := H0+V0*t – (g*t2)/2

ВЫВОД: H

кон

 

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

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

При переводе на язык Basic (Бейсик) консольная программа может выглядеть так:

Sub Main()

Dim V0 As Double, H0 As Double, H As Double, t As Double, g As Double

g = 9.8

V0 = InputBox("Начальная скорость:")

H0 = InputBox("Начальная высота:")

t = InputBox ("Время полета:")

H = H0 + V0 * t - (g * t * t) / 2

MsgBox("Искомая высота = " & H)

End Sub

При переводе на язык C# (Си шарп):

static void Main()

{

double V0, H0, H, t, g = 9.8;

Console.WriteLine("Начальная скорость:");

V0 = double.Parse(Console.ReadLine());

Console.WriteLine("Начальная высота:");

H0 = double.Parse(Console.ReadLine());

Console.WriteLine("Время полета:");

t = double.Parse(Console.ReadLine());

H = H0 + V0 * t - (g * t * t) / 2;

Console.WriteLine(("Искомая высота = {0}", H);

}

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

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

Если компьютерная модель исследуется в приложении, например в электронных таблицах, можно провести сортировку или поиск данных, построить диаграмму или график и т. д.

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

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

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

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

Компоновщик – модуль системы программирования или самостоятельная программа, которая собирает результирующую программу из объектных модулей и стандартных библиотечных модулей. Этот процесс называется компоновкой, его результатом и будет исполняемый файл (как правило, имеющий расширение .exe). С процедурой интерпретации компоновка не связана.

Интерпретатор анализирует и тут же выполняет программу покомандно, по мере поступления ее исходного кода на вход интерпретатора.
Алгоритм работы простого интерпретатора:
1) прочитать инструкцию;
2) проанализировать инструкцию и определить соответствующие действия;
3) выполнить соответствующие действия;
4) если не достигнуто условие завершения программы, прочитать следующую инструкцию и перейти к пункту 2.


– Конец работы –

Эта тема принадлежит разделу:

Общее понятие о базах данных. Основные понятия систем управления базами данных. Модели данных. 10

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

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

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Сетевые технологии обработки данных. Компоненты вычислительных сетей
знать: назначение и краткую характеристику основных компонентов вычислительных сетей   Компьютерная сеть — это соединение компьютеров при помощи к

Принципы организации и основные топологии вычислительных сетей. Принципы построения сетей
знать: логическую архитектуру компьютерных сетей; базовые виды топологий, систему имен в Интернете   Топология сети Топология сети — это

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

Системы искусственного интеллекта
  Этот класс пакетов включает: информационные системы, поддерживающие диалог на естественном языке (естественно-языковый интерфейс); экспертные системы, позволяющие давать рекомендаци

Моделирование как метод познания
знать: понятие объекта и модели; свойства объекта; назначение моделирования, цели моделирования; этапы моделирования уметь: выделять свойства и па

Тип модели зависит от информационной сущности моделируемой системы, от связей и отношений ее подсистем и элементов, а не от ее физической природы.
Математические модели. Математическая модель — приближенное описание объекта моделирования, выраженное с помощью математической символики. Математическая модель — это у

Методы и технологии моделирования
знать: основные методы и технологии создания моделей уметь: выбирать виды и формы моделей для решения конкретной задачи Этапы компьюте

Информационная модель объекта
знать: основные формы информационных моделей уметь: выбирать формы информационных моделей для решения конкретной задачи; интерпретировать результа

Алгоритм и его свойства. Способы записи алгоритма
знать: понятие алгоритма, формы записи алгоритма, свойства алгоритма, основные элементы блок-схемы алгоритма уметь: «читать» схемы алгоритмов; сос

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

Интегрированные системы программирования включают в себя
· текстовый редактор · компилятор · редактор связей · библиотеки функций · отладчик (пошаговое выполнение)   Визуальные среды быстрого про

Алгоритмы разветвляющейся структуры
знать: основные конструкции ветвления; основные операторы ветвления; порядок выполнения операций алгоритмической структуры «ветвление» уметь: выпо

Объектно-ориентированное программирование
  Объектно-ориентированный язык – язык программирования, поддерживающий понятие объектов, их свойств и методов обработки, а также поддерживающий наследование и полимо

Интегрированные среды программирования
знать: основные элементы систем программирования, назначение элементов систем программирования уметь: составлять, редактировать и выполнять отладк

Типовые алгоритмы (работа с массивами, рекурсивные алгоритмы и т.д.)
знать: основные алгоритмы обработки одномерных массивов, поиска максимума и минимума, сортировки, сдвига уметь: записывать типовые алгоритмы на ал

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

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

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

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги