Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Информатика - Борисов

.pdf
Скачиваний:
250
Добавлен:
02.03.2016
Размер:
19.63 Mб
Скачать

3.Информационное моделирование, понятие «алгоритм»

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

6. Итоговуюблок-схемусравнитьсобразцом.

7.Проанализировать реализацию алгоритма в виде программы на языкеС/С++.

8.Самостоятельно ознакомиться с другими возможностями и осо- бенностямипрограммыalgorithm.exe.

РЕЗУЛЬТАТЫ РАБОТЫ ПРЕДЪЯВИТЬ ПРЕПОДАВАТЕЛЮ.

31

Раздел II. Алгоритмизацияимоделирование

4. ЯЗЫКИ И СИСТЕМЫ ПРОГРАММИРОВАНИЯ

Вопросы:

4.1.Понятие языка программирования.

4.2.Классификация языков программирования.

4.3.Состав системы программирования.

4.4.Этапы создания программы.

4.5.Тестирование и отладка программы.

4.1. Понятие языка программирования

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

Языки программирования искусственные формализованные язы- ки, предназначенные для записи алгоритмов и выполнения их на ЭВМ. Язык программирования является средством создания про- граммных моделей объектов и явлений внешнего мира и служит для общения человека и машины. В отличие от человеческого (естест- венного) язык программирования не допускает двусмысленностей и неопределенностей. Для языка программирования характерно нали- чие ограниченного набора «слов» и строгих правил записи команд (операторов). Вместе с тем, как и в любом другом, в языке програм- мирования можно выделить четыре основных элемента символы, слова, словосочетания, предложения.

Язык программирования, как и «естественный», образуют три со- ставляющие: алфавит, синтаксис и семантика.

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

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

Семантика система правил толкования конструкций языка.

32

4. Языки исистемы программирования

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

Существует два основных вида трансляторов: интерпретаторы и компиляторы. Интерпретаторы сканируют и проверяют исходный код в один шаг (по одному оператору). Компиляторы сканируют весь исходный текст программы и генерируют машинный код.

4.2.Классификация языков программирования

Взависимости от того, насколько приближен язык программиро- вания к машинному языку, все языки программирования делят на две основные группы: низкоуровневые и высокоуровневые.

Языки низкого уровня, или машинно-ориентированные,это языки, средства которых существенно зависят от архитектуры ЭВМ,

аоператоры близки к машинному коду. К языкам этого типа отно- сятся:

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

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

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

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

33

Раздел II. Алгоритмизацияимоделирование

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

К универсальным языкам относятся PASCAL, BASIC, C (C++), Java и др. Эти языки позволяют решить, вообще говоря, любую задачу, хотя трудоемкость решения конкретной задачи в разных языках бу- дет различаться.

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

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

4.3. Состав системы программирования

Огромную роль в массовом распространении Паскаля сыграла компания Borland International. Она сумела создать знаменитую Turbo-среду разработки. Это был значительный шаг вперед в облег- чении процесса программирования. Широкая популярность Турбо- Паскаля определила тот факт, что со временем все разработчики компиляторов обратились к созданию интегрированных сред разра- ботки. Интегрированная среда объединила в себе возможности тек- стовых редакторов исходных программ и командный язык компиля- ции. Дальнейшее развитие средств графического интерфейса поль- зователя привело к созданию систем программирования.

34

4. Языки исистемы программирования

Система программирования комплекс программных средств, предназначенных для кодирования, тестирования и отладки про- грамм на конкретном языке программирования. Современные сис- темы программирования обычно предоставляют пользователям мощные и удобные средства разработки программ. Основными ком- понентами систем программирования являются:

компилятор или интерпретатор;

интегрированная среда разработки IDE (Integrated Development Environment) – многооконная система с управляющими элементами;

текстовый редактор (Edit);

редактор связей (Linker – компоновщик);

библиотеки стандартных программ и функций (VCL, QT);

отладчики программ (Debug);

программы утилиты (Tools);

встроенный ассемблер (Asm);

встроенная справочная служба (HELP – система);

библиотеки примеров программ, файлы документации.

4.4. Этапы создания программы

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

1.Написание и редактирование исходного текста программы с дальнейшим сохранением в виде исходного файла. Эти функции осу- ществляеттекстовыйредактор.

2.Компиляция программы, т.е. перевод в машинный код и сохра- нение в виде объектного файла. Если обнаружены синтаксические ошибки, то сообщения о них выводятся в соответствующее окно ин- тегрированнойсреды.

3.Объединение (компоновка) полученного объектного файла с другимиобъектными файламистандартных испециальных библиотек

иполучениеисполнимогофайла.

4.Обнаружение и устранение ошибок отладка программы, по- мощьвэтомможетоказатьпрограммаотладчик.

5.Выполнение и тестирование (проверка) на большом количестве входныхнаборовданных.

В настоящее время наиболее популярными являются универсаль- ные языки программирования Си++ (C++), Паскаль (Pascal), VBA, Си#. Для каждого из этих языков разработаны системы программи- рования, выпускаемые разными фирмами и ориентированные на различные типы операционных систем. В последнее время получили

35

Раздел II. Алгоритмизацияимоделирование

распространение системы программирования, ориентированные на создание Windows-приложений (VBA, Borland Delphi, Borland C++ Builder, Microsoft Visual C++ и др.).

4.5. Тестирование и отладка программ

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

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

Всоставе пакета MS Office в программах Word, Excel, PowerPoint

идр. есть возможность воспользоваться Редактором Visul Basic, От- ладчиком Debug, а также целиком выполнить программу, написан- ную на языке программирования VBA. Рассмотрим эти возможности на примере, изложенном в Задании 4.1.

36

4. Языки исистемы программирования

Задание 4.1. Тестировать программу с циклом

Исходные данные.

На диске D имеется папка d:\1\, в которой содержится 52 файла (кадра) движущегося объекта (бурундука). Файлы названы от 0.gif до 51.gif. Если показать эти файлы в виде картинки (например, на листе Excel) друг за другом, то создается иллюзия движения объекта.

Алгоритм программы на языке VBA следующий:

Option Explicit

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Sub Макрос1()

'

Dim S As String

Dim intIndex As Integer Dim intMax As Integer

intMax = 51

For intIndex = 0 To intMax ' Цикл по кадрам изображения

Range("A1").Select ActiveCell.FormulaR1C1 = intIndex 'intMax -

Selection.NumberFormat = "@" ' Преобразование из числа в текст

' Формирование имени файла с рисунком

S = "D:\123\Adv Gif Anim\1\" + ActiveCell.FormulaR1C1 + ".gif" ' Отображение рисунка на листе

ActiveSheet.Pictures.Insert(S).Select

DoEvents ' Задержка

Sleep 100

Selection.Cut ' Удалить рисунок

Next

Range("A1").Select

Selection.ClearContents

End Sub

Задача.

Протестировать алгоритм анимации в интегрированной среде разработки программы Excel.

Решение.

1. ЗапуститьпрограммуExcel.

37

Раздел II. Алгоритмизацияимоделирование

2. С помощью меню Формы создать в районе ячейки К1 кнопку «Старт» какпоказанонарисункениже.

3. Начатьзаписьмакроса:

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

5.ВызватьРедакторVisual Basic:

38

4. Языки исистемы программирования

6. Убедиться, чтополученкодмодуля:

При отсутствии окна Project-ProgressBars вызвать командой ViewProject Explorer. Раскрыть папку Modules и затем дважды щелкнуть по Module1. Наблюдать на поле (General) содержимое мак- роса с именем Макрос1.

7. Перейти на лист , с помощью правой кнопки мыши вызвать контекстное меню на созданной кнопке и назначить для кнопки «Старт» на выполнение Макрос1. Убедиться, что макрос запускается

39

Раздел II. Алгоритмизацияимоделирование

(например, выделить ячейку А5 и нажать на кнопку «Старт», выделе- ниевернетсякячейкеВ1).

8. Заменить содержание макроса от Sub Макрос1() до End Sub на код программы, приведенной выше (в исходных данных). Набрать остановнапротивоператораActiveSheet.

9. С помощью кнопки Run запустить программу на выполне- ние. Программаначнетвыполнятьсядонабранногоостанова.

40