Алгоритмы. Свойства и способы описания алгоритмов. Компьютер как исполнитель команд. Программный принцип работы компьютера 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Алгоритмы. Свойства и способы описания алгоритмов. Компьютер как исполнитель команд. Программный принцип работы компьютера



 

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

Алгоритм — это точное и простое описание последовательности действий, направленных на решение данной задачи. Алгоритм содержит несколько шагов, которые должны выполняться в определенной последовательности. Каждый шаг алгоритма может состоять из одной или нескольких простых операций.

Каждый из нас ежедневно использует различные алгоритмы: инструкции, правила, рецепты и т.д. Обычно мы над этим не задумываемся. Например, открывая дверь ключом, никто не размышляет над тем, в какой последовательности выполнять действия. Однако чтобы кого-нибудь научить открывать дверь, придется четко указать ему действия и порядок их выполнения, например: 1) достать ключ; 2) вставить ключ в замочную скважину; 3) повернуть ключ 2 раза против часовой стрелки; 4) вынуть ключ.

Представим, что поменялиcь местами второе и третье действия. Мы сможем последовать и этому алгоритму, но дверь не откроется, т.е. алгоритм станет невыполнимым.

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

Свойства алгоритма:

1) дискретность (прерывность, раздельность) — алгоритм должен представлять процесс решения задачи как последовательное выполнение простых шагов (этапов);

2) определенность — каждый шаг алгоритма должен быть четким и однозначным; выполнение алгоритма носит механический характер и не требует никаких дополнительных сведений о решаемой задаче;

3) результативность — алгоритм должен приводить к решению задачи за конечное число шагов;

4) массовость — алгоритм решения разрабатывается в общем виде, т.е. он должен быть применим для решения некоторого класса задач, различающихся лишь исходными данными.

Способы описания алгоритмов:

1) словесный;

2) графический;

3) табличный;

4) формульный.

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

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

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

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

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

Всего существует три типа алгоритмов, используемых для создания программ:

1) линейный;

2) разветвляющийся;

3) циклический.

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

Рис. 2.7. Блок-схема линейного алгоритма

 

На рис. 2.7 операторы имеют обозначения P1, P2, Pn. Алгоритм называется разветвляющимся, если последовательность шагов алгоритма изменяется в зависимости от выполнения некоторых условий. Условие — это логическое выражение, которое может принимать одно из двух значений: «ДА», если условие верно (истинно), и «НЕТ», если условие неверно (ложно).

Рис. 2.8. Блок-схема разветвляющегося алгоритма

 

На рис. 2.8 операторы имеют обозначения P1, P2.

Алгоритм называется циклическим, если определенная последовательность шагов выполняется несколько раз в зависимости от заданной величины, которая называется параметром цикла. Цикл заканчивается, когда параметр принимает определенное значение.

Рис. 2.9. Блок-схема циклического алгоритма

На рис. 2.9 операторы имеют обозначения P1, Pn, N1, N2 — границы, в которых изменяется параметр цикла.

Информация для компьютера — это данные, представленные в форме, приемлемой для их передачи и обработки. Для работы с данными компьютеру необходимы инструкции (команды), которые оформляются в виде последовательности действий, записанных на определенном языке программирования, и называются программой.

Согласно принципам Дж. фон Неймана программа во время ее исполнения и данные, которые она обрабатывает, находятся в оперативной памяти (принцип хранимой в памяти программы). Процессор выполняет программу в соответствии с алгоритмом и все команды от начала до конца.

Действия компьютера в процессе решения задачи записываются в виде операторов алгоритмического языка.

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

Например, во фрагменте программы

 

Mov AX,4

Mov DX,9

Add AX, DX

 

значение 4 загружается в регистр AX, значение 9 — в регистр DX, затем два значения складываются, а результат сохраняется в регистре AX. В дальнейшем тенденция облегчения процесса создания программ оставалась доминирующей. В результате были разработаны языки высокого уровня, в которых программные конструкции похожи на фразы английского языка. Примером языка высокого уровня служит Microsoft Visual Basic, с которым мы познакомимся далее.

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

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

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

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

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

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

 

КОНТРОЛЬНЫЕ ВОПРОСЫ И ЗАДАНИЯ

 

1. Дайте определение понятия «алгоритм». Приведите примеры алгоритмов, с которыми вы сталкивались в жизни.

2. Назовите свойства алгоритма. Поясните каждое из них.

3. Укажите способы описания алгоритмов.

4. Каковы основные функциональные блоки, применяемые при создании блок-схем?

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

6. Что представляет собой программа? Что называется оператором?

7. Изложите разницу между компилятором и интерпретатором.

8. Объясните, почему компьютер является формальным исполнителем команд.


 

ПРИМЕРЫ КОМПЬЮТЕРНЫХ МОДЕЛЕЙ РАЗЛИЧНЫХ ПРОЦЕССОВ

 

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

В широком смысле под моделированием принято понимать исследование каких-либо явлений, процессов или систем объектов путем построения и изучения их моделей.

Модель (от лат. modulus — мера, образец, норма) является способом организации практических действий, представления как бы образцово правильных действий и их результатов, т.е. служит рабочим представлением, образом будущей системы.

Таким образом, модели носят нормативный характер для дальнейшей деятельности, играют роль стандарта, образца, под который «подгоняются» в дальнейшем как сама деятельность, так и ее результаты.

Модель обладает четырьмя характерными чертами:

1) объективным соответствием моделируемому объекту;

2) способностью замещать познаваемый объект на определенных этапах познания;

3) способностью в ходе исследования давать некоторую информацию, допускающую опытную проверку;

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

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

К таким требованиям относятся следующие условия.

1. Ингерентность, т.е. достаточная степень согласованности создаваемой модели со средой. Один из аспектов ингерентности состоит в том, что в ней должны быть предусмотрены «стыковочные

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

2. Простота модели, так как в модели невозможно зафиксировать все многообразие реальной ситуации.

3. Адекватность модели, которая означает возможность достижения с ее помощью поставленной цели проекта в соответствии со сформулированными критериями.

Процесс моделирования состоит из перечисленных далее этапов.

1. Постановка задачи на моделирование объекта:

а) ясное изложение цели предполагаемого исследования;

б) перечень зависимостей, подлежащих оценке по результатам моделирования;

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

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

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

4. Проверка адекватности созданной модели поставленной задаче. Здесь, в частности, уточняется: удовлетворяют ли требованиям объективности, полноты и всесторонности проводимого исследования признаки, которые были выделены как существенные с точки зрения задач моделирования; как они реализованы в модели; каков характер закономерностей, которые определяют сходство признаков модели и оригинала.

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

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

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

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

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

Выделяют четыре подвида моделей-представлений:

1) модель-представление воображаемых объектов;

2) модель-представление реальных объектов;

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

4) описание (настоящих процессов и явлений).

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

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

• масштабная деформация системы-оригинала;

• включение некоторых элементов системы-оригинала в систему модели.

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

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

В качестве примера иерархической модели данных можно привести файловую систему компьютера (рис. 2.10).

Рис. 2.10. Иерархическая модель данных персонального компьютера

 

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

Рис. 2.11. Модель сетевой структуры

 

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

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

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

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

В процессе формализации задачи приходим к выводу, что следует выделить объекты, составляющие систему «комната — кухня» (предметы интерьера), и определить связи между ними. Сведем такие объекты в табл. 2.14.

 

Таблица 2.14

Объекты и связи между ними

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

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

Рис. 2.12. Схема связей между объектами

 

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

Проанализировав рынок программного обеспечения с учетом вышеизложенных критериев, остановим свой выбор на Sweet Home 3D (www.sweethome3d.com) — бесплатной программе, используемой для помощи в дизайне жилых помещений и проектировании интерьеров, не требующей специальных навыков. С ее помощью можно создать 2D-план настоящего помещения или квартиры, разместить на нем окна, двери и мебель, а затем увидеть, как все это будет выглядеть в интерактивном 3D. Программа доступна на русском языке, достаточно только нажать на соответствующую ссылку на главной странице сайта, представленной на рис. 2.13.

Пользователь может либо установить программу на своем компьютере (ссылка Скачать Sweet Home 3D), либо использовать режим on-line (ссылка Использовать Sweet Home 3D Онлайн).

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

Рис. 2.14. Внешний вид программы Sweet Home 3D

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

Именно в ней создается 2D-план помещения, сделанные изменения одновременно отображаются в нижней области, но уже в 3D-формате. Самостоятельно смоделируйте дизайн своей квартиры согласно описанному выше этапу формализации и установки связей между объектами. Возможный результат представлен на рис. 2.15.

Рис. 2.13. Главная страница сайта Sweet Home 3D

 

Рис. 2.15. Этап моделирования квартиры

Полученную модель «комната — кухня» можно рассмотреть с разных ракурсов, вращая 3D-объект в нижней области окна с помощью мыши. На рис. 2.16 показан вид модели со стороны комнаты.

Рис. 2.16. Внешний вид квартиры под другим ракурсом

В результате проведенного моделирования можно сделать следующие выводы:

• функциональное разделение на зону кухни и зону отдыха привело к увеличению пространства квартиры;

• все объекты и связи между ними удалось реализовать в полном объеме;

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

Итогом моделирования можно считать принятие решения о начале перепланировки квартиры с предварительным уведомлением жилищной инспекции.

В качестве следующего примера создания компьютерной модели познакомимся с проектом Google Art & Culture (https://artsandculture.google.com), созданным интернет-корпорацией Google. Уникальный проект, который можно отнести к категории «модель — представление», позволяет виртуально посетить более 1200 ведущих музеев и рассмотреть их экспонаты в таких подробностях, которые не доступны даже в реальности. В проекте участвуют:

• Берлинская картинная галерея (Берлин, Германия);

• Метрополитен-музей (Нью-Йорк, США);

• Музей современного искусства (Нью-Йорк, США);

• Национальная галерея (Лондон, Великобритания);

• Версальский дворец (Франция);

• Государственный Эрмитаж (Санкт-Петербург, Россия);

• Государственная Третьяковская галерея (Москва, Россия);

• Музей Ван Гога (Амстердам, Нидерланды) и др.

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

мерных городских моделей (панорам), позволяющих изучать города, расположенные в разных частях мира. Каждый музей выбрал для проекта один экспонат, который был зафиксирован в мельчайших деталях с использованием технологии гигапиксельной съемки. Каждое такое изображение состоит из 14 млрд пикселей, что позволяет исследовать манеру письма художника — невооруженным взглядом такие подробности рассмотреть невозможно. Теперь зритель может открыть для себя такие мелкие детали, как латинское четверостишие на картине Ганса Гольбейна Младшего «Купец Георг Гиссе», или людей, стоящих за деревьями на картине Александра Иванова «Явление Христа народу (Явление Мессии)». Перейдем на главную страницу сайта Google Art & Culture и выберем ссылку Коллекции.

Рис. 2.17. Осуществлен переход по ссылке Коллекции

Из списка музеев выберем ссылку Государственная Третьяковская галерея (рис. 2.17). Далее следует щелкнуть мышью по ссылке Просмотр залов в 1 музее. В результате пользователь оказывается в одном из залов галереи, перемещаться по которому можно с помощью характерных направляющих стрелок (рис. 2.18).

Рис. 2.18. Виртуальное перемещение по залам музея

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

Рис. 2.19. Доступно увеличение и уменьшение объекта

Расположенная в нижней части веб-страницы полоса прокрутки позволяет посмотреть список шедевров живописи, не осуществляя их самостоятельного поиска по залам галереи. На рис. 2.20 можно видеть икону «Троица» работы русского художника Андрея Рублева, выбранного таким способом. В правом верхнем углу находится уменьшенная копия иконы, причем щелчок мыши по значку «+» позволяет осуществлять просмотр с использованием технологии гигапиксельной съемки, о которой речь шла выше.

Рис. 2.20. Просмотр объекта с помощью технологии гигапиксельной съемки (правый верхний угол)

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

 

КОНТРОЛЬНЫЕ ВОПРОСЫ И ЗАДАНИЯ

1. Что понимают под термином «моделирование»?

2. Дайте определение понятия «модель».

3. Какими характерными чертами обладает модель?

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

5. Назовите этапы моделирования и дайте им характеристику.

6. Приведите классификацию моделей по способу их реализации.

7. Приведите классификацию моделей по характеру воспроизведения сторон оригинала.

8. Назовите три основных вида структурной модели. Приведите примеры.

9. Что понимают под функциональностью модели?

10. Дайте определение компьютерного моделирования.

11. С помощью программы Sweet Home 3D проведите компьютерное моделирование: 1) своей комнаты; 2) учебной аудитории; 3) столовой

учебного заведения; 4) спортзала.

12. С помощью проекта Art Project интернет-корпорации Google посетите Берлинскую картинную галерею, Государственный Эрмитаж. Напишите сопровождаемое скриншотами эссе, посвященное нескольким залам музея.

 

ПРАКТИКУМ

Среда программирования

 

Если изложенные выше материалы, связанные с понятием «алгоритм», носили теоретический характер, то далее будут рассмотрены практические аспекты применения языка программирования. В этом нам поможет среда программирования Microsoft Visual Studio. Visual Studio — это интегрированная среда разработки (от англ. Integrated Development Environment, IDE), в которой можно создавать для платформы.NET Framework программы на различных языках программирования: Visual С, Visual C++, Visual Basic и др.

Платформа.NET Framework представляет собой среду разработки и выполнения, в которой могут эффективно взаимодействовать различные языки программирования и библиотеки, используемые при создании приложений для Windows, веб-приложений, программ для мобильных устройств и приложений для системы Office.

В практикуме главы 1 рассматривался процесс инсталляции среды программирования Microsoft Visual Studio. Практические навыки реализации несложных алгоритмов прокомментируем на примере языка программирования Visual Basic (VB).

Изучение любого языка начинается с изучения алфавита. Из букв складываются слова, из слов — предложения. Аналогично происходит изучение языка программирования. Сначала мы уясняем, какие символы можно использовать для записи слов языка, из которых можно формировать определенные конструкции. Итак, в алфавит языка VB входят:

1) латинские буквы от a до z и от A до Z. В VB нет различия между прописными и строчными буквами, если только они не входят в символьные и строковые выражения;

2) цифры от 0 до 9;

3) специальные символы «+», «–», «*», «/», «», «,», «;», «:», «[ ]», «()», «{ }», «$», «»;

4) зарезервированные (служебные) слова «For», «Then», «Else», «Of», «If» и т.д.

Чтобы программа решения задачи обладала свойством массовости, следует употреблять не конкретные значения величин, а использовать их обозначения для возможности изменения программы их значений по ходу выполнения. Для обозначения в программе переменных и постоянных величин используются имена — идентификаторы (identifi cation — установление соответствия объекта некоторому набору символов).

Следует учитывать следующее:

•     в идентификатор не могут входить пробелы, специальные символы алфавита;

•     идентификатор начинается только с буквы или со знака подчеркивания;

•     идентификатор может состоять из букв, цифр и знака подчеркивания;

•     при написании идентификаторов можно использовать как прописные, так и строчные буквы;

•     идентификатор не должен являться зарезервированным словом.

Например:

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

Действие, выполняемое этим оператором, обозначается знаком «=». Слева от этого знака записывается имя переменной, которой нужно присвоить новое значение (например x=). Справа может быть:

1) число, например X = 5;

2) выражение, например X = (3 * a) / 2,

X = A > 1;

3) другая переменная, например X = A.

Если переменной присваивается какое-то значение, то ее старое значение исчезает. Например, при выполнении последовательности операторов:

k =5

k = k + 1

k = 8

после первого присваивания значение переменной k становится равным 5, после второго — 6, после третьего — 8.

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

a = 5

b = 10

s = a + b

v = s / 2

 

Описание переменных

Чтобы использовать переменные (идентификаторы) в программах, пользователь должен их объявить. Для этого используется оператор Dim (от англ. dimension — размер, величина).

Синтаксис (правило записи) объявления следующий:

 

Dim ИмяПеременной As ТипДанных

 

Допускается описание нескольких переменных в одной строке через

запятую:

 

Dim a, b, c, d As Integer

 

Возможно описание в строку несколькими типами переменных:

 

Dim a, b As Integer, c, d As Double

 

Допустим, существует оператор присваивания следующего вида:

 

Dim a As Integer = 50

 

Если не указан тип данных, VB назначит переменной тип Object. Это может стать причиной более медленной работы программы, поскольку для переменной типа Object выделяется больше памяти (4 байт), чем, возможно, нужно. Кроме того, программе придется тратить дополнительное время на определение, к какому типу данных относится значение переменной в данный момент времени.

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

Типы данных

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

Целые типы данных. В VB существует три целочисленных типа данных. Каждому из них соответствует два дополнительных альтернативных типа. Таким образом, VB поддерживает всего девять целочисленных типов, которые представлены в табл. 2.15.


Таблица 2.15

Целочисленные типы

В разделе описания переменных значения целых типов записываются следующим образом:

 

Dim x As Integer

Dim y As Short

 

Определены следующие арифметические операции с данными целого

типа:

«+» — сложение;

«–» — вычитание;

«*» — умножение;

«/» — деление.

Div (деление нацело) отличается от обычной операции деления тем, что вычисляет целую часть частного, дробная часть отбрасывается. Результат целочисленного деления всегда равен нулю, если делимое меньше делителя. В языке VB данная операция обозначается знаком «\».

Mod — остаток от целочисленного деления. Результат операции Mod можно вычислить по формуле

A Mod B = A — ((A \ B) *B)

 

Например:

 

5 \ 2 = 2                                                                25 \ 5 = 5

5 Mod 2 = 1                                              20 Mod 3 = 2

2 Mod 5 = 2                                              19 \ 2 = 9

0 \ 5 = 0                                                                36 Mod 6 = 0

0 Mod 5 = 0                                              41 \ 2 = 20

Вещественные типы данных. В VB допускается представление вещественных (дробных) значений в форме с фиксированной и плавающей точкой. В форме с фиксированной точкой число представляется последовательностью десятичных цифр со знаком плюс или минус.

Например:

 

7.32; 456.721; 0.015; 192.0; –15.0

Форма с плавающей точкой (экспоненциальный формат) используется для представления очень больших или очень маленьких чисел. В этой форме число записывается в таком виде:

где m — мантисса числа; Е — символ, обозначающий основание десятичной

ССЧ; р — порядок (степень) числа.

Например:

 

7.32Е+00;   4.56721E+02; 1.5E-02; 1.92E+02; –1.5E+01.

 

Аналогично целым типам существует несколько различных реализаций

действительных чисел. VB поддерживает три типа, которые представлены

в табл. 2.16.

 

Таблица 2.16

Вещественные типы

 

В разделе описания переменных значения вещественных типов описываются так:

Dim a As Single

Логические типы данных (Булевский тип). В разделе описаний переменные этого типа описываются следующим образом:

Dim x As Boolean

 

Они могут принимать одно из двух значений: True (Истина) или False (Ложь). Например, значение логического выражения 5 > 3 есть Истина, а значение 5 = 3 — Ложь. Значение условия a > 5 зависит от значения переменной a и не определено до тех пор, пока неизвестно значение величины a.

Если в программе встречаются переменные разных типов, например логическая a и целая c, то их описывают следующим образом:

 

Dim a As Boolean

Dim c As Integer

 

Переменные, описанные как логические, могут принимать в ходе выполнения программы только логические значения. Например, правильно будут записаны операторы:

a = True

b = False

Результат операции сравнения — это логическое значение, поэтому в VB разрешена запись:

a = d > 5

В последнем случае переменной a присваивается значение True, если d > 5, и False — в противном случае.

Над данными логического типа могут выполняться логические операции, приведенные в табл. 2.17.


Таблица 2.17

Логические операции



Поделиться:


Последнее изменение этой страницы: 2021-09-26; просмотров: 1460; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.221.42.164 (0.223 с.)