АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Параллельное программирование

Читайте также:
  1. B) Параллельное расположение показателей
  2. TRACE MODE 6 SOFTLOGIC: программирование контроллеров (часть 1).
  3. Алгоритмизация и программирование
  4. Визуальное программирование
  5. Вопрос№36 Последовательное и параллельное соединение проводников
  6. Закон Ома для полной цепи с одним Э.Д.С. Последовательное и параллельное соединение потребителей и источников электрической энергии.
  7. Интеллектуальное программирование.
  8. Какой характер носит программирование в развитых странах?
  9. Лекция № 6: Алгоритмизация и программирование
  10. Линейное программирование
  11. Линейное программирование
  12. Макропрограммирование

Параллельное программирование – это технология, основанная на программировании реальных параллельных процессов. Основной проблемой здесь является синхронизация и осуществление одновременного доступа к данным различными процессами. Используется в суперЭВМ.

8. Структурное проектирование.

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

Структурное программирование — методология разработки программного обеспечения, в основе которой лежит представление программы в виде иерархической структуры блоков. Предложена в 70-х годах XX века Э. Дейкстрой (Нидерланды), разработана и дополнена Н. Виртом (Швейцария).

В соответствии с данной методологией:

1. Любая программа представляет собой структуру, построенную из трёх типов базовых конструкций:

Ø последовательное исполнение — однократное выполнение операций в том порядке, в котором они записаны в тексте программы;

Ø ветвление — однократное выполнение одной из двух или более операций, в зависимости от выполнения некоторого заданного условия;

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

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

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

3. Разработка программы ведётся пошагово, методом «сверху вниз».

Алгоритмы большой сложности обычно представляются с помощью схем двух видов: обобщенной и детальной.

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

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

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

Ø нисходящее (сверху-вниз);

Ø восходящее (снизу-вверх);

Ø смешанное, использующее два предыдущих метода.

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

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

9. Понятие трансляции программы на языке программирования, программы-компиляторы, программы-интерпретаторы.

Кроме понятия языка программирования, существует понятие среды программирования. Язык программирования вне среды не может применяться. Среда программирования – это комплекс программных средств для создания и отладки программ. Например, язык программирования Паскаль был создан Николаусом Виртом (Швейцария). Для этого языка была разработана среда программирования фирмой Borland и названа Турбо Паскаль. В настоящее время используется среда визуального программирования на базе Паскаля – Delphi.

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

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

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

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

Современное программирование существенно отличается от технологии разработки программ для старых ЭВМ. Среди относительно новых особенностей и направлений этой технологии:

Ø применение объектно-ориентированных языков;

Ø визуальное программирование (т. е. сборка экранной формы с помощью мыши из готовых «полуфабрикатов»-объектов);

Ø быстрая разработка приложений (RAD — Rapid Applications Development);

Ø программирование с использованием функций API Windows (Applications Programming Interface — интерфейс прикладного программирования);

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

10. Какова структура проекта на VBA?

VBA (Visual Basic for Applications) – это язык программирования высокого уровня, встроенный во множество отдельных программ и прикладных пакетов, например MS Office.

Программа на VBA состоит из следующих «строительных блоков»:

· оператор – это наименьшая единица. Он предназначен для определения переменной и выполнения какого-либо действия в программе;

· процедура (функция) – это отдельная единица программы, которую можно вызывать по имени для выполнения и которая может выполняться самостоятельно. Любая процедура содержит один или несколько операторов;

· модуль – это именованная единица, состоящая из одной или нескольких процедур и раздела объявлений, в котором описываются переменные и константы;

· проект – это именованная единица, включающая в себя все необходимые модули.

В курсе информатики будут рассмотрены только первые три блока.

Поясним некоторые понятия:

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

11. Зачем необходимо описывать переменные, задавая им определенный тип?

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

Тип данных задает:

· область возможных значений;

· структуру организации данных;

· требуемую память;

· операции, определенные над данными этого типа.

Как и всякий язык, VBA содержит встроенные типы данных: логические, арифметические и строковые.

Ø Числовые данные: Integer, Long, Single, Double.

Ø Текстовые данные: String. Такие текстовые данные, которые сохраняются в программе VBA, принято называть строками, потому что текстовые данные обычно рассматриваются как строки символов различной длины. Это могут быть строки переменной длины, в которых могут храниться последовательности символов неограниченной длины, или строки фиксированной длины (не боле 65 400 символов). Строковые данные в языке VBA всегда заключаются в кавычки (" "), поэтому очень важно правильно понимать отличие между собственно числом и текстовым представлением числа. Например, исходя из указанного написания, значение 125 — это число, с которым можно выполнять различные математические действия, а "125" — текстовое значение, содержащее цифры и не являющееся числом, над которым можно выполнять какие-либо математические операции. Ниже приведен пример присваивания строкового значения.

s = "Это строка длиной 29 символов"

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

Если же текстовое значение будет длиннее размера строки, то лишняя часть текста (справа) будет просто утеряна.

Ø Тип Variant.

12. В чем отличие типов Integer и Long?

Integer и Long относятся к целым типам данных, т.е. являются числами, имеющими только целую часть. Для задач, требующих вычислений с целыми числами в диапазоне, ограниченном значением 32767 необходимо использовать тип данных — Integer, а для чисел большего диапазона VBA допускает использование типа Long (длинное целое).

13. Какой тип данных лучше использовать для задач, требующих высокую точность вычислений?

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

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

14. Назовите преимущества и недостатки типа Variant.

Тип данных Variant — это такой тип данных, который может сохранять в себе данные любых типов из числа допустимых в языке VBA. В переменной типа Variant может быть заключен текст, числовые значения, даты и т.д. В языке VBA тип данных Variant принят по умолчанию, т.е. если переменная была создана без указания типа, то она автоматически создается с типом Variant. Переменные этого типа принимают характеристики того конкретного типа данных, к которому относятся значения, сохраняемые в них в данный момент. Для числовых данных Variant принимает характеристики числового типа Double, для строковых данных — характеристики типа String и т.д.

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

15. Какой оператор определяет константу?

Константы

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

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

Но в VBA можно объявлять именованные константы, задавая в момент объявления значение константы и, возможно, ее тип. Вообще объявление константы во многом напоминает объявление переменной. Однако в этот момент задается значение, которое уже нельзя изменить. Рассмотрим синтаксис оператора Const:

[ Public ] Const имя константы [ As Тип ] = константное выражение

Вот пример определения как глобальной классической константы:

Public Const pi As Double = 3.141593

Как и переменные, именованные константы можно объявлять на уровне процедуры или модуля. В первом случае используется только ключевое слово Const, во втором - дополнительно можно задать спецификатор Public, позволяющий объявить константу общей для всех модулей.

В языке предусмотрено множество встроенных констант, например, константы, связанные с приложениями Excel или Word, или константы самого VBA.

16. Объясните различие между локальными и глобальными переменными?

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

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

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

Глобальные переменные и константы объявляются в разделе Declarations, который есть у каждого модуля.

17. Назовите варианты описания статических массивов.

Массив – совокупность однотипных переменных с одним именем, каждая из которых называется элементом массива и имеет свой номер (индекс). Массив имеет размерность и длину (размер) по каждой размерности.

Массивы подразделяются на статические и динамические.

Статические массивы

Статический массив – массив с заранее известным количеством элементов.

Синтаксис описания (объявления) статического массива:

Dim Имя массива ( верхняя граница ) As Тип

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

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

Синтаксически каждое измерение в списке отделяется запятой и определяется заданием нижней и верхней границы изменения индексов.

Синтаксис описания (объявления) статического массива с граничными парами:

Dim Имя массива ( Нижняя граница To Верхняя граница ) As Тип

18. Опишите синтаксис статического массива с граничной парой

Синтаксис описания (объявления) статического массива с граничными парами:

Dim Имя массива ( Нижняя граница To Верхняя граница ) As Тип

19. Что такое динамический массив, и в какой момент определяется его размерность (количество индексов и диапазон по индексу)?

Динамический массив – это массив, размер которого определяется в ходе выполнения программы.

Синтаксис описания динамического массива:

Dim Имя массива () As Тип

Размер массива устанавливается с помощью оператораReDim:

ReDim Имя массива ( размер по каждой размерности )

Рассмотрим пример. На уровне модуля объявим глобальный динамический массив Vector:

'Объявление динамического массива

Public Vector() As Integer

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

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

20. С помощью какого оператора устанавливается размерность динамического массива?

Размер массива устанавливается с помощью оператораReDim:

ReDim Имя массива ( размер по каждой размерности )

21. Перечислите все операторы VBA.

VBA – операторный язык. Это значит, что его программы (процедуры или функции) представляют последовательности операторов.

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

1) декларативные операторы, предназначенные для описания объектов, с которыми работает программа (типов переменных, констант и массивов и др.);

2) операторы-комментарии;

3) операторы присваивания и изменения значений объектов;

4) операторы, управляющие ходом вычислений (условный, циклический, перехода).


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |

Поиск по сайту:



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