Лабораторная работа № 2.
Реализация алгоритмов в компьютере. Знакомство со средой Microsoft Visual Studio 2013
Теоретическое описание:
1. Программа и программирование
Программа – это алгоритм, записанный на языке программирования и предназначенный для исполнения компьютером. В программе действия должны быть описаны до мельчайших подробностей в точном соответствии с синтаксисом языка.
Сегодня практически все программы создаются с помощью языков программирования. Теоретически программу можно написать средствами обычного человеческого (естественного) языка – программирование на метаязыке, но автоматически перевести такую программу в машинный код пока невозможно из-за высокой неоднозначности естественного языка.
Языки программирования – искусственные языки. От естественных они отличаются ограниченным числом «слов», значение которых понятно транслятору и очень строгими правилами записи команд (операторов). Совокупность подобных требований образует синтаксис языка программирования, а смысл каждой команды и других конструкций языка – его семантику.
Программа, представленная в виде инструкций языка программирования, называется программой. Она состоит из инструкций, понятных человеку, но непонятных процессору компьютера. Чтобы процессор смог выполнить работу в соответствии с инструкциями исходной программы, исходная программа должна быть переведена на машинный язык – язык команд процессора. Задачу преобразования исходной программы в машинный код выполняет специальная программа – компилятор.
Компилятор выполняет последовательно две задачи:
1. Проверяет текст исходной программы на отсутствие синтаксических ошибок.
2. Создает (генерирует) исполняемую программу – машинный код.
Генерация машинного кода компилятором свидетельствует только об отсутствии в тексте программы синтаксических ошибок.
Стиль программирования
Необходимо помнить, что разрабатываемая программа предназначена с одной стороны для пользователя, с другой – для самого программиста. Поэтому программа должна быть легко читаемой, ее структура должна соответствовать структуре и алгоритму решаемой задачи. Стиль программирования – это набор правил, которым следует программист в процессе своей работы.
Хороший стиль программирования предполагает:
· использование комментариев;
· использование несущих смысловую нагрузку имен переменных, процедур и функций;
· использование отступов;
· использование пустых строк.
Следование правилам хорошего стиля программирования значительно уменьшает вероятность появления ошибок на этапе набора текста.
Хорошая программа должна быть надежной и дружественной к пользователю.
Надежность подразумевает, что программа, не полагаясь на «разумное» поведение пользователя, контролирует исходные данные, проверяет результат выполнения операций, которые по какой-либо причине могут быть не выполнены.
Дружественность предполагает хорошо спроектированные диалоговые окна, наличие справочной системы, разумное и предсказуемое, с точки зрения пользователя, поведение программы.
Этапы решения задач на компьютере
Решение любой задачи на компьютере производится в несколько этапов. Часть их выполняет человек (постановка задачи, построение математической модели, разработка алгоритма, доказательство его правильности и планирование тестирования, планирование структуры исходных и выходных данных, кодирование); часть человек и компьютер (реализация алгоритма, включающая отладку и тестирование); человек (анализ результатов); человек и и компьютер (составление документации). Весь процесс решения задачи от ее постановки и до оформления отчета называется программированием.
Постановка задачи. Пусть дано… Такими словами часто начинается формулировка условий математических задач. Затем на языке строго определенных математических понятий излагаются исходные предпосылки и цель исследования, т.е. указываются объекты, которые требуется найти. После постановки задачи следует этап поиска метода ее решения – построение алгоритма.
Построение математической модели. В прикладных задачах обычно дан реальный нематематический объект: физический, производственный, экономический, биологический или социальный процесс. Решение начинается с формализации объекта, описания его в математических терминах, для чего выделяют наиболее существенные характеристики объекта, и с помощью математических средств строится соответствующая математическая модель. Так как в процессе моделирования допускаются упрощения, то модель не тождественна реальному объекту, а является приближенным отображением его. Степень соответствия модели реальному объекту проверяется практикой.
Разработка алгоритма – поиск метода решения сформулированной математической задачи. Выбор метода зависит от выбора модели. Алгоритм для которого не удается получить ответ в явном виде, может быть основан на следующем приеме: строится итеративный процесс, сходящийся к искомому решению. Он обрывается на некотором шаге, а найденная приближенная величина принимается за решение задачи.
После выбора алгоритма можно приступать к записи программы псевдокодом. Следуя методом пошаговой детализации представим алгоритм как набор независимых подзадач; например, если некоторый алгоритм А состоит из подзадач А1, А2, А3, его можно сначала записать так:
Алгоритм А
[объявления]
Начало
выполнить А1
выполнить А2
выполнить А3
Конец
Затем проектируем А1, А2, и А3 – более простые задачи, чем первоначальная А, расшифровывая каждую из них, пока не придем к простым командам.
Выполнение программы. Этап эксплуатации программы состоит из шага ввода, загрузки программы в память компьютера, из шага перевода, трансляции программы шагов отладки и выполнения. Набранная программа будет обработана транслятором – «программирующей» программой, предназначенной для перевода предписаний исходного кода в операции непосредственно выполняемые компьютером. Различают два вида трансляторов: компилятор и интерпретатор. Компилятор сначала переводит всю исходную программу, создавая ее компьютерный аналог. Интерпретатор – это пошаговый транслятор. Он совмещает трансляцию с выполнением – сразу после перевода каждый оператор языка выполняется.