КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Основные этапы решения задачСтр 1 из 13Следующая ⇒ 1. Формулировка сути задачи. 2. Математическая постановка задачи. 3. Разработка алгоритма. 4. Написание текста и ввод программы. 5. Выполнение программы. Поиск и устранение синтаксических ошибок. 6. Тестирование программы. Поиск и устранение логических ошибок. 1. Формулировка задачи Необходимо четко сформулировать задачу, осмыслить ее, понять цель, определить в каком виде и на основе каких исходных данных будут получены результаты. 2. Математическая постановка задачи Необходимо сформировать математическую модель, обозначить физические объекты, являющиеся исходными, промежуточными или результирующими данными, вспомнить формулы для получения результата или выбрать численный метод решения задачи. 3. Разработка алгоритма Точное и простое описание последовательности действий для достижения результата. Алгоритм ориентирован на исполнителя и каждый шаг должен быть допустимым для него. Необходимо детализировать алгоритм настолько, чтобы каждый шаг мог быть записан с помощью определенного оператора или вызовом функции. Алгоритм может быть записан на: ü Естественном (русском) языке; ü В виде блок-схемы; ü В виде программы. Свойства алгоритма: 1. Массовость – применимость алгоритма для множества задач из класса однотипных, отличающихся только набором исходных данных. 2. Определенность – однозначность, исключающая произвольность толкований шагов алгоритма. 3. Дискретность – возможность разбиения задачи на конечное число шагов. 4. Результативность – возможность получения результата за конечное число шагов. 4. Написание текста и ввод программы Язык программирования – искусственный язык, отличающийся ограниченным количеством слов и строгими правилами записи команд. Разные типы процессоров имеют разный набор команд. Если язык ориентирован на конкретный тип процессора и учитывает его особенности, то он называется языком низкого уровня (например, ассемблер). Языки программирования низкого уровня применяются для написания небольших системных приложений, драйверов устройств, модулей стыковки с нестандартным оборудованием, когда важнейшими требованиями становятся компактность, быстродействие и возможность прямого доступа к аппаратным ресурсам. Но!При этом программист обязан иметь высокую квалификацию и досконально знать аппаратную часть, невозможно написание больших приложений, невозможен перенос программы с другим типом процессора, а ошибки программирования могут вывести из строя компьютер. Языки программирования высокого уровня (в том числе и Си) отстранены от аппаратной части и взаимодействуют с ней посредством встроенных функций, гарантирующих ее защиту и правильную работу. Языки программирования высокого уровня лаконичнее, легко реализуется сложная логика, можно не знать внутреннее устройство компьютера, объем может быть большим. Но!При этом программист «расплачивается» большим объемом оперативной памяти и более медленным выполнением программы. Ввод текста осуществляется с помощью программы редактор. 5. Выполнение программы. Поиск и устранение синтаксических ошибок Поиск ошибок синтаксиса осуществляется с помощью программы компилятор. 6. Тестирование программы. Поиск и устранение логических ошибок в программе Тестирование программы осуществляется с помощью контрольных примеров. Контрольный пример – это такой набор исходных данных, при котором результат свидетельствует о правильном написании программы (просчитывается в уме). Количество контрольных примеров должно быть достаточным для проверки каждой ветви решения. (//Поиск логических ошибок при неправильном выполнении контрольных примеров уже не так прост, осуществляется с помощью программы отладчик) + 2. Этапы создания исполняемой программы (загрузочного модуля).
Заголовочные файлы – стандартные текстовые файлы с расширением .h, содержащие различные объявления: стандартных функций, макроопределений, макрофункций, шаблонов структур, и другие системные ресурсы. Исходный модуль – текстовый файл с расширением .cpp, содержащий текст программы на языке С++. Исходный модуль получается в результате работы программы редактор. Исходный модуль с участием заголовочных файлов обрабатывается программой препроцессор, изменяющей исходныйтекстпрограммы в соответствии с директивами препроцессора. Директивы – особые строки программы, начинающиеся с символа #. В результате получаем полный текст исходного модуля(//который не записывается в файле, а находится в оперативной памяти машины для дальнейшей обработки). Полный модуль обрабатывается компилятором – программой, переводящей исходный текст программы в машинные коды. В результате получаем объектный модуль – файл с расширением .obj, содержащий машинный код программы. Компоновщик – программа, которая на основе полученных объектных модулей и с участием библиотечных файлов создает загрузочный модуль – файл с расширением .exe, который и выполняется компьютером. Библиотечные файлы – файлы с расширением .lib, содержащие объектные модули стандартных функций. Итак, для получения исполняемой программы нам необходимы следующие средства: ü Текстовый редактор; ü Компилятор; ü Компоновщик; ü Библиотеки функций; ü Отладчик; ü Справочник. + 3. Структура программы на С++. Директивы препроцессора include и define.
|