2803

Основные этапы решения задач на ЭВМ

Лекция

Информатика, кибернетика и программирование

Основные этапы решения задач на ЭВМ 1. Математическая формулировка задачи (формализация условий задачи). Любая задача подразумевает наличие входных данных, которые в процессе её решения преобразуются в выходные данные. На этапе формализации...

Русский

2012-10-19

45.5 KB

48 чел.

Лекция 1

Основные этапы решения задач на ЭВМ

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

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

2. Выбор численного метода решения задач данного класса.

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

3. Разработка алгоритма решения задач данного класса (алгоритмизация), то есть запись методики решения задачи выбранным методом.

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

Для алгоритма должны быть характерны следующие свойства:

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

Существует много способов документирования алгоритмов, но все они должны содержать средства для отображения:

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

Доказано, что для представления любого алгоритма достаточно набора из 2-х базовых элементов, называемых структурами управления. Это «следование» и «ветвление». Часто в качестве альтернативного выбора используются «обход» и «циклическое исполнение» в двух разновидностях: «цикл ДО» и «цикл ПОКА». Блок-схемы структур управления приведены на рисунке 1.

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

4. Программирование разработанного алгоритма, то есть запись конкретного алгоритма на языке конкретной ЭВМ.

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

Рис. 1

Вплоть до 50-х годов XX века это именно так и было, и программирование сводилось к написанию программ в машинных кодах для каждой ЭВМ, при этом нужно было учитывать её конкретные особенности. Это имело следующие недостатки:

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

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

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

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

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

По назначению языки высокого уровня делятся на 3 группы.

1 группа. Проблемно-ориентированные языки – предназначенные для решения частных задач обработки данных из конкретной прикладной области (языки САПР, СУБД, систем искусственного интеллекта).

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

3 группа. Универсальные языки – включают средства обработки данных сложной структуры, символьной информации, средства для создания нестандартных типов данных и инструментов для их обработки (языки C, Pascal, C++).

5. Отладка программы.

На завершающем этапе создания программы проводится её отладка, которая представлена в виде схемы на рисунке 2.

Рис. 2

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

Исходный текст – текст программы на языке программирования.

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

Компилятор – программа, которая осуществляет перевод исходного текста программы в объектный код.

Объектный код – текст программы на машинном языке, который не может выполняться компьютером, содержится в объектном модуле имя.obj.

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

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

Время компиляции – период, во время которого происходит компиляция программы.

Время выполнения – период, во время которого происходит выполнение программы.

Для облегчения процесса программирования существуют специальные программы-оболочки, создающие необходимую для этих целей среду, в которую входят инструменты написания текста программы, редактирования, компиляции и отладки программы. Мы будем работать в среде Borland C++ 3.1.


 

А также другие работы, которые могут Вас заинтересовать

40791. Трехфазные электрические цепи 58.21 KB
  Фаза – это участок цепи относящийся к соответствующей обмотке генератора или трансформатора линии и нагрузке. Поэтому в энергетике строго следят за тем чтобы нагрузка генератора оставалась симметричной. Можно было бы использовать систему в которой фазы обмотки генератора не были бы гальванически соединены друг с другом. В этом случае каждую фазу генератора необходимо соединять с приемником двумя проводами т.
40792. Расчет трехфазных цепей. Режимы работы 73.91 KB
  Трехфазные цепи являются разновидностью цепей синусоидального тока и следовательно все рассмотренные ранее методы расчета и анализа в символической форме в полной мере распространяются на них. Равенство модулей указанных сопротивлений не является достаточным условием симметрии цепи. Если к симметричной трехфазной цепи приложена симметричная трехфазная система напряжений генератора то в ней будет иметь место симметричная система токов. Такой режим работы трехфазной цепи называется симметричным.
40793. Взаимная индуктивность. Идеальный трансформатор 76.91 KB
  Идеальный трансформатор Электрические цепи могут содержать элементы индуктивно связанные друг с другом. Такие элементы могут связывать цепи электрически гальванически разделенные друг от друга. В том случае когда изменение тока в одном из элементов цепи приводит к появлению ЭДС в другом элементе цепи говорят что эти два элемента индуктивно связаны а возникающую ЭДС называют ЭДС взаимной индукции. Степень индуктивной связи элементов характеризуется коэффициентом связи 1 где М – взаимная индуктивность элементов цепи размерность –...
40794. Методы определения коэффициента облученности 1.08 MB
  Методы определения коэффициента облученности При расчете потоков результирующего излучения необходимо располагать данными о коэффициентах облученности. Используя свойства замыкаемости потоков излучения 1471 можно записать . Вычитая из 14122 почленно 1411914121 найдем соотношение для определения взаимных поверхностей излучения 14123 14124 14125 Анализируя 1412314125 сформулируем такое правило: В замкнутой системе состоящей из трех невогнутых тел средняя взаимная...
40795. Явление резонанса. Частотные характеристики 65.71 KB
  Частотные характеристики Резонансом называется такой режим работы цепи включающей в себя индуктивные и емкостные элементы при котором ее входное сопротивление входная проводимость вещественно. Следствием этого является совпадение по фазе тока на входе цепи с входным напряжением. Резонанс в цепи с последовательно соединенными элементамирезонанс напряжений Для цепи на рис. В цепи преобладает индуктивность т.
40796. Характеристическое сопротивление и коэффициент распространения симметричного четырехполюсника 96.65 KB
  Для записи уравнений четырехполюсника выделим в произвольной схеме ветвь с единственным источником энергии и любую другую ветвь с некоторым сопротивлением см. Учитывая что в соответствии с принципом взаимности видно что коэффициенты четырехполюсника связаны между собой соотношением Уравнения 3 и 4 представляют собой основные уравнения четырехполюсника;...
40797. Электрические фильтры 65.69 KB
  Качество фильтра считается тем выше чем ярче выражены его фильтрующие свойства т. Классификация фильтров Название фильтра Диапазон пропускаемых частот Низкочастотный фильтр фильтр нижних частот Высокочастотный фильтр фильтр верхних частот Полосовой фильтр полоснопропускающий фильтр Режекторный фильтр полоснозадерживающий фильтр и где В соответствии с материалом изложенным в предыдущей лекции если фильтр имеет нагрузку сопротивление которой при всех частотах равно характеристическому то напряжения и соответственно токи на...
40798. Линейные электрические цепи при несинусоидальных периодических токах 64.74 KB
  Линейные электрические цепи при несинусоидальных периодических токах. Причины возникновения несинусоидальных напряжений и токов могут быть обусловлены или несинусоидальностью источника питания или и наличием в цепи хотя бы одного нелинейного элемента. Кроме того в основе появления несинусоидальных токов могут лежать элементы с периодически изменяющимися параметрами. Характеристики несинусоидальных величин Для характеристики несинусоидальных периодических переменных служат следующие величины и коэффициенты приведены на примере...
40799. Переходные процессы в линейных электрических цепях с сосредоточенными параметрами 66.4 KB
  Для цепей с заданными постоянными или периодическими напряжениями токами источников принужденная составляющая определяется путем расчета стационарного режима работы схемы после коммутации любым из рассмотренных ранее методов расчета линейных электрических цепей. общее решение уравнения 2 имеет вид 4 Соотношение 4 показывает что при классическом методе расчета послекоммутационный процесс рассматривается как наложение друг на друга двух режимов – принужденного наступающего как бы сразу после коммутации и свободного имеющего...