Отправляет email-рассылки с помощью сервиса Sendsay

Всё о работе в Интернет

  Все выпуски  

Программирование на Паскале. Новая методика обучения. Занятие 2 , 2009-02-15


ОСНОВНЫЕ ПОНЯТИЯ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ

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

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

Коротко обсудим каждый из этапов.

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

Разработка алгоритма. Строгого определения алгоритма не существует, поскольку это понятие является фундаментальным. Например, в геометрии не существует определения такого фундаментального понятия как точка. Мы с вами будем называть алгоритмом представление процесса решения задачи в виде последовательности определённых команд, выполнение которых обеспечивает получение нужных результатов. 

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

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

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

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

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

Отладка программы. Реализуется после ввода её в компьютер и состоит в обнаружении и устранении в ней синтаксических и семантических ошибок. Готовая отлаженная программа передаётся пользователю, который в любое удобное для себя время может применить её для решения соответствующей задачи на реальных исходных данных.

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

1. Подготовка текста программы на языке программирования (написание и редактирование программы). Для этого в системе программирования используется встроенный текстовый редактор.

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

3. Трассировка программы с целью контроля её правильности. Основные возможности трассировки: выполнение програми пошагово или отдельными фрагментами, назначение временных точек остановки, слежение за текущими значениями переменных программы и т.п.

Существуют два типа трансляции: компиляция и интерпретация.

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

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

Интерпретация удобна при постепенном создании программы, поскольку при этом для её выполнения не нужно иметь полный текст. Она удобна также в условиях недостаточного объёма памяти. Скомпилированная же программа выполняется значительно быстрее, поскольку не теряется время на образование машинных команд. Для неё не нужна система программирования. Кроме того, благодаря компиляции, оказывается возможным скрыть сам текст программы.

Программное средство, являющееся оболочкой (надстройкой) системы программирования, называется интегрированной средой программирования (ИСП). Общее назначение ИСП: повысить удобства и ускорить доступ к функциям системы программирования.

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

 В рамках ИСП Borland Pascal 7.0 можно создавать программы и модули для реального (Real) и защищённого (Protected) режимов работы процесора, а также для работы под управлением ОС Windows.

Реальный и защищённый режимы работы процессора отличаются способом использования памяти. Программа, созданная для реального режима работы процессора, способна использовать только основную память (начальная область памяти размером 640 Кбайт). Программа, созданная для защищённого режима работы процессора, способна использовать всю оперативную память.

В состав ИСП Borland Pascal 7.0 входят три варианта компиляторов: TURBO.EXE - только для реального режима, BP.EXE - для реального и защищённого режимов, BPW.EXE - для работы под управлением ОС Windows. В указанных режимах используются библиотеки стандартных программ TURBO.TPL, TPP.TPL и TPW.TPL соответственно.

Для первых двух вариантов компиляторов существуют также, так называемые, пакетные версии (файлы TPC.EXE и BPC.EXE). Пакетные компиляторы не предоставляют никаких удобств, но считается, что они создают более надёжные загрузочные модули. Поэтому  рекомендуют сначала отладить создаваемую программу в ИСП, а потом уже окончательно откомпилировать её с помощью пакетной версии.

Результатом работы в ИСП есть тексты созданных программ (файлы с расширением PAS), исполняемые файлы созданных программ (файлы с расширением EXE), а также откомпилированные модули (файлы с расширением TPU, TPP и TPW для разных вариантов компиляторов).

Файлы ИСП с расширением TP (BP.TP, TURBO.TP) сохраняют текущие параметры настройки ИСП. При запуске ИСП сначала отыскивается файл с расширением TP и, если он не обнаружен, устанавливаются стандартные настройки. Имеется возможность сохранить личные параметры настройки в файле с произвольным именем, но с расширением TP. Это полезно при работе на компьютере общего пользования.

Файлы ИСП с расширением DSK сохраняют перечень последних из подвергавшихся редактированию файлов, а также текущий каталог. Это даёт возможность в новом сеансе работы сразу же продолжить предыдущий сеанс.

Чтобы получить более подробное изложение материала занятия №2 "Основные понятия алгоритмизации и программирования", перейдите по ссылке http://a-morgun.narod.ru/a08-01/a0008-0001-0001-0001.html. 


В избранное