Лекция2.1информатика. Лекция 1 Основные этапы решения задач на компьютере
Скачать 48 Kb.
|
Лекция 1. 1.1. Основные этапы решения задач на компьютере. Процесс решения задач на компьютере – это совместная деятельность человека и ЭВМ. Этот процесс можно представить в виде нескольких последовательных этапов. На долю человека приходятся этапы, связанные с творческой деятельностью – постановка задачи, алгоритмизация, программирование и анализ результатов, а на долю компьютера – этапы обработки информации в соответствии с разработанным алгоритмом. Рассмотрим эти этапы на следующем примере. Пусть требуется вычислить сумму двух целых чисел и вывести на экран монитора результат. Первый этап – постановка задачи. На этом этапе надо четко определить цель задачи, дать словесное описание содержания задачи и предложить общий подход к ее решению. Второй этап – математическое или информационное моделирование. Цель этого этапа – создать такую математическую модель решаемой задачи, которая может быть реализована в компьютере. Существует целый ряд задач, математическая постановка которых сводится к простому перечислению формул и логических условий. Возможно, что для полученной модели известны несколько методов решения, и тогда предстоит выбрать лучший метод. Третий этап – алгоритмизация задачи. На основе математического описания необходимо разработать алгоритм решения. Алгоритмом называется точное предписание, определяющее последовательность действий исполнителя, направленных на решение поставленной задачи. Используются различные способы записи алгоритмов. Широко распространен словесный способ записи: рецепт, инструкция, различные правила. Наглядно представляется алгоритм графически в виде блок-схем. Свойства алгоритма. При составлении и записи алгоритма необходимо обеспечить, чтобы он обладал рядом свойств: однозначность – единственность толкования исполнителем правил выполнения действий и порядка их выполнения. Чтобы алгоритм обладал этим свойством, он должен быть записан командами из системы команд исполнителя; конечность – обязательность завершения каждого из действий, составляющих алгоритм, и завершимость выполнения алгоритма в целом; результативность – выполнение алгоритма должно завершиться получением определенных результатов; массовость – возможность применения данного алгоритма для решения целого класса задач, отвечающих общей постановке задачи. Для того, чтобы алгоритм обладал этим свойством, следует составлять алгоритм, используя обозначения величин и избегая конкретных значений; правильность – способность алгоритма давать правильные результаты решения поставленных задач. Четвертый этап – программирование. Программой называется план действий, подлежащих выполнению некоторым исполнителем, в качестве которого может выступать компьютер. Составление программы обеспечивает возможность выполнения алгоритма и поставленной задачи. Пятый этап – ввод программы и исходных данных в ЭВМ. Программа и исходные данные вводятся в ЭВМ с клавиатуры с помощью редактора текстов, и для постоянного хранения осуществляется их запись на какой-нибудь носитель (диск, дискета, жесткий диск). Шестой этап – тестирование и отладка программы. На этом этапе происходит исполнение алгоритма с помощью ЭВМ, поиск и исключение ошибок. При этом приходится выполнять рутинную работу по проверке работы программы, поиску и исключению ошибок, и поэтому для сложных программ этот этап часто требует гораздо больше времени и сил, чем написание первоначального текста программы. Отладка программы – сложный и нестандартный процесс. Исходный план отладки заключается в том, чтобы протестировать программу на контрольных примерах. Контрольные примеры стремятся выбрать так, чтобы при работе с ними программа прошла все основные блок-схемы алгоритма, так как на каждом из путей могут быть свои ошибки, а детализация плана зависит от того, как поведет себя программа на этих примерах: на одном она может зациклиться (т.е. бесконечно повторять одно и тоже действие), на другом примере – дать явно неверный или бессмысленный результат и т.д. Сложные фрагменты отлаживаются отдельными фрагментами. Для повышения качества выполнения этого этапа используются специальные программы – отладчики, которые позволяют исполнить программу по шагам с наблюдением за изменением значений переменных, выражений и других объектов программы, с отслеживанием выполняемых операторов. Седьмой этап – исполнение отлаженной программы и анализ результатов. На этом этапе запускается программа, и задаются исходные данные, требуемые по условию задачи. Полученные в результате решения выходные данные анализируются постановщиком задачи, и на основании этого анализа вырабатываются соответствующие решения, рекомендации, выводы. Возможно, что по итогам анализа результатов потребуется пересмотр самого подхода к решению задачи и возврат к первому этапу для повторного выполнения всех этапов. 1.2. Языки программирования. Чтобы компьютер выполнил решение какой-либо задачи, ему необходимо получить от человека инструкции, как ее решать. Набор таких инструкций для компьютера, направленных на решение конкретной задачи, называется компьютерной программой. Команды, предназначенные для ЭВМ, необходимо записывать в понятной ей форме. С этой целью применяются языки программирования – искусственные языки, алфавит, словарный запас и структура которых удобны человеку и понятны компьютеру. Языком программирования называется фиксированная система обозначений и правил для описания алгоритмов и структур данных. Языки программирования имеют как бы два лица. Одно обращено к человеку, использующему язык для записи своих программ, а другое адресовано ЭВМ, которая должна понимать команды. Все языки программирования делятся на языки низкого, высокого и сверхвысокого уровня. Язык низкого уровня – это средство записи инструкций компьютеру простыми приказами – командами на аппаратном уровне. Отражает структуру данного класса ЭВМ и поэтому называется машинно-ориентированным языком. Языки высокого уровня – средства, которые допускают описание задачи в наглядном, легко воспринимаемом виде. Программа на языках высокого уровня записывается системой обозначений близкой человеку. Программу на этом языке проще понять и значительно легче отладить (Бейсик, Фортран, Паскаль, Си). 1.2.1. Язык программирования Паскаль. Язык программирования паскаль разработан в 1968-1971 годах Николаусом Виртом. Паскаль, созданный первоначально для обучения программированию как систематической дисциплине, скоро стал широко использоваться для разработки программных средств в профессиональном программировании. Текст записанной на паскале программы не понятен компьютеру, его требуется перевести на машинный язык. Такой перевод программы с языка программирования на язык машинных кодов называется трансляцией, а выполняется он специальными программами – трансляторами. Три вида трансляторов: интерпретаторы, компиляторы, ассемблеры. Интерпретатором называется транслятор, производящий пооператорную обработку и выполнение исходной программы. Компилятор преобразует всю программу в модуль на машинном языке, после этого программа записывается в память компьютера и лишь потом исполняется. Ассемблеры переводят программу, записанную на языке ассемблера (автокода), в программу на машинном языке. Любой транслятор решает следующие основные задачи: анализирует транслируемую программу, в частности определяет, содержит ли она синтаксические ошибки; генерирует выходную программу (ее часто называют объектной или рабочей) на языке команд ЭВМ (в некоторых случаях транслятор генерирует выходную программу на промежуточном языке); распределяет память для выходной программы (в простейшем случае это заключается в назначении каждому фрагменту программы, переменным, константам, массивам и другим объектам своих адресов участков памяти). 1.2.2. Использование среды программирования Турбо Паскаль. Разработка программ на Паскале включает в себя следующие действия: ввод и редактирование текста программы на языке программирования Паскаль, ее трансляцию, отладку. Для выполнения каждого этапа применяются специальные средства: для ввода и редактирования используется редактор текстов, для трансляции программы – компилятор, для построения, исполняемого компьютером программного модуля с объединением разрозненных откомпилированных модулей и библиотекой стандартных процедур Паскаля – компоновщик (linker), для отладки программ с анализом ее поведения, поиском ошибок, просмотром и изменением содержимого ячеек памяти компьютера – отладчик (debugger). В середине 80-х гг. была создана система программирования Турбо Паскаль. Систему Турбо Паскаль называют интегрированной (объединение отдельных элементов в единое целое) средой программирования, так как она объединяет в себе возможности ранее разрозненных средств, используемых при разработке программ: редакторы текстов, компилятора, компоновщика, отладчика, и при этом обеспечивает программисту великолепные сервисные возможности. Интегрированная среда программирования Турбо Паскаль, начиная с 6.0, имеет следующие возможности: множество накладывающихся окон; поддержка мыши, меню, диалоговых окон; многофайловый редактор, который может редактировать файлы до 1 Мегабайта; расширенные возможности отладки; полное сохранение и восстановление среды разработки. 1.2.3. Основные файлы пакета Турбо Паскаль. TURBO.exe – интегрированная среда программирования. TURBO.hlp – файл, содержащий данные для оперативной подсказки. TURBO.TP – файл конфигурации системы. TURBO.tpl – библиотека стандартных модулей Турбо Паскаль. GRAPH.tpu – модуль с графическими процедурами и функциями Турбо Паскаль. Файлы с расширением .bgi – драйверы различных типов видеосистем. Файлы с расширением .chr – содержат векторные шрифты. |