Программирование и алгоритмизация

Автор работы: Пользователь скрыл имя, 01 Июня 2013 в 20:12, курс лекций

Краткое описание

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

Прикрепленные файлы: 1 файл

VB-алгоритмизация и программирование.doc

— 4.97 Мб (Скачать документ)

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

ГОУ ВПО

 

УФИМСКАЯ ГОСУДАРСТВЕННАЯ  АКАДЕМИЯ ЭКОНОМИКИ И  СЕРВИСА

 

 

 

 

Сидоров М.Е.

 

Кафедра "Информатика"

Алгоритмизация и программирование  
в среде Visual Basic 6.0

Учебное пособие

Уфа

 

Содержание

 

 

Программирование и алгоритмизация

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

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

Графическая запись алгоритма представляется в виде блок-схемы. Такое представление алгоритма достаточно удобно и наглядно показывает последовательность выполнения операторов программы.

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

Пример блок-схемы  алгоритма расчета квадратного  корня числа.

 

 

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

С появлением объектно-ориентированного программирования изменились и подходы  к алгоритмизации, наряду с разработкой  алгоритмов реализации численных методов программист при создании приложения сталкивается с необходимостью алгоритмизации пользовательского интерфейса приложения (команд меню, кнопок панелей инструментов), разработкой алгоритмов при создании классов, написании обработчиков событий для объектов, используемых в приложении.

Программирование заключается в записи алгоритма на языке программирования и отладке программы. Текст программы записывается в текстовом редакторе,  затем программа компилируется - переводится транслятором (переводчиком) в машинные коды и запускается на выполнение.

Программы и языки программирования

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

Язык программирования -  язык, используемый для написания компьютерных программ  и  состоящий из словаря и совокупности правил (синтаксиса), которые применяются при написании команд, выполняемых микропроцессором.

Текст программы на языке программирования называется исходным кодом, а конечная программа в машинных кодах - объектным кодом. Для получения объектного кода используются компиляторы и интерпретаторы.

Компилятор - программа, которая считывает исходный код, проверяет его синтаксис, преобразует в машинный код (транслирует) и устанавливает связи с используемыми подпрограммами (компилирует). В результате работы компилятора получается исполняемый файл – приложение.

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

Исполняемый файл - программа, готовая к запуску на компьютере (обычно файл с расширением .exe).

Программирование – процесс, включающий стадии проектирования, кодирования, отладки, тестирования и документирования программы.

  • Проектирование программы – определение входных данных, процедур обработки данных и выходных данных.
  • Кодирование программы – запись программы на языке программирования в соответствии с алгоритмом задачи.
  • Отладка программы - выявление и исправление синтаксических ошибок, ошибок на этапе выполнения (переполнение разрядной сетки, деление на ноль, извлечение корня из отрицательного числа и т.д.) и логических ошибок в программе.

Процесс отладки программы начинается с выявления:

  • синтаксических ошибок в тексте (неверно записанных операторов), 
  • ошибок при выполнении программы (недопустимые математические действия,  операции с числами,  превосходящими предельные значения), 
  • алгоритмических ошибок (неверно составлен или запрограммирован алгоритм).
  • Тестирование программы – проверка результатов выполнения программы для различных вариантов исходных данных, включающих крайние значения диапазона данных, экспериментально апробированные данные, расчеты по аналитическим, либо упрощенным зависимостям и расчеты с использованием других программ.
  • Документирование программы - создание подробного руководства по программе: описание вводимых и выводимых данных, тестовые примеры расчета.

Языки программирования

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

Языки программирования по уровню исходного кода классифицируются на языки высокого и языки низкого  уровня.

Языки программирования низкого уровня

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

Машинный язык

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

ASSEMBLER (Ассемблер)

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

Языки программирования высокого уровня

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

BASIC (Бейсик)

Разработан сотрудниками Дартмутского колледжа (США) в 1964 году. Первый персональный компьютер IBM PC имел 16-разрядный BASIC, разработанный корпорацией IBM. Позже его сменил GW-BASIC и QUICK-BASIC, разработанный корпорацией Microsoft.

BASIC (Beginner's All-Purpose Symbolic Instruction Code) - универсальный код  символьных команд для начинающих, является интерпретируемым процедурным  языком, операторы которого выполняется компьютером шаг за шагом. BASIC легко изучить, но программы, написанные на нем, выполняются медленно, поэтому он плохо подходит для профессионального программирования. Разработаны компиляторы Бейсика, например, Turbo Basic (фирма Borland) и Visual Basic  (фирма MicroSoft). 

Для программирования в приложениях Microsoft Office корпорацией Microsoft был разработан язык VBA (Visual Basic for Application).

FORTRAN (Фортран)

Разработан  в 1956 году. FORTRAN (FORmula TRANslator) - переводчик формул, является компилируемым языком программирования. FORTRAN удобный язык для программирования научных и инженерных задач, создания математических прикладных программ, имеет большую библиотеку готовых подпрограмм.

COBOL (Кобол)

Разработан  в 1960 году. COBOL (COmmon Business Oriented Language) - распространеный бизнес ориентированный язык. COBOL – декларативный, компилируемый язык, разработан для удовлетворения потребностей обработки данных бизнеса и управления.

PASCAL (Паскаль)

Разработан  в 1971 году Никлаусом Виртом (Nicklaus Wirth), назван в честь Луи Блез Паскаля.  Процедурный, структурированный язык программирования позволяет писать модульные программы. PASCAL получил широкое распространение как язык обучения программированию.

Turbo Pascal – усовершенствованный и расширенный (объектно-ориентированные версии - Object Pascal) язык программирования, разработанный фирмой Borland International. Имеет быстродействующий компилятор, оболочку с текстовым редактором и позволяет создавать исполняемые программы.

Delphi (Дельфи) –разработан фирмой Borland, 1995 г. Позволяет создавать проекты, используя средства визуального программирования, дополняемые исходным кодом, написанным на Object Pascal.

C(Си)

Разработан  в 1974 году. Многоцелевой компилируемый  процедурный язык сочетает образность языков программирования высокого уровня с эффективностью ассемблера. Используется для профессионального программирования, создания программного обеспечения. Большинство коммерческих (платных) программ, написаны на С или C++.

C++ - объектно-ориентированный язык программирования, разработанный Бьярни Страуструпом.

Borland C++ Builder, Microsoft Visual C++ - объектно-ориентированные визуальные языки программирования.

 

Объектно-ориентированное и визуальное программирование

Современные языки программирования являются объектно-ориентированными, что означает использование объектов при написании программного кода. Объекты являются экземплярами классов. Таким образом, объектно-ориентированное программирование (ООП) предполагает использование готовых и создание новых классов в программах.

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

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

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

Следующим принципом  ООП является наследование, т.е. создание новых классов на основе имеющихся. Это позволяет использовать готовые свойства, методы и события, написанные ранее для одних классов другими классами.   Например, оператор

Type TPencil = class(TPen)

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

Классы могут иметь методы с одинаковым названием, но их программная реализация может быть различна. Этот принцип ООП называется полиморфизмом. Например, оба класса TPencil и TPen имеют метод Assign - присвоения свойств другим экземплярам, но поскольку набор свойств у данных классов может быть разным, то и процедуры присвоения свойств будут разными.

ООП позволяет  программистам создавать приложения, используя готовые классы, и это хорошо. Но современные языки программирования еще и визуальные, например, Visual Basic. Визуальная среда разработки включает редактор программного кода, отладчик, конструктор форм и называется также интегрированной средой разработки IDE (Integrated Development Environment). Конструктор форм позволяет использовать готовые компоненты, например, форму, кнопку, надпись, поле, флажок, переключатель и т.п., что значительно упрощает и ускоряет создание приложения. Такие средства разработки приложений называют RAD (Rapid Application Development).

 

Программирование в среде Visual Basic

Введение

В 1992 г. корпорацией Microsoft была разработана версия Visual Basic 1.0 - объектно-ориентированного языка  программирования для Windows 3.1. Затем  были версии Visual Basic 3.0,  4.0,  5.0 и Visual Basic 6.0. Visual Basic содержит несколько сотен команд, функций и ключевых слов, многие из которых реализуют графический интерфейс пользователя GUI (Graphical User Interface) операционной системы Windows.

Visual Basic – один из первых  языков, поддерживающих событийно-управляемое  программирование (event-driven programming). Основная идея событийно-управляемого программирования заключается в том, что в программе необходимо указать, как реагировать на различные события (действия пользователя): выбор команды меню, щелчок или перемещение мыши, нажатие клавиш и др.

Информация о работе Программирование и алгоритмизация